基于等效电路模型(RC)的锂离子电池参数在线辨识
Posted 新能源姥大
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于等效电路模型(RC)的锂离子电池参数在线辨识相关的知识,希望对你有一定的参考价值。
在电池管理系统(BMS)中,等效电路模型(ECM)是模拟电池动力学的常用方法。然而,模型的简单性和准确性之间总是存在着矛盾。简单的模型通常无法反映电池的所有动态效应,这可能会给参数识别带来误差。然而,一个复杂的模型总是有太多的参数需要识别,并可能存在参数发散问题。
一、介绍
电动汽车(EV)和混合动力汽车(HEV)有望解决石油危机和传统汽车加剧的环境问题。电动汽车和混合动力汽车的关键部件是二次电池。为了满足车辆的电力需求,需要将低压电芯大量连接成电池组。完善的电池管理系统(BMS)是保证每个电池安全持久运行的关键。
二、电池模型
由上图可得等效电路数学表达式:
将上式离散化后可得:可得动力电池RC等效模型的离散状态方程:
离散输出观测方程:
式中:Sk sk分别为离散状态k、k+1时刻的动力电池电荷状态;△t为采样周期;C为电池的标称容量,Ah;为库仑系数,充电时n=1,放电时n<1 ;7p=RpCp为时间常数;R0为电池欧姆内阻;Rp为RC等效电路的电池极化内阻;Ca为RC等效电路的等效电容;
三、在线参数辨识
将最上面的两个公式进行拉普拉斯变换得到:
令
得到:
拉普拉斯变换规则,令:
离散化后得到:
令
得到:
采用最小二乘法,使残差的平方和最小,即,
则可以得出参数θ最优估计值为
至此,即可以辨识得到参数Rpa,Cpa
四、代码实现
话不多说,直接上干货。代码如下:
%clear all;
a=xlsread('C:/Users/ustc/Desktop/RLS/fe081dst');
%a=xlsread('E:/test/15tem');
y=a(:,2);%votage,y是矩阵a中第2列元素排成的列向量
u=a(:,3);%current,u是矩阵a中第3列元素排成的列向量
s=length(u);%length(u)求矩阵u的长度,若u为M*N则,测得长度为M和N中的最大值
soc=a(:,4);%矩阵a中的第4列为电池的SOC,赋值给变量soc
%soc(1)=0.99;
%for i=1:s-1
% soc(i+1)=soc(i)+u(i)/(3600*7.86);
%end
%y1=y(13385:13422);
%u1=u(13385:13422);
%s=length(y1);
b(:,1)=[1 log(0.99) log(0.01) 0 u(1) 0]';%state,样本集合
x=1;%forgetting factor
%chushihua
c(:,1)=[0.1 0.1 0.1 0.9 0 0]';%estimated needed,待辨识参数
P=10000*eye(6,6);%函数eye(M,N):生成M*N的单位矩阵
for i=2:s
b(:,i)=[1 log(soc(i)) log(1-soc(i)) y(i-1) u(i) u(i-1)]';%样本集合
e(i)=y(i)-b(:,i)'*c(:,(i-1)); %计算偏差
K=(P*b(:,i))/(x+b(:,i)'*P*b(:,i));
P=(P-K*b(:,i)'*P)/x;
c(:,i)=c(:,(i-1))+K*e(i);
end
for i=1:s
vol(i)=b(:,i)'*c(:,i);
ocv(i)=(c(1,i)+c(2,i)*log(soc(i))+c(3,i)*log(1-soc(i)))./(1-c(4,i));
r(i)=(-c(6,i)+c(5,i))/(1+c(4,i));%欧姆内阻
k0(i)=c(1,i)/(1-c(4,i));
k1(i)=c(2,i)/(1-c(4,i));k2(i)=c(3,i)/(1-c(4,i));
ti(i)=(1+c(4,i))/(2*(1-c(4,i)));%时间常数
rps(i)=(1+2*ti(i))*c(5,i)-2*r(i)*ti(i)-r(i);%极化内阻
cps(i)=ti(i)/rps(i);%极化电容
end
plot(vol);hold on
plot(y);
plot(ocv);
figure;
plot(r);
五、仿真结果分析
1.电流
2.极化电阻Rs
3.极化电容Rp
4.端电压对比图(上)及误差(下)
六、学习资料加油站
硕博期间所有的程序代码,一共2个多g,可以给你指导,赠送半个小时的语音电话答疑。电池数据+辨识程序+各种卡尔曼滤波算法都在里面了,后续还会有新模型的更新。快速入门BMS软件。某鹅:2629471989
精华 | 基于TAITherm软件的锂离子电池热失控仿真
动力电池的安全问题是社会各界广泛关注的问题,而锂离子电池的热失控是动力电池安全事故的隐患之一。本文介绍如何基于专业热仿真软件TAITherm进行热失控模拟,进而为电池包散热策略优化提供依据。
(图片来源于网络)
依据电池单体组分材料和电池的放电特性,考虑电池的串并联关系,基于TAITherm软件的电池模块快速搭建电池单体或者电池包的热电耦合模型,并分析电池充、放电过程中电池电压和温度场变化。基于TAITherm软件的电池热电耦合模型如下图所示:
如何基于热电耦合模型进行过充电等电滥用引起的单体电池热失控仿真呢?
需要先从过充电的内部反应机理说起:
正常充电期间,引起锂离子电池温升的热源有电化学反应热、极化热和焦耳热,这些热量值较小,引起电池温升效果不太明显,而锂离子电池一旦发生过充电,正极析出过量锂并且不断向负极嵌入,导致SEI膜增厚,电池内阻不断增大,进而使产生的焦耳热增多;随着过充电的持续进行,电池内部发生微短路现象,产生大量焦耳热,甚至引发电池内部副反应。锂离子电池过充电时的热源可以分为两大部分:即副反应热和除副反应热之外的其它热,而电化学反应热和极化热相较于焦耳热数值较小,其它热源项主要为焦耳热。
焦耳热由TAITherm软件的电模型计算,作为电池的初始热源项输入到TAITherm热模型中,热模型通过该热源计算得到电池温度,并将温度返回到TAITherm副反应脚本用以触发各副反应。同时,副反应产生的热源输入到热模型,通过不断迭代计算实时获取电池温度,如下图所示:
焦耳热的计算采用如下公式:S1=I2R,其中R为内阻,需要将TAITherm电模型的内阻数据从正常充放电范围扩展到过充电条件下的内阻值。
TAITherm副反应脚本的编辑过程主要考虑电池热失控导致的四类内部连锁副反应:SEI膜分解、正极分解、负极分解以及电解液分解,四类反应的计算公式如下所示:
? S2:副反应热
? H:反应热(J/g)
? W:密度(g/m3)
? α:归一化浓度初始值
? A:反应速率常数(1/s)
? R:气体常数8.314J/(mol*K)
? m、n、p:反应级数
在0.1C与0.2C的电流下,基于TAITherm软件和上述模拟方案进行电池的过充电热失控仿真,反应结果如下图所示。由仿真结果可知,在过充电条件下,电池发生热失控的时间受过充电电流大小的影响,电流越大,发生热失控的时间更早,且生热量更大,即热失控导致的最高温度更大。因此,在使用过程中应防止锂离子电池发生过充电现象,尤其是大电流过充电情况的发生,并注意对电池进行良好散热,防止发生热失控现象。
不同充电电流下单体电池的温度变化情况
不同充电电流下单体电池的生热量变化
当然,我们也可以对其他引起热失控的场景进行模拟分析,比如,通过在TAITherm软件中设置指定的环境温度可以模拟由于环境温度过高引起的热失控;通过设置电模型的充放电电流大小模拟由于快速充放电引发的热失控;通过电池包模拟由于辐射与热对流造成的单体电池之间的热失控扩展,用于评估抑制热失控发生与扩展的策略等,以后有机会继续跟大家交流。
经纬恒润br/>北京市海淀区知春路7号致真大厦D座6层
邮箱:market_dept@hirain.com
网址:www.hirain.com
以上是关于基于等效电路模型(RC)的锂离子电池参数在线辨识的主要内容,如果未能解决你的问题,请参考以下文章