SLUUA65E april 2014 – june 2023 BQ28Z610
The BQ28Z610 is required to be in RELAX mode before it can check if the cells are unbalanced and how much balancing is required. The BQ28Z610 enters RELAX mode when:
Current() < Quit Current for at least Dsg Relax Time when coming from DISCHARGE mode for Chg Relax Time when coming for CHARGE mode.
Once in RELAX mode, the BQ28Z610 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 BQ28Z610 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 vs. 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 BQ28Z610 calculates the required balancing time using dQ and Bal Time/mAh Cell 1 (for cell 1) or Bal Time/mAh Cell 2. The value of Bal Time/mAh Cell 1 and Bal Time/mAh Cell 2 is fixed based on key system factors and is calculated by:
Bal Time/mAh Cell x = 3600 mAs/(DUTY × (1000 mV / 1 V) × VCELL/(RVCx + Rcb))
Where:
VCELL = average cell voltage (for example, 3.7 V for most chemistry)
RVCx = external resistance in series between the cell and the pins of the BQ28Z610. In the reference schematic, RVC2 = 105 Ω and RVC1 = 100 Ω.
Rcb = cell balancing FET Rdson, which is 150 Ω.
DUTY = cell balancing duty cycle, which is 68.75% typ.
Cell balancing time for each cell to be balanced is calculated by: dQCelln × Bal Time/mAh Cell 1 for cell1 or and dQCelln × Bal Time/mAh Cell 2. 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.
The CellnBalanceTimer registers are clamped at 0xFFFF and cannot roll over.