基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

摘 要:锂离子电池荷电状态(SOC)是电池管理系统(BMS)重要的参数之一,准确估计可以提高电池的使用寿命。然而在SOC估计过程中,会受到如测量设备的精度、噪声等外界因素的干扰,降低SOC的估计精度。为了提高 SOC的估计精度,针对扩展卡尔曼滤波(EKF)算法易受噪声干扰,提出了以新息自适应扩展卡尔曼滤波来提高SOC的估计精度和稳定性。通过实验工况采集的数据,并与传统的EKF进行对比,估计误差可以控制在3%以内,验证了该模型的有效性。


  关键词:锂离子电池;BMS;SOC;扩展卡尔曼滤波


随着新能源电动汽车的大规模普及,锂离子电池以其比能量高、体积小、可回收利用等优点,成为新能源汽车使用的主要动力电池。合理使用锂离子电池有助于延长电池寿命、降低使用成本。作为电池管理系统重要参数之一,如果能有效地估计SOC,就可以确保锂离子电池的最佳工作状态,从而提高电动汽车的可靠性,所以准确的实时估计SOC是首要考虑参数。
为了提高SOC估计器的性能,国内外研究学者开发了多种SOC估计算法,主要包括安时积分法、开路电压法、数据驱动法和模型法。安时积分法可以实现在线估计SOC,应用较为广泛,但是初始值SOC的确定及电流传感器精度不高,都会使SOC在使用安时积分法时造成误差的累积,影响估计精度。开路电压法虽能很好地展现电压与SOC之间的关系,但为了获得稳定的电压,电池需要静置一段时间,因此不能在线估计SOC。基于数据驱动算法估计SOC有很多,包括支持向量机和神经网络。虽然提高了估计精度,但计算量大且耗时长。为了克服以上问题,基于电池模型得到了大量的应用,其中基于卡尔曼电池模型的算法得到了研究。卡尔曼滤波方程具有闭环校正结构,解决了初始SOC值误差大的难题,不需要大数据集来训练电池模型。文献中使用了扩展卡尔曼滤波进行估计。但是由于EKF在估计时,噪声协方差是随机设定的,因此,SOC的估计精度很难保证。为了提高SOC的估计精度,提出了自适应新息来调整系统噪声协方差,从而提高系统的稳定性。

1 电池建模

1.1 电池模型

目前有很多常用的电池模型,包括Rint模型、戴维南模型等。由于锂离子电池是一个非线性系统,综合考虑模型精度,复杂性以及计算量等因素,文中选取一阶等效电路模型作为电池模型,图1为一阶等效电路模型结构图。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图1   一阶RC等效电路模型
式中,基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计是开路电压欧;基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计是欧姆内阻;RpCp分别是电池的极化内阻和极化电容,并构成一阶RC等效电路,Up为RC两端的电压,UL是端电压。根据基尔霍夫定律可得到电池模型的状态方程

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (1)
而SOC的定义为电池的剩余容量与额定容量的比值,用安时法计算得到

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (2)
式中,Cr表征电池的剩余容量;Ct表征电池的总容量;SOC0表示电池的初始状态;i(θ)是当前时刻的电流;η表示充放电效率;Q0是电池的额定容量。将式(1)和(2)离散化后作为卡尔曼滤波算法的状态方程和观测方程

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (3)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (4)
式中,x=[SOC, Up];T为采样时间;基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计=基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计为时间常数,式(3)即为卡尔曼滤波的状态方程,式(4)即为相应的观测方程。

1.2 SOC-OCV获取

为了验证模型的有效性,首先需要进行电池模型的参数辨识,由式(3)和式(4)可得,所需辨识的参数包括基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计RpCp以及Uoc。首先通过开路电压测试来得到SOC-OCV曲线。文中选取某三元锂离子电池作为测试对象,电池详细参数如表1所示。

