APP下载

不同温度下基于FFRLS-AEKF的锂电池SOC估计

2022-07-07谭天雄吴立锋袁慧梅

计算机应用与软件 2022年5期
关键词:卡尔曼滤波误差电流

谭天雄 朱 骏 吴立锋 袁慧梅

(首都师范大学信息工程学院 北京 100048)

0 引 言

随着全球能源危机和气候变暖状况的加剧,对于电动汽车的研究引起了工业界和学术界越来越多的关注[1]。动力电池作为电动汽车的核心部件,是决定电动汽车产业健康与快速发展的关键因素。锂离子电池具有能量密度高、循环寿命长、自放电率低、无记忆效应和绿色环保等特点使其成为电动汽车的首选。尽管锂离子电池的研究和工业应用已经取得了很多进展和成果,但电池的安全性与寿命问题仍然限制了电动汽车的普及。这种情况需要一个精确的电池管理系统(Battery Management Systems,BMS)来实时控制电池,特别是估计实际的电荷状态(State of Charge,SOC)[2-3]。动力电池的电荷状态SOC即动力电池剩余电量,是描述电池状态的重要参数之一。精准的SOC估计是BMS的核心任务,动力电池在工作过程中,整车控制器需要根据BMS提供的SOC分配各系统能量,实现最优控制[4-5]。

由于电池系统具有时变性和非线性,想要在实际应用中直接在复杂的电化学过程以及各种影响因素之下测量其SOC是十分困难的[6]。目前,SOC估计的方法主要有库伦计数法、开路电压法、神经网络法和基于模型的滤波方法等。库伦计数法由于其原理简单且计算方便的特点,得到了广泛的应用。然而,库伦计数法的性能高度依赖于电流的测量精度,并且这种开环计算的方法会由于缺少自动纠错能力以及实际操作中不确定因素的干扰而造成误差的累积[7]。开路电压法通常与库伦计数法一起使用,以提高SOC估计精度,但是其需要大量的时间和精力进行测量,因此不适用于在线估计[8]。神经网络法基于黑盒模型来描述输入和输出变量的强非线性关系,且需要大量的高保真实验数据,而这些数据的采集会带来极大的开销[9]。基于模型的卡尔曼滤波方法是现在研究的热点,该类型方法计算精度高、计算量小,且能够抑制噪声的特点[10]。文献[11]比较了多种等效电路模型,发现二阶RC模型具有精准度高和复杂度适中的优点。扩展卡尔曼滤波算法(Extended Kalman Filter,EKF)是SOC估计最常用的方法之一。文献[12]搭建了平台以验证EKF方法,然而其受到不确定噪声的影响很大。文献[13]应用基于自适应扩展卡尔曼滤波器(AEKF)的方法来实现SOC估计,通过自适应的更新过程和测量噪声协方差来提高估计精度。然而,上述方法并不能对电池模型参数进行实时更新,为了避免这个缺点,文献[14-15]使用AEKF与递推最小二乘法(RLS)相结合,实时更新模型参数,由于其闭环反馈的结构,具有更好的SOC估计精度。

然而,环境温度作为影响电池SOC估计的重要因素,上述方法并未考虑。本文考虑温度的影响,分别建立了基于温度影响的二阶RC模型、OCV-SOC函数关系与电池容量模型,并采用具有遗忘因子的最小二乘法(FFRLS)与改进的自适应扩展卡尔曼滤波算法(AEKF)在线识别参数,并对SOC进行估计。分别在不同的环境温度下进行多种工况实验,验证所提出的联合估计方案的有效性。

1 基于温度的电池模型建立

基于电池模型和滤波器实现的闭环估计是近年来研究的热点。电池模型分为电化学模型与等效电路模型。电化学模型是许多基于电化学反应机理而开发出来的偏微分方程[16],其计算复杂度高,难以获得参数[17]。而等效电路模型(ECM)具有结构简单、参数集中、计算量小、物理意义清晰、电压拟合精度高等优点,因此被广泛应用在SOC估计方面[18]。

1.1 锂离子电池建模

