logo资料库

用MATLAB-Simulink做锂电池建模 .pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
用 MATLAB/Simulink 做锂电池建模 目录 1. MathWorks 公司简介 ........................................................................................... 2 2. 电池建模概述 ....................................................................................................... 2 3. RC 等效电路的参数估计 ...................................................................................... 3 3.1. 脉冲放电法 .................................................................................................... 3 3.2. 电池模型参数估计的步骤 ............................................................................... 4 3.2.1. 确定 RC 阶数 – 步骤 1 ........................................................................... 4 3.2.2. 构建参数估计模型(基于某一温度) – 步骤 2 ............................................. 5 3.2.3. 参数估计和验证 – 步骤 3 ....................................................................... 5 3.2.4. 在多个温度下建立电芯模型 – 步骤 4 ..................................................... 7 3.2.5. 形成电池包模型 – 步骤 5 ....................................................................... 7 4. 电池老化对电池模型的影响 ................................................................................. 7 4.1. 电路拓扑的变化 ............................................................................................. 8 4.2. 电池参数的变化 ............................................................................................. 9 5. 被动均衡模型示例 .............................................................................................. 10 6. 资料链接 ............................................................................................................ 11 7. MathWorks 咨询服务 ......................................................................................... 11 7.1. BMS 模块 C 语言转 MBD(基于模型的设计)服务 ..................................... 11 7.2. 电池模型建立服务 ........................................................................................ 12 7.3. 流程改进咨询(ISO26262-6) .................................................................... 12 Page 1 / 12
1. MathWorks 公司简介 MathWorks 是数学计算软件的领先软件供应商。全球各地的工程师和科学家均借助于本公司的产品加速 研究、创新和开发的步伐。公司于 1984 年创立,总部位于美国马萨诸塞州内迪克,在全球 15 个国家 有 3500 名员工。公司的主要产品为 MATLAB 和 Simulink。公司网站为 https://cn.mathworks.com。 MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境。Simulink 是一种用于对多领域动态和嵌入式系统进行仿真和模型设计的图形化环境。公司还针对数据分析和图形 处理等特殊任务推出近 100 项其他产品。 迈斯沃克软件(北京)有限公司是 MathWorks 在中国的独资子公司,负责中国大陆地区的产品销售、支持 和服务。公司主要客户群涵盖汽车、国防军工、工业自动化、机器人、医疗仪器、生物医学等众多行业。 2. 电池建模概述 锂电池是目前在各个能源密集型行业中用途广泛,例如新能源汽车、电力微网、航空航天等。电池模型 的建立对研究电池的特性、SOC(state-of-charge)估计、SOH(state-of-health)估计、BMS 算法开发 以及电池系统的快速实时仿真有重要的意义。 等效电路建模,由于其简单适用性,常常应用在在系统级仿真和控制算法设计过程中。通过实验数据采 集、等效电路模型建立和数学优化技术,用相对简单的 RC 等效电路可以模拟一个电芯。若干电芯模型通 过不同类型的并串联方法,形成电池包模型。在电池包模型内,也可加入热电效应仿真。 在上图中,10 个电芯以 10S1P 的形式形成一个电池包(此处工具为 SimScape)。蓝色的线表示电线连接, 橙色的表示热交换连接。在图中电芯之间的热交换形式为热对流。 电芯的模型为下图所示:R0 表示内阻,R1C1 表示一对 RC,左边的电压源表示开路电压(Em)。由于只有 一对 RC,所以这是一阶等效电路。 Page 2 / 12
上图表明,通过在一个不断充放电的工况下的仿真,我们发现电芯 5 和电芯 6 有较高的温度,而电芯 1 和电芯 10 温度较低。原因是在串联结构中,位置处于中间的电芯散热较差,而处于边缘的电芯散热较好。 锂电池的型号多种多样,比如镍钴锰三元材料(NMC)、磷酸铁锂(LFP)等。每种电池的化学特征决定了各 自不同的等效电路特征。等效电路的特征由如下两个要点决定: 1. RC 的阶数 2. R0 、RC 和 Em 的数值 本文将在第三章中讨论如何获取(估计)上述两个要点数值。 锂电池的老化对模型的影响也是电池模型研究的方向之一。找出模型的拓扑结构和模型参数的改变趋势, 对于 SOH 的估计有很强的现实意义。本文将在第四章中讨论电池老化对电池模型的影响。 被动均衡也是电池管理系统(BMS)的研究热点之一,本文将在第五章中给出一个被动均衡的示例供读者 参考。 3. RC 等效电路的参数估计 3.1. 脉冲放电法 RC 等效电路有物理意义的前提是电路中所有 RC 对和 R0 都必须完整地 “经历过” 一个放电周期。 右下 图所示的 RC 等效模型中,R0 表示一个放电循环中的“立即响应”,RC 对表示一个放电循环中的“滞后 响应”。左下图表示脉冲放电以及开路电压(Em)的回稳过程。 可以看到,在一个脉冲放电后,电芯通 过“立即响应”和“滞后响应”再静置一段时间后得到的稳定的开路电压。通常来说静置时间为 1 小时 以上为佳。 Page 3 / 12
脉冲放电的一个脉冲使得 10%(一个比较合适的百分比)的 SOC 下降,静置等待开路电压回稳。此处,10% SOC 的下降为一个估计值,假设一个电池容量为 100mAH,那么我们放电 10% 即 10mAH,如果放电倍率为 1C,分 10 次放完。那么单个脉冲放电时间为 1 小时*10%=6 分钟。 如此重复多次(避免 SOC 为极限低点而损害电池),得到完整的脉冲放电曲线,我们就可以得出 RC 对、 R0 和 Em 估计所需要的实验数据。 图:在某一温度下完整的放电曲线 由于锂电池对温度敏感,上述放电实验可以在多个温度下进行。加入温度的影响后,建模的任务就是要 根据多个温度下放电数据,估计出 R0,RC 和 Em。它们在模型的表现形式均是一个二维的 Look-Up Table。 , C , Em = f(SoC,T) 1 1 R , R 0 3.2. 电池模型参数估计的步骤 3.2.1. 确定 RC 阶数 – 步骤 1 很多人理解为,RC 阶数越多越准确。这个是错误的观点,因为过多的 RC 阶数会让数学优化过程变得计算 量过大;也有可能会造成过拟合现象,即将数据中的噪声数据也拟合出来。这样的数学模型没有意义。 正确的 RC 阶数取决于:放电静置回稳后的那段指数曲线。 Page 4 / 12
由于 RC 之积 Tau 的单位为时间。线段的长度为时间。该线段的函数表达式为: 其中 n 为阶数。 如果为一个三阶函数,我们可以用 MATLAB 的曲线拟合工具箱去拟合 y=1c-a*exp(-b*x)-d*exp(-e*x)-f*exp(-g*x) 有了这个基本思路,我们就可以从一阶开始逐步用 MATLAB 做曲线拟合,直至符合要求为止。 3.2.2. 构建参数估计模型(基于某一温度) – 步骤 2 根据上一小节的原则确定模型阶数以后,我们可以用 Simulink/SimScape 来构建电芯参数估计模型。此 处 C1、R1、R0、Em 都是基于 SOC 的 Look-Up Table。 3.2.3. 参数估计和验证 – 步骤 3 参数估计的输入为某一温度下的放电数据,输出为 Em、RC、R0 等参数的 Look-Up Table(一维)。 Simulink Design Optimization 可以根据输入数据,选择不同的算法进行参数估计,目的是仿真曲线和 实验曲线误差最小。 Page 5 / 12
参数估计有几种优化算法可选: 1. Gradient descent 2. Non-linear least squares 3. Pattern search 4. Simplex search 其中 Non-linear least squares 比较常用,但容易找到非全局优化点。Pattern search 为全局优化,适 合初学者。 在参数估计结束之后,可以做实际工况数据对模型的验证工作。所谓验证就是用实际的电池运行数据(同 一温度下)来校验得到的等效模型。如果误差很小,那么表示该模型真实可用。例如:下图的黄色(仿 真)和紫色(实测)的数据基本一致。 很多人抱怨在参数估计中由于计算量过大,导致运行速度很慢,这里给出两个小技巧可显著加快估计速 度: 1. 选择并行多核加速 2. 打开“Fast Restart”开关 Page 6 / 12
3.2.4. 在多个温度下建立电芯模型 – 步骤 4 刚才我们的等效电路模型中,RC、R0、Em 等经过参数估计,得出的实际上是一维的 Look-Up Table(维 度为 SOC),那么我们可以通过设计多个温度下(例如 5、20、40 摄氏度)的 1. 脉冲放电实验 2. 参数估计 将“温度”这个纬度加入到等效电路中,最终形成二维的 Look-Up Table。即完整的具有温度和 SOC 属性 的电芯模型。 R 0 , R 1 , C 1 , Em = f(SoC,T) 3.2.5. 形成电池包模型 – 步骤 5 在单个电芯模型建立完成后,可通过不同的串并联线路将电芯形成电池包模型。电池包模型可以用来仿 真热效应、电芯均衡或者其他应用场景。 4. 电池老化对电池模型的影响 老化对电池的影响不可忽视,老化的影响应该被反映到电池模型。为了研究这一课题,MathWorks 和其他 厂商的工程师设计了为期 13 个月的老化实验:为了加速老化过程,工程师选择在 40 度的温度下做 UDDS 的驾驶循环测试,每隔 15 星期记录下变化的数据,并做等效模型的建立和参数估计,试图通过这一过程 发现模型拓扑和参数变化的规律。 Page 7 / 12
4.1. 电路拓扑的变化 图:0 周时候的电路拓扑 Page 8 / 12
分享到:
收藏