3、一阶RC等效电路模型:模型拓扑结构、元件物理意义(R0/R1/C1)、数学方程推导
好,我们进入正题。
前面聊了开路电压和SOC的关系,那是电池的静态特性。但电池一工作起来,电压就不是开路电压那么简单了。你想想看,电池一放电,端电压立马掉一截,一充电又立马涨一截。这个现象,就是电池的动态特性。
怎么描述这个动态特性?最经典、最实用的方法,就是一阶RC等效电路模型。我个人习惯叫它“一阶RC模型”,简单直接。
3.1 模型拓扑结构:长什么样?
先看结构。这个模型由三个核心元件串联而成:
- 一个理想电压源:代表开路电压 \( U_{oc} \),它随SOC变化。
- 一个欧姆内阻 \( R_0 \):串联在回路里。
- 一个RC并联环节:由极化电阻 \( R_1 \) 和极化电容 \( C_1 \) 并联组成。
整个拓扑就是:U_oc — R_0 — (R_1 // C_1) — 负载。就这么简单。
核心要点:一阶RC模型是“一个电压源 + 一个电阻 + 一个RC网络”。它用一个RC环节来模拟电池的极化效应,所以叫“一阶”。
为什么不用更复杂的?两个RC、三个RC?我在项目里试过。对于大多数动力电池,一阶模型已经能覆盖90%以上的动态特性。阶数越高,参数辨识越麻烦,而且容易过拟合。说白了,一阶模型是性价比最高的选择。
3.2 元件物理意义:每个元件是干嘛的?
搞懂每个元件的物理意义,你才能用好这个模型。我一个个说。
3.2.1 欧姆内阻 \( R_0 \)
这个电阻代表电池内部的欧姆极化。具体包括:
- 电极材料的体电阻
- 电解液的离子电阻
- 隔膜电阻
- 集流体、极耳、连接片的接触电阻
它的特点:响应极快。电流一变化,\( R_0 \) 上的压降瞬间就建立起来。你测电池脉冲放电时,电压那个“跳变”,就是 \( R_0 \) 的功劳。
我的经验:在HPPC测试中,电流切换瞬间的电压跳变值,除以电流变化量,就是 \( R_0 \) 的近似值。这个方法我用了很多年,简单可靠。
3.2.2 极化电阻 \( R_1 \) 和极化电容 \( C_1 \)
这两个元件一起,模拟电池的极化效应。什么是极化?就是电池内部电化学反应跟不上电流变化,导致电压缓慢变化的现象。
- \( R_1 \)(极化电阻):代表电化学极化和浓差极化的等效电阻。它的大小决定了极化电压的稳态值。
- \( C_1 \)(极化电容):代表极化过程的“惯性”。它的大小决定了极化电压建立或消失的快慢。
RC时间常数 \( \tau = R_1 \times C_1 \):这个参数很关键。它告诉你极化过程需要多长时间才能稳定。比如 \( \tau = 10s \),意味着大约30秒后(3倍时间常数),极化电压基本稳定。
注意:\( R_1 \) 和 \( C_1 \) 不是常数。它们会随SOC、温度、电流方向(充/放电)变化。我见过不少新手直接拿固定值去算,结果模型误差大得离谱。一定要做参数辨识,不能偷懒。
3.3 数学方程推导:怎么算?
模型有了,元件意义清楚了,接下来就是数学推导。这部分是算法的核心。
3.3.1 电路方程
根据基尔霍夫电压定律,端电压 \( U_t \) 等于:
U_t = U_oc - I * R_0 - U_1
其中 \( U_1 \) 是RC并联环节两端的电压,也就是极化电压。
3.3.2 RC环节的微分方程
对于RC并联电路,电流 \( I \) 分成两路:一路流过 \( R_1 \),一路流过 \( C_1 \)。
I = I_R1 + I_C1
I_R1 = U_1 / R_1
I_C1 = C_1 * dU_1/dt
整理一下:
I = U_1 / R_1 + C_1 * dU_1/dt
两边乘以 \( R_1 \):
I * R_1 = U_1 + R_1 * C_1 * dU_1/dt
令时间常数 \( \tau = R_1 \times C_1 \),得到标准形式:
τ * dU_1/dt + U_1 = I * R_1
这就是一阶RC模型的微分方程。嗯,到这里,数学上已经完整了。
3.3.3 离散化:给计算机吃
微分方程计算机没法直接算,得离散化。我用一阶向后差分法:
dU_1/dt ≈ (U_1(k) - U_1(k-1)) / Δt
代入微分方程:
τ * (U_1(k) - U_1(k-1)) / Δt + U_1(k) = I(k) * R_1
整理后得到递推公式:
U_1(k) = (τ / (τ + Δt)) * U_1(k-1) + (R_1 * Δt / (τ + Δt)) * I(k)
令 \( a = \tau / (\tau + \Delta t) \),\( b = R_1 \times \Delta t / (\tau + \Delta t) \),则:
U_1(k) = a * U_1(k-1) + b * I(k)
最终端电压:
U_t(k) = U_oc(k) - I(k) * R_0 - U_1(k)
完整递推公式(一阶RC模型):
U_1(k) = a * U_1(k-1) + b * I(k)
U_t(k) = U_oc(k) - I(k) * R_0 - U_1(k)
其中:
a = τ / (τ + Δt)
b = R_1 * Δt / (τ + Δt)
τ = R_1 * C_1
3.4 模型参数总结
一阶RC模型需要辨识的参数一共4个:
| 参数 | 符号 | 单位 | 物理意义 |
|---|---|---|---|
| 欧姆内阻 | \( R_0 \) | Ω | 瞬时电压跳变 |
| 极化电阻 | \( R_1 \) | Ω | 极化电压稳态值 |
| 极化电容 | \( C_1 \) | F | 极化响应速度 |
| 时间常数 | \( \tau \) | s | \( R_1 \times C_1 \) |
避坑指南:我曾经在参数辨识时,把 \( R_0 \) 和 \( R_1 \) 搞混了。结果模型算出来的端电压,在电流突变时误差特别大。后来才发现,\( R_0 \) 对应的是电压的“跳变”,\( R_1 \) 对应的是电压的“渐变”。这两个一定要分清楚。
3.5 小结
一阶RC模型,说白了就是用一个电阻模拟瞬时响应,用一个RC网络模拟渐变响应。结构简单,物理意义清晰,计算量小。对于BMS的实时估算,它是最常用的模型之一。
下一节,我会讲怎么用实验数据来辨识这4个参数。到时候你会看到,理论推导和实际应用之间,还有不少坑要填。