对基于模型的预测方法来说,模型的精度及其复杂性是至关重要的。常见的电池等效电路模型基本包含在含有n阶RC的模型中。具有0阶RC的模型是Rint模型,1阶RC的模型是Thevenin模型,2阶RC的模型是DP模型[19]。研究表明,随着RC网络数量的增加,模型的数学表达也变得更加复杂,过多的RC网络会对模型的参数识别及SOC估计造成更大的困难,不利于电池管理系统的计算[20]。二阶RC模型具有良好的精度与适中的复杂性,较好地体现了电池内部的物理意义,综合考虑,本文选择了二阶RC模型作为电,结构如图1所示。

图1 二阶RC模型结构

图1中:Voc代表开路电压OCV,OCV与SOC有着非常强的非线性关系,且与温度密切相关;I是负载电流,V代表电池的端电压;Re为电池的欧姆内阻;Rs和Cs所组成的RC并联网络描述了电化学极化,即电池端电压快速变化的部分,Vs表示其电压;Rl和Cl所组成的RC并联网络描述了浓差极化,即电池端电压缓慢变化的部分,Vl表示其电压。根据基尔霍夫电压和电流定律,所提出模型的电学行为可由式(1)表示:

(1)

1.2 获取OCV-SOC与温度的关系

由于电极电位和放电容量之间的单调关系,OCV通常用于校正SOC[21]。温度对电池的SOC的估计有着极其重要的影响,尤其是在低温环境中。通常在较低的工作温度下,锂电池的化学反应活性和电荷转移速度都会降低,从而导致SOC估计往往出现偏差。通过考虑温度对SOC-OCV关系的影响,建立一个准确的SOC-OCV-T查找表,可以在广泛的温度范围内准确地进行SOC估计。由于电极电位和放电容量之间的单调关系,OCV通常用于校正SOC。通常,OCV-SOC曲线可以通过电池测试获得[10]。

一般情况下,锂电池可接受温度范围是-20 ℃~60 ℃,最佳温度范围是15 ℃~35 ℃[22]。根据天气网的数据,我国全年日均最高温度约为20 ℃,全年日均最低温度约为7 ℃。因此本文分别选取了20 ℃、7 ℃及可以体现相对极端条件下的-16 ℃三个温度,对不同温度下的OCV-SOC进行测试,具体步骤如下:

Step1获取不同温度条件下的电池放电关系曲线:首先使用1 C速率的恒定电流将电池充电至其上限截止电压(1 C速率意味着电池的完全放电需要大约1小时才能完成);然后以0.2 C的电流,对电池放电15分钟;静置15分钟,通过Ah积分法计算当前的SOC,并且测量得到电池的OCV;循环以上过程,直至电池放电至终止电压。获取不同温度条件下的电池放电关系曲线。

Step2获取不同温度条件下的电池充电关系曲线:对已经到达终止电压的电池施加0.2 C的电流,对其充电15分钟;然后静置15分钟,通过Ah积分法计算当前的SOC,并且测量得到电池的OCV;循环以上过程,直至电池充电至截止电压。

Step3使用插值法获得不同温度条件下的OCV-SOC关系曲线:由于电池是以低电流进行充放电测试,并且每一个过程都有一个静置时间,使得电池内部的极化反应降到最低。同时,本文采用插值法获取OCV-SOC-T的关系曲线,通过平均充放电过程的端电压得到OCV,降低了电池的磁滞现象与欧姆电阻的影响。

通过插值法获取到受温度影响的OCV-SOC曲线如图2所示。

图2 OCV-SOC在不同温度下的关系曲线

可以看出,当电池的SOC数值处于较低的情况下,更低的温度环境会使电池拥有更高的OCV值,而当电池的SOC数值处于较高的情况下,更高的温度环境会使电池拥有更高的OCV值。所以温度对OCV-SOC关系的影响是复杂的非线性影响。为了保证模型的高准确性与适中的复杂性,通过拟合对比,最终本文采用式(2)来描述基于温度影响的OCV-SOC的关系。

Voc=f(SOC,Temperature)=K1+K2z10+K3z9+

K4z8K5z7+K6z6+K7z5+K8z4+K9z3+K10z2+

K11z+K12T+K13zT+K14z2T2

(2)

式中:K1,K2,…,K15为待测参数;z代表SOC;T代表温度。经过对不同温度下的数据进行多元线性回归,并对其进行拟合验证,结果如图3所示,误差结果如图4所示。

