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

Simulink 的电池建模与仿真合集 (三)等效电路

2022-10-28 15:14| 发布者: MsM18| 查看: 404| 评论: 0|原作者: 柚籽

摘要: 有了实验数据,参数怎么标定呢?标定精度能满足要求吗?可以怎么自定义呢?如何在模型里添加温度的影响?如何在模型里考虑老化的影响?如何方便的自定义等效电路模型?从电芯如何到到模组? ...
  • 问题是有了实验数据,参数怎么标定呢?
  • 标定精度能满足要求吗?可以怎么自定义呢?
  • 如何在模型里添加温度的影响
  • 如何在模型里考虑老化的影响
  • 如何方便的自定义等效电路模型
  • 从电芯如何到到模组

1. 典型的电池模型结构

1.1 等效电路形态
在脉冲放电(充电)电流下,电池的开路电压特性曲线,如下。这也是目前讨论电池模型的时候,常会拎出来的示意图。

基于此,RC 等效电路模型是目前比较常见的电池数学模型。
从电芯到电池包,直接如右图串并联起来即可,或使用 Simscape Language 的方式定义的模组模块。下图左侧的电池包模型可参考。

Simulink/Simscape 是个开放的建模平台,可以自定义自己的等效电路结构。
  • 比如,是否考虑自放电模型;
  • 考虑几阶RC;
  • 是否考虑温度;
  • 特征参数考虑哪些影响因子,常数?根据SOC查表?根据SOC和温度查表?
实现这些等效电路模型很容易,但是要用实验数据标定里面的参数则不容易。
  • 需要设计什么样的实验?采集哪些信号?采样率有要求吗?
  • 有了实验数据之后,如何把参数标定出来?
  • 这个后面有机会再专门聊一下。
我还是那种看法,电池模型并不是越细节越复杂越好,取决于要用这个电池模型来做什么。

1.2 Simscape 的库模块
下图是 Simscape 等效电路模型的基本形态:

在 MathWorks 提供的模型库里有不同复杂度的版本,可以直接用了。比如这个:Simscape Electrical 模型库:等效电路模块


1.3 内置电池数据库
新版可以直接从模块上选择电池型号,就是他们把这些电池背后的参数给整出来,变成了数据库。你通过App上选择不同的电池,就是调用了不同的电池参数。


2. Em 开路电压
也就是下面这个部分:

2.1 SOC 和外电压的关系
这是一张不同温度下的放电曲线(非常缓慢放电大概是为了减少动态影响):
  • 从图上可以看到:电池的开路电压随着持续放电逐渐减低
  • 温度对开电路电压的影响:什么时候电池的电压会出现突然下降。相对来说,温度越低,越早放不出电来。

MacMaster University 实验报告
放电倍率C说明:1小时把电放完所需要的电流。
  1. 假如电池容量是 3Ah,那么1C放电就是3A;
  2. 加入0.05C放电,那么放完需要20小时;
2.2 模型 SOC 计 算
所以可以看到外电压是和SOC相关的。
电池模型计算 SOC 直接通过电流真值进行积分。如果不考虑老化,电池容量和漏电阻都为常数。


2.3 查表法计算外电压
建立 SOC开路电压的查表关系,是常见的建模方式。
  • V0(SOC),常见;(这里的V0表示开路电压)
  • V0(SOC,T)。
选择对应的选项就可以了:


3. R0

普遍认为,电池内阻和SOC、温度、以及充放电倍率相关。(备注:以下数据只表示实验使用的电池)

3.1 R vs SOC
从下图可以看到:
  • 电池的内阻随着 SOC 先下降后升高
  • 温度越低内阻越高,但是在25-40适温区间差别不是很明显;

MacMaster University 实验报告

3.2 R vs 温度
上图的 50% SOC 处,剖看电阻和温度的关系。温度越高,内阻越低。

MacMaster University 实验报告

3.3 R vs 放电倍率
放电倍率越低,内阻越高,尤其是电池低温的时候。电池温度升高,这种由于放电倍率引起的差异就变小了,不过这里只有10degC的数据。

HPPC Resistance VS Temperatures at different C-Rata
但实际上随着电池温度的增加,放电倍率的影响显得没有这么大了。到10 degC 以上,放电倍率对内阻几乎不影响。


