Charge and Discharge Battery Module with Passive Balancing
This example shows how to perform a cyclic charge and discharge cycle on a battery module while balancing the voltages of the module parallel assemblies.
The battery module comprises three parallel assemblies with three different state of charge (SOC) values. During the simulation, a Passive Cell Balancing block monitors and balances the voltage of the parallel assemblies inside the module. The Passive Cell Balancing block discharges the parallel assembly with the highest SOC over the shunt resistance until all parallel assemblies have the same SOC. The block also estimates when and which parallel assemblies to discharge during the cycle by using a balancing command and sends this command to the module.
Model Overview
Open the passiveBalancing
model.
modelname = "passiveBalancing";
open_system(modelname);
The model comprises a pre-generated Module block, a Battery CC-CV block, and a Passive Cell Balancing block. The Module block represents a battery module with three parallel assemblies with a gap between each parallel assembly of 0.5 mm, a detailed model resolution, and an enabled ambient thermal path. Each parallel assembly comprises four single-stacked pouch cells. Each pouch cell measures 300 mm in length, 100 mm in height, and 10 mm in thickness. For more information on how to generate the Module block, open the passiveBalancingCreateLib.mlx
file.
Run the simulation.
ssc_pssvBlnc = sim(modelname);
Simulation Results
This plot shows the SOC values of the three parallel assemblies inside the module. The Passive Cell Balancing block detects the unbalanced SOC between the parallel assemblies during the charging process and proceeds to balance the parallel assemblies with the highest SOC.
passiveBalancingPlotSOC;
See Also
Module (Generated
Block) | batteryModule
| Battery CC-CV | Passive Cell
Balancing