首页/文章/ 详情

MATLAB不宣传这个你糊涂啊||Simulink如何识别电池等效电路参数

3小时前浏览2

电池等效模型

电池等效电路模型广泛应用于电池功率预测、发热量计算等,另外可以耦合电池老化模型、电池热阻网络模型等实现控制系统仿真、电池延寿和热管理策略优化等等。

下图为典型的等效电路模型架构,该电路包含电压源Em(    ),串联欧姆电阻    ,加上一个或多个RC并联。

通用等效电路模型  

由于电池的非线性特性,主要跟温度和SOC强相关,所以电路的参数往往采用查表的方式来实现,数据来源就是各SOC点的脉冲放电和充电电流下的电压特性。

典型10%SOC间隔脉冲曲线  

下图的Em就是当前SOC下的    ,    的电压降可以快速的计算出    ,比较麻烦的是RC瞬态电压变化段,需要自动化工具进行参数拟合。

单脉冲电压曲线  

Matlab电池参数识别

整个满电到低SOC的放电过程一般包含多段脉冲电压,那么算上充电方向的,考虑不同温度的,更甚至于考虑不同倍率的电压特性,海量的数据处理起来头都大了,直到我在sumulink里发现了下面这俩个神器(在simulink单元库里搜索network battery)。 其中一个就是电池等效电路模型,可以自由定义RC阶数,最高5阶。image

今天重点是旁边的等效电路识别工具,结合matlab的Parameter Estimator的app就可以很方面进行参数识别了。

等效电路识别元件界面  

首先搭建下参数识别的模型,需求的参数是以时间序列的电流与电压数据,给等效电路电流计算相应的电压,同时导入测试电压用于拟合与对比。

image  

   、    和        的维度与SOC保持一致,SOC断点与测试的脉冲SOC保持一致就可以了,至于数列的定义输入之类的在matlab里真是太方便了,毕竟是数据处理的天花板。

文本形式定义初始参数  

然后在matlab界面用spe('modelname')调用Parameter Estimator工具,建立一个新的exp,选好仿真与测试曲线,然后选取需要拟合的参数就可以开始拟合了。

设置需要优化的参数  

辨识结果探讨

在参数识别的时候matlab会自动替代原先参数,并且plot电压仿真结果,以及一些参数值的变化,等达成容差要求后会自动停止,若是觉得电压精度符合要求的话,电池模型的新参数就可以直接用于仿真计算了。

参数辨识过程  

等效电路参数识别的逻辑是先识别OCV,其次是欧姆内阻    ,只要前两者能很好的匹配,RC电路精度一般不会太差。OCV与    本身是可以手算的,所以也可以只识别RC段,2阶若是精度不高,可以用3阶RC尝试下。如下图显示,某些倍率下3阶RC精度能提高10mV。

通过调整RC阶段改善精度  

通过调整SOC断点,OCV和    等,然后让matlab不停地优化参数结果,高频率采样数据可以匹配出非常完美的RC电路(<2mV)。

高精度参数识别  

结束语

最后总结下Matlab的参数识别工具的几个好用的地方:

  • 从数据导入到参数优化与验证,一体化解决了电池等效电路参数复杂的难题;
  • 识别过程中的自定义程度比较高,断点、阶数和想优化的参数都可自由选择与定义;
  • 生成的参数模型可无缝对接simulink模型,直接用于物理模型仿真或者控制策略的优化等等。

来源:韩工的酱油台
非线性电路系统仿真通用MATLABUMSimulink参数优化控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-24
最近编辑:3小时前
电工韩
硕士 签名征集中
获赞 29粉丝 69文章 31课程 0
点赞
收藏
作者推荐

Star-ccm+: 万物皆可控-场函数应用

场函数(field function)Star-CCM+是一款广泛应用于工程模拟的计算流体动力学(CFD)软件,其中场函数(field function)是该软件中非常强大的一个辅助工具。场函数的基本功能是计算场量可视化,指定边界和区域条件,或者定义初始状态。 Star-ccm+提供了系统已定义好的场函数,当激活物理模型时,相应的场函数就会自动添加。比如当有流体物理体,流动等相关场量就会自动激活,比如压力。系统预设的场函数一般都在使用,直接用报告的形式调用了而已。 那么,为什么说场函数“万物皆可控”呢?场函数支持用户自定义表达式,通过数学表达式来定义和控制仿真过程中的物理场,如流场、温度场、压力场等。不仅仅能通过逻辑算法实现控制策略,连同后处理结果也可用通过场函数定义来显示想要的结果。今天我们就来聊聊场函数在电池热仿真方面的应用,做个抛砖引玉。 场景一:参数化定义一个电池包的仿真包含的材料比较多,若想仿真不同温度的case,逐个去改连续体的初始温度比较费时间,而且容易遗漏,只要创建个自定义标量的场函数用来表示起始温度就可以,有点类似amesim全局参数的意思,只要在场函数里更改就可以了,其他的参数,比如流量、进口水温等也可以用此方法定义,方便快捷。 场景二:表格引用另一个比较重要的应用就是表格数据的引用。在电池热仿真中,由于发热量会随温度和SOC等因素变化而变化,通过场函数引用一维或者二维表格数据来定义发热量也是常用的方法,类似的,环境温度和进出口等边界条件也可以用场函数来定义。 场景三:监控与控制策略场函数可以引用报告进行监控,结合逻辑判断语句进行简单的控制策略实现。比如常见的根据电池最大温度判断冷却开启,以及进出口水温的控制;根据SOC、物理时间决定仿真时长;根据收敛残差等条件做动态物理时间仿真,提高效率等。 总结Star_ccm+的场函数的功能远不止上面提到的这些,据官方文档介绍,场函数种类就有五种,再结合算术和逻辑运算符,能实现的功能只有想不到,没有做不到。总体来说,就是通过合适的控制语言,从初始状态、到边界条件,甚至到后处理结果做到“可变、可控”。 欢迎加微 信交流,共同进步。来源:韩工的酱油台

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