Skip to content

BMS Cell Balancing

The cell balancing of the BMS ensures that all cells in the pack (e.g., 6 cells) maintain similar voltages, maximizing battery life and performance. The BMS monitors each cell and, when necessary, balances cells by discharging those with higher voltages until all cells are within a specified threshold.

Static (compile time) Configuration Parameters (Kconfig)

These parameters allow to configure how and when the BMS performs cell balancing. The BMS application may configure those values (Check common.conf).

  • CELL_BALANCE_CHECK_PERIOD_MS
    Time in milliseconds between balance checks. Default: 10000 ms (10 seconds).

  • CELL_BALANCE_DURATION_MS
    Duration in milliseconds to perform balancing. Default: 6000 ms (6 seconds).

  • CELL_BALANCE_SETTLE_TIME_MS
    Wait time in milliseconds after balancing with correction on voltage measurement. Default: 1000 ms (1 second).

  • CELL_BALANCE_VOLTAGE_THRESHOLD_MV
    Minimum voltage difference (in mV) between a cell and the lowest cell to trigger balancing. Default: 300 mV. This value is the default value to the Cyphal Register bms.cell_balance.threshold.

  • CELL_BALANCE_MINIMUM_VOLTAGE_MV
    Minimum cell voltage (in mV) required to start balancing. Default: 3700 mV.

  • CELL_BALANCING_VISUALIZE_ON_LEDS
    If enabled, LEDs indicate cell balancing status. Default: False.