第2章 电池储能系统建模:锂电池等效电路模型、参数辨识方法
各位好,咱们接着聊储能电站的仿真。上一章我讲了储能系统的整体架构,这一章咱们扎进去,聊聊最核心的部件——锂电池的建模。
说实话,电池建模这事儿,我入行头三年一直觉得挺玄乎的。直到有一次做微电网仿真,模型不准,导致整个系统的稳定性分析全偏了。从那以后,我花了大半年时间,把电池模型从头到尾捋了一遍。今天就把这些经验分享给你。
2.1 为什么要建电池模型?
你想想看,储能电站里几十个电池簇并联,每个电池的电压、温度、SOC都不一样。如果你没有一个准确的模型,怎么去设计BMS的均衡策略?怎么去评估系统的寿命?
说白了,电池模型就是我们在仿真世界里的「替身」。它要能准确反映电池的:
- 外特性:端电压随SOC和电流的变化
- 动态响应:充放电切换时的电压跳变
- 老化特性:循环次数增加后的容量衰减
我个人习惯把电池模型分成三类:电化学模型、等效电路模型、数据驱动模型。在工程仿真中,等效电路模型是应用最广的,因为它计算量小、参数容易获取、精度也够用。
2.2 锂电池等效电路模型
等效电路模型,就是用电阻、电容这些基本元件,去模拟电池的电气行为。最常见的几种,我一个个说。
2.2.1 Rint模型(最简单的)
这个模型就一个理想电压源串一个内阻。公式很简单:
V_t = V_oc - I * R_0
其中V_oc是开路电压,R_0是欧姆内阻。
嗯,这个模型太粗糙了。它完全忽略了电池的极化效应。我在早期做快速仿真时用过一次,结果电压曲线跟实测差了5%以上。后来再也不敢用了。
2.2.2 Thevenin模型(工程首选)
这个模型在Rint基础上,加了一组RC并联网络,用来模拟极化效应。一阶Thevenin模型长这样:
V_t = V_oc - I * R_0 - V_p
其中V_p满足:
dV_p/dt = I/C_p - V_p/(R_p * C_p)
这里R_p是极化内阻,C_p是极化电容。V_p就是极化电压。
我的经验:一阶Thevenin模型在大多数场景下够用了。如果你做的是高频动态仿真(比如微秒级的功率波动),可以考虑二阶模型。但说实话,二阶模型参数多了将近一倍,精度提升却有限,性价比不高。
2.2.3 PNGV模型(考虑开路电压变化)
这个模型在Thevenin基础上,又加了一个电容来模拟开路电压随SOC的变化。公式我就不列了,你记住一点:PNGV模型适合长时间尺度仿真,比如一天的充放电循环。
| 模型类型 | 复杂度 | 精度 | 适用场景 |
|---|---|---|---|
| Rint | ★☆☆☆☆ | 低 | 概念验证 |
| 一阶Thevenin | ★★☆☆☆ | 中 | 工程仿真(推荐) |
| 二阶Thevenin | ★★★☆☆ | 中高 | 高频动态分析 |
| PNGV | ★★★★☆ | 高 | 长时间尺度仿真 |
2.3 参数辨识方法
模型建好了,参数从哪来?这就是参数辨识要干的事。说白了,就是通过实验数据,反推出模型里的R_0、R_p、C_p这些值。
2.3.1 混合脉冲功率特性(HPPC)测试
这是最经典的参数辨识方法。怎么做呢?
- 把电池充到满电,静置1小时
- 用1C电流放电10秒,记录电压响应
- 静置40秒,记录电压恢复曲线
- 用1C电流充电10秒,再记录
- 放电到下一个SOC点(比如90%),重复以上步骤
为什么这么做?因为电压的瞬间跳变对应欧姆内阻R_0,而缓慢恢复的部分对应极化参数R_p和C_p。
避坑指南:我曾经在HPPC测试时,静置时间只给了20秒。结果极化电容的参数辨识出来偏差很大。后来查资料才发现,锂电池的极化时间常数通常在30-60秒。所以静置时间至少40秒,最好60秒。
2.3.2 最小二乘法拟合
拿到HPPC数据后,怎么提取参数?我一般用最小二乘法。具体步骤:
1. 提取电压跳变ΔV_0,计算R_0 = ΔV_0 / I
2. 提取电压恢复曲线V(t),用指数函数拟合:
V(t) = V_∞ - A * exp(-t/τ)
其中τ = R_p * C_p
3. 从拟合结果得到R_p和C_p
在MATLAB里,我习惯用lsqcurvefit函数。Python的话,scipy.optimize.curve_fit也很好用。
2.3.3 卡尔曼滤波在线辨识
HPPC是离线方法,参数是固定的。但电池用久了,内阻会变大,容量会衰减。这时候就需要在线辨识。
扩展卡尔曼滤波(EKF)是主流方法。它把参数当作状态变量,随着新数据不断更新。我做过一个项目,用EKF在线辨识内阻,精度能控制在2%以内。
注意:EKF对初始值敏感。如果初始参数设得离谱,滤波器可能发散。我建议先用HPPC测一组离线参数作为初值,再切换到在线模式。
2.4 模型验证与精度评估
参数辨识完了,怎么知道模型准不准?我一般用三个指标:
- 均方根误差(RMSE):反映整体偏差,一般要求< 20mV
- 最大绝对误差(MAE):反映最坏情况,要求< 50mV
- 电压跟踪误差:动态工况下的实时跟踪能力
验证工况我推荐用DST(动态应力测试)或UDDS(城市道路循环工况)。这些工况包含频繁的充放电切换,能充分暴露模型的短板。
我记得有一次,模型在恒流工况下精度很好,RMSE只有10mV。但一上DST工况,误差直接飙到80mV。后来发现是极化电容的参数在动态工况下变化很大。从那以后,我坚持用动态工况做最终验证。
2.5 本章知识体系
下面这张图,是我梳理的本章知识结构。你可以把它当作一个思维导图来看:
这张图把本章的核心内容串起来了。从左到右,从模型选择到参数获取,再到验证闭环。你照着这个思路走,基本不会跑偏。
好了,电池建模这块就聊到这儿。下一章咱们会讲储能变流器的建模,那又是另一番天地了。
公众号:蓝海资料掘金营,微信deep3321