表1   电池信息

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计开路电压实验过程如下:①首先进行充电测试,将电池以1/2C电流将电池放电到截止电压,静置1 h,待其稳定后,测试电池的开路电压,即为SOC=0;②然后开始以1/2C电流充入5%的容量,静置1 h,测试SOC=5%时的开路电压;③重复②步骤,直到SOC=100%;④记录相应的实验数据。图2即为测试的SOC-OCV曲线。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图2   SOC-OCV曲线基于最小二乘定理,选用MATLAB拟合工具箱中的lsqcurvefit函数,建立SOC和OCV之间的关系式,得
基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (5)
将所测得的开路电压OCV和SOC数据代入式(5),可得到相应的系数a=(4.06, -12.16, 14.58, -8.71, 3.05, 3.70)。

1.3 基于最小二乘法的参数辨识

虽然离线参数辨识法简单,在BMS中容易实现,但由于参数已固定,电池运行时会受到温度、环境的影响,因此基于离线参数辨识的模型会降低SOC的估计精度,基于以上分析,文中选取最小二乘法对参数进行在线参数辨识。对式(1)进行拉式变换,可转化为

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (6)
基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计,则其传递函数为

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (7)
然后利用双线性变换公式将式(7)离散化,双线性变换式为

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (8)
将式(8)代入式(7)可得方程

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (9)
式中,式(9)为化简后的差分方程,a=[基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计]是对应的系数,通过式(5),(6),(7),(8),(9),即可得到相应的参数

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (10)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (11)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (12)
因此,得到数学模型的输出矩阵基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计,参数矩阵基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计和数据矩阵基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (13)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (14)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (15)
因此,利用实时采集锂离子电池的电压,电流作为式(13)的输入和输出,利用递推最小二乘法(recursive least square,RLS)来求解模型的基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计。RLS具体步骤如表2所示。

表2   基于RLS的在线参数辨识

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

2 基于自适应卡尔曼滤波算法的SOC估计

2.1 扩展卡尔曼滤波算法

卡尔曼滤波(KF)是利用前一时刻估计的状态值和当前时刻的观测值进行比较来更新状态值的估计,但是KF只适合线性系统,而锂离子电池内容各参数之间的关系呈非线性关系,因此,采用扩展卡尔曼滤波(EKF)对系统的状态值进行估计。EKF的状态方程和观测方程为

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (16)
基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计是系统方程的状态变量和观测变量;基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计是为基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计时刻均值为0的噪声协方差矩阵。在基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计时刻,用一阶泰勒公式对基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计展开

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (17)
将式(17)代入式(16)可得线性化后的系统状态方程和观测方程如式(18)所示

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (18)
根据式(3)和(4)定义的系统方程,通过式(16)可得到式(19)的相关系数

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计;基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (19)
因此,EKF 算法流程如表3所示。

表3   EKF算法流程图

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

2.2 自适应卡尔曼滤波算法

EKF在实际过程中,算法的估计精度易受到状态方程和观测方程噪声协方差的影响。由于传统的EKF在估计时,噪声协方差的设定往往通过人为经验,当噪声信息变化时,会导致EKF的估计精度下降。因此为了更好地估计SOC,文中提出了利用新息与EKF相结合的方法,通过新息来实时更新系统方程中的状态噪声和观测噪声的协方差,来提高SOC的估计精度。文中设定的新息为滤波器估计的电压值和实际测量的电压值之间的差值

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (20)
利用开窗估计方法,获得新息协方差矩阵

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (21)
基于滤波新息协方差矩阵基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计,得到系统和观测噪声协方差的自适应估计

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (22)
因此,图3展示了基于新息与EKF相结合的自适应卡尔曼滤波算法SOC估计流程图。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图3   AEKF估计流程图

3 实验验证