图3 OCV-SOC-T模型拟合结果

图4 OCV-SOC-T拟合误差

由图4可以看出,在-16 ℃时,最大拟合误差为0.026 V;在7 ℃时,最大拟合误差为0.014 V;在20 ℃时,最大拟合误差为0.03 V。由此可见,本文提出的OCV-SOC-T的关系模型可以较好地表现出不同温度下的OCV与SOC的关系,为之后的SOC预测工作奠定了坚实的基础。

1.3 电池容量模型

温度是影响电池容量的重要因素之一。随着温度的降低,电池的可用容量也会随之降低。由于电池的可用容量为计算SOC的重要因素之一,为获取温度对电池容量的准确影响,本文通过实验,以25 ℃时的电池容量为100%,分别测试了在-10 ℃、0 ℃、10 ℃、20 ℃、30 ℃、40 ℃的环境温度下的电池可用容量,并根据测量结果,采用5阶多项式拟合的方法计算出温度与电池容量之间的关系,如图5所示。且拟合标准SSE为0.000 148;R-square为1;Adjusted R-square为1;RMSE为0.012 17,因此本文采用式(3)作为电池的容量模型。

图5 温度与电池容量的关系

Cn=p1T5+p2T4+p3T3+p4T2+p5T+p6

(3)

式中:Cn表示电池可用容量;p1,p2,…,p6是拟合参数;T表示环境温度。

2 模型参数识别

等效电路模型(ECM)的参数对于环境温度、SOC值等操作条件极其敏感。如果可以在汽车操作的过程中有效地识别出这些模型参数,那么对于提高SOC预测的精度会有很大的帮助。递推最小二乘法(RLS)已被广泛应用在参数识别中,但是标准的RLS往往会容易造成数据饱和。因此本文使用带有遗忘因子的递推最小二乘法(FFRLS)对ECM参数进行实时的在线识别,使用遗忘因子λ更好地将权重分配给旧数据及邻近数据。FFRLS具有拟合精度高,响应速度快、计算量小的特点,其具体过程见算法1。

算法1FFRLS操作流程

系统模型如式(4)所示:

Yk=φkθk+ek

(4)

Step2算法迭代fork=1 ∶N。

根据电流与电压值,得到φk

计算增益矩阵:

(5)

更新参数向量:

(6)

更新协方差矩阵:

(7)

若要使用FFRLS进行参数识别,首先要先求得其所需要的差分方程。ECM的状态方程可以通过线性离散形式离散化:

(8)

通过对式(8)进行Laplace变换和整理,可以得到二阶RC等效电路模型的复频域(S域)表达式:

(9)

式中:E(s)=V(s)-Voc(s)。因为电池端电压V,开路电压Voc以及电流I都是可以通过离线方式得到的。

通过对式(9)进行通分整理,可以得到:

(as2+bs+1)E(s)=-I(s)(cs2+ds+e)

(10)

其中:

(11)

由于式(17)是在S域中的表达式,所以令:

(12)

式中:Δt为采样间隔。将式(12)代入式(10),通过整理可以推导出最小二乘法所需要的差分方程:

Ek=k1Ek-1+k2Ek-2+k3Ik+k4Ik-1+k5Ik-2

(13)

其中:

(14)

综上所述,算法1中的参数向量和数据向量分别为:

(15)

遗忘因子λ通常取0.9~1之间。最后通过式(11)与式(14)之间的关系,求得模型参数Re、Rs、Rl、Ce、Ce。

3 基于自适应扩展卡尔曼滤波的SOC估计器

3.1 SOC定义

SOC定义为剩余容量与当前最大可用容量之比:

(16)

式中:zk是在采样时间k时刻的SOC值;z0是SOC初始值;ηi是库伦效率,本文中设为1;It是瞬时负载电流;Cn,k为k时刻的最大可用容量,并受工作温度的影响。

为了执行SOC估计过程,根据库伦定律,此处构建了SOC基于时间序列过程的离散形式,如下:

(17)

式中:Ik是k时刻的瞬时负载电流;Δt是采样间隔。式(17)是SOC迭代计算的基础。

3.2 自适应扩展卡尔曼滤波算法

