曲智伟,孙化阳,竺玉强,栗欢欢
(1.江苏大学汽车工程研究院,江苏镇江 212013;2.凯博能源科技有限公司,江苏常州 213000)
锂离子电池以其循环寿命长、自放电率小、比能量高、无记忆效应等优点被广泛应用在电动汽车领域[1]。为保证锂离子电池安全高效的工作,需要准确地估计电池荷电状态(SOC),并设计可靠的电池管理系统。
目前估算SOC的方法有安时积分法、开路电压法以及基于模型的方法。其中基于模型的方法是当前研究的热点,最具代表性的就是基于等效电路模型和电化学模型的SOC估算方法[2]。等效电路模型采用电子元器件来模拟电池工作过程[3],其在多年的发展中,从早期的Rint 模型逐步发展成Thevenin 模型[4]、PNGV 模型[5],进而衍生出多阶RC 模型。然而,每增加一个RC 结构就会增加两个需辨识参数,增加了模型复杂度和参数辨识难度,且已有的研究表明,模型阶数的增加,并不能一直提高模型精度[6]。基于等效电路模型的SOC估计方法一般需要结合观测器算法,如卡尔曼滤波算法、神经网络算法、滑膜观测器、粒子滤波等。电化学模型是基于电池内部反应机理建立的电池模型[7],Fuller、Newman 等提出的P2D 模型奠定了电化学模型的发展基础,当前主流的电化学模型大多是由P2D 模型改进得来的。电化学模型具有大量的未知参数和偏微分方程,且部分方程存在耦合的情况,因此对电化学模型的降阶化简和解耦是目前电化学模型研究的难点和主要方向[8]。然而,电化学模型的准确性和运算复杂度之间的平衡并不容易,而且对硬件要求较高,所以多用于理论分析和电池产品的初期设计与开发[9]。
除了上述两种模型,近年来课题组提出了一种通用性较强的气液动力学(GLD)电池模型[10]。该模型通过气液储能系统对电池系统进行简化模拟,体现了锂离子电池内部的电子传递、欧姆效应以及锂离子扩散与平衡等过程,取得了很好的估算结果[11]。
然而,由于气液动力学模型参数被简化和等效,存在一定的建模误差,且传感器数据采集存在误差,因此为了进一步提高模型的估算精度,本文结合容积卡尔曼算法,设计了基于气液动力学模型和容积卡尔曼算法的SOC滤波器,并在恒流和DST 工况下对锂离子电池SOC进行估算优化。
电池系统内部环境复杂,且电化学反应过程中,各种粒子的相变、迁移等均有多种变化,综合考虑各个因素会造成模型的复杂度很高,难以直接应用[12]。我们提出的气液动力学锂离子电池模型是根据锂离子电池内部扩散与气液系统高度的相似性,将问题聚焦于电池内部锂离子失衡与再平衡这一过程,从粒子由势能和分子动能引起的扩散和定向迁移的角度对这一过程进行解析。使用流体力学基本方程组构建气液动力学锂离子电池解析模型,从而将复杂的电池系统简化近似为气液储能系统[13]。
气液系统模型与电池系统对照如图1 所示。在一密闭容器中,有V体积的气体和VW容积的液体,顶部设有阀门。气体的压力、物质的量和绝对温度分别为p、n、T。溶解在液体中的气体物质的量为nj。在容器充气和排气过程中,排气阻力系数、气体流速和喷嘴压力分别为μ、v和p0。考虑到电子和离子的微观质量特性,进行以下假设:(1)将气体视为均匀介质,即气体域内温度和压力处处相等;(2)忽略气体重力;(3)气体未被压缩。
图1 气液系统与电池系统对照图
以电池的放电过程为例,假定在t1时刻GLD 电池模型是在一个稳定状态,此时气体压力为p1,气体的物质的量为n1、溶解在液体中气体物质的量为nj1,根据修正的理想气体状态方程可以计算出气体在液体中的溶解量。
式中:T为热力学温度;ϕm为气体分子的有效间隙;bm为气体分子的范德华体积;R为热力学常数,8.314 J/(mol·K)。
容器阀门打开一段时间Δt,使容器中的气体向外释放,如图1(b)所示。在排气过程中,气体流速为v,管道的流动阻力系数为μ,阀门口处的压力为p0。在t2=Δt+t1时刻关闭阀门,此时气体压力为p2,气体物质的量为n2。排气过程中理想气体状态方程和伯努利方程为:
经过足够长的时间达到t3,GLD 电池模型再次达到稳定状态。此时容器内气体压力为p3,气体的物质的量为n3,溶解在液体中的气体物质的量为nj3。再平衡后气体的理想气体状态方程和溶解度方程可表示为:
当阀门关闭时,容器内气体物质的量为n2;阀门关闭后,从液体中析出的气体物质的量为nj1-nj3。因此,物质的量之间的关系为:
由上述式(1)~(6)可推导出式(7):
式(7)可被简化为式(8):
且ac<0,b2-4ac>0,根据韦达定理,这个方程只有一个正实根,可表示为:
以上推导为打开阀门释放气体的过程,将气体泵入容器的过程推导结果与上述结果相同。
在充气过程中,往容器中泵入气体的伯努利方程为:
因此,气体释放和泵入的伯努利方程可统一表示为:
式中:充气时v>0,放气时v<0。
对推导的气液动力学电池模型进行简化:
因此,根据GLD 模型与电池参数的对应关系(表1),推导出最终的GLD 开路电压电池模型:
表1 GLD 模型与电池参数的对应关系
式中:UOCV为上一时刻开路电压为估计的开路电压。
本文工作中,采用18650 圆柱电池[图2(a)]作为测试对象,进行充放电实验拟合OCV-SOC曲线并辨识模型参数。实验在宁波拜特公司生产的NBT 电池测试系统[图2(b)]上进行,电压及电流量程为0~5 V 和0~20 A,精度与稳定性小于量程的±0.05%和0.5%。实验电池置于恒温箱中,通过强制对流控制温度。
图2 实验电池(a)和测试系统(b)
依据美国《Freedom CAR 测试手册》和SOC测定方法[14],设计标准HPPC 实验,获得电池OCV和SOC关系。具体测试流程如下:
(1)容量标定:电池以1/3C恒流放电至下限截止电压2.80 V,然后再以1/3C恒流充电至上限截止电压4.25 V,最后4.25 V 恒压充电至1/20C截止电流。
(2)HPPC 循环测试:搁置1 h,然后将电池以1.0C电流放电至5%DOD,接下来以3C电流充电10 s,再搁置40 s,再以3C电流放电10 s,循环此步骤直至100%DOD。
通过曲线拟合工具对HPPC 实验获得的开路电压数据进行拟合,得到拟合曲线如图3。
图3 OCV-SOC拟合曲线
式(14)中存在k1、k2、k3、k4四个待辨识参数,在文献[15]中介绍了一种基于遗传算法的离线辨识方法,本文使用相同方法,过程如下:
①初始化,读取端电压U0、电流I、温度T和与之对应的开路电压OCV数据;
②定义,向UOCV赋初值,即UOCV=OCV(1),设置S=0,n=N,k=1;
③约束条件,k1、k2、k3、k4≥0;
④赋值,U0=U(k),T=T(k),I=I(k);
⑤估算开路电压;
⑥更新,UOCV与k,UOCV=,k=k+1;
⑦目标函数,计算总误差S=S+|-OCV(k)|;
⑧判断,k≤n,若“是”跳转至第④步,若“否”下一步;
⑨遗传算法通过调整模型四个参数方法判断终止条件,若“否”跳转至第③步,若“是”下一步;
⑩输出S取最小值时的最优参数值k1、k2、k3、k4,并结束。
上述过程中种群数N设为50,遗传代数设为400。参数辨识结果如表2 所示。
表2 参数辨识结果
为验证模型的可靠性及估算精度,在25 ℃实验条件下,获得0.2C、0.5C和1.0C倍率恒流放电数据进行SOC估算,得到图4(a)~(d)所示估算结果,图(a)中实线和点线分别表示估算SOC和真实SOC,图(b)到(d)分别为0.2C、0.5C和1.0C条件下的估算误差。总体而言,估算结果与真实结果一致,在整个放电过程中,SOC估算误差可以保持在4%左右。为验证GLD 模型在复杂工况下的可靠性与估算精度,进行了DST 工况下的SOC估算,得到图4(e)、(f)所示估算结果。从图中可以看出在动态工况下,模型的估算结果依然拥有较高的稳定性,估算误差无明显变化。通过上述恒流与DST 工况测试实验证明,气液动力学模型具有较高的估算精度,因此可以应用于锂离子电池的SOC估算。表3 为GLD 最大SOC估算误差。
图4 恒流和DST工况SOC估算结果
表3 GLD 最大SOC 估算误差
尽管上文已经对气液动力学模型的性能做了验证,但电池系统具有时变性,其内部参数会随着电池容量、循环次数、工作温度等发生变化,若不进行修正将造成模型估算误差的扩大,尤其是在实际应用中,会由于下列原因而造成误差的进一步扩大:
(1)对电池进行简化和参数辨识不匹配导致模型的不精确。
(2)由电流、电压和温度传感器引起的测量误差。
(3)随时间增加的累积误差。
基于上述原因,为了补偿这些误差,本文提出了一种基于气液动力学模型应用容积卡尔曼滤波[16]算法的SOC估算方法,该算法可以准确地估计电池SOC并进一步降低由上述原因导致的估算误差。
使用卡尔曼滤波器需建立状态和观测方程[17]。根据建立的气液动力学模型,选择电池上一时刻开路电压和电池当前时刻SOC作为系统状态量,电池端电压作为观测量,电流、上一时刻系统温度、当前时刻系统温度作为系统输入。
根据安时积分法以及SOC和OCV的关系,系统的状态方程可表示为:
式中:I充电为正,放电为负;η 表示库仑效率;CN为标定的电池实际容量;k为某一时刻,k-1 代表上一时刻。
根据式(14)和式(15),得系统观测方程如下:
式中:U0,k为端电压;OCVk为k时刻开路电压;T为电池温度;Ik为k时刻电流输入;k1,k2,k3,k4为模型参数。
容积卡尔曼滤波是一种成熟的动态系统状态估计技术,已广泛应用于多个领域。CKF 的基本思想是使用球-径向容积法则来计算非线性贝叶斯滤波器中遇到的多元矩积分[18]。优点是精度高且不需要计算雅各比矩阵。CKF 的详细步骤如下所示:
(1)预测
(a)生成容积点
式中:mc为容积点数量,mc=2n;[δ]=[En×n,En×n],E为n维单位矩阵;wc,i为各容积点加权值;Sk为Pk的乔列斯基分解。
(b)进行一步预测
(2)更新
(c)根据状态预测再次生成容积点
(d)协方差进行一步预测
(e)状态更新
式中:K为卡尔曼增益;P为协方差矩阵。
为了验证气液动力学模型融合容积卡尔曼滤波算法进行估算SOC的性能,利用0.2C、0.5C、1.0C恒流及DST 工况测试数据评估算法的性能。
图5 显示,CKF 算法在三种恒流工况和DST 工况下均取得了良好的估算结果,在0.2C、0.5C和1.0C恒流工况下估计值对实验值的误差较小,最大误差分别为1.92%、2.16%和2.13%,即使在DST 工况下最大误差也只有2.44%(如表4 所示),对比表3 中原始气液动力学模型的估算误差可以发现,CKF 算法对气液动力学模型精度改进明显。图5(a)中实线和点线分别表示估算SOC和真实SOC。
图5 恒流和DST工况SOC估算结果
表4 CKF 最大SOC 估算误差
在实际应用中,电池会由于先前状态未知而造成初始状态与实际状态之间存在偏差,所以本文针对所提算法对错误初始值的鲁棒性进行了分析,图6 显示该方法在DST 工况20%SOC初始误差下,20 s 内可以实现收敛,具有良好的鲁棒性。
图6 DST工况20%初始误差
本文提出了基于气液动力学模型的容积卡尔曼滤波器进行SOC估计。通过协方差匹配的自适应算法,针对未知过程噪声的协方差矩阵进行实时的更新,提升了气液动力学模型的估算精度。然后对本文算法在多工况下进行了实验验证,在恒流工况下,SOC最大估算误差为2.16%,DST 工况下,SOC最大估算误差为2.44%。而且在SOC初值存在较大误差时,依然能够迅速收敛至真实SOC附近。结果表明采用CKF的SOC估计方法具有良好的估算性能,能够高精度、高稳定地估算锂离子电池SOC。后续的工作包括在性能足够的嵌入式微控制器中应用上述算法。