电池二阶等效电路模型

电池二阶等效电路模型

以下代码是求 R0和R1、R2上电压的m脚本

function Vp = fcn(I, R0, R1, C1, R2, C2) persistent Vp1 Vp2 initFlag if isempty(initFlag) initFlag = 1; Vp1 = 0; Vp2 = 0; end dt = 1; tao1 = R1 * C1; tao2 = R2 * C2; Vp1 = Vp1 * exp(-dt / tao1) + I * R1 * (1 - exp(-dt / tao1)); Vp2 = Vp2 * exp(-dt / tao2) + I * R2 * (1 - exp(-dt / tao2)); Vp = Vp1 + Vp2 + I * R0; end


以下介绍上述代码中Vp1 Vp2的公式推导:

这个公式来源于对一个一阶RC并联电路零状态响应零输入响应的分析。

  1. 电路分析:对于图中R和C并联的电路,当有电流I流入时,电容C两端的电压Vp会随时间变化。其动态行为可以用一个一阶微分方程来描述。

  2. 微分方程求解:解这个微分方程,可以得到Vp(t)随时间变化的解析解。对于任意初始时刻t0的状态Vp(t0),到下一个时刻t0 + Δt的状态Vp(t0 + Δt),其精确解为:
    Vp(t0 + Δt) = Vp(t0) * e^(-Δt/τ) + I * R * (1 - e^(-Δt/τ))
    其中τ = R * C,是决定电压变化快慢的时间常数

  3. 离散化与编程:在计算机仿真中,我们无法处理连续时间,只能处理离散的采样点。假设采样间隔为dt,并令t0为当前时刻kt0 + Δt为下一时刻k+1,就得到了你代码中的递推公式:
    Vp(k+1) = Vp(k) * e^(-dt/τ) + I(k) * R * (1 - e^(-dt/τ))

这个公式可以理解为两部分的和:

  • 第一项Vp(k) * e^(-dt/τ)(零输入响应):这是上一时刻的残余电压在无外部电流(I=0)时,经过dt时间后的自然衰减。

  • 第二项I(k) * R * (1 - e^(-dt/τ))(零状态响应):这是由当前时刻的恒定电流I(k)dt时间内,从零开始为新电容充上的电压。