MATLAB中文论坛 文章 技术专栏 物理建模 查看内容

Simulink 的电池建模与仿真模型合集(一)

2022-6-30 15:05| 发布者: MsM18| 查看: 2137| 评论: 1|原作者: 柚籽

摘要: 这个系列主要讨论基于Simulink搭建电池模型的各种方法。如果用到具体的模型,会在对应的章节提供下载链接。
这个系列是想跟大家讨论下基于Simulink搭建电池模型的各种方法。如果用到具体的模型,会在对应的章节提供下载链接。

建模方法
建模方法或基于物理原理,或基于数据,或有了原理方程再用数据调参。不管你是用那种建模方法,总有款工具箱可以帮到你,下面是一张 MathWorks 的PPT截图。

电池建模也是如此,它的基础模型:
或者基于原理,比如等效电路的表达方式:

等效电路模型示意图
比如经验方程的表达方式:

或者套上卡尔曼滤波

基于数据的黑盒模型,
比如神经网络:

基于神经网络的SOC估算
比如FNN:

更夸张的,可能像燃料电池那样,写出它的电化学过程。
燃料电池用这种方式的,或基于Simulink,或基于Simscape,参见这个系列:基于 Simscape/Simulink 的燃料电池系统建模与仿真(一)

各种建模方法,都有不同的人在实践。

电池模型概述
简单说就是利用各种方法来表达电池的电特性
当然,还有热特性,因为热不仅影响电,还涉及到安全。
我画了张简图,来大体概括之前见到过的电池模型所描述的内容,欢迎探讨。

各种电池模型或者方法,都或多-或少-或详细-或简化的方式描述了上述的内容。电池模型也不是越细节越好,符合需要的就是最好的,毕竟搞太复杂了,说不定就HIL不起来了。
  • 相对来说基于等效电路/方程的方式相对传统和应用广泛,基于神经网络或者深度学习的方式比较“新潮”。
  • SOC一般会用相对传统的方式,SOH在探索中用新潮方式的居多。不过我个人倒不认为SOH用基于数据训练的方式是最有效的(个人意见)。
首先,电芯基础模型是基础,比如常见的等效电路模型,这时候,会有些特征参数,比如等效内阻、等效电容之类的就需要用实验数据给标定出来。
电池的老化,简单来说就是会影响到电池的参数,比如容量,内阻,不同的老化算法,就是不同的计算方法。而热,通常由等效直流内阻发热而来,它会使电池升温,从而影响电池的特征参数。
另外,从电芯到模组到电池包,你可以简单看作是电芯电路的串联和并联,但如果要考虑到模组带来的影响的话,
  • 热的方面实际上还需要计算电芯之间的传热,电芯和环境之间的传热;
  • 电的方面,考虑电芯的不一致性,这样才能验证电池均衡算法。
最后就是 Model Complexity 了,我是直接把电芯乘以串数和并数来表现电池包呢,还是把买一个电芯的模型体现在模型里,毕竟模组中心的电池温度肯定高于两侧的电芯温度。有没有折中的办法呢?

电池模型应用
电池管理系统

不同的行业,不同的产品定位,电池管理系统其实有不同的功能。比如一般的汽车电池管理系统要考虑电池冷却,而新出的iphone14 连冷却系统都没有(放不下实在放不下)。
有些产品定位下的BMS可能就只是个简单的电池监控器,在电池充放电过程中看看关键参数,比如放电电流、电压或者温度,做一些保护性的警告或者断开。小电驴大多如此,可能高级电驴的BMS会做的复杂一些。
而对于汽车BMS(纯电/混动)来说,电池管理系统的基本目标至少要:
  • 使电池能尽量满足车辆功率需求;
  • 保护电池不受破坏性使用;
  • 尽量延长电池的寿命;
  • 其它
所以一个合格的(纯电/混动)车辆BMS,至少要能进行:
  • SOC估算:BMS的很多控制都需要直到当前的电池状态,而SOC则是其中的一个重要信息,然而它并不能直接测量得到,需要通过各种计算得来;除了给BMS内部使用之外,纯电车也会以各种方式显示给驾驶员看。
  • SOH估算:电池和油箱不一样,它会越用越“不经用”,通常电池的老化有纷繁复杂的机理分析,但通常比较认可的后果一个是容量会衰退降低,另一个是内阻会增加;
  • 电池均衡控制:天下没有一模一样的树叶,天下也没有一模一样的电芯。由于电芯出厂的不一致性,再加上组装电路的不一致性,热环境的不一致性,会使得有些电池比较弱,而且会随着每一次充放电循环而越来越弱,最后导致某些电芯过早失效甚至更严重的后果(比如上新闻)。所以需要电池均衡控制,来尽量补偿弱的电池,延长电池寿命。
  • 充放电控制:最佳充电策略,以及在各种需求下进行放电。
  • 监控以及保护:防止电池各种状态超出正常工况范围是BMS的基本功能,否则很容易上新闻。首先保证电池在合理范围内工作(比如充放电、温度),然后是如果电池系统发生任何故障后如何处理。
  • 热管理(加热/冷却)
  • 和其它控制器通信以及数据记录:电池出场信息以及运行信息记录方便甩锅(划掉),方便后续评估电池的使用状态,现在也有传递到云端进行电池信息监控和评估健康状态。
  • 其它
