电池管理系统:电芯荷电状态(SOC)扩展卡尔曼滤波在线估计
实际工程中的电池管理系统(BMS)只能直接获取电芯的两类物理信号:流经电芯的电流以及两极之间的端电压。这两项参数均不等于电池的荷电状态(State of Charge, SOC)。纯安时积分(库仑计数)只有在电流传感器绝对理想的前提下才准确——这在工程上绝无可能。端电压虽然与电池剩余电量强相关,但两者之间呈现极不均匀的强非线性映射关系。
本案例设计并实现量产级 BMS 的核心算法:扩展卡尔曼滤波器(Extended Kalman Filter, EKF)。算法实时融合电流与电压两条遥测通道,在线辨识并消除电流传感器的累积零偏,输出高精度的 SOC 估计值及其置信方差。
等效电路物理建模
以经典的 18650 锂离子电芯为例,采用一阶 RC 戴维南(Thévenin)等效电路模型:包含欧姆内阻、一组极化 RC 并联网络以及电量依赖的开路电压源。
| 参数 | 物理意义 | 基准值 |
|---|---|---|
| 额定电容量 | ||
| 欧姆内阻 | ||
| 极化内阻 | ||
| 极化电容 | ||
| 极化时间常数 |
模型包含两个状态变量:极化电压 (可通过静置松弛过程快速观测)以及隐藏的荷电状态 SOC。
为何纯安时积分无法胜任
将电流对时间直接积分并除以电池总容量,看似直接且无需复杂数学模型。
致命弱点在于:电流传感器哪怕仅存在微小的静态零偏 ,都会被时间积分无情放大为单向线性发散的累积误差:
漂移速率仅取决于绝对误差 (安培),与负载电流大小无关。
| 负载电流 | 传感器百分比误差 | 绝对零偏 | 每小时累积漂移 |
|---|---|---|---|
| 2 A | 2 % | 0{,}04 A | 1{,}25 % / h |
| 10 A | 2 % | 0{,}20 A | 6{,}25 % / h |
| 10 A | 5 % | 0{,}50 A | 15{,}6 % / h |
| 2 A | 10 % | 0{,}20 A | 6{,}25 % / h |
| 10 A | 10 % | 1{,}00 A | 31{,}3 % / h |
哪怕仅有 0.20 A 的微小零偏,每小时就会产生高达 6.25% 的不可逆偏差。在宏观百分比仪表盘上,这种线性漂移犹如一条缓慢斜坡,往往在电芯彻底断电前毫无警觉。因此必须引入独立的第二参考源:端电压。
开路电压(OCV)的物理特性
当负载电流切断后,RC 极化过电位随时间指数衰减,两端稳定的残余电位即为开路电压(OCV):
该特性曲线具备强非线性:
| SOC 区间 | 局部斜率 | 相对于平坦区的敏感倍数 |
|---|---|---|
| 0–10 % | 5{,}00 V / 归一化电量 | 8{,}3× |
| 10–20 % | 1{,}50 | 2{,}5× |
| 20–90 % | 0{,}60 – 0{,}90 | 中间平坦平台区 |
| 90–100 % | 0{,}60 | 1{,}0× |
在低电量陡峭区域,10% 的 SOC 变化会导致高达 500 mV 的电压跌落;而在广阔的中间平坦区,相同变化量引起的电压差仅为 60 mV。曲线局部导数直接决定了状态观测矩阵的增益与收敛速率。
扩展卡尔曼滤波(EKF)架构
若采用固定工作点线性化的标准卡尔曼滤波,一旦电池进入不同充放电区间就会产生严重系统偏差。扩展卡尔曼滤波通过在每一个采样时刻以最新估计值 重新计算雅可比矩阵:
使滤波器始终保持对物理电化学特性的精确灵敏度,在 5% 到 95% 全工作范围内均能实现零偏差渐近收敛。
协方差矩阵调谐
表征未建模动态(如温度波动、极片固相老化)。 表征电压采集硬件的高频噪声方差。卡尔曼增益在此平衡:增大 能够提升滤波平滑度但减缓收敛,降低 则使算法迅速追踪端电压突变。
参阅相关组件
- BatterySocEkf:集成了 OCV 查表与电流传感器零偏估计的专用 EKF 模块。
- KalmanFilter:线性定常系统卡尔曼滤波模块。
- LookupTable:高精度非线性插值查表模块。
- uPlotDisplay:多通道实时遥测曲线展示。