第四节:电池特性与建模
做BMS这么多年,我越来越觉得——电池建模是整套系统的灵魂。你想想看,如果连电池的脾气都摸不透,SOC估算、SOH评估、均衡策略,全都是空中楼阁。
这一节,我们就来聊聊锂电池的工作原理、等效电路模型,还有模型参数的辨识方法。嗯,都是实战中绕不开的东西。
4.1 锂电池工作原理
锂电池说白了就是一个「摇椅式」的化学反应。锂离子在正负极之间来回穿梭,充电时从正极跑到负极,放电时再跑回来。
我习惯把电池内部想象成一个繁忙的港口:
- 正极:相当于仓库,存放锂离子
- 负极:相当于码头,锂离子在这里「上岸」
- 电解液:就是航道,锂离子沿着它来回跑
- 隔膜:防止正负极短路,但允许锂离子通过
为什么会这样?因为锂离子在嵌入和脱出过程中,电极材料的晶格结构会发生变化。我在项目中遇到过一款电池,循环500次后容量衰减了15%,拆解后发现正极材料已经出现了微裂纹——这就是锂离子反复嵌入脱出造成的结构疲劳。
核心要点:锂电池的充放电过程,本质上是锂离子在正负极之间的可逆迁移。任何阻碍这个过程的因素(高温、过充、过放、大倍率),都会加速电池老化。
4.2 电池等效电路模型
实际项目中,我们不可能直接测量电池内部的化学反应。所以,我们需要一个「替身」——等效电路模型。
我个人最常用的是二阶RC模型。为什么不用一阶?因为一阶模型在动态工况下误差太大,尤其是脉冲充放电时。为什么不用三阶?参数太多,辨识起来容易过拟合。
二阶RC模型的数学表达式如下:
U(t) = OCV(SOC) - I(t)·R₀ - U₁(t) - U₂(t)
其中:
U₁(t+Δt) = U₁(t)·exp(-Δt/τ₁) + I(t)·R₁·(1 - exp(-Δt/τ₁))
U₂(t+Δt) = U₂(t)·exp(-Δt/τ₂) + I(t)·R₂·(1 - exp(-Δt/τ₂))
τ₁ = R₁·C₁, τ₂ = R₂·C₂
这个模型里,每个参数都有物理意义:
| 参数 | 物理意义 | 典型范围 |
|---|---|---|
| R₀ | 欧姆内阻(电解液、极耳、集流体) | 0.5~5 mΩ |
| R₁, C₁ | 电化学极化(锂离子在电极表面的扩散) | R₁: 1~10 mΩ, C₁: 1~10 kF |
| R₂, C₂ | 浓差极化(锂离子在电极内部的扩散) | R₂: 2~20 mΩ, C₂: 10~100 kF |
| OCV | 开路电压(与SOC一一对应) | 2.5~4.2 V |
实战技巧:我曾经在调试一款储能BMS时,发现模型在低温下误差特别大。后来发现是R₀和R₁随温度变化剧烈。我的解决办法是——建立R₀、R₁与温度的二维查表,效果立竿见影。
4.3 模型参数辨识方法
模型搭好了,参数怎么来?总不能靠猜吧。
我常用的参数辨识方法有三种,各有优劣:
4.3.1 混合脉冲功率特性测试(HPPC)
这是最经典的方法。说白了就是给电池施加一系列脉冲电流,然后记录电压响应。
具体步骤:
- 将电池充满电,静置1小时
- 以1C倍率放电10秒,记录电压降
- 静置40秒,记录电压恢复
- 以0.75C倍率充电10秒,记录电压升
- 静置40秒,记录电压恢复
- 以0.1C倍率放电至下一个SOC点(通常间隔10% SOC)
- 重复步骤2~6,直到SOC=0%
从电压响应曲线中,我们可以提取出:
- R₀ = ΔU_instant / ΔI(电压突变除以电流突变)
- R₁, C₁, R₂, C₂ = 通过指数拟合电压恢复曲线得到
注意:HPPC测试非常耗时,一个完整的测试可能需要8~12小时。而且,脉冲电流的大小和持续时间会影响辨识结果。我建议至少做3次重复测试,取平均值。
4.3.2 递推最小二乘法(RLS)
如果觉得HPPC太麻烦,可以用RLS在线辨识。这个方法可以在电池正常工作时实时更新参数。
RLS的核心思想是:
θ(k+1) = θ(k) + K(k)·[y(k) - φᵀ(k)·θ(k)]
其中:
θ = [R₀, R₁, R₂, C₁, C₂]ᵀ (待辨识参数)
φ = [I(k), I(k-1), U(k-1)]ᵀ (输入向量)
y = U(k) - OCV(k) (输出,即极化电压)
K(k) = P(k)·φ(k) / [λ + φᵀ(k)·P(k)·φ(k)] (增益矩阵)
嗯,这里要注意——RLS对噪声很敏感。我曾在项目中吃过亏,采样信号里混入了50Hz工频干扰,结果辨识出来的R₀忽大忽小。后来加了低通滤波器才稳定下来。
4.3.3 遗传算法(GA)
如果前两种方法都不满意,可以试试遗传算法。这个方法不依赖梯度信息,适合处理非线性、多峰值的优化问题。
基本流程:
- 初始化种群:随机生成100组参数
- 计算适应度:用每组参数仿真电压,与实际电压对比
- 选择:保留适应度高的参数组
- 交叉:将两组参数的部分值互换
- 变异:随机改变某些参数值
- 重复步骤2~5,直到收敛
我的经验:遗传算法虽然效果好,但计算量大。我一般只在离线标定时用GA,在线运行时还是用RLS。另外,GA的初始种群范围很重要——如果范围设得太宽,收敛会很慢;设得太窄,可能找不到全局最优。
4.4 知识体系总览
说了这么多,我画了一张图来总结本章的知识结构。你可以把它当作一个「导航图」,随时回来查阅。
这张图把本章的三个核心内容串起来了。你从「工作原理」出发,理解电池的本质;然后搭建「等效电路模型」,把物理过程数学化;最后用「参数辨识方法」,让模型真正贴合实际电池。
我个人觉得,这三步缺一不可。模型再好,参数不准也是白搭;参数再准,模型结构不对也白费功夫。
最后说一句:电池建模没有「万能公式」。不同材料体系(LFP、NCM、LTO)、不同工况(低温、大倍率、老化),模型参数都会变。我的做法是——建立参数与温度、SOC、循环次数的多维查表,让模型「自适应」。这样虽然前期工作量大,但后期维护起来省心多了。
公众号:蓝海资料掘金营,微信deep3321