基于AEKF在线辨识的电池SOC估计

2021-06-10 07:29宋俊辉闫志伟丁鑫权
关键词:卡尔曼滤波噪声电池

宋俊辉,沈 峘,闫志伟,丁鑫权

(南京航空航天大学 能源与动力学院,南京 210016)

电池作为现代各种可移动式设备或机械的供能装置得到了极为广泛的应用,但是在电池的使用过程中需要时刻关注其状态变化以达到更好的使用效果,而其中最需要关注的一项内容为电池的SOC(state of charge),即荷电状态[1-2]。

目前电池SOC估计的主要方法有安时积分法、开路电压法、内阻法、神经网络法、卡尔曼滤波法、粒子滤波法、模糊规则法等[3]。开路电压法、安时积分法与内阻法作为早期方法其结果精确度较低。刘东等[4]基于安时积分法加入电池开路电压曲线的拐点因素进行研究,但是拐点的选取与相关参数需要大量试验获取经验值。神经网络法所需数据样本较大不易实现,而粒子滤波法与模糊规则法的相关研究相对较少,尚未成熟。由于电池电压呈非线性,目前多采用扩展卡尔曼滤波法(extended kalman filter)将系统近似线性化后进行分析[5-6]。

电池数学模型相关参数的辨识主要有2种[7]:离线辨识与在线辨识。电池的实际相关参数会随着电池使用后老化发生一些无法用准确公式表达的变化,离线辨识的辨识结果是固定的,其精确度会随着电池的循环老化而降低。在线辨识的方法可以在电池循环中实时计算电池模型的参数,并通过SOC估计的结果参与闭环反馈,有效提升估计结果的准确性。

徐劲力等[8]采用在线参数辨识的方法对电池SOC估计进行研究,结果较离线参数辨识方法有所提升,将误差缩小至1.5%。彭湃等[9-10]采用自适应卡尔曼滤波法(adaptive kalman filter)弥补了常规卡尔曼滤波算法在未知干扰噪声环境下无法得到准确电池SOC估计结果的不足。王志福等[11]基于一阶RC电路模型,利用偏差补偿递推最小二乘法与自适应扩展卡尔曼滤波法(adapted extended kalman filter)结合进行电池的SOC估计,可以将误差抑制在1%以内。

基于上述分析,构建锂离子电池的二阶戴维宁模型并通过在线辨识法完成模型参数的实时修正,采用AEKF对锂离子电池进行SOC估计,目标为进一步提高电池SOC估计的精确性,结合试验与扩展卡尔曼滤波法的结果进行对比,验证算法优势。

1 锂离子电池建模与参数辨识

1.1 电池建模

锂离子电池的模型为后续计算与分析的基础,选择较为合适的模型建立方法对电池SOC估计结果有较大影响。分析现有研究,电池模型主要有:黑箱模型、电化学模型、等效电路模型和神经网络模型。黑箱模型只能反映试验获取数据的简单对应关系,简单的经验模型可能无法涵盖所有工况,对于电池的特性无法充分体现,不满足要求。电化学模型能反映电池内部的电化学反应,但是过于复杂,造成计算量太大。神经网络模型的建立需要大量的实验数据与数据训练,条件较难到达,不予考虑。等效电路模型既可以有效地反映电池内部机理,且结构简单,方便计算。

锂离子电池的等效电路模型主要有:内阻(Rint)模型、一阶阻容(RC)模型、戴维宁(Thevenin)模型、PNGV模型等。结合模型精度、计算量、可行性分析后,采用二阶戴维宁模型,即在Thevenin模型基础上增加一路RC并联回路,两路RC可以模拟电池的电化学极化与浓差极化,相较于一阶戴维宁模型能更准确地描述电池的实际特性。图1所示为二阶戴维宁等效电路,其中UOCV为电池开路电压;Cb表示电池的储能容量;R0为电池欧姆内阻;Re、Ce为电池电化学极化电阻与电容;Rd、Cd为电池浓差极化电阻与电容。

图1 2阶戴维宁等效电路

电路中的端电压Ut表达式为

式中:Ut为电池端电压;UOCV为电池开路电压;I为电流;Ue为电化学极化ReCe上的电压;Ud为浓差极化RdCd上的电压。

根据基尔霍夫电压定律,构建锂离子电池的SOC估计的状态空间方程如下[12]:

式中:UOCV(SOC)表示开路电压与SOC之间的关系;η为锂电池充放电效率,在锂电池中近似认为1[3];τe=ReCe为电化学极化回路的时间常数;τd=RdCd为浓差极化回路的时间常数。

