基于多新息卡尔曼滤波算法的锂电池SOC估计
2021-12-20张梦龙何业梁
张梦龙,宫 兵,何业梁
(安徽理工大学 电气与信息工程学院, 安徽 淮南 232001)
在电池性能的研究中,SOC估计是热点之一;它的准确预测决定了电池的有效使用,在电池管理系统中起着至关重要的作用,电池SOC难以准确而直接的获取,只有通过对锂电池的充放电特性研究,通过其特性来间接获得SOC值[1-2].
学者们对SOC估计算法做了深入的研究,目前SOC估计算法主要有三类;1)根据电池物理特性的传统安时积分法(Ah)和开路电压法(OCV);2)依赖数据的智能算法,例如支持向量机算法等;3)基于电池特性模型的估计算法,包括电化学模型方法和等效电路模型方法[3-5].
传统方法理论上简单,易于实现.然而,安时积分法十分依赖精确的初始SOC值,且随着时间增加,误差会逐渐增大,并不具备修正能力.开路电压法由需要电池长时间静置才能得到,而电池在工作中是实时变化的,很难长时间静置,该法在实际的工况中难以实现,局限性过大.智能算法估计电池SOC不需要研究电池的物理性质但是需要大量的数据,运算量很大,很难在线使用.电化学模型结构复杂,估计SOC时计算量大,工程应用难度高.目前,研究的最为广泛的就是数学模型与卡尔曼滤波算法(KF)相结合的SOC估计方法[6-8],学者们对其做了大量的优化.Li[9]等针对锂电池的温度、健康状态等问题,首先改进安时积分法,再结合EKF估计SOC.夏黎黎[10]等根据观测的噪声统计极大后验次优无偏估计器对EKF进行优化,提高了估计精度.丁镇涛[11]等将安时积分法和无迹卡尔曼滤波算法结合,解决了参数辨识过程中拟合误差对SOC估计结果的影响.
本文对EKF做了优化,融合多新息理论,提出了多新息卡尔曼滤波(下称MIEKF)算法.与EKF相比,该算法在每一次算法循环中,将当前瞬间的单一新息扩展为包含当前和之前瞬间新息的多新息向量,以增加误差信息量,得到更准确的SOC.在UDDS工况下对这两种算法进行验证比较,结果表明本文算法的估计精度更高.
1 锂离子电路模型和参数辨识
1.1 电池等效电路模型
电池模型的选取以及电池模型参数辨识准确性都能影响到电池SOC的估计精度,电池等效电路模型多种多样[12],本文研究选用了二阶RC电路模型.如图1所示,其中Uocv为开路电压,U0为端电压,U1、U2分别为极化电阻R1、R2的电压.R0为欧姆内阻,I为回路的干路电流.
图1 二阶RC电路模型Figure 1 Second order RC circuit model
1.2 模型参数辨识
1)实验平台
实验平台如图2所示,计算机通过串口与可编程电子负载(IT8512C)和可编程DC电源(IT6302)进行通讯对电池进行充放电,通过设定不同的充放电程序,实现锂电池不同工况的实验.数据采集卡实时采集电池的电压电流数据,温控箱用于控制电池工作时的环境温度.
图2 实验平台实物图Figure 2 The experiment platform
2)OCV-SOC参数辨识实验
以容量为3 000 mAh的单体锂离子电池为实验对象,置于20 ℃恒温箱中.将锂电池充满,此时SOC为1,再对其以1.5A放电电流进行放电,放电720 s,即0.1个SOC,静置4 h.此为一个放电周期,循环9次,记录每个放电周期结束时的端电压.如此得到十对SOC与端电压对应的点,拟合得到Uocv-SOC曲线,如图3所示.
图3 Uocv -SOC曲线Figure 3 Uocv-SOC curve
3)电池参数辨识
以混合脉冲功率特性实验方法(HPPC)辨识[13]剩余五个参数.以SOC=0.7为例,电压曲线如图4所示.
在u1处开始以1C放电10 s,u3处停止放电.电压的瞬时变化, 是因为瞬间只有R0上产生电压[14].可得.
R0=[(u1-u2)+(u4-u3)]/2i.
u4~u5阶段为锂电池无负载阶段,回路中只有电容放电,作为零输入响应处理,回路方程为:
Uo=Uocv-[Ui*e-t/R1C1+U2*r-t/R2C2]
(1)
对电池端电压曲线(u4~u5)按公式(⑴)进行参数拟合,得各SOC点的参数,如表1所示.
图4 脉冲电压曲线Figure 4 Pulse voltage curve
表1 各SOC点处模型参数值Table 1 Values of model parameters at each SOC point
1.3 模型验证
在Matlab/Simulink中搭建电池仿真模型,以脉冲放电工况的电流作为模型输入量,从而得到仿真输出的端电压,将模型得到的电池端电压与同等工作环境中测量的电池实际电压做对比.如图5、 6所示.
由图5可以看出,模型得到的端电压与测量得到端电压基本重合,具有一致性,误差变化为-0.08~0.04V.电池放电末端误差曲线的误差值开始变大,这是在电池放电反应末期,其内部化学反应波动较大,使得放电特性变差,致使模型的精度下降.仿真模型输出的电池端电压最大误差小于3%,说明建立模型可以准确的表示锂电池的放电特性而且精度较高,进一步验证了模型的正确性和精确性.
图5 实际电压与仿真电压对比Figure 5 Comparison of actual voltage and simulated volta
图6 仿真电压误差曲线Figure 6 Simulation voltage error curve
2 MIEKF估计电池SOC
2.1 建立电池模型状态方程
以电池SOC、U1、U2作为状态变量,锂电池回路方程离散化后得:
(2)
其中:Δt为采样周期.
2.2 MIEKF算法估计电池SOC
式(2)中Uocv与SOC是非线性关系,可以近似用八阶多项式表示,但是转换不成KF的标准形式.因此EKF算法,是在KF的基础上通过泰勒公式展开并省略高次项,对系统做线性化处理[15],离散化后的状态方程可表示为:
(3)
其中:f、g为非线性传递函数,wk、vk为噪声,方差分别为Qk、Rk·ik为电池k时刻的电流Uk为电池k时刻的端电压.xk为系统k时刻的状态变量,xk=[SOCkU1,kU2,k].对电池系统进行泰勒展开:
(4)
(5)
根据EKF原理,f、g函数的雅可比矩阵为:
(6)
基于EKF估计电池SOC如下:
1)初始化
(7)
2)状态变量时间更新
(8)
3)误差协方差时间更新
(9)
4)卡尔曼增益矩阵
(10)
5)状态测量更新
(11)
6)误差协方差测量更新
Pk=(I-KkCk)Pk/k-1
(12)
对于非线性电池系统,传统EKF使用单一新息来更新系统的状态变量,MIEKF算法使用多新息来修正状态变量,通过对旧信息的重复使用来提高EKF的估计精度.
为充分利用历史数据的信息,将当前瞬间的单一新息扩展为包含当前和之前瞬间新息的多新息向量,以增加误差信息量:
(13)
其中:j为扩展的新息的长度.相应的对状态增益矩阵进行扩展:
Kj,k=[KkKk-1…Kk-j+1]
(14)
本文中设j=3.
然后替换状态估计方程中的单新ek、Kk,利用多新息向量Ej,k和增益矩阵Kj,k列写出优化后的状态估计方程:
(15)
其中:i=1,2,…,j-1.
综合以上推导得到MIEKF算法如下:
1)初始化系统状态变量和协方差矩阵p
(16)
2)状态变量时间更新为:
(17)
3)误差协方差时间更新为:
(18)
4)卡尔曼增益矩阵更新为:
(19)
5)对单一的误差新息和增益矩阵进行扩展:
(20)
6)状态测量更新为:
(21)
7)误差协方差测量更新为
Pk=(I-KkCk)Pk/k-1
(22)
通过MIEKF的算法流程可以看出,MIEKF算法对单一新息的扩展,通过对误差新息和增益矩阵历史数据的使用提高了EKF的估计精度.理论上在电池SOC估计中,MIEKF算法比EKF算法更准确,下面在模拟的实际工况中来验证算法的优异性.
3 实验验证
3.1 模拟实际工况
脉冲放电工况与实际的工况差距较大,实际复杂工况中电流急剧变化因此采用美国城市道路循环系统(UDDS)来模拟实际的复杂工况.UDDC工况下,电池实时处于充放电的动态过程中;符合电池在实际应用中的工作环境,输入UDDS工况电流,激励锂电池从而得到UDDS工况下的锂电池端电压,电流电压如图7、8所示.
图7 UDDS工况下电池电流Figure 7 Battery current under UDDS working condition
图8 UDDSS工况下电池电压Figure 8 Battery voltage under UDDSS operating condition
3.2 UDDS工况下的SOC估计
将UDDS工况下电池的电流作为EKF和MIEKF的输入,通过算法迭代得到各自的估计结果,以安时积分法理论计算值作为参考真实值,对比两种算法与理论计算的误差,结果如图9、10所示.
图9 MIEKF,EKF估算结果Figure 9 MIEKF, EKF estimation results
图10 MIEKF,EKF 估算误差曲线Figure 10 MIEKF, EKF estimation error curve
误差结果分析如表2.
表2 SOC误差分析Table 2 SOC error analysis
从实验结果来看,应用EKF和MIEKF都能较为准确的估计电池的SOC.从SOC的误差趋势可以看出,在6 000 s开始MIEKF的误差值明显小于EKF,误差变化范围更小,误差曲线波动幅度小,估计精度也较高.说明随着工况的运行,MIEKF能够充分利用历史数据误差信息,进一步修正估计结果,相比于单一状态的EKF误差显然更小,误差慢慢收敛并趋向于稳定.在电池的放电末期可以看出EKF估计电池SOC的误差变大,这是由于放电末期电池模型参数辨识精度降低导致的,MIEKF算法通过对单一新息的扩展提高电池估计精度的同时也提高的算法的稳定性,改善了电池在放电末期模型参数辨识精度降低对电池SOC估计准确性的不良影响.表2数据表明MIEKF算法通过使用多新息来修正状态估计,相对于EKF有更高的精度和稳定度,更加适用于复杂工况下的应用.
4 结 语
根据锂电池的放电特性特性,采用二阶RC等效电路模型,开展参数辨识实验,辨识出模型.在EKF算法的基础上引入多新息理论,实现了MIEKF算法,将EKF、MIEKF与安时积分法进行了比较分析.MIEKF算法通过对旧信息的重复使用,提高了滤波的稳定性和精确性.实验结果表明,在复杂工况下,MIEKF估计锂电池SOC比EKF算法更准确有效,估计的SOC误差更小.由于算法中矩阵维数的增加,MIEKF算法的计算量比标准EKF算法要大;但是MIEKF算法的计算精度相对于EKF算法有了很大的提高,具有更好的鲁棒性.