基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分

运用simulink实现该论文的锂电池建模仿真

  • 1. 模型分解
    • 1.1 SOC计算模块
    • 1.2 RC参数计算模块
    • 1.3 电压计算模块
    • 1.4 电流生成器——由Singal Builder模块生成
  • 2. 建模细节详解
    • 2.1 SOC-OCV :Loop Table参数设定
    • 2.2 建立RC参数计算模块时的注意细节
  • 3.仿真结果

这篇“博客”讲的也是如何复现该论文的建模仿真部分,但是披露的细节比较少,这样导致复现出来的结果一直有偏差或者复现不出来,因此本文主要对在复现过程中的一些细节进行了再补充,希望对读者有帮助。

1. 模型分解

该模型整体由三部分构成——SOC计算模块、RC参数计算模块和电压计算模块,结构如图所示:基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第1张图片

1.1 SOC计算模块

基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第2张图片

1.2 RC参数计算模块

基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第3张图片

1.3 电压计算模块

基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第4张图片

1.4 电流生成器——由Singal Builder模块生成

基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第5张图片
电流信号模块设定电流为 1.35A 的脉冲电流,通过放电10s,静置 40s 进行模型仿真验证。需要注意的细节就是:图中红色圆点可以通过shift+鼠标右键选中添加。

2. 建模细节详解

2.1 SOC-OCV :Loop Table参数设定


这是论文中给的关于SOC-OCV的计算公式,可知OCV=EMF+Vh。
基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第6张图片
这是论文中关于不同SOC时测得的等效电压OCV数值,只需要将EMF和Vh加起来就可以。因为SOC是电容量百分比,因此,在设定Lookup Table模块中SOC参数时,应该这样设定:[0 0.1 0.2 … 0.9 1 ]放在Breakpoints那一栏。具体如图所示。
基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第7张图片
注:在设定Lookup Table的Breakpoints数值参数时,一定要按照从小到大顺序放置,Table Data中的数值参数跟着这个顺序依次放置。

2.2 建立RC参数计算模块时的注意细节

在这个模块中,需要设定5个Lookup Table的参数。我们先看看论文中关于这个部分是如何讲解的。
基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第8张图片
1).这里是关于不同SOC点处等效阻抗参数辨识结果,其中R0=(Rd+Rc)/2;
(注释:这里欧姆电阻计算有问题,文中Rd指的是放电内阻,Rc指的是充电内阻,因此电池内阻和SOC拟合,这里应该是求两者的平均值。)
2).在Look Table的Breakpoints处放置的是SOC点:[0.1 0.2 … 0.8 0.9];
3).有电阻单位是毫欧姆,因此需要将单位进行换算到欧姆,可以加一个增益,增益参数设定为1/1000。

3.仿真结果

基于 Matlab/simulink的锂电池建模与仿真——复现论文《基于二阶EKF的锂离子电池SOC估计的建模与仿真》的仿真部分_第9张图片
这是我复现的仿真结果。然后具体每个模块是怎么搭建的,大家可以根据论文中的相关公式自己一步一步推一遍。整体来说,只要电路模型建立出来以后,将每个部分单独抽取出来进行Simulink仿真建模难度不大,可能就是一些细节地方需要注意一点,比如单位换算和look up table的参数设定,R0和Rd、Rc之间的关系,以及OCV和EMF、Vh之间的关系。

你可能感兴趣的:(锂电池建模与仿真,电池管理系统BMS,matlab,simulink)