基于
Simscape锂电池模型
1、引言
??为了保证电池储能系统的安全可靠运行,电池管理系统需要估计和预测储能系统中锂电池的各种状态,如荷电状态(State of Charge,SOC)、实现这些功能的前提是建立准确可靠的锂电池模型,也是电池管理系统亟待解决的技术关键。动力锂电池的非线性特性使许多方法难以准确估计结果。因此,必须建立适当的数学模型来表示电池的特性。本期将向您讲解如何通过Simscape建立准确的电池模型。 ??建模锂电池的方法有很多,比如:Simulink模型、Simscape模型等。本文采用Simscape构件构建锂电池模型。Matlab/Simscape语言支持定义物理建模组件、域和图书馆,提供构建物理系统数学模型的自然高效方法,通过物理连接创建多域原理图Simscape组件可以直接代表物理原件,模型组件之间的连接直接对应物理中的实际连接,传递能量。除此之外,Simscape还提供有Parameter Estimation Toolbox,模型建立后,模拟输出匹配实验数据入下匹配实验数据,以估计模型中的参数。该模型在不同充放电条件下的运行可以得出电池单体的结论电流、电压、温度及SOC数据随时间变化。该模型可应用于电池管理系统或电动汽车的整车模型,可缩短研发周期和成本。 ??常用的等效电路模型有Rint模型、Thevenin模型、PNGV模型和RC模型等。本文通过对各模型的优缺点进行综合比较,选择Simscape建模搭建二阶RC等效电路模型。
2.电池测试试验
??选择合适的电池模型后,需要进行电池充放电试验,对电池内部的一些参数进行测试辨识。在电池充放电过程中,内部参数会随着电荷状态的变化而动态变化,这是模拟结果与实际值之间偏差的主要因素。由于内部参数不能通过测量直接获得,电池充放电试验采用测试测量的电压数据识别,以减少电池参数动态变化引起的估计误差。 ??实验选用三元锂电池Arbin电池充放电试验台对三元锂电池进行间歇充放电试验(hybrid pulse power characteristic,HPPC),试验步骤如下所示。
2.1、间歇充/放电试验
??第一步:放空/充满电池; ??步骤2:以1C放电倍率放电6min,若6min内电池电压低于3.0V/高于4.2V,进入步骤4,否则进入步骤3; ??步骤3:静置1h,之后回到步骤2; ??步骤4:以0.02C将电池放空/充满小电流。
2.2、HPPC试验
??步骤1:在室温条件下,以1C充电电流充满电池,此时SOC为100%,静置1h; ??步骤2:以1C放电电流6 min,静置1h; ??步骤3:以1C脉冲电流放电10s,静置40s;充电10s,静置40s(完成1次HPPC试验); ??步骤4:重复步骤2和步骤3,直到电池进行循环试验SOC=0%。
3.识别电池参数
??通过间歇充/放电试验HPPC测试结果可以识别电池的参数。知网提到了很多具体方法的文献,这里就不赘述了。
3.1、开路电压识别结果
SOC/% | OCV/V |
---|---|
0 | 3.23 |
10 | 3.66 |
20 | 3.74 |
30 | 3.81 |
40 | 3.83 |
50 | 3.86 |
60 | 3.91 |
70 | 3.94 |
80 | 4.06 |
90 | 4.11 |
100 | 4.20 |
??这样就可以识别出开路电压的结果。接下来用Matlab拟合工具箱对表1中的辨识结果进行n阶多项拟合。得到不同的时刻SOC与开路电压OCV关系。
3.2、电阻电容识别结果
??根据基尔霍夫定律,夫定律获得RC模型中的数学关系类型: ??式中,R0电池欧姆内阻,R1和C1极化电阻和电容,R2和C2是厚差电阻和电容,U1、U2分别为R1、R2的端电压。 ??根据放电瞬间欧姆电阻的大小可以通过充电结束时的电压变化值和瞬时电压变化值来获得。 ??在静态过程中,由于电池内极化电阻和极化电容的影响,电压会出现回弹特性,表达式如下: ??因此,根据脉冲放电试验获得的数据,对每个脉冲放电试验进行测试SOC放电数据导入点脉冲功率特性测试Matlab使用拟合工具箱Custom Equations自定义二阶指数函数拟合,将拟合结果代入上两种类型进行计算,可识别不同SOC下表所示的等效电路模型参数值。
SOC/% | R0/mΩ | R1/mΩ | R2/mΩ | C1/× 1 0 2 10^2 102F | C2/× 1 0 3 10^3 103F |
---|---|---|---|---|---|
10 | 8.52 | 2.82 | 8.16 | 0.70 | 0.58 |
20 | 7.82 | 2.75 | 7.81 | 1.03 | 1.88 |
30 | 7.26 | 2.70 | 7.19 | 1.39 | 2.40 |
40 | 6.64 | 2.28 | 6.82 | 3.95 | 1.98 |
50 | 6.14 | 2.12 | 6.12 | 4.01 | 1.84 |
60 | 5.93 | 2.06 | 5.50 | 3.84 | 2.00 |
70 | 5.97 | 2.18 | 5.32 | 4.97 | 2.84 |
80 | 6.19 | 2.47 | 6.58 | 2.44 | 1.72 |
90 | 6.14 | 2.58 | 7.17 | 1.77 | 1.55 |
由表2的参数辨识结果可知,当电池的SOC减小的过程中,电阻R0、R1及R2会有所波动,但波动不是特别明显。而电容C1及C2的值则先会明显升高,当SOC减小至0.4左右时出现峰值,随后再下降,这主要是由于在不同SOC下,电池的电学极化及浓差极化等极化效应强度发生变化所导致。(注意:大家进行参数辨识的时候需要留意阻容系数的单位!)
4、Simscape电池模型的建立
确定锂电池的等效电路模型后,利用Matlab中的Simscape模块对二阶RC等效电路模型进行搭建。Simscape模块描述的是系统的物理结构,各组件代表物理元件。由于Uoc、R0、R1、R2、C1、C2 这6个等效电路组件,除了需要具有相应的物理特性外,参数还会随着电流充放电过程不断变化,因此,基于Simscape所搭建的二阶RC等效电路模型如下图所示。(本文使用的是Matlab2019a版本) 上图为Simscape环境下搭建的电池等效电路原理图,蓝色线连接的是物理模型元件,黑色连接的是Power System下的模块,这样有利于模型构造。本文需要建立一个精确的参数动态模型,根据输入、输出测试数据,在Simulink中进行仿真优化。 受控电压源(Controlled Voltage Source)的受控端接一个查表模块Em Lookup,表示电池的电动势随着SOC的变化取不同的值。电压源的负极接一个电流表,电流表将电路中的电流信息传给SOC计算模块,由SOC计算模块得出当前时刻的电池SOC。 在该模型中有两个输入,分别是测试脉冲电流和测试电压,脉冲电流作为模型的输入,通过模型输出得到的仿真电压与测量电压做匹配。具体的图像如下所示:
5、电池模型精度验证
使用脉冲放电进行了参数估计之后,如何评价参数估计结果的优劣,就需要对模型参数进行实验验证。具体的做法先是对电池进行放电试验,记录电池的端电压数据,然后以同样的电流作为模型的输入,设置仿真时间与实验时间一致,获得模型的电压估计结果。 验证所建立的 Simscape 模型的准确性,主要是分析在相同的输入值下,所产 生的仿真输出结果与测量值相匹配情况。偏差在脉冲开始及瞬时电压突变阶段时较大,主要是由于此时负载电流在瞬间发生突变所导致,但最大偏差未超过 2%。在静置阶段偏差则趋于平稳,这是因为电池电压具有回弹特性,在停止放电瞬间,电池两端电压会缓慢上升,并趋于稳定。 总结,通过Simscape中搭建的恒压源、电容、电阻等物理模型,建立锂离子电池的仿真模型。通过电池充/放电试验获得电池的测试数据,采用非线性最小二乘法对电池测试数据拟合,完成模型中电池所需的性能参数辨识。通过实验验证,整体误差精度在2%以内,模型精度较高,能为整车分析提供基础。(备注:需要本期文章试验数据和模型的同学可以私信我) 下期给大家带来代温度系数的Simscape的锂电池模型的搭建方法。