SLUUB65B May 2015 – December 2022
The Impedance Track algorithm defines Qmax as the maximum chemical capacity of a cell measured in milliampere hours (mAh). As the battery ages, Qmax can reduce. For the Impedance Track algorithm to account for the capacity fade, it is crucial to update Qmax periodically. For a proper Qmax update, the following conditions must be met:
If VOK is set while the gauge detects either charging or discharging, then a Qmax update at the next relax is possible. If at entry to Relax VOK is set and then clears when OCVTAKEN sets, then there has been a successful Qmax measurement.
VOK is cleared until a charge/discharge cycle is started.
If the dV/dt condition is not met and the fuel gauge continues to reside in RELAXATION mode, then a forced OCV measurement and subsequent DOD computation occurs after 5 hours have elapsed; however, a Qmax update is still subject to the temperature, voltage, and minimum passed charge requirements before an update can occur.
If AverageCurrent() > Deadband is detected during the OCV measurement, then IR correction is used to compensate the value prior to using it to compute a new DOD. The value programmed in Max IR Correct determines the maximum allowed correction voltage based on detected charge current. If discharge current is detected instead, then no cap is applied. Max IR Correct only applies to OCV lookup after wakeup with detected charge current when gauge needs to establish capacity baseline, but the current is already flowing. If current is flowing during a voltage measurement that is used for finding initial DOD, IR correction eliminates the effect of the IR drop across the cell impedance and obtain true OCV. Max IR Correct is the maximum value of IR correction that is used. It is to avoid artifacts due to very high resistance at low DOD values during charge.
Subclass ID | Subclass | Offset | Name | Data Type | Value | Unit | ||
---|---|---|---|---|---|---|---|---|
Min | Max | Default | ||||||
81 | Current Thresholds | 9 | Max IR Correct | I2 | 0 | 1000 | 400 | mV |
The time between the first OCV point and second OCV points should not exceed CC offset error accumulation limit.
Disqualification time is calculated as:
Disqualification time = Design Capacity × Qmax Capacity Err ÷ (offset current × 100)
where offset current = CC Deadband ÷ sense resistor.
For the value of CC deadband = 10 µV and sense resistor 10 mΩ, offset current is 1 mA.
So if Design Capacity is 1000 mA, disqv time = 1000 mA × 1.5 ÷ (1 × 100) = 15 hrs.
Several parameters are used by the fuel gauge to prevent large swings in Qmax in exceptional circumstances. Before updating Qmax, the fuel gauge checks that the New Raw Qmax is close to Present Qmax by using the below check:
abs(Present Qmax – New Raw Qmax)/Present Qmax ≤ Max Qmax Change
If this condition is not satisfied, the fuel gauge will not update Qmax. If this condition is satisfied, then the fuel gauge will calculate the new filtered Qmax value and update it in the data flash subject to the following bounds. To prevent large, sudden changes in Qmax:
If Abs(Present Qmax – New Filtered Qmax)/Design Capacity > Qmax Max Delta %
New Filtered Qmax is capped to:
Present Qmax ± Design Capacity × Qmax Max Delta % ÷ 100
A further check is made to make sure that the new filtered Qmax does not go beyond a pre-defined upper limit during the lifetime of a pack:
New Filtered Qmax > Upper Bound Qmax × Design Capacity ÷ 100
Then the new Qmax value written to the data flash will be capped to:
Upper Bound Qmax × Design Capacity ÷ 100
Subclass ID | Subclass | Offset | Name | Data Type | Value | Unit | ||
---|---|---|---|---|---|---|---|---|
Min | Max | Default | ||||||
80 | IT Cfg | 61 | Qmax Capacity Err | U1 | 0 | 100 | 15 | 0.10% |
62 | Max Qmax Change | U1 | 0 | 255 | 30 | % | ||
96 | Qmax Max Delta % | U1 | 0 | 100 | 5 | mAh | ||
97 | Qmax Bound % | U1 | 0 | 255 | 130 | mAh |