电池二阶等效电路模型
1. 模型结构
该电路模型包含了以下主要部分:
- R 0 R_0 R0:电池的内阻,表示电池的总内阻。
- R 1 R_1 R1, R 2 R_2 R2 和 C 1 C_1 C1, C 2 C_2 C2:这些元件构成了一个由两个RC串联组成的电路。这两个电容 C 1 C_1 C1和 C 2 C_2 C2模拟了电池的不同能量存储过程,而电阻 R 1 R_1 R1和 R 2 R_2 R2描述了电池在不同放电阶段的电流损耗。
- U 1 U_1 U1和 U 2 U_2 U2:分别表示两个RC电路部分的电压。
- 电池的输出电压 V m d l V_{mdl} Vmdl:这是通过模型计算的电池电压。
2. 电路方程
模型的电流、电压关系可以通过以下方程描述:
- 电流方程:
C 1 d U 1 d t + U 1 R 1 = I C_1 \frac{dU_1}{dt} + \frac{U_1}{R_1} = I C1dtdU1+R1U1=I
C 2 d U 2 d t + U 2 R 2 = I C_2 \frac{dU_2}{dt} + \frac{U_2}{R_2} = I C2dtdU2+R2U2=I
这两个方程分别描述了电池内部两个RC电路的电压和电流关系。第一个RC电路由电容 C 1 C_1 C1和电阻 R 1 R_1 R1组成,第二个RC电路由电容 C 2 C_2 C2和电阻 R 2 R_2 R2组成。它们共同影响电池电压的动态变化。 - 电池输出电压方程:
V mod = U ( soc ) − U 1 − U 2 − I R 0 V_{\text{mod}} = U(\text{soc}) - U_1 - U_2 - IR_0 Vmod=U(soc)−U1−U2−IR0
该方程表示电池的输出电压 V m d l V_{mdl} Vmdl,其中 U ( S O C ) U(SOC) U(SOC)是电池的开路电压, U 1 U_1 U1和 U 2 U_2 U2分别表示两个RC电路的电压,而 R 0 R_0 R0是电池的内阻。 - SOC方程:
S O C = S O C 0 − ∫ η Q 3600 ⋅ I d t SOC = SOC_0 - \int \frac{\eta}{Q_{3600}} \cdot I \, dt SOC=SOC0−∫Q3600η⋅Idt
与一阶模型相同,这个方程表示电池的充电状态(SOC),通过电流 I I I 和电池容量 Q Q Q 计算电池的剩余电量。
3. 应用场景
二阶等效电路模型比一阶模型更加精确,因此常用于以下领域:
- 电池管理系统 (BMS):用于精确估算电池的电压、电流和剩余电量,并实时监控电池的健康状态。二阶模型提供了比一阶模型更高的精度,特别是在电池的充放电过程中。
- 电动汽车 (EV):在电动汽车中,二阶模型能够更好地反映电池在不同工作状态下的性能,有助于优化电池的能量管理,提高续航里程和电池使用寿命。
- 可再生能源系统:在太阳能或风能储能系统中,二阶电池模型用于准确模拟电池的充电和放电过程,以实现高效的能量存储和转换。
电池健康监测:通过实时分析电池的充电状态和内部阻抗,二阶模型能够更精确地评估电池的健康状况,及时采取措施避免电池过度衰减或损坏。
4. 二阶RC等效电路模型(Simulink版)
其中fcn中设置的RMSE,来求解该模型的误差是多少
function y = fcn(u)
y = sqrt(mean(u.^2))
5. 二阶RC等效电路模型(MATLAB脚本版)
clear all
clc
% 加载电池参数和数据
load battParams.mat
load batteryData.mat
% 参数
R0 = 0.0037; % 内部电阻
R1 = 0.0045; % 等效串联电阻
C1 = 1042; % 等效电容
R2 = 0.001; % 等效串联电阻
C2 = 1000; % 等效电容
% 读取数据
time = data(:, 1); % 时间
current = data(:, 2); % 电流
voltage = data(:, 3); % 电压
t_end = time(end) - time(1); % 总时间
% 计算SOC
SOC = initialSoC*100 - cumtrapz(time,current)/3600/capacity*100;
% 插值获取开路电压
U = interp1(s0,e0,SOC);
% 初始条件
v0 = zeros(3300,1); % 初始电压
% 求解微分方程
[t, v] = ode45(@(t, v) myODE(t, v, time, current, C1, R1), [0 3300], 0);
[t2, v2] = ode45(@(t2, v2) myODE2(t2, v2, time, current, C2, R2), [0 3300], 0);
%sample time
time_sample = 0:1:time(end);
voltage_sample1 = interp1(t,v,time_sample,'linear')
voltage_sample2 = interp1(t2,v2,time_sample,'linear')
% 计算电池单元的电压
V_cell = U - current * R0 - voltage_sample1' - voltage_sample2';
%计算误差
Rmse = sqrt(mean((V_cell(1:end-2)-voltage(1:end-2)).^2))
%因为插值求得电压,voltage_sample最后两位是NaN,因此求rmse时舍掉了最后两位。
% 绘制电压随时间变化的图像
figure;
plot(time,voltage,time, V_cell);
xlabel('Time (s)');
ylabel('Voltage (V)');
title('Computed Voltage VS Actual Voltage');
function dvdt = myODE(t, v, time, current, C1, R1)
i = interp1(time,current,t)
dvdt = (1/C1)*(i - v/R1); % 描述微分方程
end
function dv2dt = myODE2(t2, v2, time, current, C2, R2)
i2 = interp1(time,current,t2)
dv2dt = (1/C2)*(i2 - v2/R2); % 描述微分方程
end
6. 总结
二阶等效电路模型通过引入更多的电容和电阻,能够更精确地描述电池的动态特性,尤其是在电池的充放电过程中。它能够更好地模拟电池的非线性行为,广泛应用于电池管理、电动汽车、可再生能源储存等领域,帮助提高电池系统的效率和性能。