基于多新息最小二乘和多新息扩展卡尔曼滤波算法的锂电池SOC 估计

2024-03-28 15:15巫春玲付俊成徐先峰孟锦豪郑克军胡雯博
关键词:新息端电压卡尔曼滤波

巫春玲 付俊成 徐先峰 孟锦豪 郑克军 胡雯博

(1.长安大学 能源与电气工程学院,陕西 西安 710064;2.西安交通大学 电气工程学院,陕西 西安 710049)

锂离子电池因其容量大、无记忆、能量密度高、对高温和低温适应性强等优点[1],在动力电池和储能领域得到了广泛应用。但其存在热失控,尤其是大功率的锂电池,它的安全隐患较大。因此,为了确保锂电池安全稳定运行,建立完备的电池管理系统以监测电池的各个状态是前提。荷电状态(State of Charge,SOC)表示电池中剩余的可使用能量,是电池管理系统的核心指标,而上述状态预测的前提条件是基于准确的电池模型参数[2]。因此,SOC估计应综合考虑如何提高电池模型参数的辨识精度和SOC估计精度两个方面。

目前的SOC估计方法主要有安时积分法、开路电压法、神经网络法、扩展卡尔曼滤波算法(Extended Kalman Filter,EKF)等。安时积分法计算电池放出的电量有一定准确度,但是依赖设备精度和初始SOC 值,误差容易累积增大。开路电压(Open Circuit Voltage,OCV)法简单易行,但无法动态估计且精度较差。神经网络法需要大量的数据进行训练,并且难以理解内部的机制[3]。扩展卡尔曼滤波算法计算速度快且精度比较高,适合不断变化的系统,因此被广泛应用于SOC的实时估计[4-6]。

在上述SOC估计的过程中,电池模型参数的精度直接影响着SOC估计的准确性。因为离线辨识电池模型参数的精度较低,所以为提高辨识的精度,通常采用在线参数辨识的方法。其中,递推最小二乘(Recursive Least Squares,RLS)算法计算简单、实现方便,是应用最多的一种方法[7-8]。本文也将应用RLS算法进行参数辨识。

多新息理论是一种将新息的修正技术从单新息扩展到了新息向量[9]的方法。该方法可以同时利用多个时刻的新息,因此对很多算法的收敛速度和估计精度有良好的改进效果,其在研究系统辨识、故障检测诊断、船舶航天等方面都有广泛的应用[10-12]。目前,基于多新息理论的研究成果包括多新息随机梯度型辨识方法、多新息EKF的改进算法等[13]。本文选用多新息理论对递推最小二乘算法和扩展卡尔曼滤波算法进行改进。

现有SOC估计方法中没有考虑电池模型参数的动态变化,导致SOC的估计不够精准,因此,本文采用多新息最小二乘(MILS)算法对锂离子电池模型中的参数进行在线辨识,以进行电池模型的实时修正,同时将修正后电池模型采用多新息扩展卡尔曼滤波(Multi Innovation Extended Kalman Filter,MIEKF)算法进行SOC估计。

1 电池建模

1.1 等效电路模型

等效电路模型抛去了复杂的电化学内部机理分析,利用电阻、电容、电感和电压源等基本的电气元件,通过将其组合来模拟锂离子电池的充放电效应,能够较为准确地描述电池的真实状态,因此被广泛应用[14]。文献[15]中介绍了各种等效电路模型,并对其优缺点进行了分析。

综合考虑参数辨识和SOC估计的精度,以及计算复杂度等,本文选择了二阶RC 等效电路模型。二阶RC 等效电路模型如图1 所示,图中:电容Cb为理想电压源;Vb为开路电压;电阻R1和电容C1用于描述扩散现象;电阻R2和电容C2描述电池双电层部分的荷电变化;Ri为欧姆内阻;V1和V2为极化电压;V为端电压;I为端电流。

图1 二阶RC等效电路模型Fig.1 Second-order RC equivalent circuit model

根据基尔霍夫定律,可得电压和电流之间的关系式:

将电池的荷电状态、极化电压V1和V2看作状态变量,再进行离散化,可得系统的状态空间方程:

