吴忠强, 王国勇, 谢宗奎, 何怡林, 卢雪琴
(燕山大学电气工程学院工业计算机控制工程河北省重点实验室,河北 秦皇岛 066004)
能源危机和环境破坏已经成为社会关注的重要问题。在交通领域,减少对化石燃料的依赖可以有效遏制环境污染与资源枯竭问题。电动汽车和混合动力汽车是很有前途的发展方向,然而,这需要电源存储系统完全或部分替代传统内燃机提供的推进力。锂离子电池由于其适用环境温度范围宽,能量密度高和使用寿命长而被广泛使用[1~3]。荷电状态(state of charge, SOC)和可用容量是表征电池性能的重要参数,它们的准确估算对于提高能量利用效率和延长电池寿命具有重要意义。
电池的SOC估算方法主要包括:(1)安时积分法[4],尽管该方法相对简单,但属于开环方法,受SOC的初始值和电流测量精度的影响,测量误差会随时间累加;(2)开路电压法[5],在电池的开路电压测试中,必须将电池放置一段时间以获得稳定不变的电压值,不适用于电池SOC的在线估计[6];(3)神经网络方法[7],神经网络模型的估计精度受训练数据影响较大,电池之间的差异性会导致神经网络难以实现对其它类型电池的精确估计;(4)扩展卡尔曼滤波器(extended Kalman filter, EKF)算法[8,9],通过递推迭代方法估计电池的SOC,在非线性系统线性化的过程中,SOC估计的准确性下降,计算量增加;(5)无迹卡尔曼滤波(unscented Kalman filter, UKF)算法[10],UKF采用统计线性化的方式,减少了相应的计算量和估计误差,但在电池SOC估计时,存在噪声方差固定导致估计精度不高的问题。
电池容量估计方法主要分为基于模型的估计方法和基于神经网络的估计方法。根据神经网络的估算方法[11],从电池使用期间的测量数据中提取电池老化信息,需要大量样本数据,并且由于电池之间的差异性导致难以实现对其它类型电池的精确估计。基于模型的估计方法[12,13]难点在于电池机理模型结构比较复杂,难以建立精准的电池老化模型。
上述估计方法大多是针对SOC或容量的单独估计,当电池使用到一定程度,电池容量显示出与SOC相同的重要性,本质上它们是紧密耦合的[14,15]。本文提出一种联合估计方法,给出了开路电压与SOC和电池有效容量非线性模型的两变量多项式描述;当电池循环使用次数超过预设值,采用鲸鱼优化算法(whale optimization algorithm, WOA)估计当前电池容量与电池模型参数;根据模型参数与容量值,通过UKF估计电池SOC;在SOC估计过程中,采用鲸鱼优化算法更新UKF的观测噪声方差和过程噪声方差,实现噪声方差的自适应调节,进而提高估计精度。
电池等效电路模型能准确地表征电池外部特性,并且计算量相对较小。锂离子电池二阶等效电路模型如图1所示[16]。
图1 电池等效电路模型Fig.1 Equivalent model of the battery
图1中,U是电池输出电压;Uoc是开路电压;Usoc是SOC对应的电压;R0是欧姆内阻;I是工作电流;Rs、Cs是电化学极化电阻和极化电容;Rl、Cl是浓度极化电阻和极化电容;Us、Ul是两个RC环对应的极化电压;Qa为电池容量。
选择SOC和Us、Ul作为系统状态变量,可得到以下状态方程:
(1)
式中:T是采样周期;k为离散时间;SOC(k)表示k时刻锂电池的SOC;I(k)为输入电流。
开路电压Uoc与电池SOC和Qa之间存在相互映射关系[17]:
Uoc(k)=h1[SOC(k)、Qa]+ΔUTemp
(2)
式中:h1[]为关于SOC和Qa的非线性函数;ΔUTemp表示不同温度下开路电压相对于参考电压的变化量。
随着电池使用时间的累积,电池实际容量逐渐减少,放电过程中放电时间逐渐减少,图2给出了Uoc、Qa与SOC之间的三维响应曲面,表征了全寿命范围内Uoc、Qa与SOC之间的非线性关系。
图2 Uoc、Qa与SOC三维响应曲面Fig.2 Three-dimensional response surfaces of Uoc、Qa and SOC
h1[]一般采用多项式函数拟合,给出6系数多项式拟合函数如式(3)所示。
Uoc(SOC、Qa)=k5lg(1-SOC)+k4lg SOC+
(3)
式中k0,k1,…,k5为多项式系数。在考虑容量衰减的情况下,这6个多项式系数是容量Qa的函数,具体形式将在后文给出。
输出方程如下:
U(k)=Uoc(k)-Us(k)-Ul(k)-R0I(k)
(4)
由式(1),式(4)可得加入噪声干扰的锂电池非线性系统模型为:
(5)
式中:xk=[SOC(k),Us(k),Ul(k)]T;yk=U(k);ωk、νk为高斯白噪声,其方差分别为:
h(xk,ik)=Uoc(k)-Us(k)-Ul(k)-R0ik;
ik=I(k)。
电池模型中的未知参数有:R0、Rs、Rl、Cs、Cl和Qa。
容量和SOC联合估计主要包括3个部分:策略模块、容量与参数估计模块以及SOC估计模块。首先,策略模块开始累积循环次数,直到循环充放电次数超过预设的阈值(阈值视实际使用工况而定);然后采用WOA进行容量和模型参数估计,根据估计得到的容量和模型参数,通过WOA-UKF算法进行SOC估计。
鲸鱼优化算法(WOA)是由Mirjalili于2016年提出的一种效仿座头鲸捕食行为的元启发式优化算法[18],WOA算法结构简单,需要调整参数较少,其数学模型包括3种优化方式:包围狩猎目标、泡沫网攻击和搜索捕捉。
3.1.1 包围猎物
假定当前最佳解是目标猎物的位置或其中最靠近目标猎物的位置。在确定最佳位置之后,其它鲸鱼将向最佳位置靠拢。位置变化数学表达式为[19]:
X(j+1)=X*(j)-AD
(6)
D=|CX*(j)-X(j)|
(7)
式中:A和C为系数变量;X(j)表示当前鲸鱼位置;X*(j)为当前最佳鲸鱼位置;j表示迭代次数。
系数变量A和C计算式为:
A=2a×r-a
(8)
C=2r
(9)
式中:a是变量,范围是[0,2],并且以递归减法的形式进行更新;r是位于[0,1]之间的随机值。
3.1.2 泡沫网攻击
(a) 收缩包围:算法寻优过程中,a值减小,A的范围为[-a,a]。当A在[-1,1]范围之内时,则鲸鱼的游动位置将在当前鲸鱼位置和目标位置之间,这体现了该算法局部搜索能力[20,21],并且包围过程由式(6)更新。
(b) 螺旋式位置更新:其它个体向最优个体螺旋式行进,对应数学表达式如下:
X(j+1)=D′elbcos(2π l)+X*(j)
(10)
(11)
式中:D′代表第i头鲸和目前最优个体距离;b为取对数螺旋形式的常量;l是[-1,1]上的随机数。
收缩包围圈和螺旋更新2种模式以等概率做调整:
(12)
式中p为[0,1]上的随机数。
3.1.3 搜索捕食
为了找到猎物,鲸鱼个体会偏离原始目标猎物,以提高算法的整体搜索能力,进而提高捕食能力。更新时若A超出[-1,1]范围,距离D随机更新,建模如下:
D′=|CXrand-X(j)|
(13)
X(j+1)=Xrand-AD′
(14)
式中Xrand是当前种群中随机选择的鲸鱼个体位置。
采用WOA进行电池参数与容量估计时,待寻优的鲸鱼位置X设为电池待辨识的参数数组[R0RsRlCsClCa],取适应度函数F1为端电压测量值与估计值的均方误差:
(15)
UKF通过状态的均值和方差确定一些sigma点集,并根据系统模型获得新的sigma点集,通过合适的加权运算获得输出的均值和方差,从而实现最佳状态估计[22];缺点是噪声方差人为设定,可能导致滤波发散[23]。WOA-UKF算法通过第二套WOA(前面用于辨识和容量估计的WOA可称为第一套WOA)更新UKF中的噪声方差R和Q。在第二套WOA中,将噪声方差R和Q作为待优化的鲸鱼位置,并记为X=[RWOAQWOA];将最优RWOA和QWOA组合反馈给UKF,继续迭代估计SOC,减小了UKF算法在未知系统噪声下的SOC估计误差。
WOA-UKF对锂电池SOC估计的步骤:
1) 状态初值与误差协方差初值初始化
(16)
2) 按如下方式生成N(N=2n+1)个sigma点及权系数
(17)
(18)
3) 计算采样点集的一步预测
(19)
4) 计算状态量的一步预测均值和均值方差
(20)
(21)
5) 输出均值及协方差一步预测
(22)
(23)
(24)
6) 计算卡尔曼滤波增益
(25)
7) 状态与协方差更新
(26)
(27)
8) 采用WOA更新Q、R
第二套WOA的适应度函数为:
(28)
以式(28)最小调整Q,R如式(29)所示。
(29)
采用NASA研究中心B0006组锂离子电池放电实验数据[24],锂离子电池的额定容量为2 Ah,在24 ℃恒温条件下进行连续循环充放电测试,因此不考虑温度对开路电压的影响,ΔUTemp=0。电池先以1.5 A恒流(CC)充电,直至电压达到4.2 V,此时充电模式转至恒压模式,继续充电,直到充电电流降至0.02 A以下,然后再以2 A恒流(CC)放电至2.7 V来观察电池容量,记录每次循环放电容量Qa和充放电时间、电压、电流。
为了充分研究电池容量老化随时间变化趋势,采用100%降至55%容量实验结果进行分析和验证本文算法的性能。电池进行了168次循环(记为:Cyc168)充放电实验,图3显示了容量衰减变化情况。
图3 电池容量变化曲线Fig.3 Changing curve of the battery capacity
由图3可看出,基本放电容量从100%下降到55%,电池容量随着循环放电次数呈线性衰减趋势。Cyc33电池容量下降到1.850 8 Ah,占额定容量92.54%;Cyc57电池容量下降到1.652 07 Ah,占额定容量82.51%;Cyc96电池容量为1.462 9 Ah,占额定容量73.15%;Cyc112电池容量为1.384 4 Ah,占额定容量69.22%;Cyc140电池容量为1.290 1 Ah,占额定容量64.51%;Cyc160电池容量为1.190 3 Ah,占额定容量59.52%。图4给出了不同寿命时期Uoc与SOC关系曲线。
图4 不同寿命时期Uoc与SOC关系曲线Fig.4 The relationship curve of Uoc and SOC at different life periods
由图4可知,不同寿命时期Uoc与SOC的关系曲线不同,据此设计公式(3)中k0,k1,…,k5和Qa的关系式。分别采用2、3、4、5阶多项式进行拟合,并采用最小二乘法,拟合的均方差分别为1.432 8×10-5、4.269 9×10-5、1.244 4×10-6和1.234 8×10-6。可看出5阶多项式拟合与4阶多项式相当,而后继续增加多项式阶数,精度提高不大,因此采用4阶多项式拟合即可。4阶多项式的拟合如式(30)所示。
(30)
其中
1) 验证WOA算法的辨识效果。WOA算法参数设置为:迭代更新次数T=20,鲸鱼种群数量=10。选用全寿命周期内11次容量测量值验证容量估计。采用WOA算法得到的电池容量估计曲线和容量估计误差曲线如图5、图6所示。
图5 WOA电池容量估计曲线Fig.5 Battery capacity estimation curve of WOA
图6 WOA电池容量估计相对误差Fig.6 Battery capacity estimation relative error of WOA
由图5,图6可看出,估计误差较小,保持在1%以内,均方误差为4.485×10-5,且估计趋势与实际容量变化趋势相同。
2) 容量不变时,验证各算法对SOC的估计效果。分别采用UKF、AUKF与WOA-UKF算法对Cyc57放电实验进行SOC估计。图7为采用3种方法的SOC估计曲线。图8为3种方法的SOC估计误差曲线。
图7 AUKF、UKF与WOA-UKF算法的SOC估计曲线(固定容量时)Fig.7 SOC estimation curve of AUKF, UKF and WOA-UKF for fixed capacity
图8 AUKF、UKF与WOA-AUKF算法的SOC估计误差(固定容量时)Fig.8 SOC estimation error of AUKF, UKF and WOA-AUKF for fixed capacity
由图7、图8可知,WOA-UKF的误差最小,在±0.1%范围内,几乎趋近于0,且较平稳;AUKF次之,估计误差在±0.4%范围内;UKF算法估计误差在±0.6%范围内。UKF、AUKF与WOA-UKF算法的均方误差分别为8.205 0×10-5、6.962 7×10-5、3.214 7×10-6。可见,在容量不变时,与UKF和AUKF算法相比,WOA-UKF算法具有较高的估计精度。虽然容量不变,不需WOA对容量进行辨识,但是因WOA具有对模型其它参数的辨识和噪声方差的调整能力,仍具有较高的估计精度。
3) 容量变化时,验证容量与SOC联合估计的必要性及效果。以Cyc57的容量为基准,采用UKF、AUKF与WOA-UKF算法分别对Cyc112、Cyc160进行SOC估计,估计结果与估计误差如图9、图10所示,均方误差(MSE)如表1所示。
表1 各算法SOC估计均方误差(容量变化时)Tab.1 MSE of SOC estimation of each algorithm for variable capacity
图9 UKF,AUKF与WOA-UKF算法的SOC估计曲线(容量变化时)Fig.9 SOC estimation curve of UKF, AUKF and WOA-AUKF for variable capacity
图10 UKF,AUKF与WOA-UKF算法的SOC估计误差(容量变化时)Fig.10 SOC estimation error of UKF, AUKF and WOA-UKF for variable capacity
由图9、图10可知,对2种容量变化,WOA-UKF的SOC估计误差均较小,在0.2%范围内。UKF,AUKF不具有容量估计功能,估计曲线呈发散趋势,并且循环次数相差越大,发散越快。由表1可知,WOA-UKF的均方误差最小,均在10-6数量级;AUKF的均方误差次之,在10-3数量级;UKF的均方误差最大,在10-3~10-2数量级。验证了电池容量估计的必要性,也体现了联合估计算法的优势。
4) 验证算法在不同温度下对SOC估计的有效性。分别采用UKF、AUKF与WOA-UKF算法对同一锂电池在50 ℃条件下放电实验数据进行SOC估计。图11和图12分别为在50 ℃条件下采用3种方法的SOC估计曲线与估计误差。
图11 50 ℃时3种算法的SOC估计曲线Fig.11 SOC estimation curve of three algorithms at 50 ℃
图12 50 ℃时3种算法的SOC估计误差Fig.12 SOC estimation error of three algorithms at 50 ℃
由图11和12可知,在不同温度下的SOC估计中,WOA-UKF的估计误差最小,在±0.1%范围内,几乎趋近于0,且较平稳;AUKF次之,估计误差在 ±0.2%范围内;UKF算法估计误差在±0.3%范围内。可见,在温度变化时,WOA-UKF算法仍然可以有效地估计SOC,且与UKF和AUKF算法相比,WOA-UKF算法具有较高的估计精度。与图7比较可看出,随着温度的增加电池的SOC也增大。
提出了一种锂离子电池容量与SOC联合估计方案。首先建立一种开路电压与SOC和电池有效容量非线性关系的两变量多项式模型。采用策略模块累积试验次数,当电池循环使用次数超过预设值,通过WOA算法进行电池容量和参数估计;根据模型参数与容量值,采用WOA-UKF算法估计锂离子电池的SOC。实验验证了电池容量和SOC联合估计方案的有效性。由于新能源汽车需要锂离子电池组供电,电池组容量的差异和不一致性会对电源使用效率和安全性能产生恶劣影响,因此对电池组容量的差异和不一致性进行估算将是未来该领域重要的研究方向之一。