3. 等效电路模型(ECM)基础:Rint模型、Thevenin模型、PNGV模型的数学表达与物理意义
做BMS这么多年,我始终觉得一个道理特别朴素——你没法直接测量电池内部状态,那就得找个替身。这个替身,就是等效电路模型(ECM)。说白了,就是用电阻、电容这些我们熟悉的电路元件,去模拟电池的电压响应行为。
今天咱们聊三个最经典的模型:Rint、Thevenin、PNGV。它们一个比一个复杂,也一个比一个贴近真实。我建议你从Rint入手,但千万别停留在Rint。
3.1 Rint模型:最简单的起点
Rint模型,也叫内阻模型。它把电池看成理想电压源串联一个内阻。数学表达式很简单:
V_t = V_oc - I * R_0
其中:
- V_t:端电压(我们能测到的电压)
- V_oc:开路电压(OCV,与SOC有函数关系)
- I:电流(放电为正,充电为负)
- R_0:欧姆内阻
物理意义:R_0代表电池内部的欧姆极化,包括电解液电阻、电极材料电阻、接触电阻等。它引起的压降是瞬时的,电流一变,电压立刻跳变。
我在项目里第一次用Rint模型做SOC估算,结果发现动态工况下误差能到10%以上。为什么?因为它忽略了电池的极化效应——电池电压在电流变化后不是立刻稳定,而是慢慢爬坡或下降。Rint模型完全看不到这个现象。
我的建议:Rint模型只适合做非常粗略的估算,比如静态SOC查表。如果你要做动态工况下的状态估计,请直接跳过它。
3.2 Thevenin模型:加入极化效应
Thevenin模型在Rint基础上增加了一个RC并联环节。这就是它比Rint高明的地方。数学表达式如下:
V_t = V_oc - I * R_0 - V_p
dV_p/dt = -V_p/(R_p * C_p) + I/C_p
其中:
- V_p:极化电压(RC环节上的电压)
- R_p:极化内阻
- C_p:极化电容
你想想看,这个RC环节在干什么?它模拟了电池的极化过程。当电流流过时,极化电压V_p不会瞬间跳变,而是按照时间常数τ = R_p * C_p慢慢建立或消失。这正好对应了电池的“弛豫效应”——电流停了,电压还要慢慢回升。
物理意义:R_p和C_p共同描述了电池的电化学极化和浓差极化。时间常数τ一般在几秒到几十秒之间,具体取决于电池化学体系和温度。
我记得有一次做电池HIL测试,用Thevenin模型拟合脉冲放电数据,拟合精度比Rint模型提升了将近5倍。但要注意,一个RC环节只能模拟一个主导时间常数。如果你需要更精确,可以加第二个、第三个RC环节,这就是高阶Thevenin模型。
避坑指南:我曾经在项目中为了提高精度,把RC环节加到4个。结果参数辨识变得极其困难,而且模型在实时嵌入式系统里跑不动。我的经验是:对于大多数BMS应用,1阶或2阶Thevenin模型就足够了。别贪多。
3.3 PNGV模型:考虑OCV变化
PNGV模型是Thevenin模型的升级版。它增加了一个电容C_b,用来模拟OCV随累积电荷的变化。数学表达式:
V_t = V_oc - I * R_0 - V_p - V_b
dV_p/dt = -V_p/(R_p * C_p) + I/C_p
dV_b/dt = I/C_b
其中:
- V_b:OCV变化量(由累积电荷引起)
- C_b:等效电容,代表电池的储能能力
说白了,C_b就是电池容量的另一种表达方式。C_b越大,说明电池能储存的电荷越多,OCV随SOC的变化越平缓。这个模型最早是PNGV(Partnership for a New Generation of Vehicles)项目提出的,所以叫PNGV模型。
物理意义:PNGV模型把电池的“荷电保持”特性也纳入了考虑。Thevenin模型假设OCV是固定的,而PNGV模型允许OCV随着充放电过程缓慢变化。这在长时间充放电或大倍率工况下特别重要。
我在做电动大巴的BMS项目时,遇到过一个问题:车辆长时间爬坡,SOC从80%掉到20%,Thevenin模型的端电压预测误差越来越大。换成PNGV模型后,误差明显减小。原因就是PNGV模型捕捉到了OCV随SOC的漂移。
3.4 三个模型的对比总结
| 模型 | 状态变量 | 参数数量 | 适用场景 | 精度 |
|---|---|---|---|---|
| Rint | 无 | 1(R_0) | 静态SOC查表、极粗略估算 | 低 |
| Thevenin(1阶) | V_p | 3(R_0, R_p, C_p) | 动态工况SOC/SOH估计 | 中 |
| PNGV | V_p, V_b | 4(R_0, R_p, C_p, C_b) | 长时间充放电、大倍率工况 | 高 |
我的选择建议:
- 做教学演示或快速原型 → Rint模型
- 做实际BMS产品开发 → 1阶或2阶Thevenin模型
- 做高精度仿真或研究 → PNGV模型
3.5 离散化:从连续到数字
咱们的卡尔曼滤波是离散时间算法,所以必须把连续模型转成离散形式。以1阶Thevenin模型为例,离散化后的状态方程和观测方程如下:
状态方程:
V_p(k+1) = exp(-Δt/τ) * V_p(k) + R_p * (1 - exp(-Δt/τ)) * I(k)
观测方程:
V_t(k) = V_oc(SOC(k)) - R_0 * I(k) - V_p(k)
其中Δt是采样时间,τ = R_p * C_p。这个离散化过程用的是零阶保持法,假设电流在采样间隔内保持不变。嗯,这里要注意,如果采样时间远大于时间常数τ,离散化误差会变大。我一般建议采样时间不超过τ的十分之一。
核心要点:离散化后的模型就是卡尔曼滤波的“预测方程”。你给卡尔曼滤波一个电流输入,它就能预测下一时刻的极化电压和端电压。预测值和实测值一比较,修正就来了——这就是卡尔曼滤波的精髓。
好了,三个模型讲完了。从Rint到Thevenin再到PNGV,每一步都是在弥补前一个模型的不足。我个人觉得,理解这些模型的物理意义比记住公式更重要。因为只有理解了物理意义,你才知道什么时候该用哪个模型,以及为什么卡尔曼滤波能跟它们配合得这么好。
下一章,咱们就正式进入卡尔曼滤波的世界。准备好了吗?