Blog
How Much Do You Know About the Technical Principles of BMS?
Functional Safety and Protection Functions of BMS
BMS can protect your battery—whether it’s overcharging/overdischarging/overcurrent, or overtemperature/low temperature, it’s got your battery covered.
BMS monitors the voltage of individual battery cells and the total voltage of the battery pack. When a cell’s voltage exceeds the overcharge threshold or drops below the overdischarge threshold, it will immediately cut off the charging or discharging circuit, and at the same time send a fault signal to the controller to achieve overcharge/overdischarge protection.
If the current exceeds the preset safety threshold, it will also quickly cut off the main circuit relay to prevent the battery from heating up, diaphragm breakdown, or device burnout caused by high current.
BMS can also monitor the temperature of individual battery cells and the ambient temperature. In case of overtemperature, it cuts off charging and discharging and activates heat dissipation (such as fans or water cooling); in case of low temperature, it prohibits charging or limits the charging current to avoid lithium dendrite precipitation.
As for functional safety, you can understand it as “even if a fault occurs, it won’t lead to a safety accident”—it’s mainly implemented in accordance with the ISO 26262 standard (functional safety standard for automotive electronics). Simply put, even if one part breaks down, you need to design a way to bypass that part and use another method to keep BMS running normally. One common method is redundant design: it has two parallel logic channels. If one channel fails, no need to worry—the other one can still work. This method well achieves functional safety and meets international system standards.
BMS Balancing Function
Balancing is like “taking from the ‘rich’ (cells with excess energy) and giving to the ‘poor’ (cells with insufficient energy)”—it ensures every individual cell is in a consistent state, which improves the performance of the entire battery pack. It’s divided into active balancing and passive balancing. Passive balancing has a relatively simple design: you can simply think of it as directly getting rid of the excess energy, so that the cell matches those with less energy. But obviously, this method wastes some energy. If your budget allows, and your product needs a large-capacity battery pack with high energy efficiency, long battery life, and high reliability, active balancing is a better choice. Active balancing can transfer the excess energy to cells that need it—now that’s a perfect solution for everyone.
Passive balancing is usually implemented with switched shunt resistors and fixed shunt resistors, while active balancing generally uses inductors, capacitors, or transformers to achieve balance.
Passive Balancing
A fixed shunt resistor is a power resistor with a fixed resistance (e.g., 10Ω/2W) connected in parallel across each battery cell.
As long as the battery pack is charging, the resistor will continuously shunt and discharge. High-voltage cells discharge faster, which indirectly achieves balancing. A switched shunt resistor uses a “power resistor + MOSFET switch” connected in parallel across each cell, with the switch controlled by a chip. BMS monitors the voltage of each cell in real time: when a cell’s voltage exceeds the set threshold, the MOSFET is triggered to turn on, and the resistor starts shunting and discharging; when the voltage drops to a balanced level, the MOSFET turns off to stop energy consumption. It only uses energy when balancing is needed, which is more energy-efficient than fixed resistors—and it’s currently the mainstream solution for passive balancing.
This is a passive balancing + BMS charging circuit for a 3-cell series lithium battery. It enables constant current-constant voltage (CC-CV) charging + overvoltage passive shunt balancing, and is suitable for small-capacity lithium battery packs (e.g., 3-series 3.7V lithium batteries, target capacity 600mAh).
Charging Module:
The two LM317 chips above are responsible for constant voltage (CV) and constant current (CC) control respectively, working together to charge the lithium battery:
- Input: DC 18~20V (external power supply).
- Output: Charges the 3-series lithium battery (total nominal voltage 11.1V, full-charge voltage 12.6V, circuit design target 14V for redundancy), marked as “14V 600mAh”.
Constant Current Phase (When Battery Voltage Is Low)
The LM317 has a reference voltage of 1.25V, and controls current via the voltage drop across the sampling resistor:
I_charging = 1.25V / 2 ≈ 0.625A = 625mA ≈ 600mA. When the battery voltage is low, the LM317 works in constant current mode, charging the battery at 600mA.
Constant Voltage Phase (When Battery Is Near Full Charge)
The output voltage of the LM317 is determined by the voltage division ratio:
V_out = 1.25V × (1 + R16/R17) = 1.25 × (1 + 2400/240) = 13.75V ≈ 14V. When the battery voltage rises to 14V, the LM317 switches to constant voltage mode, maintaining 14V for charging until the current drops naturally (when the battery is fully charged).
Balancing Module
Core Components
Component | Model/Parameter | Function |
|---|---|---|
| TL431 | Adjustable reference voltage source | Detects battery voltage; triggers shunting when voltage exceeds the threshold |
| VT1 | BD140 (PNP transistor) | Power switch; enables the shunt resistor to discharge when turned on |
| R5 | 330Ω (shunt resistor) | Consumes excess energy of high-voltage cells (core of passive balancing) |
| HL1 | LED | Indicates the cell is being balanced (lights up during shunting) |
Overvoltage Detection and Shunting Logic
Voltage sampling: A voltage divider circuit composed of R1 (20kΩ), R2 (1kΩ), R3 (20kΩ), and RV1 (20kΩ, adjustable) detects the voltage of BAT1;
V_sampling = V_BAT1 × (R3 + RV1) / (R1 + R2 + R3 + RV1). RV1 is adjustable and used to set the balancing trigger threshold.
TL431 triggering:
The reference voltage at the REF pin of TL431 is 2.5V. When the sampled voltage ≥ 2.5V, the TL431 turns on (cathode K is grounded), pulling down the base (B) potential of VT1.
The reference voltage at the REF pin of TL431 is 2.5V. When the sampled voltage ≥ 2.5V, the TL431 turns on (cathode K is grounded), pulling down the base (B) potential of VT1.
VT1 turns on for shunting and discharging:
VT1 is a PNP transistor—when the base (B) is at low level, the collector (C)-emitter (E) turns on. The positive electrode of BAT1 forms a shunt circuit through VT1 → R5 → ground. R5 generates heat to consume the excess power of BAT1, and HL1 lights up at the same time (indicating balancing is in progress).
VT1 is a PNP transistor—when the base (B) is at low level, the collector (C)-emitter (E) turns on. The positive electrode of BAT1 forms a shunt circuit through VT1 → R5 → ground. R5 generates heat to consume the excess power of BAT1, and HL1 lights up at the same time (indicating balancing is in progress).
This circuit has an obvious drawback: the balancing current is small. With R5 = 330Ω, the shunt current is about 12mA (I = 3.8V / 330Ω ≈ 0.012A), so the balancing speed is slow. That’s why it’s only suitable for small-capacity batteries.
Active Balancing
Capacitor balancing uses the charging and discharging characteristics of capacitors to transfer energy between high-voltage and low-voltage cells. Balancing capacitors and bidirectional switches (e.g., CMOS switches) are connected in series between adjacent cells. Step 1: The switch connects to the high-voltage cell to charge the capacitor; Step 2: The switch switches to the low-voltage cell to discharge the capacitor, completing energy transfer. By switching cyclically, balancing of multiple cells is achieved.
Inductor balancing uses the magnetic energy conversion property of inductors (a change in current generates a magnetic field, which is then converted back to electrical energy, enabling bidirectional energy flow). Each cell corresponds to an inductor and a bidirectional DC-DC converter, and BMS controls the switch tube of the converter. The high-voltage cell charges the inductor through the converter (electrical energy converted to magnetic energy), and then the same converter releases the magnetic energy to the low-voltage cell (magnetic energy converted to electrical energy)—this allows you to achieve one-to-one precise energy transfer.
In addition, the electromagnetic induction principle of transformers (the primary winding is energized to generate a magnetic field, and the secondary winding induces electrical energy) can also be used to distribute energy among multiple cells. A multi-winding transformer (primary side connected to the high-voltage cell, secondary side connected to multiple low-voltage cells) is used, together with a PWM (Pulse Width Modulation) controller. The high-voltage cell supplies power to the primary side of the transformer, and the secondary windings adjust the output current via the controller according to the voltage needs of each cell, transferring energy to multiple low-voltage cells at the same time. This method not only has the highest efficiency but also requires fewer switches.
BMS Algorithms
When it comes to describing a battery’s state, you’ll definitely think of displaying its SOC (State of Charge) and SOH (State of Health). Among these, SOC estimation is the core algorithm focus of BMS. Currently, there are several mainstream estimation methods on the market—let’s take a look.
Open Circuit Voltage (OCV) method: It estimates SOC using the correlation between voltage and SOC when the battery is at rest. It’s low-cost, but the error can reach 25% under dynamic operating conditions.
Coulomb Counting method: It calculates the change in electrical quantity through current integration. It has strong real-time performance but has cumulative errors, requiring voltage calibration every 5 seconds.
Kalman Filter method: It integrates multi-dimensional data (voltage, current, temperature) and iteratively corrects errors through a “predict-update” cycle. In low-temperature environments, the error can drop to below 3%—making it the mainstream solution for dynamic operating conditions today.
Currently, leading enterprises have adopted the combined algorithm of “Kalman Filter + deep learning”. CATL refreshes the initial SOC value using EIS (Electrochemical Impedance Spectroscopy) and achieves precise compensation in -20℃ environments with the LSTM model; BYD trains its model based on 100,000 sets of aging data, achieving a 95% accuracy rate for SOH prediction. The accuracy of SOC estimation directly affects user experience—an error of <3% can effectively avoid the problem of “fluctuating displayed battery life”.
BMS Communication
If you want to know the battery’s state and operate it, you must have communication. Only then can two-way data interaction between BMS, internal modules, and external systems be achieved. Just like today’s headphones, BMS communication can also be wired or wireless.
CAN bus is currently the mainstream, often used in electric vehicles and energy storage devices. It uses differential signal transmission and has strong anti-interference ability. CAN FD expands the data payload from 8 bytes to 64 bytes, with a speed of up to 5Mbps—meeting the high-density data transmission needs of electric vehicle battery packs. CAN XL is the third-generation CAN technology, with a speed of up to 20Mbps and a payload increased to 2048 bytes. It’s specifically designed for scenarios like autonomous driving.
Other wired options, such as RS485, can be customized with BMS manufacturers and are also inexpensive. Bluetooth communication is usually used in small devices—it has much lower power consumption than the above methods, but its range is shorter. Although CAN is still commonly used today, with technological breakthroughs, wireless communication will definitely shine in the future.