Coulomb Counting, Equivalent Circuit Modeling, and Extended Kalman Filter State-of-Charge Calculation
Hardware & Systems Takeaway
Measuring battery terminal voltage alone gives an inaccurate estimation of remaining capacity. An automotive Battery Management System (BMS) couples real-time Coulomb counting with an Extended Kalman Filter over a Thevenin equivalent circuit to estimate State-of-Charge within 1% accuracy.
Empirical Architecture Comparison: Voltage-Look-Up vs. Coulomb Counting vs. EKF SoC Estimation
| Methodology | Open-Circuit Voltage (OCV) Lookup | Pure Coulomb Counting (Current Integration) | Extended Kalman Filter (EKF) Dual-State |
|---|---|---|---|
| Operating Requirement | Requires battery to rest unloaded for 30+ minutes | Continuous current measurement (Shunt resistor) | Real-time terminal voltage and current sampling under load |
| Error Drift | Severe error under load due to internal impedance drop | Error accumulates indefinitely due to current sensor bias drift | Zero long-term drift; filter continuously corrects bias errors |
| Accuracy | ± 15% - 25% under dynamic load | ± 8% - 12% after 2 hours of cycling | ± 0.8% - 1.5% across full temperature and load profile |
| Compute Requirement | Look-up table; zero compute | Simple addition; minimal compute | Matrix inversion and state prediction on microcontroller |
1. Why Battery State-of-Charge (SoC) Cannot Be Directly Measured
In electric vehicles, drones, and mobile robots, running out of battery unexpectedly leads to catastrophic crashes or stranding. However, unlike fluid volume in a fuel tank, chemical State-of-Charge (SoC) is an internal state that cannot be measured directly with physical probes. Terminal voltage under load $V_{\text{term}}$ drops significantly due to internal ohmic resistance $R_0$ and electrochemical polarization, rendering simple voltage-to-percent look-up tables inaccurate during acceleration.2. The Second-Order Thevenin Equivalent Circuit Model
To track battery dynamics in real time, the BMS models the Lithium-Ion cell as an Equivalent Circuit Model (ECM): $$V_{\text{term}}(t) = V_{\text{OCV}}(\text{SoC}) - I(t) R_0 - V_{RC,1}(t) - V_{RC,2}(t)$$ where:- $V_{\text{OCV}}(\text{SoC})$ is the non-linear Open Circuit Voltage function.
- $R_0$ represents the instantaneous ohmic internal resistance of the electrolytes and current collectors.
- $R_1, C_1$ model fast charge-transfer polarization kinetics (milliseconds).
- $R_2, C_2$ model slow solid-state diffusion polarization kinetics (seconds to minutes).