【Matlab】如何使用Simulink进行电池建模和SOC预估

                                                      “通过Simulink电池建模进行SOC预估,其实挺容易!” 

1 声明

  1. 本文只描述一般性电池建模方法,文中出现的电池相关数据来自一些论文或者外文文献,对数据的真实性不做任何保证。

  2. 本文参考了不少国内高校的硕士论文和外文文献,所以本篇文章只作为学术性交流,未经授权,禁止对本文的全部或者部分内容进行商业性的复制,修改,发行等。

  3. 科普性的知识,可以参看前面几期的推送:

    “为什么电池越来越不耐用了?”-- 浅谈BMS中的SOC与SOH等状态预估(一)

    “为什么电池越来越不耐用了?”-- 浅谈BMS中的SOC与SOH等状态预估(二)

    “为什么电池越来越不耐用了?”-- 浅谈BMS中的SOC与SOH等状态预估(三)

2 电池物理等效模型原理

有物理基础知识的童鞋们,如果有留意过电池充放电测试数据,随着电池充电、放电停止,然后静置若干时间,电池端电压呈现出来的特性是不是感觉很熟悉。如下图所示,是某电池从放电至静置过程中端电压的变化情况:

- A处开始放电

- C处放电停止,电压瞬间回弹至D点(类似流经电阻的电流突然消失带来的电压反弹),然后静置时电压慢慢继续回弹到E处(类似RC的充放电效应)

所以根据上述表现出的电阻,电容特性,我们可以将电池进行物理等效模拟,下文以二阶RC模型为例。实际上,除了下面提到的二阶模型,还有PNGV模型,一阶的Thevenin模型,以及其他基于这几种模型改进的物理模型。不过归根到底,绝大部分的电池物理模型都是电容,电阻,理想电压源进行各式组合而成。

如下图所示,令n为2,则得到一个二阶的RC模型。其中E表示电池的OCV,R0为欧姆内阻,RnCn表示电池极化情况,U表示实际我们能量测到的电池电压(端电压)。

3 开始进行参数识别

等效模型有了,那如何把里面的物理参数量化出来呢?别急,听我慢慢道来。

以放电参数为例。可以先将电池充满,静置足够长时间后,进行脉冲放电,例如以10% SOC为间距,通过测量电池由工作状态变为静置状态之间的端电压变化,得到若干组类似章节2中的图的测量数据。

- OCV:静置至电压不再变化,则得到OCV

- 根据C-D端电压变化,得到欧姆内阻

- 根据D-E端特性,求解两组RC(可以先用指数拟合,求出其中时间常数,再根据电容电压的响应求得C,然后反推并联的电阻阻值)

如此我们就可以得到不同SOC下的各个等效物理组件的参数。

同样的,通过脉冲充电测试也可以得到上图的参数。一般来说,温度相同的情况下,充放电的参数虽有差异,但是相比电池电流而言,差异引发的误差可以接受,在实际应用中可以选择其中一组进行电池建模。

4 Simulink中建模

回到此图(令n为2即为二阶)。

涉及到的物理组件都是可调的,可以使用到Simulink中simscape现成的一些模块:

OCV可以用Controlled Voltage Source(可控电压源) + Lookup Table(导入SOC-OCV表格)

类似的电阻、电容用可调组件 + Lookup Table。

控制电源使用Controlled Current Source。

AH积分使用Integrator和一些数学运算模块进行累计和转换。

涉及到Simscape和常规库原件的交互,使用PS-S和S-PS转换模块。

搭好后总体如下:

还有一些小Tips:

- 因为涉及到积分环节,所以可以将积分模块运行时间设定为定值或者总的solver设置为Fixed Step模式

- 相同或者同一类型信号可以使用同一个背景色,方便定位区分

- 同一信号可能在多处都使用到,为了布局明了,可以适当使用From和Goto模块

- 多个组件可以使用Create Sub-System功能封装为单独的模块,方便调用,以及后续创建自定义LIB模块,如下图

话不多说,来个脉冲充电测试一把:

- 第一栏为端电压的变化,是不是跟前面的图形很像

- 第二栏为SOC的变化(嗯?怎么充电SOC反而减小)

- 第三栏为充电电流

仔细检查一下,发现红框处应该替换为加法(此处应以充电方向为正电流)

5 进一步思考与说明

  1. 使用纯数学表达式建模?

    为了更加直观,此文选用了物理组件进行建模,实际上也可以使用章节3的数学表达式进行建模,仿真速度应该会比物理模型快得多。

  2. 温度的影响?

    为了得到更准确的模型,应实际测量不同温度下的数据,然后用二维查表做进一步优化。

  3. 充放电滞回效应?

    许多论文其实并没有考虑这一影响,真实使用场景中,由于随机性充放电方向的切换,滞回效应会大大影响模型精度。有兴趣的可以深究一下。

  4. 测量误差、噪声的影响?

    实际运用模型进行预估SOC时,一般多结合EKF算法做进一步优化,详细的可以搜索一下相关文献,资料挺多的。

参考文献:

  1.  《混合动力汽车电池模型辨识及估计方法研究》

  2. 《电动汽车用磷酸铁锂电池建模与 SOC 估算研究》

  3. 《电动汽车动力电池模型参数在线辨识及 SOC 估计》

                                                                        作者:跨界程序员Vincent

  • 47
    点赞
  • 343
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跨界程序猿-Vincent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值