SLAAEF5B March   2024  – June 2025 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3506 , MSPM0G3507 , MSPM0H3216 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Algorithm Introduction
    1. 2.1 Battery Basic Knowledge Introduction
    2. 2.2 Different SOCs and Used Technologies
      1. 2.2.1 NomAbsSoc Calculation
        1. 2.2.1.1 Coulometer With OCV Calibration
        2. 2.2.1.2 Data Fusion
        3. 2.2.1.3 Battery Model Filter
      2. 2.2.2 CusRltSoc Calculation
        1. 2.2.2.1 EmptySoc and FullSoc
        2. 2.2.2.2 Core Temperature Evaluation
      3. 2.2.3 SmoothRltSoc Calculation
    3. 2.3 Algorithm Overview
      1. 2.3.1 Voltage Gauge Introduction
      2. 2.3.2 Current Gauge Introduction
      3. 2.3.3 Capacity Learn Introduction
      4. 2.3.4 Mixing Introduction
  6. 3Gauge GUI Introduction
    1. 3.1 MCU COM Tool
    2. 3.2 SM COM Tool
    3. 3.3 Data Analysis Tool
  7. 4MSPM0 Gauge Evaluation Steps
    1. 4.1 Step 1: Hardware Preparation
    2. 4.2 Step 2: Get a Battery Model
      1. 4.2.1 Battery Test Pattern
      2. 4.2.2 Battery Model Generation
    3. 4.3 Step 3: Input Customized Configuration
    4. 4.4 Step 4: Evaluation
      1. 4.4.1 Detection Data Input Mode
      2. 4.4.2 Communication Data Input Mode
    5. 4.5 Step 5: Gauge Performance Check
      1. 4.5.1 Learning Cycles
      2. 4.5.2 SOC and SOH Accuracy Evaluation
  8. 5MSPM0 Gauge Solutions
    1. 5.1 MSPM0L1306 and 1 LiCO2 Battery
      1. 5.1.1 Hardware Setup Introduction
      2. 5.1.2 Software and Evaluation Introduction
      3. 5.1.3 Battery Test Cases
        1. 5.1.3.1 Performance Test
        2. 5.1.3.2 Current Consumption Test
    2. 5.2 MSPM0G3507, BQ76952 and 4 LiFePO4 Batteries
      1. 5.2.1 Hardware Setup Introduction
      2. 5.2.2 Software and Evaluation Introduction
      3. 5.2.3 Battery Test Cases
        1. 5.2.3.1 Performance Test 1 (Pulse Discharge)
        2. 5.2.3.2 Performance Test 2 (Load Change)
    3. 5.3 MSPM0L1306 and BQ76905
  9. 6Summary
  10. 7References
  11. 8Revision History

Battery Basic Knowledge Introduction

The gauge algorithm is mostly used to tell users the battery working conditions, and reach a balance between outputting max capacity and extending the battery life. The basic control strategy and the battery performance under these two conditions are shown.

Figure 2-1 shows a battery discharge pattern for a one-cell LiCO2 battery and the related concept to introduce. The red line represents the open circuit voltage (OCV), which means the potential difference between the positive electrode (PE) and the negative electrode (NE) when no current flows and the electrode potentials are at equilibrium. OCV can normally be treated to equal to battery voltage after resting the battery for 1-2 hours. The blue line means the run-time cell voltage (Vcell). As the battery has internal resistance, there is a voltage drop between OCV and Vcell with a constant load.

For a LiCO2 battery, due to the chemical limitation, a full charge voltage threshold (for example, 4.2V) and an end of discharge voltage threshold (for example, 3V) is set to avoid irreversible damage on the battery. That means with different discharge current, users can get different capacities from the battery. The output capacity is also influenced by the temperature, as the Rcell gets reduced while the temperature is increasing. In this gauge design, the unchangeable capacity is called NomFullCap, which represents the movable lithium ions in the electrode structure and the quantity does not vary with temperature or C-rate of cell usage. The changeable capacity is called CusFullCap, which means the usable capacity by end users and affected by the battery running conditions and threshold setting.

 Battery Discharge
                    Pattern Figure 2-1 Battery Discharge Pattern

Figure 2-2 shows a battery charge pattern for a normal one cell battery. A charging condition can be simplified into a constant current (CC) window and then a constant voltage (CV) window. At the end of charge, if the charge voltage is constant, then the current is reduced in an exponential order. If the current turns to 0, then the NomFullCap is obtained. To avoid waiting for a long time, a terminating charge current is set (for example 1/20 capacity (1/20C)), which causes a little reduction on CusFullCap compared with NomFullCap.

 Battery Charge Pattern Figure 2-2 Battery Charge Pattern

NomFullCap is obtained from one OCV to another OCV. CusFullCap is from one Vcell to another Vcell. The NomFullCap always covers the CusFullCap.

In this gauge algorithm, the NomFullCap range is based on the per saved OCV range in the SOC-OCV table (circuitParamsTable). The CusFullCap range is based on the MaxFullChgVoltThd and EmptyDhgVoltThd setting, and also changes after self-learning. To leave some margin, TI recommends to make the OCV range for NomFullCap to be a little larger that the voltage range for CusFullCap.