SLAAEF5B March 2024 – June 2025 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3506 , MSPM0G3507 , MSPM0H3216 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1
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.
Figure 2-10 CT Table ExampleFor 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.