式中,Z(k)为k时刻的荷电状态,τ1、τ2为时间常数,τ1=R1C1,τ2=R2C2,Ca为电池容量,Δt为采样时间,I(k)为k时刻系统输入电流,η为库伦效率。

1.2 开路电压测试

开路电压(OCV)是电池在静态条件下的一个重要特征物理量,能够很好地反映出电池真实的SOC,因此两者之间存在着一种非线性的关系[16]。其中实验对象为锰酸锂电池单体,其主要参数如表1所示。

表1 实验电池的主要参数Table 1 Main parameters of experimental battery

电池放电结束后,由于较长时间静置后的端电压值与电池的放电开路电压值比较接近,因此将电池间断放电,并且每次放电静置后取其值,即可得到电池放电过程的OCV 实验值。本文所用OCV 实验值数据从北京理工大学先进储能科学与应用课题组获取,通过多项式拟合方法拟合OCV 实验值得到SOC-OCV 曲线,以残差平方和(Residual Sum of Squares,RSS)和拟合系数R2为评价指标,不同多项式的拟合结果统计如表2所示。综合考虑拟合效果和计算量,选择6阶多项式对OCV实验值进行拟合,拟合结果如图2所示。拟合多项式为

表2 不同多项式的拟合结果Table 2 Fitting results of different polynomials

图2 SOC-OCV曲线Fig.2 SOC-OCV curve

1.3 动态应力测试工况

本文仿真实验所用数据从北京理工大学先进储能科学与应用课题组申请获得,实验对象为1.2节中介绍的锰酸锂电池单体。锰酸锂电池单体在动态应力测试(DST)工况下的端电压与端电流如图3所示。

图3 DST工况数据Fig.3 DST working condition data

根据上述DST工况数据,结合在线参数辨识和SOC 估计联合的算法,实现了对电池模型参数Ri、R1、R2、C1、C2的辨识和SOC的估计。

2 基于MILS算法的在线参数辨识

由于传统的RLS算法进行在线参数辨识过程中存在初始阶段辨识精确度较低的问题,进而导致误差累积,最终使得SOC估计精度变差。因此本文选用多新息最小二乘法进行在线参数辨识,其基本原理是在RLS算法基础上加入多新息理论。

RLS辨识算法将采样所得的当前时刻观测值与递推所获得的当前时刻的估计值之间误差作为修正值,通过对上一时刻估计值的修正,得出当前时刻的估计值。其对二阶RC 等效电路模型的参数辨识具体步骤可见参考文献[17]。

对式(1)进行拉普拉斯变换及离散化,可得RLS辨识算法的差分方程为

式中:β1、β2、β3、β4、β5为待定系数;y(k) =Vb(k) -V(k),V(k)为当前时刻端电压,Vb(k)为当前时刻开路电压OCV。由式(6)可得参数向量θ和数据向量ϕ(k)为

则RLS辨识算法的主要递推运算公式为

式中:P(k- 1)为上一时刻的协方差矩阵;E为单位矩阵;为上一时刻所估计的参数值;K(k)为增益。

由此标量新息表达式为

基于多新息理论,将式(8)标量新息e(k)扩展为如下新息矩阵[18]:

式中,p为新息的长度。

扩展后的输出向量和数据向量的矩阵分别为

则式(9)可化为

最终可以得出MILS算法的递推运算过程如下:

式中,Ep为p阶单位矩阵。

模型参数求解方程如下:

式中,T为采样周期,τ1=R1C1,τ2=R2C2,β0=T2+(τ1+τ2)T+τ1τ2。

解耦式(12)方程组,可得出二阶RC 等效电路模型的每个参数。

综合以上推导得到MILS 算法实现具体步骤,如图4所示。

图4 MILS算法流程Fig.4 MILS Algorithm flow

利用上述的MILS 算法在1.3 节中介绍的DST工况下对锂电池进行在线参数辨识,得到Ri、R1、R2参数辨识结果,如图5所示,其中t为时间。

图5 Ri、R1、R2参数辨识结果Fig.5 Ri、R1、R2 parameter identification results