1.2 参数辨识

1.2.1 OCV-SOC关系曲线辨识

利用试验仪器对锂电池进行3次标准充电与放电,对其实际容量取均值为2 650 mAh,并以此数据作为后续研究的SOC为1时的电池电量。

对OCV-SOC关系的获取通过以下方式完成:对电池进行多次恒流放电,直至电池达到截止电压。每次放出等额电量,在每次放电结束后静置一段时间,以此时电池的端电压作为该SOC对应的开路电压。可利用试验获得的OCV值与对应SOC值进行多项式拟合,选择合适的拟合阶数使拟合结果较优,获得UOCV与SOC的关系曲线如图2所示。

图2 OCV-SOC曲线

根据试验数据对UOCV与SOC关系进行拟合时,拟合精度随着拟合阶数的增大而提升,分析后7阶的精度提升幅度变小,同时考虑到阶数增大会增加计算复杂度,选择6阶拟合较为合适:

式中:a表示开路电压UOCV;b表示SOC。

1.2.2 模型参数在线辨识

通过HPPC(hybrid pulse power characteristic)试验完成对其余未知参数R0、Re、Ce、Rd、Cd的辨识。在SOC估计过程中结合获取数据对参数辨识数值进行估计并结合上一时刻结果进行修正,使得每一时刻参数辨识结果与实际模型符合度较高。

设定Ud=UOCV-Ut,可得到输出Ud关于输入I的传递函数:

经过变换与计算后可以得到各未知参数与模型参数的关系:

方程(4)离散化为