卡尔曼滤波器是一种最优的递归数据处理算法,但仅适用于线性系统[7]。对于像锂离子电池这样的非线性动态系统,扩展卡尔曼滤波器(EKF)算法使用泰勒公式展开的方法对状态系统的空间方程进行线性化,从而将卡尔曼滤波算法的构架应用在非线性系统中。然而此类算法的性能很大程度上依赖于预定噪声矩阵的准确性[8]。因此,本文提出了一种自适应扩展卡尔曼滤波算法(AEKF)。AEKF利用一个移动窗口,强调更近周期数据的作用,对窗口内数据赋予不同权值,从而得到一个创新协方差矩阵,最终采用协方差匹配的方法来更新过程噪声与观测噪声。

为了执行自适应扩展卡尔曼滤波算法,首先需要引入一个非线性离散系统,其状态方程通常如下:

(18)

式中:Ak是状态转移矩阵;Bk是控制矩阵;Ck是观测矩阵;Dk是传递矩阵;Γ是噪声驱动矩阵;xk是状态向量;uk是输入向量;yk是输出向量;ωk与υk是相互独立的高斯白噪声,并且过程噪声ωk具有零均值和误差协方差矩阵Qk,观测噪声υk具有零均值和误差协方差矩阵Rk;下标k与k-1分别表示采样时刻。

算法2展示了自适应扩展卡尔曼滤波的详细过程。

算法2AEKF算法

非线性空间状态模型。

状态转移方程:xk=Ak-1xk-1+Bk-1uk-1+ωk。

观测方程:yk=Ckxk+Dkuk+υk。

Step2迭代更新fork=1,2,…。

Step3测量更新。

自适应创新协方差矩阵:判断窗口长度N与k的关系。

3.3 FFRLS与AEKF联合在线估计SOC

为了将AEKF应用于SOC估计,需要一个形如式(18)的离散状态下的空间模型。所以,根据式(2)、式(8)和式(17),AEKF的状态转移方程与观测方程可以分别表示为:

(19)

g(xk,uk)=Voc,k(z)-IkRe-Vs,k-Vl,k

(20)

状态向量x、观测矩阵y、输入矩阵uk定义为:

(21)

系数矩阵Ak、Bk、Ck及Dk分别定义为:

(22)

(23)

(24)

Dk=-Re

(25)

式(24)中的dVoc(z)/dz需要在式(2)的基础上进行计算,结果如下:

6K6z5+5K7z4+4K8z2+3K9z2+

2K10z1+K11+K13T+2K14zT2

(26)

基于FFRLS-AEKF的SOC在线估计的框架由两部分组成,分别为在线参数识别的FFRLS与状态估计的AEKF。基于上述算法的支持,基于数据驱动的SOC在线估计操作流程如图6所示。

图6 FFRLS-AEKF的SOC估计框架

Step1测量电池实际负载电压、电流与工作温度,通过查找表的方式,得到SOC初始值。

Step2参数识别。利用测得的电池电压与电流,通过使用FFRLS方法在每个采样间隔识别模型参数,并将获得的参数结果发送到状态先验估计模块中以更新SOC。然后利用更新后的SOC通过式(2)计算OCV。之后,通过反馈更新后的OCV可以同步更新电压误差,并逐渐获取最佳参数。

Step3自适应SOC估计。将得到的模型参数以及电压误差输送给SOC估计器中,并通过改进的AEKF算法,逐步迭代,获取准确的SOC估计值。

本文中FFRLS的遗忘因子设置为0.98。AEKF中移动窗口的大小设置为步长50。SOC的均方根误差RMSE与平均误差MAE可以表示为:

(27)

式中:zr,k是SOC真实值;ze,k为通过AEKF算法预测后的结果。

4 实验验证与讨论

4.1 实验装置

实验系统由计算机、采集设备、锂离子电池、电子负载仪、直流稳压电压和温箱组成。其中,电池选用迪比科公司的5 000 mAh的锂离子电池,其余部分适当选配。

4.2 实验结果

