电池SOC仿真系列-基于Simscape搭建的锂电池模型

基于 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、间歇充/放电试验

  步骤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、开路电压辨识结果

表1 OCV-SOC辨识结果表
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下的等效电路模型参数值,如下表所示。

表2 阻容系数-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版本)
电池SOC仿真系列-基于Simscape搭建的锂电池模型_第1张图片
  上图为Simscape环境下搭建的电池等效电路原理图,蓝色线连接的是物理模型元件,黑色连接的是Power System下的模块,这样有利于模型构造。本文需要建立一个精确的参数动态模型,根据输入、输出测试数据,在Simulink中进行仿真优化。
  受控电压源(Controlled Voltage Source)的受控端接一个查表模块Em Lookup,表示电池的电动势随着SOC的变化取不同的值。电压源的负极接一个电流表,电流表将电路中的电流信息传给SOC计算模块,由SOC计算模块得出当前时刻的电池SOC。
  在该模型中有两个输入,分别是测试脉冲电流和测试电压,脉冲电流作为模型的输入,通过模型输出得到的仿真电压与测量电压做匹配。具体的图像如下所示:
电池SOC仿真系列-基于Simscape搭建的锂电池模型_第2张图片

5、电池模型精度验证

  使用脉冲放电进行了参数估计之后,如何评价参数估计结果的优劣,就需要对模型参数进行实验验证。具体的做法先是对电池进行放电试验,记录电池的端电压数据,然后以同样的电流作为模型的输入,设置仿真时间与实验时间一致,获得模型的电压估计结果。
  验证所建立的 Simscape 模型的准确性,主要是分析在相同的输入值下,所产
生的仿真输出结果与测量值相匹配情况。偏差在脉冲开始及瞬时电压突变阶段时较大,主要是由于此时负载电流在瞬间发生突变所导致,但最大偏差未超过 2%。在静置阶段偏差则趋于平稳,这是因为电池电压具有回弹特性,在停止放电瞬间,电池两端电压会缓慢上升,并趋于稳定。
  总结,通过Simscape中搭建的恒压源、电容、电阻等物理模型,建立锂离子电池的仿真模型。通过电池充/放电试验获得电池的测试数据,采用非线性最小二乘法对电池测试数据拟合,完成模型中电池所需的性能参数辨识。通过实验验证,整体误差精度在2%以内,模型精度较高,能为整车分析提供基础。(备注:需要本期文章试验数据和模型的同学可以私信我)
  下期给大家带来代温度系数的Simscape的锂电池模型的搭建方法。

你可能感兴趣的:(Simulink,Simscape)