从图5(a)和5(b)可以看出,参数辨识25 min之前这一阶段,电路模型的参数变化较为剧烈,这是由于选取的模型参数初值与真实值有偏差;25 min之后模型参数逐渐稳定下来,Ri最终稳定在1.2 mΩ左右,R1最终稳定在0.13 mΩ左右。从图5(c)可以看出,120 min 之前模型参数变化剧烈;120 min 之后模型参数逐渐稳定下来,并且呈现缓慢上升趋势,最终稳定在1.4 mΩ 左右。R2上升值大于Ri和R1下降值之和,这说明锂电池放电过程中总电阻是增加的。

C1、C2的参数辨识结果如图6所示。

图6 C1、C2参数辨识结果Fig.6 C1、C2 parameter identification results

由图6可以看出,C1和C2的变化趋势相同,在100 min之前先快速增加,100 min后逐渐趋于平缓,C1最终稳定在2.3 kF 左右,C2最终稳定在18 kF 左右。这说明锂电池放电过程中总电容也是增加的。

3 基于MIEKF算法的SOC估计

标准卡尔曼滤波算法只能用于线性系统,并不适用于非线性系统,因此扩展卡尔曼滤波便是为了将算法应用于非线性系统而提出的。扩展卡尔曼滤波算法围绕滤波值将非线性函数展开成泰勒级数,并略去二阶及以上项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计[19]。

依据式(2)、(3)建立的状态方程,锂离子电池的非线性系统描述为

式中:f(·)为非线性的过程方程;h(·)为非线性的测量方程;xk为k时刻的状态变量,xk=[ZkV1,kV2,k]T;yk为k时刻系统测量值;wk-1为系统过程噪声,其方差为Q;vk-1为系统观测噪声,其方差为R。

3.1 扩展卡尔曼滤波算法

结合式(2)-(4)与式(13)建立的电池非线性系统方程及EKF算法的运算步骤如下[20]。

(1)初始化

设定状态变量初始值x(0)与对应的误差协方差矩阵初始值P(0)。

(2)状态一步预测

其中,

(3)一步预测误差协方差矩阵

(4)卡尔曼增益矩阵

其中,

式中,Kk为k时刻卡尔曼增益向量,Ck-1为k- 1时刻系统状态空间模型的系数矩阵。

(5)后验状态估计值

式中,为k时刻状态变量的估计值;yk-1为k- 1时刻电池的端电压值;Dk-1为k- 1 时刻系统状态空间模型的系数,Dk-1=-Ri。

(6)后验误差协方差矩阵

(7)重复步骤(2)-(6),进行递推滤波计算。

3.2 多新息扩展卡尔曼滤波算法

由于EKF算法在非线性函数泰勒级数展开时忽略了高阶项,这就使得EKF估计产生了误差。针对以上EKF算法的局限性,基于第2节中的多新息理论,将扩展卡尔曼滤波算法进行推广,由原来的单新息扩展为多新息,不仅考虑了系统当前的测量值,而且充分考虑了之前时刻的有用信息,从而使得滤波精度和稳定性得到改善。另外,在SOC估计算法中,新测量的数据能提高参数估计精度,而陈旧数据存在着累积干扰的问题。因此,为了调整新旧历史数据的权重,引入遗忘因子在一定程度上减少了累积干扰问题,从而提高了SOC 估计精度[21]。将式(17)中增益向量Kk扩展为多新息增益矩阵:

遗忘因子矩阵定义为

式中,遗忘因子权值矩阵可以取为

其中,ζ为历史数据遗忘率,满足0 ≤ζ≤1。

将式(19)和(20)代入式(17),将原来卡尔曼滤波器的状态估计方程扩展为

式中,E(p,k) 为式(17)中的新息向量yk-1-的新息矩阵,同式(9)求法。

综合以上推导得到MIEKF算法如下。

步骤1初始化。采样时间Δt= 1 s;设定状态变量初始值x(0)与对应的误差协方差矩阵初始值P(0),以及电池的相关初始参数、Z和Ca。

步骤2状态一步预测:

步骤3一步预测误差协方差矩阵:

步骤4卡尔曼增益矩阵:

步骤5多新息矩阵和多新息增益矩阵见式(9)和(19)

步骤6后验状态估计值:

