BlockWerk 指南

电池管理系统:电芯荷电状态(SOC)扩展卡尔曼滤波在线估计

实际工程中的电池管理系统(BMS)只能直接获取电芯的两类物理信号:流经电芯的电流以及两极之间的端电压。这两项参数均不等于电池的荷电状态(State of Charge, SOC)。纯安时积分(库仑计数)只有在电流传感器绝对理想的前提下才准确——这在工程上绝无可能。端电压虽然与电池剩余电量强相关,但两者之间呈现极不均匀的强非线性映射关系。

本案例设计并实现量产级 BMS 的核心算法:扩展卡尔曼滤波器(Extended Kalman Filter, EKF)。算法实时融合电流与电压两条遥测通道,在线辨识并消除电流传感器的累积零偏,输出高精度的 SOC 估计值及其置信方差。

等效电路物理建模

以经典的 18650 锂离子电芯为例,采用一阶 RC 戴维南(Thévenin)等效电路模型:包含欧姆内阻、一组极化 RC 并联网络以及电量依赖的开路电压源。

V=VOC(SOC)−V1−R0IdSOCdt=−I3600 Qcap,dV1dt=−V1τ+IC1V = V_{OC}(SOC) - V_1 - R_0 I \qquad \frac{dSOC}{dt} = -\frac{I}{3600\,Q_{cap}}, \qquad \frac{dV_1}{dt} = -\frac{V_1}{\tau} + \frac{I}{C_1}

参数物理意义基准值
QcapQ_{cap}额定电容量3,20 Ah3{,}20\ \text{Ah}
R0R_0欧姆内阻0,05 Ω0{,}05\ \Omega
R1R_1极化内阻0,02 Ω0{,}02\ \Omega
C1C_1极化电容1000 F1000\ \text{F}
τ=R1C1\tau = R_1C_1极化时间常数20 s20\ \text{s}

模型包含两个状态变量:极化电压 V1V_1(可通过静置松弛过程快速观测)以及隐藏的荷电状态 SOC。

为何纯安时积分无法胜任

将电流对时间直接积分并除以电池总容量,看似直接且无需复杂数学模型。

致命弱点在于:电流传感器哪怕仅存在微小的静态零偏 δI\delta I,都会被时间积分无情放大为单向线性发散的累积误差:

d SOCerrdt=δI3600 Qcap\frac{d\,SOC_{err}}{dt} = \frac{\delta I}{3600\,Q_{cap}}

漂移速率仅取决于绝对误差 δI\delta I(安培),与负载电流大小无关。

负载电流传感器百分比误差绝对零偏 δI\delta I每小时累积漂移
2 A2 %0{,}04 A1{,}25 % / h
10 A2 %0{,}20 A6{,}25 % / h
10 A5 %0{,}50 A15{,}6 % / h
2 A10 %0{,}20 A6{,}25 % / h
10 A10 %1{,}00 A31{,}3 % / h

哪怕仅有 0.20 A 的微小零偏,每小时就会产生高达 6.25% 的不可逆偏差。在宏观百分比仪表盘上,这种线性漂移犹如一条缓慢斜坡,往往在电芯彻底断电前毫无警觉。因此必须引入独立的第二参考源:端电压。

开路电压(OCV)的物理特性

当负载电流切断后,RC 极化过电位随时间指数衰减,两端稳定的残余电位即为开路电压(OCV):

V=VOC(SOC)V = V_{OC}(SOC)

该特性曲线具备强非线性:

SOC 区间局部斜率 ∂VOC/∂SOC\partial V_{OC}/\partial SOC相对于平坦区的敏感倍数
0–10 %5{,}00 V / 归一化电量8{,}3×
10–20 %1{,}502{,}5×
20–90 %0{,}60 – 0{,}90中间平坦平台区
90–100 %0{,}601{,}0×

在低电量陡峭区域,10% 的 SOC 变化会导致高达 500 mV 的电压跌落;而在广阔的中间平坦区,相同变化量引起的电压差仅为 60 mV。曲线局部导数直接决定了状态观测矩阵的增益与收敛速率。

扩展卡尔曼滤波(EKF)架构

若采用固定工作点线性化的标准卡尔曼滤波,一旦电池进入不同充放电区间就会产生严重系统偏差。扩展卡尔曼滤波通过在每一个采样时刻以最新估计值 x^k\hat{x}_k 重新计算雅可比矩阵:

H=[∂VOC∂SOC∣SOChat,  −1]H = \left[\left.\frac{\partial V_{OC}}{\partial SOC}\right|_{SOC_{hat}},\; -1\right]

使滤波器始终保持对物理电化学特性的精确灵敏度,在 5% 到 95% 全工作范围内均能实现零偏差渐近收敛。

协方差矩阵调谐

QQ 表征未建模动态(如温度波动、极片固相老化)。RR 表征电压采集硬件的高频噪声方差。卡尔曼增益在此平衡:增大 RR 能够提升滤波平滑度但减缓收敛,降低 RR 则使算法迅速追踪端电压突变。

参阅相关组件

  • BatterySocEkf:集成了 OCV 查表与电流传感器零偏估计的专用 EKF 模块。
  • KalmanFilter:线性定常系统卡尔曼滤波模块。
  • LookupTable:高精度非线性插值查表模块。
  • uPlotDisplay:多通道实时遥测曲线展示。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →