吳忠強, 王國勇, 謝宗奎, 何怡林, 盧雪琴
(燕山大學電氣工程學院工業(yè)計算機控制工程河北省重點實驗室,河北 秦皇島 066004)
能源危機和環(huán)境破壞已經(jīng)成為社會關(guān)注的重要問題。在交通領(lǐng)域,減少對化石燃料的依賴可以有效遏制環(huán)境污染與資源枯竭問題。電動汽車和混合動力汽車是很有前途的發(fā)展方向,然而,這需要電源存儲系統(tǒng)完全或部分替代傳統(tǒng)內(nèi)燃機提供的推進力。鋰離子電池由于其適用環(huán)境溫度范圍寬,能量密度高和使用壽命長而被廣泛使用[1~3]。荷電狀態(tài)(state of charge, SOC)和可用容量是表征電池性能的重要參數(shù),它們的準確估算對于提高能量利用效率和延長電池壽命具有重要意義。
電池的SOC估算方法主要包括:(1)安時積分法[4],盡管該方法相對簡單,但屬于開環(huán)方法,受SOC的初始值和電流測量精度的影響,測量誤差會隨時間累加;(2)開路電壓法[5],在電池的開路電壓測試中,必須將電池放置一段時間以獲得穩(wěn)定不變的電壓值,不適用于電池SOC的在線估計[6];(3)神經(jīng)網(wǎng)絡(luò)方法[7],神經(jīng)網(wǎng)絡(luò)模型的估計精度受訓練數(shù)據(jù)影響較大,電池之間的差異性會導致神經(jīng)網(wǎng)絡(luò)難以實現(xiàn)對其它類型電池的精確估計;(4)擴展卡爾曼濾波器(extended Kalman filter, EKF)算法[8,9],通過遞推迭代方法估計電池的SOC,在非線性系統(tǒng)線性化的過程中,SOC估計的準確性下降,計算量增加;(5)無跡卡爾曼濾波(unscented Kalman filter, UKF)算法[10],UKF采用統(tǒng)計線性化的方式,減少了相應(yīng)的計算量和估計誤差,但在電池SOC估計時,存在噪聲方差固定導致估計精度不高的問題。
電池容量估計方法主要分為基于模型的估計方法和基于神經(jīng)網(wǎng)絡(luò)的估計方法。根據(jù)神經(jīng)網(wǎng)絡(luò)的估算方法[11],從電池使用期間的測量數(shù)據(jù)中提取電池老化信息,需要大量樣本數(shù)據(jù),并且由于電池之間的差異性導致難以實現(xiàn)對其它類型電池的精確估計?;谀P偷墓烙嫹椒╗12,13]難點在于電池機理模型結(jié)構(gòu)比較復雜,難以建立精準的電池老化模型。
上述估計方法大多是針對SOC或容量的單獨估計,當電池使用到一定程度,電池容量顯示出與SOC相同的重要性,本質(zhì)上它們是緊密耦合的[14,15]。本文提出一種聯(lián)合估計方法,給出了開路電壓與SOC和電池有效容量非線性模型的兩變量多項式描述;當電池循環(huán)使用次數(shù)超過預(yù)設(shè)值,采用鯨魚優(yōu)化算法(whale optimization algorithm, WOA)估計當前電池容量與電池模型參數(shù);根據(jù)模型參數(shù)與容量值,通過UKF估計電池SOC;在SOC估計過程中,采用鯨魚優(yōu)化算法更新UKF的觀測噪聲方差和過程噪聲方差,實現(xiàn)噪聲方差的自適應(yīng)調(diào)節(jié),進而提高估計精度。
電池等效電路模型能準確地表征電池外部特性,并且計算量相對較小。鋰離子電池二階等效電路模型如圖1所示[16]。
圖1 電池等效電路模型Fig.1 Equivalent model of the battery
圖1中,U是電池輸出電壓;Uoc是開路電壓;Usoc是SOC對應(yīng)的電壓;R0是歐姆內(nèi)阻;I是工作電流;Rs、Cs是電化學極化電阻和極化電容;Rl、Cl是濃度極化電阻和極化電容;Us、Ul是兩個RC環(huán)對應(yīng)的極化電壓;Qa為電池容量。
選擇SOC和Us、Ul作為系統(tǒng)狀態(tài)變量,可得到以下狀態(tài)方程:
(1)
式中:T是采樣周期;k為離散時間;SOC(k)表示k時刻鋰電池的SOC;I(k)為輸入電流。
開路電壓Uoc與電池SOC和Qa之間存在相互映射關(guān)系[17]:
Uoc(k)=h1[SOC(k)、Qa]+ΔUTemp
(2)
式中:h1[]為關(guān)于SOC和Qa的非線性函數(shù);ΔUTemp表示不同溫度下開路電壓相對于參考電壓的變化量。
隨著電池使用時間的累積,電池實際容量逐漸減少,放電過程中放電時間逐漸減少,圖2給出了Uoc、Qa與SOC之間的三維響應(yīng)曲面,表征了全壽命范圍內(nèi)Uoc、Qa與SOC之間的非線性關(guān)系。
圖2 Uoc、Qa與SOC三維響應(yīng)曲面Fig.2 Three-dimensional response surfaces of Uoc、Qa and SOC
h1[]一般采用多項式函數(shù)擬合,給出6系數(shù)多項式擬合函數(shù)如式(3)所示。
Uoc(SOC、Qa)=k5lg(1-SOC)+k4lg SOC+
(3)
式中k0,k1,…,k5為多項式系數(shù)。在考慮容量衰減的情況下,這6個多項式系數(shù)是容量Qa的函數(shù),具體形式將在后文給出。
輸出方程如下:
U(k)=Uoc(k)-Us(k)-Ul(k)-R0I(k)
(4)
由式(1),式(4)可得加入噪聲干擾的鋰電池非線性系統(tǒng)模型為:
(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)。
電池模型中的未知參數(shù)有:R0、Rs、Rl、Cs、Cl和Qa。
容量和SOC聯(lián)合估計主要包括3個部分:策略模塊、容量與參數(shù)估計模塊以及SOC估計模塊。首先,策略模塊開始累積循環(huán)次數(shù),直到循環(huán)充放電次數(shù)超過預(yù)設(shè)的閾值(閾值視實際使用工況而定);然后采用WOA進行容量和模型參數(shù)估計,根據(jù)估計得到的容量和模型參數(shù),通過WOA-UKF算法進行SOC估計。
鯨魚優(yōu)化算法(WOA)是由Mirjalili于2016年提出的一種效仿座頭鯨捕食行為的元啟發(fā)式優(yōu)化算法[18],WOA算法結(jié)構(gòu)簡單,需要調(diào)整參數(shù)較少,其數(shù)學模型包括3種優(yōu)化方式:包圍狩獵目標、泡沫網(wǎng)攻擊和搜索捕捉。
3.1.1 包圍獵物
假定當前最佳解是目標獵物的位置或其中最靠近目標獵物的位置。在確定最佳位置之后,其它鯨魚將向最佳位置靠攏。位置變化數(shù)學表達式為[19]:
X(j+1)=X*(j)-AD
(6)
D=|CX*(j)-X(j)|
(7)
式中:A和C為系數(shù)變量;X(j)表示當前鯨魚位置;X*(j)為當前最佳鯨魚位置;j表示迭代次數(shù)。
系數(shù)變量A和C計算式為:
A=2a×r-a
(8)
C=2r
(9)
式中:a是變量,范圍是[0,2],并且以遞歸減法的形式進行更新;r是位于[0,1]之間的隨機值。
3.1.2 泡沫網(wǎng)攻擊
(a) 收縮包圍:算法尋優(yōu)過程中,a值減小,A的范圍為[-a,a]。當A在[-1,1]范圍之內(nèi)時,則鯨魚的游動位置將在當前鯨魚位置和目標位置之間,這體現(xiàn)了該算法局部搜索能力[20,21],并且包圍過程由式(6)更新。
(b) 螺旋式位置更新:其它個體向最優(yōu)個體螺旋式行進,對應(yīng)數(shù)學表達式如下:
X(j+1)=D′elbcos(2π l)+X*(j)
(10)
(11)
式中:D′代表第i頭鯨和目前最優(yōu)個體距離;b為取對數(shù)螺旋形式的常量;l是[-1,1]上的隨機數(shù)。
收縮包圍圈和螺旋更新2種模式以等概率做調(diào)整:
(12)
式中p為[0,1]上的隨機數(shù)。
3.1.3 搜索捕食
為了找到獵物,鯨魚個體會偏離原始目標獵物,以提高算法的整體搜索能力,進而提高捕食能力。更新時若A超出[-1,1]范圍,距離D隨機更新,建模如下:
D′=|CXrand-X(j)|
(13)
X(j+1)=Xrand-AD′
(14)
式中Xrand是當前種群中隨機選擇的鯨魚個體位置。
采用WOA進行電池參數(shù)與容量估計時,待尋優(yōu)的鯨魚位置X設(shè)為電池待辨識的參數(shù)數(shù)組[R0RsRlCsClCa],取適應(yīng)度函數(shù)F1為端電壓測量值與估計值的均方誤差:
(15)
UKF通過狀態(tài)的均值和方差確定一些sigma點集,并根據(jù)系統(tǒng)模型獲得新的sigma點集,通過合適的加權(quán)運算獲得輸出的均值和方差,從而實現(xiàn)最佳狀態(tài)估計[22];缺點是噪聲方差人為設(shè)定,可能導致濾波發(fā)散[23]。WOA-UKF算法通過第二套WOA(前面用于辨識和容量估計的WOA可稱為第一套WOA)更新UKF中的噪聲方差R和Q。在第二套WOA中,將噪聲方差R和Q作為待優(yōu)化的鯨魚位置,并記為X=[RWOAQWOA];將最優(yōu)RWOA和QWOA組合反饋給UKF,繼續(xù)迭代估計SOC,減小了UKF算法在未知系統(tǒng)噪聲下的SOC估計誤差。
WOA-UKF對鋰電池SOC估計的步驟:
1) 狀態(tài)初值與誤差協(xié)方差初值初始化
(16)
2) 按如下方式生成N(N=2n+1)個sigma點及權(quán)系數(shù)
(17)
(18)
3) 計算采樣點集的一步預(yù)測
(19)
4) 計算狀態(tài)量的一步預(yù)測均值和均值方差
(20)
(21)
5) 輸出均值及協(xié)方差一步預(yù)測
(22)
(23)
(24)
6) 計算卡爾曼濾波增益
(25)
7) 狀態(tài)與協(xié)方差更新
(26)
(27)
8) 采用WOA更新Q、R
第二套WOA的適應(yīng)度函數(shù)為:
(28)
以式(28)最小調(diào)整Q,R如式(29)所示。
(29)
采用NASA研究中心B0006組鋰離子電池放電實驗數(shù)據(jù)[24],鋰離子電池的額定容量為2 Ah,在24 ℃恒溫條件下進行連續(xù)循環(huán)充放電測試,因此不考慮溫度對開路電壓的影響,ΔUTemp=0。電池先以1.5 A恒流(CC)充電,直至電壓達到4.2 V,此時充電模式轉(zhuǎn)至恒壓模式,繼續(xù)充電,直到充電電流降至0.02 A以下,然后再以2 A恒流(CC)放電至2.7 V來觀察電池容量,記錄每次循環(huán)放電容量Qa和充放電時間、電壓、電流。
為了充分研究電池容量老化隨時間變化趨勢,采用100%降至55%容量實驗結(jié)果進行分析和驗證本文算法的性能。電池進行了168次循環(huán)(記為:Cyc168)充放電實驗,圖3顯示了容量衰減變化情況。
圖3 電池容量變化曲線Fig.3 Changing curve of the battery capacity
由圖3可看出,基本放電容量從100%下降到55%,電池容量隨著循環(huán)放電次數(shù)呈線性衰減趨勢。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關(guān)系曲線。
圖4 不同壽命時期Uoc與SOC關(guān)系曲線Fig.4 The relationship curve of Uoc and SOC at different life periods
由圖4可知,不同壽命時期Uoc與SOC的關(guān)系曲線不同,據(jù)此設(shè)計公式(3)中k0,k1,…,k5和Qa的關(guān)系式。分別采用2、3、4、5階多項式進行擬合,并采用最小二乘法,擬合的均方差分別為1.432 8×10-5、4.269 9×10-5、1.244 4×10-6和1.234 8×10-6??煽闯?階多項式擬合與4階多項式相當,而后繼續(xù)增加多項式階數(shù),精度提高不大,因此采用4階多項式擬合即可。4階多項式的擬合如式(30)所示。
(30)
其中
1) 驗證WOA算法的辨識效果。WOA算法參數(shù)設(shè)置為:迭代更新次數(shù)T=20,鯨魚種群數(shù)量=10。選用全壽命周期內(nèi)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%以內(nèi),均方誤差為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%范圍內(nèi),幾乎趨近于0,且較平穩(wěn);AUKF次之,估計誤差在±0.4%范圍內(nèi);UKF算法估計誤差在±0.6%范圍內(nèi)。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具有對模型其它參數(shù)的辨識和噪聲方差的調(diào)整能力,仍具有較高的估計精度。
3) 容量變化時,驗證容量與SOC聯(lián)合估計的必要性及效果。以Cyc57的容量為基準,采用UKF、AUKF與WOA-UKF算法分別對Cyc112、Cyc160進行SOC估計,估計結(jié)果與估計誤差如圖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%范圍內(nèi)。UKF,AUKF不具有容量估計功能,估計曲線呈發(fā)散趨勢,并且循環(huán)次數(shù)相差越大,發(fā)散越快。由表1可知,WOA-UKF的均方誤差最小,均在10-6數(shù)量級;AUKF的均方誤差次之,在10-3數(shù)量級;UKF的均方誤差最大,在10-3~10-2數(shù)量級。驗證了電池容量估計的必要性,也體現(xiàn)了聯(lián)合估計算法的優(yōu)勢。
4) 驗證算法在不同溫度下對SOC估計的有效性。分別采用UKF、AUKF與WOA-UKF算法對同一鋰電池在50 ℃條件下放電實驗數(shù)據(jù)進行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%范圍內(nèi),幾乎趨近于0,且較平穩(wěn);AUKF次之,估計誤差在 ±0.2%范圍內(nèi);UKF算法估計誤差在±0.3%范圍內(nèi)??梢?,在溫度變化時,WOA-UKF算法仍然可以有效地估計SOC,且與UKF和AUKF算法相比,WOA-UKF算法具有較高的估計精度。與圖7比較可看出,隨著溫度的增加電池的SOC也增大。
提出了一種鋰離子電池容量與SOC聯(lián)合估計方案。首先建立一種開路電壓與SOC和電池有效容量非線性關(guān)系的兩變量多項式模型。采用策略模塊累積試驗次數(shù),當電池循環(huán)使用次數(shù)超過預(yù)設(shè)值,通過WOA算法進行電池容量和參數(shù)估計;根據(jù)模型參數(shù)與容量值,采用WOA-UKF算法估計鋰離子電池的SOC。實驗驗證了電池容量和SOC聯(lián)合估計方案的有效性。由于新能源汽車需要鋰離子電池組供電,電池組容量的差異和不一致性會對電源使用效率和安全性能產(chǎn)生惡劣影響,因此對電池組容量的差異和不一致性進行估算將是未來該領(lǐng)域重要的研究方向之一。