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,每一步都是在弥补前一个模型的不足。我个人觉得,理解这些模型的物理意义比记住公式更重要。因为只有理解了物理意义,你才知道什么时候该用哪个模型,以及为什么卡尔曼滤波能跟它们配合得这么好。

下一章,咱们就正式进入卡尔曼滤波的世界。准备好了吗?