设计、测试、验证不同的功能时,就会需要不同的电池模型

热管理/冷却
说到电池的热管理,那自然会涉及到冷却/加热控制。那为了验证算法,就需要有电池的热+冷却系统模型
为此,电池模型更关心的是电池总体的发热特性,至于模型输出电压波形抖动和实验数据吻合到%几的误差,此刻显得不这么重要。电池由于有热容,所以它的温度变化是个渐变的过程,通常不会出现瞬时波动,除非短路产生瞬间极大热量。
说到这里,其实BMS内通常会有一个用来估算SOC的电池模型。如果这个电池模型同时也能准确预估温度,那么它就能用来做电池的安全预警。即,在当前的电流需求以及冷却条件下,电池有一个合理的/可预测的温度上升趋势,如果此刻电池传感器温度超出了该工况下的合理阈值(范围/形态),那说明电池系统内出现了问题。这种预测,对于只有温度传感器反馈信号来说,是不够的。因为,比如同样是某个在安全范围内的高温值,夏天跑高速的时候,是正常的;但如果冬天在小区里找停车位,那显然不正常。当然这只是极端的例子。也许有其它的方式来判断电池温度的合理性。总之,这里的诊断下的电池不一定是立即“要死”了,而是“生病”了。
扯远了。此刻电池模型里就需要有冷却边界。
如果只是验证冷却控制逻辑而并非验证冷却水回路的设计和功耗,那么电池模型加上查表方式(入口流量/温度 vs 冷却系数)体现的冷却边界。

下面这个电池模型直接就提供了这样的接口,但需要做实验得到查表数据

那如果还需要搭建整个冷却水回路,就会用到 Simscape Fluids 库了。


电池保护测试
电池可能会有各种各样的问题,自己的问题,比如某些外界的问题,比如下面模型,通过 Fault 模块来模拟短路的场景。

比如这个模块就设置了,120s后短路失效故障被触发,故障持续时间为永远,触发后这个元件的电阻降为1e-4模拟短路。

然后测试120s短路故障出现后,控制有没有执行预期的动作。


下一节,讨论基于数据训练电池模型
发现再写就太多了。
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

发表评论

最新评论

引用 Dirk001 2022-9-3 11:45
感谢感谢
引用 hjn233 2022-8-28 08:53
学习到了,谢谢
引用 zany 2022-8-24 17:39
抓紧消化ing,谢谢分享
引用 海的早上 2022-8-17 09:38
学习很有帮助
引用 张了凡 2022-7-22 11:57
大牛学习了
引用 1293401250 2022-7-10 13:02
顶一下 顶一下 顶一下啊啊
引用 ctqctqq 2022-7-7 16:07
谢谢分享

查看全部评论(1)

基于 Simulink/Simscape 的动力总成建模与仿真 1

虚拟车辆,动力总成,Simulink,Simscape Driveline, SimDriveline,建模、仿真,无论怎么排列组合都好。这一个系列主要用物理建模的方式来搭。

Simulink 的电池建模与仿真模型合集(一)

这个系列主要讨论基于Simulink搭建电池模型的各种方法。如果用到具体的模型,会在对应的章节提供下载链接。

Simulink 的电池建模与仿真模型合集 (二)深度学习

如何用 Deep Learning 工具箱方便地实现我们设计好的深度学习网络,并利用数据进行模型训练,最后把训练好的网络模型集成到 Simulink 模型里去。

Simulink 的电池建模与仿真模型合集 (二)深度学习

如何用 Deep Learning 工具箱方便地实现我们设计好的深度学习网络,并利用数据进行模型训练,最后把训练好的网络模型集成到 Simulink 模型里去。

Simulink 的电池建模与仿真模型合集(一)

这个系列主要讨论基于Simulink搭建电池模型的各种方法。如果用到具体的模型,会在对应的章节提供下载链接。

基于 Simulink/Simscape 的动力总成建模与仿真 1

虚拟车辆,动力总成,Simulink,Simscape Driveline, SimDriveline,建模、仿真,无论怎么排列组合都好。这一个系列主要用物理建模的方式来搭。
关闭

站长推荐上一条 /5 下一条

返回顶部