为了验证自适应EKF的有效性和高精度性,本次实验利用电池充放电设(Arbin-BT2000)对电池进行相关实验,选择的RGD-500来控制实验温度,并利用Fluke数据采集仪进行数据采集。为了减小电池本身对实验的影响,先将电池的电量完全放完,消除电池内部的极化反应等现象,然后将电池静置3 h,使电池各项参数达到稳定后将其放入温箱。图4为UDDS 工况下采集的电流、电压以及参考值SOC,在20 ℃下样本采集时间为1 s,共采集2200个数据。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图4   UDDS工况循环
为了验证SOC的估计精度,文中采用两个评估标准来比较模型性能:实验和预测SOC之间的均方根误差(RMSE)和最大绝对误差(MAE),定义如下

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (23)

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计 (24)
式中,y*为估计值;y为参考值;N为样本个数。为验证所提模型的性能,与EKF进行比较。
图5为一阶RC等效电路模型在UDDS下估计的端电压比较。从图5(a)和图5(c)可以得知,无论是EKF还是AEKF,所估计的电压趋势均与参考值相似,但从图5(b)和图5(d)可知,利用RLS进行在线参数辨识后,基于AEKF估计的电压精度高于EKF估计的电压精度,其中,AEKF估计端电压的误差为-0.48~0.53 V,而EKF的电压误差为-0.88~0.81 V,最大绝对误差MAE提高了39.8%,其模型的稳定性参数RMSE提高了14.1%,验证了所提模型的高精度性和稳定性。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图5   端电压估计值以及误差:(a) EKF预测图;(b)端电压误差;(c) AEKF预测图;(d) 端电压误差
图6显示了模型在EKF和AEKF下SOC的估计效果。从图6(a)可以看出,基于EKF和AEKF估计的SOC变化趋势类似于参考值,且AEKF估计曲线相比EKF更接近于参考值。从图6(b)可以得出,基于AEKF所估计的SOC误差为-0.0114~0.0129,EKF估计的SOC误差为-0.003~0.027,最大绝对误差MAE提高了52.2%,模型的稳定性参数RMSE提升了20.2%,表明基于AEKF不仅可以提高SOC的估计精度,而且还能提高模型的稳定性。从图5(b)可以看出,在0~200 s区间内,AEKF估计SOC误差波动较大,证明在初始状态时,AEKF算法通过自适应调整的功能,不断利用噪声协方差来调整模型的估计能力,使得SOC在整个过程中相比EKF波动幅度小,验证了该算法可以通过计算新息来不断调整噪声协方差,从而提高对SOC的估计精度。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

图6   基于EKF和AEKF的SOC估计对比图(a)SOC估计图;(b)SOC估计误差

4 结 论

作为BMS重要参数之一,准确估计SOC尤为重要。由于电池内部是一个非线性系统,因此很难建立精准模型。为了提高SOC的估计精度,本文利用一阶RC等效电路模型作为研究对象。然而电池在使用过程中,内部参数随时变化,因此为了提高模型精度,采用在线递推最小二乘法进行模型的参数辨识,并结合EKF对SOC进行估计。为了提高EKF的估计精度,提出了利用电压新息调整状态方程和观测方程的噪声协方差,并在UDDS工况下,将EKF和AEKF估计的SOC进行比较,实验结果表明,通过在线RLS辨识后,基于AEKF估计的端电压相比EKF最大绝对误差MAE提高了39.8%,估计的SOC 值MAE提高了52.2%,模型的稳定性参数RMSE也得到了提高,验证了模型具有较好的估计性能和鲁棒性。
引用本文: 李嘉波,魏孟,李忠玉等.基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计[J].储能科学与技术,2020,09(04):1147-1152. (LI Jiabo,WEI Meng,LI Zhongyu,et al.State of charge estimation of Li-ion battery based on adaptive extended Kalman filter[J].Energy Storage Science and Technology,2020,09(04):1147-1152.)第一作者:李嘉波(1992—),男,博士,研究方向为新能源汽车,E-mail:43991454 @qq.com。

基于自适应扩展卡尔曼滤波的锂离子电池荷电状态估计

上一篇:EM-EKF参数估计算法


下一篇:用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建三:配置spring并测试