Passive Cell Balancing
Libraries:
Simscape /
Battery /
BMS /
Cell Balancing
Description
This block implements a passive battery cell balancing algorithm. The passive cell balancing technique keeps a similar state-of-charge value in all cells by dissipating the excess charge in a bleed resistor.
The value at the u input port can be cell voltages or cell
state-of-charge (SOC) values. The Enable input port acts as a
trigger for the balancing procedure. When Enable is
1
, the block starts balancing the battery until the battery is
fully balanced.
This block supports single-precision and double-precision floating-point simulation.
Note
To enable single-precision floating-point simulation, the data type of all inputs and
parameters, except for the Sample time (-1 for inherited)
parameter, must be single
.
You can switch between continuous and discrete implementations of the block by using
the Sample time (-1 for inherited) parameter. To configure the
block for continuous time, set the Sample time (-1 for
inherited) parameter to 0
. To configure the block for
discrete time, set the Sample time (-1 for inherited)
parameter to a positive, nonzero value, or to -1
to inherit the
sample time from an upstream block.
Note
Continuous-time implementation of this block works only in a double-precision floating-point simulation. If you provide single-precision floating-point parameters and inputs, this block casts them to double-precision floating-point values to prevent errors.
This diagram shows the structure of the block:
Equations
When the value at the Enable input port is 1
, the
block starts balancing the battery until the battery is fully balanced. To balance
the battery, the algorithm discharges some of the cells until their voltage or
state-of-charge is equal to the voltage or state-of-charge of the cell with the
lowest value.
The Command output port specifies the balancing command as a vector of elements equal to 0 or 1. This equation determines each element of Command:
where Threshold is the value of Threshold for balancing parameter, HysteresisBand is the value of the Hysteresis band for switching balancing off parameter, and Commandold is the command at the previous step.
To specify the data type of the Command output port, use the Command Data Type parameter.
The BalancingActive output port is true if any cell of the battery exceeds the threshold value.
Examples
Ports
Input
Output
Parameters
References
[1] Daowd, Mohamed, Noshin Omar, Peter Van Den Bossche, and Joeri Van Mierlo. "Passive and active battery balancing comparison based on MATLAB simulation." 2011 IEEE Vehicle Power and Propulsion Conference (October 2011): 1-7. https://doi.org/10.1109/VPPC.2011.6043010.
Extended Capabilities
Version History
Introduced in R2022b