IntroductionThis document provides an algorithm and calibration description of the CBLR_BalDschrg software component. The purpose of CBLR_BalDschrg is to determine the amount of cell SOC imbalance in a battery pack comprised of multiple cells, and when necessary, selectively command cells with a comparatively high SOC to discharge until they are brought back in balance with the rest of the pack. This is required on all lithium ion battery applications in order to maintain a desired limit on cell SOC spread to maximize battery life and performance. In order to determine the amount of cell SOC spread, CBLR_BalDschrg reads open circuit cell voltages upon vehicle startup and performs an OCV-SOC lookup if the battery is sufficiently rested and not in a flat-voltage region. CBLR_BalDschrg then determines which cells to balance and the amount of charge to remove from them, and sends a command array to the cell balancing hardware. Finally, CBLR_BalDschrg has the ability to store information on the remaining Ahr to balance each cell over controller sleep cycles, to maximize cell balancing availability even when the conditions to perform a cell SOC lookup aren’t met.