SLUUBT5C November 2018 – June 2021 BQ40Z80
The BQ40Z80 provides several Impedance Track (IT) configuration options to fine-tune the gauging performance. These configurations can be turned on or off through the corresponding flags in SBS Gauging Configuration or IT Gauging Configuration.
[LOCK0]: After a discharge event, cell voltage will usually recover to a slightly higher voltage during RELAX state. A new OCV reading during this time can result in a slightly higher state-of-charge. This flag provides an option to keep RemainingCapacity() and RelativeStateOfCharge() jumping back during relaxation after 0% and FD are reached during discharge.
[RSOC_HOLD]: An IT simulation will run at the onset of discharge. If charge terminates at a low temperature and a discharge occurs at a higher temperature, the difference in temperature could cause a small rise of RSOC for a short period of time at the beginning of discharge. This flag option prevents RSOC rises during discharge. RSOC will be held until the calculated value falls below the actual state.
[RSOC_HOLD] should not be used when [SMOOTH] is set.
[RSOCL]: When set, RSOC will be held at 99% until charge termination is detected. When the device exits reset and [RSOCL] = 1, then even if the battery is fully charged ([FC] = 1), only a value of ≤ 99% is reported by RelativeStateOfCharge() until a valid charge termination is detected. See Section 6.6 for more details.
[RFACTSTEP]: The gauge keeps track of an Ra factor of the (old Ra)/(new Ra) during the Ra update. This factor is used for Ra scaling. It is limited to 3 max. During an Ra update, if (old Ra)/(new Ra) is > 3, the gauge can take on two different actions based on the setting of this flag.
If this flag is set to 1 (default), the gauge allows Ra to update once using the max factor of 3, then disables the Ra update. If this flag is set to 0, the gauge will not update Ra and also disables the Ra update. It is recommended to keep the default setting.
[OCVFR]: An OCV reading is taken when a dV/dt condition is met. This is not the case if charging stops within the flat voltage region.
By default, this flag is set. The BQ40Z80 device will take a 48-hour wait before taking an OCV reading if charge stops below the FlatVoltMax. A discharge will not cancel this 48-hour wait. The 48-hour wait will only be cleared if charging stops above the FlatVoltMax level. Setting this flag to 0 removes the 48-hour wait requirement, and OCV is taken when the dV/dt condition is met. Removing the 48-hour requirement can be useful sometimes to reduce test time during evaluation.
[DOD0EW]: DOD0 readings have an associated error based on the elapsed time since the reading, the conditions at the time of the reading (reset, charge termination, and so on), the temperature, and the amount of relax time at the time of the reading, among others. This flag provides an option to take into account both the previous and new calculated DOD0, which are weighted according to their respective accuracies. This can result in improved accuracy and in a reduction of RSOC jumps after relaxation.
[LFP_RELAX]: This is an option for LiFePO4 chemistry. This flag can be enabled even if non-LiFePO4 chemistry is programmed. The BQ40Z80 device will check for the chemistry ID (that is, ChemID = 4xx series) before activating this function.
The LiFePO4 has a unique slow Configuration relaxation near full charge. Detailed, in-house test data suggests that the relaxation after a full charge takes a few days to settle. The slow decaying voltage causes RSOC to continue to drop every 5 hours. Depending on the full charge taper current, the fully settled voltage could be close to or even below FlatVoltMax in some cases. For the chemID 4xx (LiFePO4) series, the condition to exit the long RELAX mode is if the pack had previously charged to full or near full state, and then either a significant long relaxation or a non-trivial discharge has happened, such that when in relaxation, the OCV < FlatVoltMax.
The QMax update is disabled because DOD will not be taken as long as it is in LFP_RELAX mode. By the time the gas gauge exits the LFP_RELAX mode, the OCV is already in the flat zone. Therefore, the QMax update takes an alternative approach: Once full charge occurs ([FC] bit set), DOD0 = Dod_at_EOC is automatically assigned and valid for a QMax update. [VOK] is set if there is no QMax update. If QMax is updated, [VOK] is cleared. The DOD error as a result of this action is zero or negligible because in the LiFePO4 table, OCV voltage corresponding to DOD= 0 is much lower.
[Fast_QMAX_LRN] and [Fast_QMAX_FLD]: The first flag enables Fast Qmax during the learning cycle when Update Status = 06. The second flag enables Fast Qmax in the field when Update Status ≥ 06. See Section 8.4.3 for more details.
[RSOC_CONV]: This function is also called fast scaling. It is an option to address the convergence of RSOC to 0% at a low temperature and a very high rate of discharge. Under such conditions, it is possible to have a drop of RSOC to 0%, especially if the termination voltage is reached at the DOD region with a higher Ra grid interval. To account for the error caused by the high granularity of the impedance grid interval, the [RSOC_CONV], when enabled, applies a scale factor to impedance, allowing more frequent impedance data updates used for RemCap simulation leading up to 0% RSOC.
If [RSOC_CONV] is enabled, it is recommended to start this function around the knee region of the discharge curve. This is usually around 10% of RSOC or around 3.3 V–3.5 V. This function will check for the cell voltage and RSOC status and start the function when either condition is met. The RSOC and cell voltage setting can be configured through Fast Scale Start SOC or Term Voltage Delta.
[FF_NEAR_EDV]: Fast Filter Near EDV. If this flag is set, the gauge applies an alternative filter, Near EDV Ra Param Filter, for an Ra update in the fast scaling region (starting around 10% RSOC). This flag should be kept to 1 as default. When this flag is 0, the gauge uses the regular Ra filter, Resistance Parameter Filter. Both of the DF filters should not be changed from the default.
[SMOOTH]: A change in temperature or current rate can cause a significant change in remaining capacity (RemCap) and full charge capacity (FCC), resulting in a jump or drop in the Relative State-of-Charge (RSOC). This function provides an option to prevent an RSOC jump or drop during charge and discharge.
If a jump or drop of RSOC occurs, the device examines the amount of RSOC jump or drop versus the expected end point (that is, the charge termination for the charging condition or the EDV for the discharge condition) and automatically smooths the change of RSOC, and always converges with the filtered (or smoothed) value to the actual charge termination or EDV point. The actual and filtered values are always available. The [SMOOTH] flag selects either the actual or filtered values are returned by the SBS commands.
[RELAX_JUMP_OK] and [RELAX_SMOOTH_OK]: When the battery enters RELAX mode from CHARGE or DISCHARGE mode, the transient voltage may change to RSOC as the battery goes into its RELAX state. Once the battery is in RELAX mode, a change in temperature or self-discharge may also cause a change in RSOC.
If [RELAX_JUMP_OK] = 1, this allows the RSOC jump to occur during RELAX mode. Otherwise, RSOC holds constant during RELAX mode and any RSOC jump will be passed into the onset of the charge or discharge phase.
If [RELAX_SMOOTH_OK] = 1, this allows the amount of the RSOC jump to be smoothed out over a period of Smooth Relax Time. Otherwise, the additional RSOC jump amount will be passed into the onset of charge or discharge phase.
If both flags are set to 1, the [RELAX_JUMP_OK] = 1 takes higher priority and the RSOC jump is allowed during RELAX mode.
[TDELAV]: This flag setting defines how the Delta Voltage is calculated. By setting this flag to 1, the gauge will calculate Delta Voltage that corresponds to the power spike defined in Min Turbo Power. This flag must be set to 1 if TURBO BOOST mode is used. Otherwise, leaving this flag set to 0 as default enables the gauge to calculate Delta Voltage by using the maximal difference between instantaneous and average voltage.
[CELL_TERM]: This flag provides an option to have a cell voltage based discharge termination. If the minimum cell voltage reaches Term Min Cell V, RemainingCapacity() will be forced to 0 mAh. For more details, see the Pack Based and Cell Based Termination section in Section 8.2.
[CSYNC]: This flag, if set to 1, will synchronize RemainingCapacity() to FullChargeCapacity() at valid charge termination.
[CCT]: This flag provides an option to use FullChargeCapacity() ([CCT] = 1) or DesignCapacity() ([CCT] = 0) for cycle count threshold calculation. If FullChargeCapacity() is selected for cycle count threshold calculation, the minimum cycle count threshold is always 10% of Design Capacity. This is to avoid any erroneous cycle count increment caused by extremely low FullChargeCapacity().
[CHG_100_SMOOTH_OK]: This handles smoothing in the charge direction to 100%. For jumps to 100% during charge, this feature uses the taper termination detection logic to predict when charge termination will occur. The taper termination logic requires two consecutive 40-s windows that meet all taper conditions. After the first 40-s window is satisfied, time-based smoothing will be initiated, smoothing RemCap to smoothed FCC over the next 40-s window. It is important to note that smoothed RemCap will converge to smoothed FCC and not True RemCap.
[TS1, TS0]: These two flags together provide an option to select which one of the individual temperature sensors (TS 1…4) is used by the IT algorithm.
[DSG_0_SMOOTH_OK]: Allows smoothing in the discharge direction when there is a jump to 0%. For preventing jumps to 0% during discharge, two DF parameters are used: Term Smooth Start Cell V Delta and Term Smooth Time. Once battery stack voltage is below Term Smooth Start Cell V Delta and discharging, time-based smoothing is initiated. This smooths RemCap to 0 mAh over the next Term Smooth Time seconds. Term Smooth Start Cell V Delta is a per cell voltage delta. This value is multiplied by the number of cells, added to Terminate Voltage, and checked against Voltage(). Smoothing will continue to 0% unless charging starts (even in RELAX mode).
To assure that the gauge reports 0% in low voltage situations, the DF Term Smooth Final Cell V Delta is used. This value is multiplied by the number of cells, subtracted from Terminate Voltage, and checked against Voltage(). Once voltage passes this threshold, 0% will be forced even if smoothing was not completed.
Term Smooth Final Cell V Delta can be disabled by setting to 0 and is typically expected to be set low enough to enable the system to shut down properly (without brownout).