前言:
此刻姐妹们对“ckf算法和ekf的比较”大概比较关注,我们都需要学习一些“ckf算法和ekf的比较”的相关内容。那么小编同时在网络上收集了一些对于“ckf算法和ekf的比较””的相关文章,希望同学们能喜欢,兄弟们快快来了解一下吧!摘 要: 锂电池的荷电状态(SOC)估算是电动汽车的系统管理与能量控制的重要参数。在SOC估算过程中,电池参数变化和老化问题会对结果造成很大影响。针对这一问题,在递推最小二乘法算法(RLS)辨识锂电池模型的参数的基础上更新电池容量,通过容积卡尔曼滤波(CKF)估算电池SOC,结合RLS和CKF实现在电池参数发生变化时准确估计SOC。以锂离子电池作为对象,应用所提出的算法实现锂电池的SOC在线估计,验证算法的准确性。
关键词: 锂电池;荷电状态(SOC);老化;CKF
随着人们对汽车的需求量日益提高,传统燃油汽车的数量急剧增加,同时也造成严重的环境污染。因此电动汽车的推广已成必然趋势。相比于其他材料的电池,锂电池因其清洁环保、能量密度高等优点被广泛应用于电动汽车。为保证锂电池安全可靠的运行,需要对荷电状态(SOC)进行管理。SOC的准确估算不仅关系到汽车的续航时间,同时还能防止电池的过充过放,延长了电池的寿命。
目前,SOC估算方法主要有开路电压法、安时积分法、神经网络法、模糊逻辑法、卡尔曼滤波法等。安时积分法计算量小,易于实现,但在电流累加的同时会导致误差累积,不适用于复杂工况;开路电压法通过端电压的数值得到SOC,操作简单且工作量小,但是需要长时间的静置,不适用于实时估计。文献[3]基于神经网络的SOC测算方法,神经网络具有较强的非线性逼近能力,能够较好地解决锂电池充放电非线性特性,但是要保证神经网络法估算SOC的精度需要大量的数据,适用范围较窄;文献[4]使用一种扩展卡尔曼滤波算法(EKF)与锂电池的PNGV电路模型相结合的方法计算SOC,弥补了传统安时积分法随着估算时间增加而误差增加的缺点,但是EKF算法是对非线性的系统方程进行泰勒展开并保留其一次近似项,这样不可避免地引入了线性误差;文献[5]提出通过无迹卡尔曼滤波估计锂电池SOC,可以实现较准确的估算出SOC,但是无迹卡尔曼滤波计算量较大且在非线性系统中存在滤波发散的问题,同时在估算过程中没有考虑老化情况下模型中的参数变化。
针对上述SOC估计存在的问题,首先本文引用文献[6]建立的电池等效模型;其次采用递推最小二乘法对电池模型的参数进行在线估计,通过辨识得到的参数计算电池容量以更新电池等效并计算电池的健康状态(SOH);然后,使用容积卡尔曼滤波器估算SOC;最后,将递推最小二乘法与容积式卡尔曼滤波算法相结合,实现实时读取SOC。
1 锂电池模型
目前,常用的锂电池的等效电路模型包括内阻模型、戴维南等效电路模型、PNGV模型和二阶RC等效电路模型等。由于二阶RC等效电路模型既能精确地描述电池的极化效应,又考虑到了计算的复杂度,故本文采用二阶RC电路模型作为电池等效电路模型。二阶RC模型如图1所示。Uocv为开路电压,Ut为电池端电压,I为流过电池两端的电流,充电时电流为正,放电时电流为负。Ro为欧姆内阻,Rp1和Cp1及Rp2和Cp2构成两个RC网络,分别用来反映极化效应中的两种不同时间常数的动态特性。
用S代表电池荷电状态SOC,QNOW为当前电池容量,ni表示当前库仑效率,对于锂电池ni≈1,则安时积分法中电池的SOC的定义为
假设锂电池整处于放电状态,根据文献[6]建立电路状态方程为
输出方程为
式(2),(3)中,Ut为电池端电压;Uocv为电池的开路电压;UP1、UP2为两个RC回路的电压。式(2)中,电池容量会随着长期使用而减少,将其设置成定值会使SOC估算不准确。为了应对电池老化的问题,需要对电池容量进行实时更新,所以引入SOH改进模型。SOH的定义如下
其中,QNOW为锂电池现在的容量;QSET为锂电池设定的额定容量。根据IEE1188—1996标准,当SOH小于80%时即认为电池寿命终止。此外,SOH还可从内阻角度定义
在式(5)中,REND为电池电池寿命终结时的欧姆内阻;Ro为电池当前状态下的欧姆内阻;RNEW为电池出厂时的欧姆内阻。根据文献[10],电池容量衰减量与电池欧姆内阻之间存在如下线性关系
式(6)中,QfNOW当前电池容量已衰减的百分比,QfNOW定义为
电池寿命终止时定义电池的容量为QEND
综合式(9),(10),(11),(12),得
由此可根据欧姆内阻Ro的值计算当前电池的容量,则现在电池的容量
2 SOC估计过程2.1 SOC估算问题分析
在估算锂电池SOC的过程中,估算值与真实值之间必然存在一定的误差,除了容量衰减之外还存在以下两点问题。
(1)锂电池工作过程中存在噪声。由于受温度、电磁等因素干扰,电流存在着零均值的高斯噪声。同时,观测过程中也存在着噪声的干扰。
(2)估算方式不同。针对非线性系统的滤波方式主要有EKF、UKF和CKF。EKF是对非线性函数进行线性化处理。EKF简单易实现,但是存在截断误差。UKF通过UT变换确定Sigma点近似系统状态的概率密度函数以达到状态估计的目的。UKF精确度高,但是计算量较大,且应用比较困难。不同于UT变换,CKF算法应用球面径向准则确定Cubature点。Cubature点权值大小相等且对称出现,因此不用提前设置参数,应用简便。同时Cubature点权值永远保持为正,从而保证了数值稳定性,其计算量更小,滤波精度更高。
2.2 CKF估算过程
由式(7),(8)可得出描述系统离散状态方程为
用
表示UOCV与SOC的关系,则
式(10),(11)中,T为采样周期;QNOW为电池可以放出的最大容量;r(k)、e(k)分别为状态噪声和观测噪声。锂电池的等效电路模型可用式(12)所示的状态空间表示
其中x、y分别为状态量和观测量;f、g代表非线性函数;w、v分别代表过程噪声与观测噪声。容积卡尔曼滤波算法步骤如下。
(1) 状态预测
①生成容积点
其中,n为x的维数;m=2n代表选择容积点的个数;[δ]=[En*n’-En*n],E为n维单位矩阵;[δ]i 为 [δ] 的第i列向量;Sk-1|k-1为Pk-1|k-1的Cholesky分解。
②一步预测
(2) 测量更新
①根据状态预测生成采样点
②协方差一步预测
③状态更新
2.3 RLS参数辨识
采用CKF算法估算SOC需要知道锂电池模型参数R0、Rp1、Rp2、Cp1、Cp2,但这5个参数无法直接测量,需要由辨识得到。使用RLS辨识需要知道锂电池开路电压Uocv,该电压需要通过SOC-OCV曲线得到。设计实验测定电池SOC-OCV曲线:电池首先使用三段式充电方法充至充电电流为零即认为电池已充满。静置1 h后,开始恒流放电至截止电压,认为此时放电结束,每放电2.5%即暂停1 h,待电压稳定后取此时的电压作为当前荷电状态下的开路电压值。插值拟合后OCV-SOC曲线如图2所示。
RLS主要思想是用初始条件进行计算,并且利用现行输入的新数据中所包含的信息对上一次的滤波器参数进行更新。因此,RLS算法适用于在线辩识和时变过程。锂电池在使用过程中由于环境的不断变化而导致参数的不断变化,使用RLS算法能够自适应的辨识电池参数。采用文献[12]描述的RLS算法辨识Ro、Rp1、Rp2、Cp1、Cp2。
3 实验验证
本文首先通过RLS算法辨识参数,根据辨识得到的欧姆电阻通过式(10)更新容量,然后通过更新的容量改进等效电路模型,最后采用CKF估计SOC。为验证本文SOC估算策略的有效性,选择锂离子电池作为研究对象,其标称容量为2000 mA·h,额定电压为3.65 V。电池测试平台由IT8500+直流可编程电子负载、IT6300直流可调电源、恒温控制器以及PV8300监控软件组成。
M序列具有白噪声的性质,可以保证较高的系统辨识精度。设计M序列输入实验进行模型的在线辨识和SOC估计。在1 A的恒定放电电流的基础上加入M序列,能够较好地辨识模型的参数。
若只在锂电池上充放电时采用M序列,则电池可能由于电流大小及方向频繁变化而损坏,所以电流信号选择在1A恒流的基础上叠加幅值为0.1A的M序列,以模拟电池在复杂环境运行时存在的状态噪声。设计M序列输入实验进行模型的在线辨识和SOC估计,电流波形及端电压波形如图3所示。
辨识电池模型的参数如图4所示。电池欧姆内阻RO在SOC高于20%时变化较小,但是当电池SOC低于20%时电池欧姆内阻RO以指数方式增长,如图4(a)所示。因为当欧姆内阻RO会在SOC低于20%时变化较大,为了保证电池容量Q估算的准确性,在更新Q时只使用SOC高于20%时欧姆内阻的估算值,若SOC低于20%,在更新Q时选取上一次的容量估计值作为本次容量估计的结果。
EKF、UKF、CKF三种算法估算SOC及估计误差的对比图如图5所示。根据误差曲线,3种估算方法都有较好的收敛性,其中EKF偏离真实值的程度较大,CKF精度最高。由于Cubature点权值永远保持为正,从而保证了数值稳定性,所以CKF算法由M序列产生的波动最小,因而CKF精度较高且具有良好的鲁棒性。表1是3种卡尔曼滤波算法性能对比。EKF和CKF计算时间速度较快,这是因为CKF权值为一常数且不需要重新计算,采样点少于UKF,所以计算量少于UKF。
用SOH表示容量衰减的程度,SOH等于100%时表示电池为全新电池。分别选取电池SOH等于99%、94%、89%时,采用RLS与CKF进行SOC估计,加入容量更新与未加入容量更新的估计结果误差对比如图6所示。
加入容量更新的CKF算法的平均误差约为1%;而未加入容量更新的CKF算法的平均误差随电池老化程度的加深而不断增大,当SOH为89%时,SOC的最大估算误差达到8.6%。这主要是由于对电池的SOC估计依赖于电流的积分,而不准确的容量会对SOC的估计产生影响。若在SOC计算过程中不加入容量的更新,随着电池的老化,SOC的估算精度会越来越低。
4 结论
针对锂电池运行过程中电池发生老化现象导致SOC估算不准确的问题,选择最小递推二乘法对电池模型进行参数辨识,结合三阶容积式卡尔曼滤波算法进行SOC估计。本文采用二阶RC等效模型建立数学模型,并引入SOH改进模型,可以较好地描述锂电池在放电过程中的动态特性。通过分析3种卡尔曼滤波器估算SOC的误差曲线,最终选择CKF算法作为SOC估算算法。最后比较加入容量更新和未加入容量更新两种模型的效果,验证了本文方案的正确性。实验结果表明,本文方案SOC估计结果具有很高的精度,结果表明精度能够保持在2%范围内。
引用本文: 郑涛,张里,侯杨成等.基于自适应CKF的老化锂电池SOC估计[J].储能科学与技术,2020,09(04):1193-1199.
ZHENG Tao,ZHANG Li,HOU Yangcheng,et al.SOC estimation of aging lithium battery based on adaptive CKF[J].Energy Storage Science and Technology,2020,09(04):1193-1199.
第一作者:郑涛(1981—),男,副研究员,研究方向为先进工业控制与优化,E-mial:zhengtao201007@163.com。
标签: #ckf算法和ekf的比较