王雨妍,李翔晟,陈志峰,欧阳立芳,蒋宇阳
(中南林业科技大学机电工程学院,湖南长沙 410004)
电动汽车的普及,使得电动汽车动力电池性能的重要性逐渐显现,其中电池荷电状态(State of Charge,SOC)的估计是衡量电动汽车电池性能的关键技术之一。动力电池结构复杂、反应繁多,而且车载工况恶劣、多变,作为隐形状态的SOC的精确值很难得到。当前国内外提出的SOC估计方法主要有四大类:基于表征参数的方法、安时积分法、基于模型的方法和基于数据驱动的方法[1]。
其中,基于模型的估计方法主要是通过对电池实时参数的测量,使用等效电路模型的负载电流和端电压作为输入来对电池的SOC进行估算。在汽车动力电池SOC估计中最常用的算法是卡尔曼滤波(Kalman Filter,KF)类算法,该算法主要是将模型的参数误差看成噪声,同时将预估计量作为空间状态变量,使用递推法过滤噪声干扰,得到准确的空间状态值,但该方法仅对线性系统适用。HU C 等[2]、XIONG R 等[3]提出了扩展卡尔曼滤波(Extended Kalman Filter,EKF)方法,该方法将非线性函数按照泰勒级数展开,取一次项进行卡尔曼滤波,其缺点是对具有较强非线性的系统误差较大。PARTOVIBAKHSH M 等[4]、XIONG R 等[5]利用AEKF 和递推最小二乘法(Recursive Least Square,RLS)估计开路电压(Open Circuit Voltage,OCV),利用实验建立OCV-SOC 对应关系,进而实现SOC估计,结果表明,该方法虽然有一定的准确性和可靠性,但其估算精度会受电池工况或电池老化等因素的影响而降低。马建等[6]利用基于遗忘因子的递推最小二乘法(Recursive Least Square Method of Forgetting Factor,FFRLS)进行等效电池模型参数识别,采用容积卡尔曼滤波对动力电池进行SOC估计,结果表明,该方法虽然有较好的估计精度,但对噪声较敏感。
为了提高锂离子电池荷电状态的估计精度,本文选用二阶电阻-电容(R-C)模型来模拟电池运行情况,将带有可变遗忘因子的递推最小二乘法(VFFRLS)与开窗理论相结合,对模型进行参数辨识,采用自适应扩展卡尔曼滤波(AEKF)算法及H∞滤波算法对锂离子电池的SOC分别进行估计,根据估计精度,将两种滤波算法相结合。结合粒子滤波权重分配计算的思想,根据历史信息及当前的新息,根据重要性选择合适的权值进行分配,充分利用每个时刻的新息,以此提高电池SOC估计的准确性。
电池SOC反映电池的剩余容量。SOC的标准预测方法是安时测量法,即通过计算一段时间内电池负载电流,再由初始电池SOC计算得到当前时刻SOC的一种方法。放电时SOC计算公式如下:
式中:ic为放电电流;QN为电池额定容量。
将式(1)表示成离散的形式:
式中:SOC(k)为第k个采样点的电池SOC;Δt为采样点k与k+1的时间间隔。
电动汽车在行驶过程中,电池内部时刻发生动态变化,因此精确的电池模型是描述锂离子电池动态特性的基础。由于电池本身为非线性系统,利用戴维南模型虽然可以建立表征电池充放电特性的电路模型,但是不能完全等效。因此,综合考虑模型误差和计算复杂度,本文在戴维南模型等效电路的基础上再添加1 个电阻-电容(R-C)回路,将电池模型表示为由1 个欧姆内阻与2 个R-C 回路组成的二阶R-C 回路结构[7]。该二阶模型与戴维南模型相比,具有更高的动态性能,可以分开等效电池极化问题中的电化学极化和浓差极化现象,精度更高[6,8],原理如图1 所示。
图1 二阶R-C 等效电路模型
图1 中:Uoc为电池的开路电压;U(t)为电池的端电压;I(t)为电池充放电电流;R0为电池内阻,R1和R2为极化内阻;C1和C2为极化电容。U(t)和I(t)是可以通过传感器直接测量得到的观测量,该电路模型参数的具体关系为:
式中:U1和U2分别为2 个R-C 回路的电压。具体状态方程和测量方程获取可参见文献[7]。
在二阶RC 等效模型中,开路电压能很好地跟踪锂离子电池的荷电状态,通过OCV-SOC 曲线可以得到荷电状态与开路电压之间的关系。该关系可通过充放电实验获得。具体步骤为:
(1)保持25 ℃的环境温度,使电池以0.2C的电流脉冲连续放电或者充电;
(2)每当充入或放出10%的SOC时,静置10 min;
(3)循环过程(2),直至电压达到充放电截止电压;
(4)取充电静置时间段和放电静置时间段的端电压,根据这些时刻的SOC确定数值。
为了使多项式拟合更加准确,利用Matlab 中的cftool曲线拟合工具箱对数据进行多项式拟合。为保证OCV-SOC 曲线拟合精度,避免因为曲线计算误差导致SOC预测精度的降低,参考图2可知,该曲线的多项式拟合阶次选为8次较为合适。
图2 OCV-SOC 多项式拟合曲线
锂离子电池等效模型的参数辨识主要包括以下几个部分:开路电压Uoc,欧姆内阻R0,极化内阻R1、R2和极化电容C1、C2。辨识的步骤分为,将锂离子电池SOC从100%到0%均分为10 等份,对锂电池进行混合脉冲功率性能(Hybrid Pulse Power Characterization,HPPC)实验,获得锂电池的电压、电流变化曲线,HPPC 曲线如图3 所示。将其中一次循环曲线图放大,如图4 所示。
图3 HPPC 循环工况实验电压、电流曲线
图4 HPPC循环工况局部电流、电压放大图
得到OCV-SOC 关系后,采用递推最小二乘法(RLS)对所建立的电池等效模型进行参数辨识。由图4(a)和(b)可知,欧姆电阻R0可由本次放电实验阶段和相邻上一次脉冲放电实验阶段的欧姆内阻计算结果的平均值得到。
在电池工作时,其内部的化学反应非常剧烈,并且受充放电倍率、温度等因素的影响,因此为了提高RLS 算法的自适应性,本文采用带可变遗忘因子的递推最小二乘法(VFFRLS)实现参数在线辨识。VFFRLS 算法是在RLS 算法的基础上,根据参数辨识过程中的估计误差ek的大小,自适应寻找遗忘因子最优值的改进算法[9]。
可变遗忘因子的数值会随着当前算法的估计误差以指数形式自适应地发生变化,为解决这一问题,利用数据开窗理论,遗忘因子的值由当前时刻采样点个数的估计误差均方值决定,从而提高算法的稳定性。另外,为避免由于估计误差的数值很小或者为0 导致遗忘因子的数值等于其最大值1这一情况,可在公式中使用某一小于1 的常数λmax替代。
利用这种可变遗忘因子方法,可以将遗忘因子的数值控制为一段时间内估计误差的均方值大小,并以指数形式在最大值和最小值之间自动寻找最优值。
在VFFRLS 中,只要将模型参数和系统输入量带入系统方程能够满足电池模型的数学表达式,欧姆内阻R0、极化内阻R1和R2、极化电容C1和C2这几个参数就可以通过反解得到。具体辨识步骤如图5 所示。
图5 参数辨识结构图
由于电池是动态系统,在参数控制方面较为复杂,在推导相应连续时间函数上存在一定困难,此外,在实际实验时,所有的外部参数均需要通过传感器采集,需要一定的采样周期,综上所述,离散的时间系统更加符合需求。
在离散系统中,可以将每个采样周期对应一个状态,而状态的变化可以理解为当前状态和下一状态之间的对应关系,具体表达为:
因为在实际的电池模型中必须考虑噪声的影响,因此需要引入噪声的概念,在式(4)和式(5)中,ωk和vk是互不相关的高斯白噪声,在状态方程中的噪声一般为电流测量噪声,在输出方程中的噪声为电压测量噪声。
根据电池等效电路模型,系统的三个状态变量分别是SOC和电容上的两个端电压,输入为电流,系统的观测变量为电池端电压,可得模型的状态和观测方程:
式中:ωk和vk为互不相关的高斯白噪声;η为库仑效率;T为采样周期;τ1和τ2为模型并联电路的时间常数,其中τ1=R1C1,τ2=R2C2;It(k)为k时刻的输入电流;e为常数。
AEKF 算法采用自适应协方差匹配算法来对噪声的协方差矩阵进行自适应更新,具体流程如图6 所示。
图6 AEKF算法结构图
与卡尔曼滤波不同,H∞算法能够处理存在建模误差的系统,同时允许在不确定的噪声环境下进行参数控制。
针对离散状态空间方程,H∞滤波首先需要定义估计矩阵Lk在系统xk中真正想要估计的对象zk,即:
H∞定义如下所示的代价函数J。在N-1 时刻,在判断估计对象的精度时,令代价函数J满足:
式中:x0和分别为初始状态量和初始状态量的设定值;P0为协方差矩阵的初始误差;Qk为状态噪声的协方差矩阵;Rk为测量噪声的协方差。
H∞滤波的目的是使分母最小化。由于直接最小化代价函数J比较困难,因此需要设置一个合适的边界条件θ使之满足:
将式(9)带入式(10)得:
设计一种能够兼具AEKF 算法和H∞滤波算法优点的方法,即AEKF 和H∞联合估计算法。为了实现联合估计算法,对两种算法进行权值分配。
权值的分配计算是该算法的重要组成部分。不同时刻的新息权值会直接影响SOC估计的准确性。参考粒子滤波算法的权值计算可以发现,最接近观测值的粒子权值较高,而距离最近观测值较远的权值较低。因此可以将新息作为粒子来考虑,并且采用高斯函数计算每个新息的权值[10]。权重α(k-j+1)的计算方程如下:
式中:j=1,2,…,p;M(k-j+1)为M(p,k)中j时刻的新息;α(k-j+1)为j时刻新息的权重;σ2为噪声方差。
为得到每个新息的权重,标准化j时刻新息的权重值α(k-j+1):
假设所有新息的权重之和为新息的长度p,则新息权重可以写为:
联合算法流程如图7 所示。
图7 联合估计算法结构图
综上所述,算法输入为采样周期内任意时刻的负载电流和端电压,OCV-SOC 关系,电池模型参数;算法输出为对应k时刻的SOC估计值。基于AEKF 和H∞算法联合估计算法的伪代码归纳如下:
(1)初始化各项参数;
(2)k=1 判断循环首(k<循环次数);
(3)分别更新k-1 时刻的预测状态矩阵X、预测协方差矩阵P、增益矩阵H;
(4)标准化各项参数;
(5)计算得到k时刻的权重分配以及加权新息向量;
(6)将系统时间向后推至k+1,进行下一时刻的参数辨识和SOC估计。
为了验证本文提出的AEKF 和H∞滤波联合估计SOC值的算法性能,在动态压力测试(Dynamic Stress Test,DST)工况下,将安时积分法估计的SOC值作为参考值,分别采用VFFRLS 在线辨识参数的AEKF 算法、H∞滤波算法及联合估计算法,对锂离子电池SOC进行估计,并对估计结果进行分析比较。
DST 循环工况实验根据北京理工大学提出的电动汽车动力电池动态测试工况指定,可以测试动力电池的动态性能和评价动力电池在对应工况下的适应性。DST 循环工况实验的一个循环由一系列充放电脉冲组成,具体分为四个阶段:首先将电池静置一段时间,前三个阶段均以7.5 A 的电流进行恒流放电,紧接着改变放电电流大小,以15 A 大小的电流对电池恒流放电,再以7.5 A 的电流进行恒流恒压充电;第四阶段,首先将电池静置到稳定状态,以7.5 A 恒流放电,再以30 A 恒流放电,接着以18 A 恒流放电,改变电池充放电状态,以15 A 恒流恒压充电,再以15 A 恒流放电,最后以30 A恒流恒压充电,单次循环结束。整个动态测试实验共循环50次。DST 循环工况电压、电流曲线如图8 所示。SOC仿真结果如图9 所示。
图8 DST循环工况电压、电流曲线
图9 DST循环工况下SOC估计曲线
由图9 可以看出,在DST 工况下,3 种不同算法的估计值都能较好地跟随真实值,其估计误差如图10 所示。具体状态误差的指标对比情况如表1 所示。
图10 DST循环工况下SOC估计误差
表1 DST 工况下3 种算法的估计结果对比 %
由图10 可知,三种算法的鲁棒性都较好,H∞算法的初始误差较大,但能够在100 次迭代以内将误差收敛到5%以下,并且在放电的中末期与实际值拟合程度极高,误差在0.5%附近。改进后AEKF 算法在放电初期和后期的误差都较小,只是中期的误差较高,在3%附近。AEKF 和H∞联合估计算法的误差比H∞滤波算法及AEKF 算法的估计误差小,最大绝对误差为0.12%,平均绝对误差为1.9%,均方根误差为0.01%,精度比单独使用AEKF 和H∞滤波更高。满足GBT 38661-2020《电动汽车用电池管理系统技术条件》5.5 要求的SOC预测误差≤5%的考核标准,说明算法对SOC的预测效果良好。
本文采用带可变遗忘因子的递推最小二乘法(VFFRLS)与开窗理论相结合的方法,对锂离子电池二阶R-C 等效电路模型进行参数辨识,并结合粒子滤波的权重分配思想,通过历史信息调用,根据不同时间新息点的重要性分配不同的权重,将AEKF 和H∞滤波结合,采用两种滤波联合的算法来对锂离子电池的SOC进行估计。对二阶R-C 等效电路模型进行参数辨识选择VFF-RLS 及开窗理论相结合,既减小了估计误差,又使电路模型具有较好的动态适应性。使用AEKF 算法、H∞滤波算法及联合估计算法分别对电池的SOC进行估计,将模型的输出结果与实际参考值进行对比,得出在DST 工况下,AEKF及H∞滤波联合估计的算法具有精度更高的结论。