Cell Balancing
Cell balancing refers to the process of maintaining an equivalent amount of charge in series connected cells (string). A pack can be considered balanced if all the series-connected cells are at the same state of charge (SoC) when the pack is fully charged. Balancing is a charge management process performed by the battery management system to ensure the pack is balanced, and that no cells are overcharged or over discharged in the process.
idt there is a good way to balance cells that are connected in parallel. The best thing to do there is to characterize and sort the cells well.
Passive balancing and active balancing are the two commonly used approaches for balancing cells. Passive balancing is the most commonly used, and easiest to implement.
Note: Most of the notes here are pretty much copy pasted from the sources lol, just keeping it to this page for easier reference.
Importance of Cell Balancing
In Figure 1, the pack is being charged to full with balancing disabled. As the modules are charged in series (same charge current passing through each module), the charging stops as soon as any one of the modules or cells reaches full charge. Even if all the cells have the same capacity, if they start at a different state of charge (maybe due to differing self discharge rates or something), then the overall pack capacity is reduced.
Figure 2 shows the same starting context, except during a discharge. In this case, the cell starting at a lower SoC will become fully depleted first, causing the discharging to be halted while there is still unused energy to be wasted. With passive balancing, this spare energy would have been dissipated as heat. While this dissipated energy as heat is “wasted”, the cells would then start the next charge cycle balanced at the same state of charge, allowing for equal amounts of energy to be received and used between the cells during subsequent charge and discharge cycles.
Causes of Imbalance
If the battery pack is initially balanced, it is possible to become imbalanced again during operation. There are three main factors that can lead to this imbalance. It should be noted that differences in these factors are what causes imbalances. If all cells degraded at the same rate, they would still be balanced. We want to minimize the variability:
Coulombic Efficiency (Faradaic efficiency):
One of the main reasons why imbalances occur is due to the differences in coulombic efficiency within cells. The coulombic efficiency (η) is the ratio of the total charge that can be extracted from the battery (Qextract) to the total charge required to bring the battery to full over a full cycle (2.5V to 4.2V for example) (Qrequired). The difference between Qextract and Qrequired is caused by unwanted chemical reactions that occur within a cell (internal resistance as well?).
Since each cell may have different coulombic efficiencies, imbalance in the stack can contribute to stack imbalance over time. The cells with lower coulombic efficiency will reach 2.5V (be fully discharged) at a faster rate than cells with higher coulombic efficiency,
Coulombic efficiency can be affected by external factors as well. Higher discharge rates at hot temperatures will lower the coulombic efficiency because of losses due to charge acceptance and heat, while slower discharges will have to account for self-discharge effects as well.
Coulombic efficiency of Li-ion cells improve with cycling (maybe the overall capacity decreases, but the ratio of charge in to charge out becomes better?).
Self Discharge:
Batteries at rest slowly discharge by themselves due to unwanted chemical reactions that occur within the cell. Self-discharge decreases the SoC even when the battery is at rest. Different rates of self discharge cause pack imbalance over time.
Self discharge energy loss is asymptotical, meaning that the self-discharge is highest right after charge, and then tapers off, as shown below in Figure 3.
Self discharge increases at higher temperatures, with their rate typically doubling every 10°C. High cycle count and aging also increases self-discharge of all systems. Cells should be kept above 2.50V, otherwise copper dendrites will grow if the cell sits in at low-voltage state for long periods of time, which results in an elevated self discharge. Self discharge is also “thought” to be reduced as a passivation layer develops on the electrodes over time (of use?).
Note that self discharge continues to occur while the cell is in use, and is just a loss of energy (the self-discharge energy does not contribute to the current draw).
Temperature Distributions
Variability in the thermal and electrical properties of individual cells can result in cells having different temperature distributions. This can significantly affect the self-discharge rate of the cell, which can lead to imbalances in the pack.
Passive Balancing
Passive balancing involves maintaining equal charge across all cells by dissipating energy from cells with a higher charge rate to ensure that all cells in the pack charge and discharge at the same rate. This enables all cells in the pack to become fully charged at the same time.
Active Balancing
Active balancing involves transferring energy from a cell with excess charge to one with less charge, as opposed to dissipating it as heat. While active balancing is highly efficient, it is also more expensive than passive balancing because electronics must be connected to every cell.
Nuvation Energy’s BMS (Passive Balancing Example)
Nuvation uses passive balancing by drawing excess charge from a cell and dissipating this energy as heat. Balancing can be executed continuously regardless of whether the battery is connected to a DC bus or not. An equivalent circuit is shown in Figure 4 to illustrate some of the properties of a passive balancing system.
Cell interface modules include a balance resistor Rbal which dissipates the energy as heat (Qbal). During battery operation or while at rest, energy in cells with higher charge is dissipated using the above circuit. To obtain an accurate voltage measurement, the balancing circuit must be disabled and the transient effects associated with balancing current flow allowed to settle. Turning off the balancing current makes sure that there is no current running through the cell tap connections, and no voltage drops associated with the tap wires (more accurate voltage measurements). Since balancing current is disabled while the BMS takes voltage measurements, the balancing duty cycle is less than 100%.
Nuvation Energy provides several configurable settings to fine-tune the passive balancing algorithm based on the operating conditions. For example:
Configuration registers can be set so that balancing will only occur while charging.
Balancing can be configured to occur during charging or when discharging at a very low current.
Need to see how the battery pack is charged/discharged throughout the race
How significant are the variations, how often do we need to perform balancing charging?
The algorithm can be configured to enable balancing after a specific terminal voltage threshold has been exceeded for an individual cell
May require higher balancing currents, but less often
The balancing duty cycle can be adjusted using a configurable BMS register. A lower duty cycle means a smaller amount of heat is generated during balancing, which can be beneficial for battery systems that have poor thermal management (lol us).
I guess resistance is constant (assuming we’re simply discharging it through a resistor), meaning that duty cycle is how we control the rate of power draw / heat produced.
Midnight Sun Past Balancing Strategies
Micah’s module design incorporated 2 cell taps rather than one. Two cell taps allow for one to be used for cell balancing current, while the other tap could be used for measuring voltage (think of it like a remote sense probe, no current travels through the voltage tap so there is no voltage loss through the wires). They analyzed the voltage drops due the the current and internal resistance of the cell, something like:
0.1A * 0.01Ohm = 0.001V = 1mV
Which would be on the same order of magnitude as the measurement inaccuracies of the IC they used, so it wasn’t significant to alter the voltage readings. Additionally, as the balancing current would be constant, there would be no transient effects associated with it. Allowing for voltage to be measured in parallel with the balancing current allows for easier software coding, as the algorithm for determining how long to discharge the cell (before stopping and taking a measurement and so on) wouldn’t be needed, although they would still have measured at a certain time interval no matter the solution.
However, adding a second tap to each parallel group of cells led to there being a mess of wires within each module, especially as one of their goals was to use these secondary taps to charge individual cells (groups of parallel cells?) so the wires were specced as 18AWG.
In general, it seemed like it was just a little simpler on the software side with 2 wires, at the expense of a couple hours of wiring and extra points of failure. Take that how you will (probably not worth it to use two taps?).
Note: The LTC6811 ICs can do that balance current shut-off automatically.
Nuvation Energy’s Balancing Capabilities
Suppose we have n cells in a pack, and the deviations between the cells with the highest and lowest SoC is represented as max SoC deviation. Assuming no current is flowing and all balancing is performed using a 13 Ohm resistor, the time required to fully balance the stack can be determined as a function of the max SoC deviation and the battery capacity. This is shown below in Figure 5. Balancing duty cycle in the example was 90% (linear relationship → constant current draw so the time needed to account for the SoC deviation scales linearly).
For example, balancing a 200Ah pack with the maximum SoC deviation of 10% will require around 72 hours. WE SHOULD MAKE A GRAPH LIKE THIS WHEN OPTIMIZING BMS RIGHT (determining resistance, duty cycle, to make sure we can finish cell balancing throughout the race).
Nuvation Simulation Case Study
The hardware balancing simulation can be simulated in software using a battery model and a BMS simulator. Nuvation Energy has a software-based simulator blah blah balh.
Maybe we can code a basic simulator in python?
Simulator specifies which cells should be balanced based on the battery measurement data
Simulate batteries with different electrical properties
The battery voltage response is described by an equivalent circuit model with an open circuit voltage source (Vocv), a single resistor (R0) in series with a resistor-capacitor pair (R1 and C1).
^^ Randles model???
The electrical properties were randomly sampled from a normal distribution with a given mean and standard deviation:
We should try calculating coulombic efficiency.
Connecting multiple cells in parallel will reduce the variance of coulombic efficiency while keeping the mean value constant.
Nuvation Simulation Results/Discussion
A closed-loop balancing simulation was executed using the battery model and stack BMS simulator. Multiple charge and discharge cycles were conducted with an applied current of 1C. The cell voltage, stack current, and stack SoC for the first 2 cycles are shown below.
The gradual decrease seen as the SoC reaches 0% and 100% is a result of the current limiting feature to prevent overcharge/over-discharge by scaling back the current as the cells approach the upper and lower voltage limits (similar to constant voltage charging? Seems a little steep)
To illustrate the importance of balancing, two simulations are shown: one with the BMS enabled, one with the algorithm disabled. Results shown below.
The cell voltages diverges over time. The last charge cycle shows how the voltage profiles become significantly different after 2200 seconds of charging. The deviation is reflected on the stack capacity as its value is limited by the first cell to charge to full, and first cell to charge to empty (How can we determine which cells will charge to full earliest, and discharge to empty earliest? I assume that cells with higher impedance / internal resistance will discharge faster since part of the discharge current is wasted in heat? Not sure about any of these, maybe try testing after we characterize the cells).
We should do a sim like this, looks cool.
Balancing enabled:
The pack capacity doesn’t decrease, but reaches a steady state:
The final steady state is dependent on the number of balancing algorithm parameters, most important of which is the voltage data. This represents the maximum deviation in terminal voltage before balancing is triggered.
Simulation can be used to fine tune the algorithm parameters.