电池SOC仿真系列-基于Simscape搭建的锂电池模型
基于Simscape搭建的锂电池模型
1、引言
为了保证电池储能系统安全、可靠运行,电池管理系统需对储能系统中锂电池的多种状态做出估计和预测,如荷电状态(State of Charge,SOC)、健康状态、内阻等,而实现这些功能的前提是建立精确、可靠的锂电池模型,同时,也是电池管理系统亟待解决的技术关键。动力锂电池的非线性特性使得许多方法难以得到准确的估计结果。因此,必须建立一个合适的数学模型来表征电池的特性。本期就给大家讲解一下如何通过Simscape建立精准的电池模型。
锂电池建模的方法有很多,比如:Simulink模型、Simscape模型等。本文采用Simscape组件搭建锂电池模型。Matlab/Simscape语言支持定义物理建模组件、域和库,提供了一个自然、高效的方法来构建物理系统的数学模型,可以通过物理连接来创建多域原理图,其中的Simscape组件就可以直接代表物理原件,模型组件之间的连线直接对应物理中的实际连接,进行能量传递。除此之外,Simscape还提供有Parameter Estimation Toolbox,可以用于建立模型后,在相同输入下将仿真输出匹配实验数据以估计模型中的参数。该模型在不同充放电情况下的运行情况可得出电池单体的电流、电压、温度及SOC随时间变化的数据。该模型可应用到电池管理系统或电动汽车的整车模型中,可缩短研发周期及成本。
常用的等效电路模型有Rint模型、Thevenin模型、PNGV模型和RC模型等。通过综合比较各个模型的优缺点,本文选择Simscape建模搭建二阶RC等效电路模型。
2、电池测试试验
选择好合适的电池模型以后,接下来就需要进行电池充放电试验,对电池内部的一些参数进行辨识。在电池充放电的过程中,其内部参数会随着荷电状态的变化而动态变化,这是造成仿真结果与实际值之间的偏差的主要因素。由于内部参数无法直接通过测量获得,因此对电池进行充放电试验,利用试验测得的电压数据对这些参数进行辨识,从而减少电池参数动态变化所造成的估计误差。
实验选用三元锂电池,选用Arbin电池充放电试验台对三元锂电池进行间歇充/放电试验及混合动力脉冲能力特性试验(hybrid pulse power characteristic,HPPC),试验步骤如下所示。
2.1、间歇充/放电试验
步骤1:将电池放空/充满;
步骤2:以1C放电倍率放电6min,若6min内电池电压低于3.0V/高于4.2V,进入步骤4,否则进入步骤3;
步骤3:静置1h,之后回到步骤2;
步骤4:以0.02C小电流将电池放空/充满。
2.2、HPPC试验
步骤1:在室温条件下,以1C的充电电流充满电池,此时SOC为100%,静置1h;
步骤2:以1C的放电电流放电6 min,静置1h;
步骤3:以1C脉冲电流放电10s,静置40s;充电10s,静置40s(完成1次HPPC试验);
步骤4:重复步骤2、3进行循环试验直至电池的SOC=0%。
3、电池参数辨识
通过间歇充/放电试验和HPPC试验的结果就可以对电池进行参数辨识了,具体的方法知网里面很多文献都提及了,这里就不赘述了。
3.1、开路电压辨识结果
表1 OCV-SOC辨识结果表
SOC/% | OCV/V |
---|---|
0 | 3.23 |
10 | 3.66 |
20 | 3.74 |
30 | 3.81 |
40 | 3.83 |
50 | 3.86 |
60 | 3.91 |
70 | 3.94 |
80 | 4.06 |
90 | 4.11 |
100 | 4.20 |
这样一来,开路电压的结果就辨识出来了。接下来利用Matlab拟合工具箱对表1中的辨识结果进行n阶多项式拟合。得到不同时刻SOC与开路电压OCV之间的关系。
3.2、电阻电容辨识结果
根据基尔霍夫定律,可以得到二阶RC模型中数学关系式:
式中,R0为电池欧姆内阻,R1和C1是极化电阻和电容,R2和C2是浓差电阻和电容,U1、U2分别为R1、R2的端电压。
由于电池在静置时电压变化主要是由欧姆电阻所导致,因此根据放电瞬间的电压变化值,以及充电结束瞬间的电压变化值,可求得欧姆电阻的大小。
而在静置过程中,由于电池内部极化电阻与极化电容的影响,电压会出现回弹特性,其表达式如下所示:
于是,根据脉冲放电试验所得的数据,将每个SOC点处的脉冲功率特性测试放电数据导入Matlab拟合工具箱中,采用Custom Equations自定义二阶指数函数拟合,将拟合结果代入上两式中进行计算,可辨识得到不同SOC下的等效电路模型参数值,如下表所示。
表2 阻容系数-SOC辨识结果表
SOC/% | R0/mΩ | R1/mΩ | R2/mΩ | C1/×10210^2102F | C2/×10310^3103F |
---|---|---|---|---|---|
10 | 8.52 | 2.82 | 8.16 | 0.70 | 0.58 |
20 | 7.82 | 2.75 | 7.81 | 1.03 | 1.88 |
30 | 7.26 | 2.70 | 7.19 | 1.39 | 2.40 |
40 | 6.64 | 2.28 | 6.82 | 3.95 | 1.98 |
50 | 6.14 | 2.12 | 6.12 | 4.01 | 1.84 |
60 | 5.93 | 2.06 | 5.50 | 3.84 | 2.00 |
70 | 5.97 | 2.18 | 5.32 | 4.97 | 2.84 |
80 | 6.19 | 2.47 | 6.58 | 2.44 | 1.72 |
90 | 6.14 | 2.58 | 7.17 | 1.77 | 1.55 |
由表2的参数辨识结果可知,当电池的SOC减小的过程中,电阻R0、R1及R2会有所波动,但波动不是特别明显。而电容C1及C2的值则先会明显升高,当SOC减小至0.4左右时出现峰值,随后再下降,这主要是由于在不同SOC下,电池的电学极化及浓差极化等极化效应强度发生变化所导致。(注意:大家进行参数辨识的时候需要留意阻容系数的单位!)
4、Simscape电池模型的建立
确定锂电池的等效电路模型后,利用Matlab中的Simscape模块对二阶RC等效电路模型进行搭建。Simscape模块描述的是系统的物理结构,各组件代表物理元件。由于Uoc、R0、R1、R2、C1、C2 这6个等效电路组件,除了需要具有相应的物理特性外,参数还会随着电流充放电过程不断变化,因此,基于Simscape所搭建的二阶RC等效电路模型如下图所示。(本文使用的是Matlab2019a版本)
上图为Simscape环境下搭建的电池等效电路原理图,蓝色线连接的是物理模型元件,黑色连接的是Power System下的模块,这样有利于模型构造。本文需要建立一个精确的参数动态模型,根据输入、输出测试数据,在Simulink中进行仿真优化。
受控电压源(Controlled Voltage Source)的受控端接一个查表模块Em Lookup,表示电池的电动势随着SOC的变化取不同的值。电压源的负极接一个电流表,电流表将电路中的电流信息传给SOC计算模块,由SOC计算模块得出当前时刻的电池SOC。
在该模型中有两个输入,分别是测试脉冲电流和测试电压,脉冲电流作为模型的输入,通过模型输出得到的仿真电压与测量电压做匹配。具体的图像如下所示:
5、电池模型精度验证
使用脉冲放电进行了参数估计之后,如何评价参数估计结果的优劣,就需要对模型参数进行实验验证。具体的做法先是对电池进行放电试验,记录电池的端电压数据,然后以同样的电流作为模型的输入,设置仿真时间与实验时间一致,获得模型的电压估计结果。
验证所建立的 Simscape 模型的准确性,主要是分析在相同的输入值下,所产
生的仿真输出结果与测量值相匹配情况。偏差在脉冲开始及瞬时电压突变阶段时较大,主要是由于此时负载电流在瞬间发生突变所导致,但最大偏差未超过 2%。在静置阶段偏差则趋于平稳,这是因为电池电压具有回弹特性,在停止放电瞬间,电池两端电压会缓慢上升,并趋于稳定。
总结,通过Simscape中搭建的恒压源、电容、电阻等物理模型,建立锂离子电池的仿真模型。通过电池充/放电试验获得电池的测试数据,采用非线性最小二乘法对电池测试数据拟合,完成模型中电池所需的性能参数辨识。通过实验验证,整体误差精度在2%以内,模型精度较高,能为整车分析提供基础。(备注:需要本期文章试验数据和模型的同学可以私信我)
下期给大家带来代温度系数的Simscape的锂电池模型的搭建方法。
电池SOC仿真系列-基于Simscape搭建的锂电池模型相关推荐
- ## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)***
## ***电池SOC仿真系列-基于扩展卡尔曼(EKF)算法的SOC估计(内含代码等资料)*** ## 1 研究背景 电池的荷电状态(SOC)代表的是电池当前的剩余容量,数值定义是电池剩余电量与电池额 ...
- 电池SOC仿真系列-基于UKF算法的电池SOC估算研究
基于UKF算法的电池SOC估算 1.UKF算法 无迹卡尔曼滤波是将数据变化(UT变换)与卡尔曼滤波结合起来的一种算法,通过UT变换将一个状态点转换为多个状态点,依据一定的权重传递给后面观测值,再根 ...
- 电池SOC仿真系列-基于遗忘因子的最小二乘法电池参数辨识(二阶RC)
基于遗忘因子的最小二乘法电池参数辨识 最小二乘法是系统辨识中最常用的一种估算方法.为了克服最小二乘法存在"数据饱和"的问题,我们通常采用含有遗忘因子的递推最小二乘法(Forge ...
- 风力发电仿真系列-基于Simulink搭建的DFIG仿真模型
基于Simulink搭建的DFIG仿真模型 双馈式感应发电机(DFIG)是在同步电机和异步电机的基础上发展起来的一种新型发电机.DFIG的主要优点是其足够宽的速度范围,能使组合式风力涡轮机以最佳的 ...
- 风力发电仿真系列-基于Simulink搭建的双馈风力发电(DFIG)模型
基于Simulink搭建的双馈风力发电(DFIG)模型 1.双馈风力发电机 双馈异步风力发电机(DFIG)是一种绕线式感应发电机,是变速恒频风力发电机组的核心部分.DFIG主要由两大部分组成,分别 ...
- 电动SOC仿真系列-考虑电池老化影响的电池UKF-SOC估算研究
考虑电池老化影响的电池UKF-SOC估算研究(无迹卡尔曼滤波算法) 传统的电池模型往往将电池容量设定为定值.然后在实际情况中,电池的容量会随着电池循环充放电次数的增加而减少.因此有必要在建立电池模 ...
- 电动汽车仿真系列-基于Simulink的并联混合动力汽车建模分析
基于Simulink的并联混合动力汽车建模分析 本期介绍一种基于Simulink的并联混合动力汽车的建模方法.并联混合动力汽车的工作模式可以分为六种.纯电动模式.纯发动机模式.混合驱动模式.充电模 ...
- 电机仿真系列-基于最小二乘法的永磁同步电机参数辨识
基于最小二乘法的永磁同步电机参数辨识 永磁同步电机具有体积小.转动惯量低.结构简单等优点,被广泛应用于控制系统中.然而在实际应用过程中,控制系统会受到高温.负载等外界因素的影响,永磁同步电机的电感 ...
- 电机仿真系列-基于LabVIEW的电机测试系统研究
基于LabVIEW的电机测试系统研究 本设计基于LabVIEW设计一个直流有刷电机PID调试及控制助手,实现PID参数调节及电机转速及位置的控制.系统下位机采用STM32F103作为直流有刷电机控 ...
- 【周易AIPU 仿真】基于MobileNetV2的水果分类模型在R329开发板上的部署
首发极术社区 如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群. 流程一览 1.配置docker开发环境 2.训练水果分类模型 3.准备校正数据集 4.准备输入样本 5.修改目录内容 ...
最新文章
- 旷视MegEngine数据加载与处理
- 前端的各种各样的面试题大全
- android 自定义搜索框edittext,Android编程自定义搜索框实现方法【附demo源码下载】...
- css选择器 pa,p~a,p+a区别
- TF之DeepDream:DeepDream前世今生之简介、安装、使用方法之详细攻略
- Nested Loop,Sort Merge Join,Hash Join
- Pandas 统计分析基础 笔记4 任务4.4 使用分组聚合进行组内计算
- spring与struts2 mvc共存web.xml简单配置
- Sound Studio for Mac - 音频编辑处理工具
- 新国标下的2020年电动单车企业蓬勃发展
- JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)
- java文件编译后额外生成的$1.class是怎么一回事
- 班级logo设计分析
- 管理大师德鲁克管理学精髓
- 深度学习中处理类别不平衡问题主流方法总结
- 第一章:第1章 CRM核心业务介绍--概述,crm架构,公司组织结构,软件开发的生命周期,crm项目的核心业务介绍。...
- 在浏览器端浏览EPUB
- SLIC 超像素分割详解(三):应用
- padding的用途
- AS608指纹模块高级功能实现(一):底层数据传输——指纹特征库上传给上位机
热门文章
- PowerBI制作报表背景图
- 【网络安全】DRIDEX木马巧用VEH混淆API调用流程
- kali linux获取qq密码,Kali Linux(64位)安装QQ
- 程序员小抄——GitHub 热点速览 Vol.44
- python给word添加换行换页符
- Linux安装显卡驱动
- Johnnie Walker惊艳的广告
- linux 编辑文件出现E45readonly option is set (add! to .....)
- foxmail收取服务器邮件次数,Foxmail:如何设置收取历史邮件?
- ecshop后台getshell