步骤7后验误差协方差矩阵:

步骤8重复步骤2-7。

以上便是MIEKF 获取最佳状态估计的循环迭代过程。在利用MIEKF 算法求解荷电状态的时候还需要代入电池模型参数,一个迭代周期的具体过程如图7所示。

图7 SOC估算过程Fig.7 SOC estimation process

4 实验验证与分析

为验证新算法的有效性,首先在相同条件下,分别使用MILS 算法和传统的RLS 算法对锂离子电池进行参数辨识,并将仿真的端电压进行对比,以此来验证MILS算法有更高的精度和鲁棒性。其次,在上述参数辨识验证的基础上,选用精度和鲁棒性更好的MILS 算法进行参数辨识,并将辨识的结果使用MIEKF 和EKF 两种算法对锂离子电池荷电状态进行估计,同时将仿真SOC进行对比。

本节中所用的数据为1.3 节中介绍的DST 工况数据,所用的对象为1.2节中介绍的锰酸锂电池单体,电池模型采用的是二阶RC等效电路模型。参数辨识算法的初始参数设置如下:误差协方差矩阵初始值P(0) = diag(10-1,10-1,10-1,10-1,10-1),模型的参数向量θ(0) =(0.1,0.1,0.001,-0.01,-0.00)。SOC估计算法初始参数设置如下:估计误差协方差矩阵初始值P(0) = diag(10-1,10-1,10-1),过程噪声方差初始值Q(0) = diag(10-9,10-9,10-9),测量噪声方差初始值R(0) = 0.01。

为对参数辨识和SOC估计方法的估计结果进行比较,按照式(23)、(24)、(25)比较估计值和真实值的误差。

式中:X为真实值;̂为估计值;ε为绝对误差;εmax为最大绝对误差;RRMSE为均方根误差;N为总的采样点数。

4.1 参数识别精度验证

为了验证本文使用的MILS 算法参数辨识结果的准确性,在Matlab 中搭建Simulink 仿真模型,然后分别对MILS 算法和传统RLS 算法在线估计的端电压进行对比。MILS 算法和RLS 算法在线估计端电压与真实端电压的对比如图8所示,两种算法与真实值的误差对比如图9所示。

图8 端电压估算对比Fig.8 Comparison of terminal voltage estimation

图9 端电压估计绝对误差的对比Fig.9 Absolute error comparison of terminal voltage estimation

由图9 可以看出,在整个参数辨识的过程中,尤其是150 min 之前的时间,MILS 算法端电压估计绝对误差远远小于RLS算法。两种算法端电压估计的εmax和RRMSE如表3所示。

表3 两种算法端电压的εmax和RRMSETable 3 εmax and RRMSE of terminal voltage for two algorithms

由表3可以看出,本文使用的MILS算法的最大绝对误差εmax和均方根误差RRMSE均远远小于RLS算法。RLS 算法端电压估计的均方根误差为1.9 mV,本文算法的均方根误差为1.4 mV,可知本文算法估计精度提高了26.3%,从而验证了MILS算法的鲁棒性能良好。

4.2 MIEKF算法对SOC估计的验证

实验采用MILS算法进行参数识别,SOC真实值为电池充放电设备可测得的电池剩余容量与最大可用容量的比值,使用1.3节中介绍的DST 工况进行SOC 估算。将MIEKF 算法与EKF、AEKF 算法得出的SOC 与真实值进行误差对比,验证上述MILSMIEKF联合算法的可行性,下文中简称为联合算法。

设置SOC 初始值为1 时,MIEKF 算法与EKF、AEKF 算法的SOC 估计结果如图10 所示,3 种算法的SOC估计误差如图11所示。

图10 DST工况下的SOC估计结果Fig.10 SOC estimation result under DST conditions

图11 DST工况下的SOC估计绝对误差Fig.11 Absolute error of SOC estimation under DST conditions

从图11可以看出,基于MIEKF算法的SOC估计绝对误差要比EKF 和AEKF 算法更接近零值,说明SOC估计值更接近于真实值,并且收敛速度更快。

为更直观地展示本文算法SOC 估计精度的提升,对MIEKF 算法和EKF、AEKF 算法的最大绝对误差和均方根误差进行对比,结果如表4所示。