为了模拟电池在不同的环境温度下工作,并能够有效地平衡实验效率与结果的可靠性,本文将电池分别在20 ℃、7 ℃及-16 ℃的工作温度下进行多种工况测试,分别使用传统EKF算法、扩展卡尔曼粒子滤波EKPF算法与AEKF算法进行SOC估计,并且对预测结果进行误差分析。由于SOC的值不能直接测得,因此SOC真实值是通过对电流进行采样,并且使用安时积分法计算得到的。同时,为了评估基于数据驱动的参数识别方法和自适应SOC估计器的预测精度,本文通过使用查找表的方法,准确地初始化SOC的初始状态。经过对传感器精度和对实测数据的统计分析,初始过程噪声协方差矩阵设置为Q=[2×10-7,0,0;0,4×10-5,0;0,0,4×10-5];初始测量噪声协方差矩阵设置为R=4×105。

4.2.120℃工作温度下的脉冲电流放电验证。

在工作温度为20 ℃的情况下,使用0.2 C的电流对完全充电的电池进行脉冲行放电,每放电15分钟,进行一次时长为15分钟的静置,循环以上步骤,直至到达电池的截止电压。其工作电流、工作电压及预测电压的情况如图7所示,电压估计误差如图8所示。

图7 20 ℃脉冲放电工况下工作电流、电压及预测电压

图8 20 ℃脉冲放电下预测电压误差

对比图7和图8可以看出,随着电压在后期的明显跳变,使得电压预测误差在此阶段有明显的增加。经过对误差的整理分析,利用温度模型对电池端电压的预测的最大误差为0.02 V,平均误差为0.001 533 V。结果表明,温度模型可以较好地预测电池电压。其原因分析如下:基于FFRLS的在线参数识别方法可以调整FFRLS增益并利用误差协方差与数据信息矩阵实时地将电压误差最小化。之后,利用参数识别的结果,使用AEKF算法减小噪声干扰并尝试精准预测SOC以此获得最佳OCV,从而进一步最小化电压误差。在同等条件下,与传统扩展卡尔曼滤波算法及扩展卡尔曼粒子滤波算法进行SOC估计的对比及误差分析分别如图9、图10所示。

图9 20 ℃下脉冲放电SOC估计对比

图10 20 ℃下脉冲放电SOC估计误差对比

可以看出,对于SOC估计,本文提出的AEKF算法要比传统的EKF算法及EKPF算法更加精准。传统EKF算法会随着误差的积累而误差逐渐增大,EKPF则利用EKF的结果作为采样点通过PF来估计SOC,该算法虽然较好地保证了估计的精确度,但由于其复杂的算法过程,消耗了太多的运行时间。而本文提出的AEKF算法则利用一个可移动的窗,并且对窗内数据进行权值分配,强调更靠近预测点的数据的作用,迭代更新每一步的噪声矩阵,使得噪声控制在很小的范围内,从而准确地估计SOC。通过对三种算法的误差及运行时间进行分析,可以得到表1。

表1 20 ℃下算法对比

可以看出,AEKF算法虽然在运行时间上会较传统EKF算法增加一倍,但总体不到1秒,所以由时间增加所造成的影响可以忽略不计,其依旧可以很好地完成在线估计的任务;对于RMSE、MAE及最大误差,AEKF算法分别降低了1.963 1百分点、1.806 3百分点、3.485 5百分点。而对比EKPF,虽然RMSE、MAE及最大误差等指标只是小幅改善,但运行时间有非常明显的改观,为日后实际应用奠定了基础。

4.2.220℃工作温度下的随机电流放电验证

为了更好地模拟电池在实际应用中的情况,本节在20 ℃的情况下,对已经完全充电的电池进行随机电流放电,直至截止电压结束。其工作电流、工作电压以及预测电压的情况如图11所示,电压估计误差如图12所示。

图11 20 ℃随机工况下工作电流、电压及预测电压

图12 20 ℃随机工况下预测电压误差

图11描述了在20 ℃工作温度下,电池的工作电流、电压及通过模型预测的电压情况。从图12中可以看到,相比于脉冲放电实验,随机工况下的电压预测误差略有升高,但仍处于一个很低的水平之内。因此可以得出,基于温度模型的二阶RC模型,利用FFRLS-AEKF闭环预测的方法,可以很好地预测在室温环境下的电池电压。

