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

EmptySoc and FullSoc

To get the CusRltSoc, get FullSoc and EmptySoc at first. As seen in Figure 2-1, the FullSoc and EmptySoc (Residual Soc) are influenced by the battery resistance and current. That means in different conditions, there are different FullSoc and EmptySoc.

In this gauge algorithm, update and compensate these two SOCs under different battery conditions, including cell aging, temperature, and current rate. A current-temperature table AbsEmptySocMatrix is made to simulate the influence of current and temperature on EmptySoc as shown in Figure 2-10. A temperature table AbsFullSocMatrix is made to simulate the influence of temperature on FullSoc.

In the AbsEmptySocMatrix, one EmptySoc value is used to cover all the real EmptySoc when the battery works in a CT table block range. For example, if TempThd[1]<Tcell< TempThd[0], and CurtThd[0]<Icell<CurtThd[1], EmptySoc[4] is used to represent all the EmptySoc under this condition. With that setting, in one block, the real EmptySoc of the left bottom corner is minimum and the real EmptySoc of the right top corner is maximum. Users need to adjust TempThd[] and CurtThd[] in battParamsCfg according to the application or test results.

 CT Table Example Figure 2-10 CT Table Example

For FullSoc, when the battery is fully charged, the calibrated NomAbsSoc is recognized as the new FullSoc updated into the current-temperature table AbsFullSocMatrix under a different temperature, which same as EmptySoc.

EmptyOcvMatrix[] and FullOcvMatrix[] are provided for users to set the beginning values for AbsEmptySocMatrix and AbsFullSocMatrix if low SmooRltSoc error in the learning cycles is needed. Otherwise, AbsEmptySocMatrix uses the SOC related to the OCV equals to EmptyDhgVoltThd as the default value. AbsFullSocMatrix uses the SOC related to the OCV equals to MaxFullChgVoltThd as the default value.

Note: To get the fast response to the full charge and empty discharge threshold, the gauge algorithm uses the raw current, voltage and temperature to handling EmptySoc and FullSoc output. If the raw data has large noise, then users need to consider to add additional filters on the battery information input like an IIR filter.