中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 572查看
  • 0回复

[Simulink] 真·simulink车辆仿真基础教程-跑多远我说的算:电池模块

[复制链接]


该用户从未签到

发表于 2-4-2024 08:24:54 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


大家好,我是王浮生不怕生。这里是“真·Simulink车辆仿真教程”第七节,本节我们介绍电池模块。

补充知识,电池SOC-OCV曲线:通常指电池SOC与开路电压OCV对应的曲线。SOC-OCV曲线在电池建模时通常用于系统电压的计算。由于电池的滞回特性,OCV曲线可能不止一条。当然,本系列的模型里为了简化建模用一条代替就好了。

好了,我们回到建模。

电池在车辆系统中是车辆的能量源,为电机及用电设备提供能量。在模型中,电池模块扮演的还是能量源的角色吗?

不是。



电池模块最主要的功能是计算车辆仿真过程中的能耗,用于终止仿真的控制;其次是用于功率管理,对驱动系统输出功率进行限制。

本系列模型我们不考虑功率管理功能。

所以最最最简单的电池模块:你可以把功率积分求能耗,当其大于某一值时停止仿真,然后去读续航里程就行了。

但是我们能这样做吗,你要是这样做了,你导师就该把你做了。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w3.jpg

我们在做续航仿真时,最常用的是基于SOC做仿真终止控制。

SOC是怎么算的?电流积分。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w4.jpg

电流怎么算?功率/电压

电压呢?SOC-OCV曲线查表。

所以它们之间呈以下关系。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w5.jpg

诶?又是一个完美的代数环。

模型中我们不考虑功率管理,只做基础的电池能量的计算及管理,那么电池就可以简化成单输入的模块。

输入:

【1】电功率

输出:无

下面开始建模吧。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w6.jpg

变量定义

在Data脚本中建立以下变量并运行,将变量写入工作区。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w7.jpg

这里在建立SOC-OCV曲线时将其线性化了,SOC=0和SOC=100时分别对应单体最大及最小电压。建模时优先使用SOC-OCV曲线,在没有曲线时可以这样简化。

建立完模型需求的变量后,就可以根据上述关系图建立simulink模型了。功率是输入信号,我们从电压计算的模型开始。



电压计算

向模型中添加一个查表模块,表数据与查表数据分别分别为OCV及SOC。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w9.jpg

查表得到电压后,我们可以直接用“功率÷电压”计算电流吗?不能。

我们通过查表得到的数据是开路电压,而这个功率是负载功率,所以我们还需要求出端电压。

端电压=开路电压-内阻压降

内阻压降=内阻×电流

所以,端电压计算模型建立如下:

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w10.jpg

这下用功率除以这个端电压总可以了吧。

可以了,你可以准备从沟里往外爬了。

这里求出的是单体的端电压,还要计算出电池系统的端电压。

系统端电压=单体端电压×串数
电压计算模块最终建立的模型如下图所示:
真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w11.jpg



电流计算

求出系统端电压后,就可以用功率÷电压计算电流了。

老王:用上面公式计算完电流后,如下图直接反馈用于求内阻压降可不可以?

铁子李:可以?不可以?到底可不可以!

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w13.jpg

当然不可以,这里是系统电流,要先计算为流经单体的电流。

单体电流=系统电流/并数

此外还有代数环啊铁子,赶紧复习下什么是代数环:你女朋友不理你的原因是你不理她,你不理她的原因是她不理你,这就是个代数环。

所以,电流计算应该是这样的:

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w14.jpg



SOC估算

计算完电流后,就可以用安时积分法计算SOC了,再把公式搬过来。



这个公式的含义就是,SOC=初始SOC+SOC变化量。

在求SOC变化量的时候需要特别注意两点:

【1】电流积分后得到的是库伦容量,这里的Cap是安时容量,注意单位的转换。

【2】我们驱动功率计算的是正值,车辆驱动时,是个耗能状态,所以要对其取负。

SOC计算模块建模如下,计算完成后,添加一个限制模块,保证计算值不要溢出0~1的范围。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w17.jpg

最后,将计算的SOC单位转换成百分比,连接至SOC-OCV查表模块即可。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w18.jpg



仿真停止控制

我们前面提到,我们建立电池模型的主要目的是基于SOC做仿真终止控制,我们计算出SOC,万丈高楼就剩最后一片瓦了。

铁子李:(撇嘴)现在盖楼哪有用瓦的。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w20.jpg

向模型中分别添加一个Compare To Constant模块和Stop Simulation模块。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w21.jpg

Compare To Constant模块的运算符设为<=,常量值设为变量SOCMin。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w22.jpg

然后将其连接至计算出的SOC即可。

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w23.jpg

最终完成的模型如下图所示:

真·simulink车辆仿真基础教程-跑多远我说的算:电池模块w24.jpg

好了,电池模型做完了,有不理解的你们先试着理解,我要去睡觉了,因为梦里全是“在看”!!


快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-12-2024 22:30 , Processed in 0.425178 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.