3.4 查表
所以,电池等效内阻也常见这几种模型:
  • 常数;
  • R0(SOC);
  • R0(SOC,T);
  • R0(SOC,T,I);
  • 在 Simscape 现有模块里提供了前三种,对于电流则只区分充和放电场景:Current directionality


4. 动态环节tao
动态环节其实就是这里的等效RC串联的个数,模型本身可以选择1·5阶,通常是1~3个之间。

RC参数和刚刚的R0类似,大多用 f(SOC) 或者 f(SOC,T) 的方式进行查表。


5. 电池老化
在 Simscape 模型里,提供了两种老化模型,仅供参考。


5.1 电池循环老化
基于充放电循环,电芯的开路电压,电量以及R(0,1,2)老化。按照惯例,要么根据理论值,要么查表法,下图是理论模型:

开路电压使用了一个线性老化模型。

电量和内阻均使用了非线性老化模型:

下图是查表:


5.2 日历老化
日历老化就是,电池即使不用,它也会衰弱。同样也是查表法和解析法。略。

6. 电芯热模型
将 cell 看做质点
  • –电池的发热取决于等效电路中所有的欧姆损失
  • –不包括电芯散热模型,需要手动搭建电芯散热模型

可见,如果有自定义的发热计算公式,也可以基于这个模型来改:https://www.mathworks.com/help/releases/R2021b/physmod/simscape/ug/lithium-battery-cell-two-rc-branch-equivalent-circuit.html

电芯冷却可以以查表的方式表达冷却效率,也可以物理建模的方式搭建冷却水路模型。


7. 从电芯到模组
如果不考虑电芯一致性,直接乘以增益就行了。电池容量和外电压分别用并串联数放大。
注释:因为有人问我它的版本,所以在此更新一下,这是R2022a提供的内置案例 ssc_auto_ev,它只是下面这张图代表的模型。我把它导成了20b版本的,不过因为有些函数新版MATLAB才有,也懒得去继续修正了。所以这个模型仅仅用于查看模型结构,不用于仿真:https://github.com/MATLABCoder/EV_demo_GitHub.git,里面的文件夹ssc_auto_ev_git
查看后,如果是你需要的模型,再去安装新版本。

ssc_auto_ev

ssc_auto_ev
如果要考虑电芯不一致性,则需要把电芯网络模型体现出来。
  • 包括电芯之间的传热以及电芯参数的差异;

Battery_Model

passiveBalancing
另外,还有基于 Simscape Language 的模组模型,这个以后再专门介绍。


内容太多了,先这样,下次再补。

其它
SOC和V的关系,Simulink/Simscape 也提供了经验公式的模块。

预定义的 V(SOC)曲线模型
当然,有时候手上没有那么多数据,只有一些基本参数怎么办呢?
  • 办法一,就是直接从 App 上选择一款接近的电池型号。
  • 办法二,就是一条经验数据来表示 V和SOC的关系
下面这个方程就是 Simscape 使用的经验方程。


经验曲线
下面这个是原来的 SymPowersystem 电池模块使用的经验曲线:模型链接

模型中需要的参数都通过数据搜手册得到。
  • 左侧是旧貌,右侧是新颜;
  • 同一个模块;

参考
电池额定参数:

电池型号
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

最新评论

引用 jsfhfu 2022-11-16 22:01
good
引用 sdyht 2022-11-7 17:37
是这样的吧,MATLAB

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

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

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

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

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

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

Simulink 的电池建模与仿真合集 (三)等效电路

有了实验数据,参数怎么标定呢?标定精度能满足要求吗?可以怎么自定义呢?如何在模型里添加温度的影响?如何在模型里考虑老化的影响?如何方便的自定义等效电路模型?从电芯如何到到模组? ...

Simulink 的电池建模与仿真合集 (三)等效电路

有了实验数据,参数怎么标定呢?标定精度能满足要求吗?可以怎么自定义呢?如何在模型里添加温度的影响?如何在模型里考虑老化的影响?如何方便的自定义等效电路模型?从电芯如何到到模组? ...

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

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

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

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

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

返回顶部