一种基于粒子滤波和多项式回归的锂离子电池剩余寿命间接预测方法
2020-12-24何志刚盘朝奉周洪剑李尧太
何志刚,魏 涛,盘朝奉,周洪剑,李尧太
(江苏大学汽车与交通工程学院,江苏镇江 212013)
电池剩余寿命预测模型和算法总结为基于模型预测、基于曲线特征分析、基于数据驱动3大类。基于模型预测方法具有预测精度高的优点,但算法计算压力大、实施困难,不适用于电动汽车嵌入式应用,如电化学模型[1]、经验模型[2]、物理模型[3]等;基于曲线特征分析方法通过找到电池充放电曲线特征向量,然后与电池老化建立对应关系预测电池退化程度,如容量增量分析[4]、差分电压分析[5]等;基于数据驱动方法不需要考虑电池内部机理变化,其精确度依赖于样本数量,如神经网络[6]、高斯回归[7]、支持向量机[8]等。
大部分研究工作对于电池剩余寿命研究从容量退化出发,找到当前容量与电池循环寿命之间的关系。在此基础上,文献[9-11]通过大量且完整SOC区间的充放电数据获取电池历史容量退化,继而通过回归算法来预测电池剩余使用容量。但是上述方法过于依赖电池满充和满放的测试数据,在没有足够的历史数据支撑下难以实现电池寿命预测。所以本文在基于小样本的电池特性数据并且在电池荷电状态不是0~100%,提出一种新的特征健康因子,利用经验模态分解来处理特征健康因子序列上下波动问题,同时联合粒子滤波和多项式回归来预测健康因子序列,从而得到电池的循环使用寿命。特征提取更加简单,预测精度也符合电动汽车寿命估算要求。
1 实验设计及特征提取
1.1 充放电循环测试
本文中所用的5#、6#、7#电池具体参数为18650型号电池、额定容量2 000 mAh。对动力电池进行充放电循环寿命测试,记录每次充放电过程电压随时间变化数据,如图1所示,直到动力电池最大放电容量下降至额定容量的70%,停止实验。
电池循环寿命实验具体步骤为:
步骤1 恒流充电:3个电池都采用1.5 A恒流充电,当电压达到4.2 V时,停止恒流充电;
步骤2 恒压充电:3个电池进行4.2 V恒压充电,直到充电电流降到20 mA时,停止充电,静置30 min;
步骤3 恒流放电:同时对3个电池都进行2 A恒流放电,当3个电池的放电截止电压分别达到2.7、2.5、2.2 V时,停止放电,并且静置30 min;
步骤4 重复步骤1~3,直到电池容量衰退到额定容量的70%,实验结束。
1.2 特征提取
根据上述动力电池充放电循环寿命测试实验,得到充电过程电压曲线以及放电过程电压曲线,如图2所示。在电池荷电状态不是处于满充或满放区间内,提取等充电压升时间(CT)和等放电压降时间(DT)为特征健康因子。图2(a)中充电电压压升范围为3.5~4 V,图2(b)中放电电压压降范围为4~3.5 V,以压升和压降对应的时间间隔构建2个特征健康因子,这2个健康因子与循环次数构成时间序列,分别为CTn和DTn(n为循环次数)。图3(a)为编号5#、6#、7#电池的等充电压升时间序列,图3(b)为编号5#、6#、7#电池的等放电压降时间序列。
2 经验模态分解(EMD)
对给定时间序列CTn和DTn采用经验模态分解方法对两时间序列进行分解,把时间序列分成若干个特征模态函数分量和一个残差函数,通过研究分量来揭示等充电压升时间序列(CTn)和等放电压降时间序列(DTn)的局部特征[11]。经验模态分解的具体过程如图4所示。
将5#、6#、7#电池所有充放电实验数据统计完整,提取每次循环的健康因子,健康因子与循环次数形成新的时间序列,在Matlab中根据经验模态分解步骤对时间序列进行处理,生成不同时间尺度的特征模态函数和一个残差函数,如图5所示。从图5可以看出,5#电池的等充电压升时间序列被分解成2个局部时间序列(特征模态函数)和1个残差函数,而等放电压降时间序列被分解为3个局部时间序列和1个残差函数;而6#和7#电池的等充电压升时间序列被分别分解为3个和4个局部时间序列以及1个残差函数,等放电压降时间序列被分别分解为3个和2个局部时间序列以及1个残差函数。从5#、6#、7#三种样本电池分解图可以看出,残差函数曲线其实代表着时间序列的整体趋势,相当于序列的主信号,而特征模态函数曲线相当于局部波动信号。同一块电池的等充电压升时间序列与等放电压降时间序列波动程度不同,分解出的特征模态函数个数不同,其曲线轮廓不同。不同电池的等充电压升时间序列与等放电压降时间序列波动程度也不同,因此分解出的特征模态函数个数也不同。对于时间序列CTn和DTn来说,经过经验模态分解之后,可以从不同的尺度来预测其曲线的趋势,继而追踪整个曲线的局部波动的特征。
3 预测方法
3.1 粒子滤波以及多项式回归
根据上述方法得到不同尺度的特征模态函数和1个残差函数,特征模态函数采用粒子滤波跟踪预测,残差函数采用多项式回归预测。
标准粒子滤波算法如下:
步骤1 初始化,由先验概率p(x0)产生粒子为粒子总个数,所有粒子权值为
步骤2 更新,在k时刻,更新粒子权值,并且归一化:
步骤4 预测,利用状态方程X(K+1)=f(X(K))+W(K)预测未知参数;其中 X(K+1)为k+1时刻状态,X(K)为 k时刻状态,W(K)为系统过程高斯噪声。
步骤5 在时刻k=k+1,转到步骤2。
残差函数采用的多项式回归算法如下:
选用一元多项式回归模型,一元多项式回归模型为:
式中:θ0,θ1,…,θm为一元多项式的所有未知系数。
通过最小二乘法求解回归模型参数,即:
式中:y(i)为观测量。
将式(7)范德蒙化得到
可得系数矩阵
此时θ为(m+1)*1的系数矩阵,将求出的所有系数 θj,j=0,1,…,m回带到式(3)的一元多项式回归模型,最终得到一元多项式回归方程。
将所有的特征模态函数预测序列和残差预测序列相加,得到电池特征健康因子总体预测序列
式中:T为特征模态函数个数;RUL为电池剩余使用寿命;EOL为电池寿命终止对应循环次数N;f()为预测结果对应循环次数n。将实验电池寿命终止时对应循环次数N与该序列预测值对应的循环次数n作差,得到电池的剩余使用寿命。
3.2 预测框架
图6为本文中电池剩余使用寿命预测框架,首先在离线阶段监测电池充放电循环实验数据,根据实验数据把电池所有循环等充电压升时间和等放电压降时间2个特征健康因子提取出,同时与循环次数构成时间序列,然后这两类时间序列通过经验模态分解分成不同尺度的特征模态函数和1个残差函数,特征模态函数采用粒子滤波跟踪局部波动,残差函数采用多项式回归拟合全局退化趋势,并将所有单个函数预测进行累加得到原时间序列的预测结果,最后将离线阶段预测模型应用到在线诊断预测中。预测过程中数据处理以及算法编程都通过Matlab实现。
4 预测与实验对比
通过电池剩余使用寿命预测流程,得到5#、6#、7#电池充电和放电过程预测结果。同时将预测结果和实验结果进行对比,结果如图7所示。黄线为电池寿命终止的阈值线,从图7(a)可以看出5#电池等充电压升时间预测的电池循环寿命为120次。从图7(b)可以看出5#电池等放电压降时间预测的电池循环寿命为123次,而5#电池容量衰退到70%时的循环寿命为123次,充电过程和放电过程的预测误差分别为2.4%和0。
从图7(c)~(f)可以看出,只有7#电池的等放电压降时间预测的电池循环寿命为160次,而7#电池循环寿命测试结果为167次,预测的最大误差为4%。6#电池充电过程和放电过程预测结果为108次和113次。预测误差分别为0.9%和3.6%。具体结果如表1所示。分析图7和表1可以发现,对于5#、6#、7#三块电池样本的充电过程和放电过程,通过采用粒子滤波联合多项式回归来预测电池剩余使用寿命时,预测序列既可以追踪原序列的局部再生和波动现象,又可以表征全局退化趋势,而且预测结果与真实值比较相对误差都低于4%。表明本文中提出的预测方法具有很好的精确性。
表1 剩余使用寿命预测结果
5 结论
1)在无法直接计算电池最大容量的情况下,将动力电池等充电压升时间和等放电压降时间作为特征健康因子。特征健康因子可以直接从监测数据中的电压运行时间直接提取,避免间接计算电池当前容量时的积分误差。
2)将粒子滤波算法和多项式回归联合来预测动力电池的剩余使用寿命,时间序列经过经验模态分解为不同尺度的特征模态函数和残差函数,粒子滤波用来追踪特征模态函数的局部波动,多项式回归用来拟合残差函数的全局退化趋势,联合预测的误差低于4%,符合电动汽车动力电池寿命估算要求。