新能源系统 | 简单五步实现 MATLAB/Simulink 锂电池建模 >>
锂电池是目前在各个能源密集型行业中用途广泛,例如新能源汽车、电力微网、航空航天等。电池模型的建立对研究电池的特性、SOC(state-of-charge)估计、SOH(state-of-health)估计、BMS算法开发以及电池系统的快速实时仿真有重要的意义。
等效电路建模,由于其简单适用性,常常应用在在系统级仿真和控制算法设计过程中。通过实验数据采集、等效电路模型建立和数学优化技术,用相对简单的RC等效电路可以模拟一个电芯。若干电芯模型通过不同类型的并串联方法,形成电池包模型。在电池包模型内,也可加入热电效应仿真。
在上图中,10 个电芯以 10S1P 的形式形成一个电池包(此处工具为 Simscape)。蓝色的线表示电线连接,橙色的表示热交换连接。在图中电芯之间的热交换形式为热对流。
电芯的模型为下图所示:R0 表示内阻,R1C1 表示一对 RC,左边的电压源表示开路电压(Em)。由于只有一对 RC,所以这是一阶等效电路。
上图表明,通过在一个不断充放电的工况下的仿真,我们发现电芯 5 和电芯 6 有较高的温度,而电芯 1 和电芯 10 温度较低。原因是在串联结构中,位置处于中间的电芯散热较差,而处于边缘的电芯散热较好。
锂电池的型号多种多样,比如镍钴锰三元材料 (NMC)、磷酸铁锂 (LFP) 等。每种电池的化学特征决定了各自不同的等效电路特征。等效电路的特征由如下两个要点决定:
RC 的阶数
R0 、RC 和 Em 的数值
下一节中我们将讨论如何获取(估计)上述两个要点数值。
锂电池的老化对模型的影响也是电池模型研究的方向之一。找出模型的拓扑结构和模型参数的改变趋势,对于 SOH 的估计有很强的现实意义。本文将在第四章中讨论电池老化对电池模型的影响。
被动均衡也是电池管理系统(BMS)的研究热点之一,文末我们将给出一个被动均衡的示例供读者参考。
◆ ◆ ◆ ◆
RC 等效电路的参数设计
脉冲放电法
RC 等效电路有物理意义的前提是电路中所有 RC 对和 R0 都必须完整地“经历过”一个放电周期。 右下图所示的 RC 等效模型中,R0 表示一个放电循环中的“立即响应”,RC 对表示一个放电循环中的“滞后相应”。左下图表示脉冲放电以及开路电压(Em)的回稳过程。 可以看到,在一个脉冲放电后,电芯通过“立即相应”和“滞后响应”再静置一段时间后得到的稳定的开路电压。通常来说静置时间为 1 小时以上为佳。
脉冲放电的一个脉冲使得 10%(一个比较合适的百分比)的 SOC 下降,静置等待开路电压回稳。此处,10% SOC 的下降为一个估计值,假设一个电池容量为 100mAH,那么我们放电 10% 即 10mAH,如果放电倍率为 1C,分 10 次放完。那么单个脉冲放电时间为 1 小时 * 10% = 6 分钟。
如此重复多次(避免 SOC 为极限低点而损害电池),得到完整的脉冲放电曲线,我们就可以得出 RC 对、R0 和 Em 估计所需要的实验数据。
在某一温度下完整的放电曲线
由于锂电池对温度敏感,上述放电实验可以在多个温度下进行。加入温度的影响后,建模的任务就是要根据多个温度下放电数据,估计出 R0,RC 和 Em。它们在模型的表现形式均是一个二维的 Look-Up Table。
R0, R1, C1, Em = f(SoC, T)
电池模型参数估计的步骤
步骤一:确定RC 阶数
很多人理解为,RC 阶数越多越准确。这个是错误的观点,因为过多的 RC 阶数会让数学优化过程变得计算量过大;也有可能会造成过拟合现象,即将数据中的噪声数据也拟合出来。这样的数学模型没有意义。
正确的 RC 阶数取决于:放电静置回稳后的那段指数曲线。
由于 RC 之积 Tau 的单位为时间。线段的长度为时间。该线段的函数表达式为:
如果为一个三阶函数,我们可以用 MATLAB 的曲线拟合工具箱去拟合:
y = 1c - a*exp(-b*x) - d*exp(-e*x) - f*exp(-g*x)
有了这个基本思路,我们就可以从一阶开始逐步用 MATLAB 做曲线拟合,直至符合要求为止。
步骤二:构建参数估计模型(基于某一温度)
根据上一小节的原则确定模型阶数以后,我们可以用 Simulink/Simscape 来构建电芯参数估计模型。此处 C1、R1、R0、Em 都是基于 SOC 的 Look-Up Table。
步骤三:参数估计和验证
参数估计的输入为某一温度下的放电数据,输出为 Em、RC、R0 等参数的 Look-Up Table(一维)。
Simulink Design Optimization 可以根据输入数据,选择不同的算法进行参数估计,目的是仿真曲线和实验曲线误差最小。
参数估计有几种优化算法可选:
Gradient descent
Non-linear least squares
Pattern search
Simplex search
其中 Non-linear least squares 比较常用,但容易找到非全局优化点。Pattern search 为全局优化,适合初学者。
在参数估计结束之后,可以做实际工况数据对模型的验证工作。所谓验证就是用实际的电池运行数据(同一温度下)来校验得到的等效模型。如果误差很小,那么表示该模型真实可用。例如:下图的黄色(仿真)和紫色(实测)的数据基本一致。
很多人抱怨在参数估计中由于计算量过大,导致运行速度很慢,这里给出两个小技巧可显著加快估计速度:
选择并行多核加速
打开“Fast Restart”开关
步骤四:在多个温度下建立电芯模型
刚才我们的等效电路模型中,RC、R0、Em 等经过参数估计,得出的实际上是一维的 Look-Up Table(维度为SOC),那么我们可以通过设计多个温度下(例如 5、20、40 摄氏度)的:
脉冲放电实验
参数估计
将“温度”这个纬度加入到等效电路中,最终形成二维的 Look-Up Table。即完整的具有温度和 SOC 属性的电芯模型。
R0, R1, C1, Em = f(SoC, T)
步骤五:形成电池包模型
在单个电芯模型建立完成后,可通过不同的串并联线路将电芯形成电池包模型。电池包模型可以用来仿真热效应、电芯均衡或者其他应用场景。
◆ ◆ ◆ ◆
电池老化对电池模型的影响
老化对电池的影响不可忽视,老化的影响应该被反映到电池模型。为了研究这一课题,MathWorks 和其他厂商的工程师设计了为期 13 个月的老化实验:
为了加速老化过程,工程师选择在 40 度的温度下做 UDDS 的驾驶循环测试,每隔 15 星期记录下变化的数据,并做等效模型的建立和参数估计,试图通过这一过程发现模型拓扑和参数变化的规律。
电路拓扑的变化
0 周时候的电路拓扑
15、45 周时候的电路拓扑
实验显示:在电池未老化的时候(0 周),用 3 阶等效电路模型可以反映电池特性。
在电池老化后期,用 5 阶等效电路模型可以反映电池特性。
电池参数的变化
实验显示,电池老化对等效电路参数的影响为:
开路电压不变
R0 变化很大
RC 对数增加
Tau 增加(趋于稳态时间增长)
BMS 设计者如果能在控制器中建立一个内部的电池模型,通过参数规律和数值的估计,将有助于 SOH 的估计策略。
◆ ◆ ◆ ◆
被动均衡模型示例
均衡策略是 BMS 的一部分,目前实际应用较多的是被动均衡策略。
上图给出了一个被动均衡的示例模型,三个电芯组成的电池包在状态机(Stateflow)的逻辑驱动下控制 MOSFET 电路开关对各个电芯进行电压均衡。
来源:MATLAB