SLUUBT5C November 2018 – June 2021 BQ40Z80
The BQ40Z80 is required to be in RELAX mode before it can determine if the cells are unbalanced and how much balancing is required. The BQ40Z80 enters RELAX mode when:
|Current()|< Quit Current for at least Dsg Relax Time when coming from DISCHARGE mode or Chg Relax Time when coming from CHARGE mode.
Once in RELAX mode, the BQ40Z80 waits until an OCV measurement is taken, which occurs after:
The determination of when to update the OCV data is part of the normal Impedance Track algorithm and is not specific to the cell balancing algorithm.
The BQ40Z80 then calculates the amount of charge difference between cells with a higher state-of-charge than the lowest cell SOC. The value, dQ, is determined for each cell based by converting the measured OCV to Depth-of-Discharge (DOD) percentages using a temperature-compensated DOD versus OCV table lookup table. If the measured OCV does not coincide with a specific table entry, then the DOD value is linearly interpolated from the two adjacent DODs of the respective table adjacent OCVs.
The delta in DOD% between each cell and the cell of lowest SOC is multiplied by the respective cells QMax to create dQ: for example, dQ = CellnDOD – CellLOWEST_SOC DOD × CellnQMax (mAh).
The BQ40Z80 calculates the required balancing time using dQ and Bal Time/mAh Cell 1 (for Cell 1) or Bal Time/mAh Cell 2–6 (for cells 2–6) or Bal Time/mAh Cell 7 (for cell 7). The value of Bal Time/mAh Cell 1, Bal Time/mAh Cell 2–6 and Bal Time/mAh Cell 7 are fixed value determined based on key system factors and is calculated by:
Internal Cell Balancing:
External Cell Balancing:
Where:
VCELL = average cell voltage (for example, 3700 mV for most chemistries)
RVCx = resistor value in series to VCx input (for example, 1 kΩ, based on the reference schematic)
Rcb = cell balancing FET Rdson, which is 200 Ω (Max)
DUTY = cell balancing duty cycle, which is 75% typ
The cell balancing time for each cell to be balanced is calculated by: dQCelln × Bal Time/mAh Cell 1 for Cell 1, dQCelln × Bal Time/mAh Cell 2–6 for Cells 2–6, and dQCelln × Bal Time/mAh Cell 7 for Cell 7. The cell balancing time is stored in the 16-bit RAM register CellnBalanceTimer, providing a maximum calculated time of 65535 s (or 18.2 hrs). This update only occurs if a valid QMax update has been made; otherwise, they are all set to 0.