2、电池工作原理与模型基础:锂离子电池内部反应机理、等效电路模型(Thevenin/PNGV/DP)推导
大家好,我是你们的老朋友。今天咱们聊聊电池建模这件事。
说实话,做SOC估算这么多年,我最大的体会就是:模型不准,算法白费。你想想看,一个错误的输入,再牛的卡尔曼滤波也救不回来。所以这一章,咱们把电池的“脾气”摸透。
2.1 锂离子电池内部反应机理
锂离子电池,说白了就是一个“摇椅”。锂离子在正负极之间来回跑。充电时,锂离子从正极脱出,穿过电解液,嵌入负极。放电时,反过来。
嗯,这里要注意一个关键点:锂离子迁移的速度,决定了电池的功率特性。我在项目中遇到过,有些电池低温下放电能力骤降,其实就是锂离子在负极表面“堵车”了。
内部反应可以简化为三步:
- 固相扩散:锂离子在活性材料颗粒内部移动。这一步最慢,是“木桶短板”。
- 电荷转移:锂离子在电极/电解液界面穿过SEI膜。这一步受温度影响极大。
- 液相扩散:锂离子在电解液中移动。浓度梯度会产生极化电压。
核心结论:电池的端电压 = 开路电压(OCV)+ 极化电压 + 欧姆压降。我们建模型,本质上就是在模拟这三部分。
2.2 等效电路模型(ECM)推导
电化学模型太复杂,不适合嵌入式跑。所以工业界普遍用等效电路模型。我个人习惯用二阶RC模型,精度和算力平衡得最好。
2.2.1 Thevenin模型(一阶RC)
这是最基础的模型。一个电压源(OCV),一个内阻(R0),一个RC并联环节。
数学表达式很简单:
U_L = OCV - I * R0 - U1
dU1/dt = I/C1 - U1/(R1*C1)
其中U1就是极化电压。我刚开始做BMS时,就用这个模型。说实话,在动态工况下误差偏大,尤其是电流突变时。
我的经验:一阶RC模型适合稳态工况,比如恒流放电。如果你做的是储能BMS,够用。但做车用BMS,建议上二阶。
2.2.2 PNGV模型
PNGV模型比Thevenin多了一个电容,用来模拟开路电压随SOC的变化。说白了,就是考虑了“电池电量变化引起的电压变化”。
它的状态方程长这样:
U_L = OCV(SOC) - I*R0 - U1 - Ucb
dUcb/dt = I/Cb
这个Cb电容很大,代表电池的“容量”。我曾经在某个项目中用过PNGV模型,发现它在长时间积分时误差累积很快。为什么?因为Cb的参数很难在线辨识准确。
避坑指南:PNGV模型中的Cb参数,千万别用固定值。我曾经吃过这个亏,SOC估算误差跑到8%以上。后来改成查表+在线修正,才压到3%以内。
2.2.3 DP模型(二阶RC)
DP模型是我最推荐的。它用两个RC环节,分别模拟“电化学极化”和“浓差极化”。
你想想看,电池的极化其实有两个时间常数:
- 电化学极化:时间常数小(几秒到几十秒),对应电荷转移过程。
- 浓差极化:时间常数大(几十秒到几分钟),对应锂离子在固相中的扩散。
DP模型的数学形式:
U_L = OCV - I*R0 - U1 - U2
dU1/dt = I/C1 - U1/(R1*C1)
dU2/dt = I/C2 - U2/(R2*C2)
这里R1、C1对应快动态,R2、C2对应慢动态。我个人习惯把R1/C1的时间常数设为5-10秒,R2/C2设为50-200秒。
| 模型类型 | 复杂度 | 精度 | 适用场景 |
|---|---|---|---|
| Thevenin(一阶RC) | 低 | 一般 | 稳态工况、储能 |
| PNGV | 中 | 中等 | 长时间积分场景 |
| DP(二阶RC) | 中高 | 高 | 车用动态工况 |
2.3 模型参数辨识思路
模型建好了,参数怎么来?我建议用混合脉冲功率特性(HPPC)测试数据。
具体做法:
- 在不同SOC点,施加一个放电脉冲(比如1C,10秒)。
- 记录电压响应曲线。
- 用最小二乘法拟合R0、R1、C1、R2、C2。
嗯,这里有个坑:脉冲宽度要覆盖两个时间常数。我见过有人用2秒脉冲去拟合二阶模型,结果R2/C2根本辨识不出来。建议脉冲宽度至少60秒。
总结一下:
- 电池内部反应 = 固相扩散 + 电荷转移 + 液相扩散
- 等效电路模型 = OCV + 欧姆内阻 + 极化环节
- DP模型是精度和算力的最佳平衡点
- 参数辨识要用HPPC数据,脉冲宽度要足够长
下一章,咱们聊聊SOC估算的核心算法——卡尔曼滤波。到时候我会手撕代码,把状态方程和观测方程一步步写出来。敬请期待。