表4 3种算法SOC估计的εmax和RRMSETable 4 εmax and RRMSE for SOC estimation using three algorithms

从表4可以看出,MIEKF 算法估计的最大绝对误差εmax和均方根误差RRMSE均小于EKF、AEKF 算法。MIEKF 算法SOC 估计的RRMSE为0.003 7,相比于EKF 算法的0.007 3,估计精度提高了49.31%;相比于AEKF 算法的0.005 2,估计精度提高了28.84%。从以上分析可以看出MIEKF 算法稳定性能更好、精度更高。

4.3 SOC初始值取值对估计精度的影响

为研究在初始SOC未知或错误的情况下,本文提出的联合算法是否仍有效,本节预先设定准确初始SOC值和错误初始SOC值,准确初始SOC值设定为1,错误初始SOC值分别设置为0.9、0.8和0.6。将DST工况实验数据代入仿真程序,所得到的SOC估计结果如图12所示。

图12 不同初值时的SOC仿真结果Fig.12 SOC simulation results with different initial values

从图12 中可以看出,在SOC 初始值为0.9、0.8和0.6情况下,联合算法均很快修正了估计值,约在30 s左右就追踪到了理论值附近,从而说明了在初始SOC值未知或错误的情况下,本文提出的联合算法仍然有效。

为了说明所提出算法估计的鲁棒性,表5中给出不同SOC 初值下,算法收敛后的最大绝对误差,以及全时间尺度(测试实验开始至结束的整个时间段称为全时间尺度)的最大绝对误差。

表5 不同SOC初值的最大绝对误差Table 5 Maximum absolute error of initial value of different SOC

由表5可以看出,全时间尺度的最大绝对误差εmax与SOC 初始值有关,初始SOC 值设置的误差越大,最大绝对误差则越大。这是因为全时间尺度的εmax通常出现在算法迭代初期,因此设定的SOC 初始值与实际值较为接近时全时间尺度εmax较小。另外,在不同的SOC 初始值下算法收敛后的εmax均为0.007 4。综上所述,本文方法具有较好的鲁棒性。

5 结论

针对现有SOC 估计方法中的电池模型参数恒定,没有考虑电池模型参数的动态变化而导致SOC的估计不够精准,本文提出一种基于多新息最小二乘和多新息扩展卡尔曼滤波算法的SOC 估计方法。首先对锂离子电池进行二阶RC 等效电路建模,采用多新息最小二乘(MILS)算法对模型进行在线参数精准辨识,并基于所辨识参数,使用多信息扩展卡尔曼滤波(MIEKF)算法对电池SOC进行估计,从而完成联合算法对锂离子电池的SOC在线估计。

为验证联合算法的估计效果,将MILS 和RLS用于在线参数辨识,并将MIEKF 和EKF、AEKF 分别用于电池SOC 估计。实验发现:对于模型参数辨识,MILS 算法辨识的最大绝对误差εmax和均方根误差RRMSE均远小于RLS 算法,表明本文所提算法的辨识精度有较大提升;对于参数辨识后的SOC估计,MIEKF 算法估计的最大绝对误差以及均方根误差均远远小于EKF、AEKF 算法估计的相应误差,因此本文采用的MIEKF 算法稳定性能更好、精度更高;在给定SOC 初始值错误的情况下,新算法在电池开始工作后30 s左右就能够收敛到真实值,故新算法具有较好的鲁棒性。由此可知本文所提出的算法是一种精度高而且鲁棒性好的有效估计方法。

猜你喜欢
新息端电压卡尔曼滤波
传递函数辨识(21):线性回归系统的递阶递推参数估计
M估计的强跟踪SVD-UKF算法在组合导航中的应用
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
励磁调节器PT回路故障后机端电压变化分析
人工心脏无位置传感器无刷直流电动机非导通相端电压分析
自适应卡尔曼滤波在航空重力异常解算的应用研究
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于新息正交性自适应滤波的惯性/地磁组合导航方法
基于扩展卡尔曼滤波的PMSM无位置传感器控制
钛管蒸发器在酸性溶液中的防腐防垢