图13与图14分别对比了使用AEKF算法与传统EKF算法及EKPF算法对SOC进行估计的结果及其误差分析。

图13 20 ℃随机工况下SOC估计对比

图14 20 ℃随机工况下SOC估计绝对误差对比

可以看出,在20 ℃随机工况下,AEKF算法依旧表现良好,将噪声对SOC估计的干扰降到最低。对噪声进行更进一步的分析计算,结果如表2所示。

表2 20 ℃随机工况下算法对比

与室温脉冲电流放电情况类似,AEKF算法虽然在运行时间上较EKF算法略有增长,但是其误差标准RMSE、MAE以及最大误差都有较大的下降。由于随机工况更加大了噪声对预测的干扰,AEKF算法相比于EPKF算法拥有更高的精度,且用时更短。因此,本文提出的FFRLS-AEKF算法可以保证短时精准地在室温环境下进行SOC估计,为应用于BMS系统奠定了坚实基础。

4.2.3不同温度下脉冲充电验证

为了验证本文提出的温度模型及FFRLS-AEKF算法是否可以准确地估计处在不同工作温度情况下的电池SOC,本节将在20 ℃、7 ℃及-16 ℃的工作温度下,分别以0.2C脉冲电流对已经完全放电的电池充电,充电15分钟,然后静置15分钟,循环此过程,直至将电池充电至终止电压。

图15描述了电池在20 ℃下的脉冲充电情况,其中:图15(a)描述了电池的工作电流、电压及基于模型预测的电压值;图15(b)描述了电压预测误差;图15(c)为SOC估计;图15(d)为SOC估计的绝对误差。

(a) (b)

(c) (d)图15 20 ℃下脉冲充电

图16描述了电池在7 ℃下的脉冲充电情况,其中:图16(a)描述了电池的工作电流、电压及基于模型预测的电压值;图16(b)描述了电压预测误差;图16(c)为SOC估计;图16(d)为SOC估计的绝对误差。

(a) (b)

(c) (d)图16 7 ℃下脉冲充电

图17描述了电池在-17 ℃下的脉冲充电情况,其中:图17(a)描述了电池的工作电流、电压及基于模型预测的电压值;图17(b)描述了电压预测误差;图17(c)为SOC估计;图17(d)为SOC估计的绝对误差。

(a) (b)

(c) (d)图17 -16 ℃下脉冲充电

对每个温度下的SOC估计进行误差分析,结果如表3所示。

表3 不同温度情况下的电池SOC估计对比

从图15、图16、图17可以看出,温度模型很好地将各个温度的电压预测出来。分析表3可以得出,在不同的工作温度下,FFRLS-AEKF算法对电池SOC估计的准确性都较高。以上结果足以证明,本文提出的温度模型可以较好地表达出电池在各个温度下的特性,并通过使用提出的FFRLS-AEKF算法保证了SOC估计的准确性。

5 结 语

本文建立了基于温度的电池模型,其中包括了温度容量模型、温度与OCV-SOC的关系函数。采用带有遗忘因子的最小二乘法实时进行参数更新,并采用改进的自适应扩展卡尔曼滤波算法对SOC进行估计。

为了探索本文所提出的框架及算法的应用精度及时间成本,将改进的算法与传统的扩展卡尔曼算法及扩展卡尔曼粒子滤波算法进行对比。结果显示,本文所提出的FFRLS-AEKF框架及算法的精度具有很高的水平,并且在运行时间方面较其他算法有着很大的优势。同时,为了验证本文所提出的框架及算法是否可以应用在更大的温度范围内,将电池分别在20 ℃、7 ℃、-16 ℃的工作温度下进行实验验证,经过计算,SOC估计在各个温度下的RMSE在0.5%以下,MAE在0.6%以下,最大误差在1.2%以下。综上所述,本文所提出的温度模型较好地描述了各个工作温度下的电池特性,同时本文所提出的SOC预测框架及算法可以实时且精准地估计SOC。

猜你喜欢

卡尔曼滤波误差电流
基于无迹卡尔曼滤波的室内定位系统
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
标定电流与额定最大电流的探讨
基于改进连续自适应均值漂移的视频目标跟踪算法
自平衡两轮电动车运动控制系统的硬件设计及实现
精确与误差
交变电流基本知识汇总