式中,ξ(k)为零均值高斯噪声;θ设为[α1α2α3

2 锂电池SOC估算算法

卡尔曼滤波法只适用于线性系统分析中,因此采用自适应扩展卡尔曼滤波的方法完成电池SOC的估计。扩展卡尔曼滤波在卡尔曼滤波的基础上,针对表现为弱非线性关系的OCV-SOC曲线,在每个步进对其进行线性化,使其可以应用卡尔曼滤波算法[9-10]。

选取状态向量为x=[SOCUeUd]T,输入变量为u=I,输出变量为y=Ut,式(2)可以改写为

在EKF的方法中将f(x,u)和g(x,u)的每个当前工作点的步进进行一阶泰勒级数展开将其线性化,得到线性化模型后对其进行离散化:

式中的w和v分别代表过程噪声和测量噪声,假设其为互不相关的高斯噪声。假设过程噪声的均值为E[wk]=qk,协方差为Qk,测量噪声的均值为E[vk]=rk,协方差为Rk,通过自适应卡尔曼滤波法对其进行估计。

根据自适应卡尔曼滤波[13]对电池SOC进行估计的流程如图3。

图3 卡尔曼滤波流程框图

在SOC估计进程中,根据关系式估计噪声的均值及协方差,使用更新值迭代替换上一步估计值,完成噪声的交替更新,使结果快速收敛:

式中dk=(1-b)/(1-bk)表示前一数据与更新数据的权重分配,式中b为遗忘因子,本文取0.97;ek=yk-^yk表示输出的测量值与估计值之间的误差。采用上述公式对误差与其协方差矩阵的实时更新来完成对SOC状态量的修正以达到自适应的目的。

3 试验与仿真

将目标研究结果应用于混合动力无人机系统中,锂电池的工作环境通风良好,可认为其工作温度稳定,故不考虑温度对研究结果的影响。试验采用型号为BTS4000-5V12A的电池充放电测试仪,可对电池进行各种性能测试并记录电池电压、电流与充放电容量等数据,测量误差可控制在满量程的0.05%以内。研究中利用该设备进行完全充放电测试、脉冲测试等试验,图4为上位机数据采集界面。

图4 上位机数据采集界面

3.1 试验获取数据

通过HPPC试验结果得到各SOC值对应的初始参数,图5为SOC为0.6时的HPPC试验数据曲线。

在图5中电流为负数时表示电池放电,为正数时表示电池充电。在电池放电结束后电池电压缓慢上升,此阶段可以作为电池模型的零输入响应[3]:

式(12)中U0e、U0d表示2个RC回路上初始电压;并与时间常数τe、τd一起作为未知参数进行最小二乘法拟合后得到结果。

图5 HPPC试验数据曲线

在电池放电开始期间电压的陡降可视作由欧姆内阻引起,内阻的计算可由电压压降除以放电电流得到。放电过程中电池电压逐步下降,可将此阶段作为电池模型的零状态响应[3]:

式(13)中以Re、Rd作为未知参数进行最小二乘法拟合,由前一步可得时间常数值,代入后可得Re、Rd的值,进一步可获得Ce、Cd。可将上述步骤获取的辨识结果作为参数辨识的初始值与各SOC对应点的修正经验。

3.2 算法仿真对比

根据上述研究结果在Matlab中完成算法编写,并进行仿真与对比,验证利用该算法得到的电池SOC估计值与实际SOC的重合度,并对两者之间的偏差进行分析。

由于电池接近能量耗尽状态会对电池产生不可恢复的损坏,且研究对象使用条件限制在低电量时无人机报警返航,因此研究工况在SOC为10%以上,对较低电量不予考虑。

3.2.1 恒流放电工况仿真

下文对电池恒流放电工况进行仿真分析设定放电电流恒定为1C(2.65 A),分别用EKF算法与研究的AEKF算法进行SOC估计并与实际值对比,图6为三者关系曲线,图7为2种算法估计结果与实际SOC值之间的误差曲线。

图6 SOC估计结果与实际值曲线

图7 SOC估计结果误差曲线

从图6、7可以看出:采用的自适应卡尔曼滤波得到的SOC估计结果在起始期间有一段相对较大的误差达到2%,但很快可以收敛至实际SOC值,且可以维持估计结果的误差在0.5%以内。虽然一般EKF的估计结果与实际值重合度也较高,但显然精确度比前者要低。

一般EKF对于位置干扰噪声环境的电池SOC估计结果会有较大的误差,需要验证采用的算法对于噪声的抗干扰性,对试验数据添加100 mA的噪声后再进行仿真,与实际状态进行对比分析。图8为加入噪声后电池SOC估计结果误差曲线。

从图8可以看出:在加入干扰噪声后,一般EKF的SOC估计结果会随着时间逐渐偏离实际SOC,误差逐渐加大。AEKF算法估计结果的误差在起始阶段会有一段跳变,这是由于试验起始阶段设定的电池内部参数与实际值不同,在对参数数值自动识别过程中卡尔曼滤波算法的前期迭代数据较少,对估计结果影响权重较大,后期的估计结果会更加平稳,很快收敛至零误差附近,之后也可以维持在0.6%以内,验证了该方法对于未知干扰噪声有较大的抗干扰性。

图8 加入噪声后SOC估计结果误差曲线

3.2.2 变化电流脉冲工况仿真

在电池实际使用过程中,无法保证电池一直以恒定电流工况工作,所以进行变化电流脉冲试验与该工况下仿真结果进行对比分析。设计脉冲工况如图9所示,电池先以电池1 C倍率的电流进行放电120 s,再以电池0.5 C倍率的电流继续放电120 s,再以电池1C倍率的电流进行充电1 min,中间间歇1 min,以上述工况循环,该工况中包含了电池各工作状态。

图9 脉冲工况电流变化曲线

以脉冲工况对电池进行SOC估计,与试验所得数据进行比对,如图10所示,仿真结果与实际结果的误差如图11所示。

图10 脉冲工况SOC估计结果曲线

图11 脉冲工况SOC估计误差曲线

从图10、11可以看出:采用的自适应卡尔曼滤波算法的SOC估计在变电流工况下的跟随效果也很好,估计值与实际值之间的误差可以保持在0.8%以内,可以有效地反映电池实时剩余容量,以帮助后续对电池工作状态进行控制。

4 结论

结合不同试验工况试验与仿真结果的对比分析,分析研究了EKF算法与采用的AEKF算法的SOC估计结果与误差。结果表明:EKF在恒流工况下误差在稳定后只能保持在4%以内,而研究采用的方法在放电电流稳定时与电流变化时SOC估计结果均可以有效收敛至实际值附近,误差可以控制在0.5%以内,电流变化的结果误差在0.8%以内,SOC估计精度得到极大提升,且对于未知的干扰环境噪声有着较强的鲁棒性。

但是由于使用环境的局限性,未考虑温度对电池SOC估计的影响,较大的温度变化会使电池容量及电池部分特性产生变化,若扩展至一般环境使用,还需加入温度变量进行分析。

猜你喜欢
卡尔曼滤波噪声电池
电池很冤
“一粒盐电池”
把电池穿身上
穿在身上的电池
噪声可退化且依赖于状态和分布的平均场博弈
改进的扩展卡尔曼滤波算法研究
控制噪声有妙法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于模糊卡尔曼滤波算法的动力电池SOC估计
一种基于白噪声响应的随机载荷谱识别方法