顏學(xué)龍, 譚霽宬
(桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)
鋰電池具有能量密度大,循環(huán)壽命長,耐高溫,重量輕,綠色環(huán)保等諸多優(yōu)點,因此在電動汽車中廣泛使用[1]。鋰電池荷電狀態(tài)(state of charge,簡稱SOC)的估計是電動汽車電池管理系統(tǒng)的主要任務(wù)之一。精確的鋰電池SOC估計可以避免不可預(yù)測的系統(tǒng)中斷,并防止電池過度充放電對電池的內(nèi)部結(jié)構(gòu)造成永久性損壞,從而延長使用壽命[2]。由于鋰電池工作時具有非線性和時變特性,準(zhǔn)確估算鋰電池SOC仍然是一個挑戰(zhàn)[3]。
目前有許多鋰電池SOC估計方法,簡單易用的有安時積分法[4],但該方法容易出現(xiàn)累積誤差,需要準(zhǔn)確的SOC初值與精確的電流測量值。開路電壓法[5]在充放電早期和后期SOC估算是最有效的,前提是電池需要長時間靜置,使其端電壓接近開路電壓(open circuit voltage,簡稱OCV),一般聯(lián)合使用安時積分法與開路電壓法來增強SOC估計。神經(jīng)網(wǎng)絡(luò)模型[6]、支持向量機[7]等機器學(xué)習(xí)方法也已用于在線估計鋰電池SOC,但模型訓(xùn)練非常耗時,且需要大量可靠數(shù)據(jù),鋰電池工作時遇到未知的負(fù)載條件可能導(dǎo)致較大的估計誤差。在模型誤差和外部干擾方面,滑模觀測器(sliding mode observer,簡稱SMO)算法[8]是一種可靠且穩(wěn)健的SOC估計方法,可用于模型誤差和外部的干擾。由于很難獲得SMO的最佳參數(shù),使得SOC估計較困難。粒子濾波(particle filter,簡稱PF)[9]算法可以在非線性和非高斯?fàn)顟B(tài)估計中有效地執(zhí)行,但需要大量粒子和大規(guī)模矩陣運算,這限制了其在SOC估計中的實際應(yīng)用。還有一類基于電池模型的卡爾曼濾波系列算法,在鋰電池SOC估計方法中得到了廣泛研究,其在估計精度和魯棒性方面已取得了令人滿意的結(jié)果。較典型的有擴展卡爾曼濾波(extened Kalman filter,簡稱EKF)算法[10]與無跡卡爾曼濾波(unscented Kalman filter,簡稱UKF)算法[11]。然而EKF算法無法避免線性化誤差和雅可比矩陣計算的問題,這可能導(dǎo)致高度非線性的電池狀態(tài)系統(tǒng)濾波估計無效和精度降低。UKF算法在估算SOC方面具有比EKF算法更高的精度,但需要進行無跡變換計算和轉(zhuǎn)換sigma點,計算復(fù)雜度高且無法保證狀態(tài)協(xié)方差的半正定性,從而影響濾波估計。
為解決以上問題,文獻[12]提出了一種基于平方根容積卡爾曼濾波(square root cubature Kalman filter,簡稱SRCKF)算法的鋰電池SOC估計方法。相比EKF、UKF算法,容積卡爾曼濾波(cubature Kalman filter,簡稱CKF)算法[13]實現(xiàn)簡單,無需線性化近似,也不必進行參數(shù)選擇,可以在高維狀態(tài)保持估計精度的同時縮短計算時間。SRCKF算法在CKF算法基礎(chǔ)上,以Cholesky分解因子形式直接傳播和更新狀態(tài)協(xié)方差矩陣的平方根,獲得了更高的計算效率,并保證了協(xié)方差矩陣的非負(fù)定性,提高了濾波器的收斂速度和穩(wěn)定性。但SRCKF算法缺乏魯棒性,無法適應(yīng)未知或時變的噪聲統(tǒng)計特性條件。為了解決先驗噪聲統(tǒng)計特性未知或不準(zhǔn)確導(dǎo)致的SRCKF的精度下降或發(fā)散的問題,提出了基于自適應(yīng)平方根嵌入式容積卡爾曼濾波(adaptive square-root embedded cubature Kalman filter,簡稱ASECKF)算法的鋰電池SOC估計方法,克服了SRCKF算法的缺陷,增強了算法的自適應(yīng)性和魯棒性,從而提高了鋰電池SOC估計精度。
設(shè)含有控制量的離散非線性系統(tǒng)的狀態(tài)方程和觀測方程為
(1)
其中:xk、zk分別為k時刻的系統(tǒng)狀態(tài)量和觀測量;F(·)、H(·)為非線性函數(shù);uk為k時刻的控制輸入量;vk為過程噪聲;wk為觀測噪聲。vk、wk分別具有以下統(tǒng)計特性:
(2)
其中:E(·)表示求期望;cov(·)表示求協(xié)方差。
為了提高傳統(tǒng)CKF算法的濾波精度與算法數(shù)值運算的穩(wěn)定性,文獻[14]采用三階嵌入式容積準(zhǔn)則代替了三階球面-徑向容積準(zhǔn)則,并引入平方根濾波思想保證協(xié)方差矩陣的對稱性和正定性,得到了平方根嵌入式容積卡爾曼濾波(Square-root embedded cubature Kalman filter,簡稱SECKF)算法。具體算法步驟如下。
1)根據(jù)三階嵌入式容積準(zhǔn)則計算基本容積點和相應(yīng)的權(quán)值:
(3)
(4)
其中:n為狀態(tài)維數(shù);[0]為n維零向量;[δ]為容積點集;[δ]i為點集中的第i個點。令式(2)中σ=1,將n維向量[σ2,-σ2,…,-σ2]T中的元素進行全排列并取反可得:
(5)
2)初始化獲得初始狀態(tài)估計、初始狀態(tài)估計協(xié)方差及其Cholesky分解因子:
(6)
其中chol(·)表示矩陣Cholesky分解。
3)時間更新:
(7)
(8)
(9)
(10)
(11)
其中Tria(·)表示QR三角分解,返回下三角矩陣。
4)測量更新:
(12)
Zi,k-1|k-1=H(Xi,k|k-1,uk-1)+rk,
(13)
(14)
(15)
Szz,k|k-1=Tria([Zk|k-1,chol(Rk)]),
(16)
(17)
Pxz,k|k-1=χk|k-1γk|k-1,
(18)
(19)
(20)
(21)
Sk|k=Tria([χk|k-1-Kkγk|k-1,Kkchol(Rk)])。
(22)
SECKF算法同SRCKF算法一樣,也需要預(yù)先設(shè)定準(zhǔn)確的過程噪聲協(xié)方差矩陣Q與測量噪聲協(xié)方差矩陣R,兩者取值大于或小于實際值都會導(dǎo)致濾波精度降低或發(fā)散。實際工程應(yīng)用中,隨機干擾是不可避免的,過程噪聲和測量噪聲統(tǒng)計特性很難準(zhǔn)確獲得。
早期Sage-Husa噪聲估計器針對未知噪聲的線性系統(tǒng)具有良好的效果,為了擴展其應(yīng)用范圍,根據(jù)文獻[16]在SRCKF算法框架下推導(dǎo)出的適用于非線性系統(tǒng)的時變噪聲統(tǒng)計估計器,結(jié)合三階SECKF算法推導(dǎo)過程,獲得了能應(yīng)用于ASECKF算法的平方根形式的時變噪聲統(tǒng)計估計器:
(23)
其中,Pk由式(24)計算得到,dk通過式(25)獲得。
Pk=[χk|k-1-KkZk|k-1,KkSR,k]×
[χk|k-1-KkZk|k-1,KkSR,k]T,
(24)
dk=(1-b)/(1-bk+1),0
(25)
通過式(25)中的遺忘因子b限制濾波器記憶長度,增加新數(shù)據(jù)對當(dāng)前估計的作用,減小陳舊數(shù)據(jù)的影響。通過式(23)可實現(xiàn)在線遞推估計,并修正SICKF算法中的噪聲均值q、r和協(xié)方差Q、R,避免濾波精度降低和發(fā)散,提高了SECKF濾波的穩(wěn)定性、適應(yīng)性。在增強算法的自適應(yīng)性同時,由于要估算噪聲的統(tǒng)計特性,計算量隨即增加,在實際應(yīng)用中很難保證算法的實時性。因此,根據(jù)基于協(xié)方差匹配技術(shù)[17],設(shè)計了合適的濾波發(fā)散判據(jù)條件來判斷濾波是否異常。該判據(jù)條件為
(26)
其中:tr(·)為求矩陣的跡;γ為儲備系數(shù),γ≥1,γ=1時為最嚴(yán)格的收斂判據(jù)條件。當(dāng)式(26)成立時,表明濾波已經(jīng)發(fā)散,且實際誤差超過理論預(yù)計的γ倍,此時需要通過式(23)進行噪聲統(tǒng)計特性估算;當(dāng)式(26)不成立時,則可以不再計算式(23),從而減少了計算量,提高了實時性,最終實現(xiàn)了比較實用的自適應(yīng)平方根嵌入式卡爾曼濾算法。
電池等效電路模型有很多種[18],如Rint模型、Thevenin模型、PNGV模型等。在Thevenin模型礎(chǔ)上增加2個RC環(huán)路,改進為三階RC環(huán)路模型,以提高模型精度和動態(tài)特性的反應(yīng)。三階RC環(huán)路等效電路模型如圖1所示。
圖1 三階RC環(huán)路等效電路模型
圖1中,R0,t為歐姆內(nèi)阻,R1~3為電池的極化內(nèi)阻,C1~3為電池的極化電容,Uoc,t為電池開路電壓,Ut為電池的端電壓,U1~3,t為極化電容電阻上的電壓,it為通過電池的電流。由上述參數(shù)可得:
(27)
文獻[19]結(jié)合松下NCR18650 A鋰電池官方數(shù)據(jù)手冊與實驗測試數(shù)據(jù)提出了修正后的SOC定義:
(28)
其中:St0為電池荷電狀態(tài)的初始值;St為電池t時刻的荷電狀態(tài);Tt為t時刻電池的溫度;n為已循環(huán)充放電次數(shù);η為電池充放電效率,充電時為98.29%,放電時為100%;QN為該電池參考容量,其值為3.2 A·h。
在電池處于不同SOC值的情況下進行脈沖放電實驗,可得電池端電壓響應(yīng)數(shù)據(jù),利用最小二乘法可以辨識電池等效電路模型的歐姆內(nèi)阻和各極化參數(shù)。將每次脈沖前靜置穩(wěn)定后的端電壓作為開路電壓OCV的值,采用多項式擬合方法可以擬合得到OCV與SOC之間的函數(shù)關(guān)系[12]。根據(jù)NCR18650 A鋰電池的實測數(shù)據(jù)計算可得各極化參數(shù)值如表1所示。
表1 等效電路模型參數(shù)辨識值
歐姆內(nèi)阻與開路電壓的辨識值對SOC估計影響較大,所以建立了相關(guān)函數(shù)式(29)~(31),使其根據(jù)SOC值實時動態(tài)變化,以提高模型準(zhǔn)確率。
R0,t(St)=0.0248St2-0.03044St+0.06699,
(29)
(30)
(31)
式(31)中ΔV為滯回電壓修正量,充電時加上ΔV,放電時減去ΔV。
選取[St,U1,t,U2,t,U3,t]T作為系統(tǒng)的狀態(tài)變量,Ut作為觀測變量,采樣時間為T,將式(27)與式(28)離散化后得電池狀態(tài)空間方程的矩陣形式為:
(32)
將已辨識的NCR18650 A鋰電池等效電路模型參數(shù)帶入式(32),結(jié)合鋰電池SOC估計算法,采用simulink搭建了鋰電池SOC估計算法驗證仿真實驗平臺,如圖2所示。
仿真實驗平臺中,利用Random Number模塊設(shè)計的過程噪聲模塊與觀測噪聲模塊模擬鋰電池在充放電時受到的未知噪聲干擾,可以設(shè)置放電工況,對比驗證EKF、UKF、SRCKF、ASECKF算法的SOC估計效果。
此次實驗將噪聲都設(shè)為零均值高斯白噪聲,但實際上Sage-Husa噪聲估計器不能同時估計過程噪聲協(xié)方差Q與觀測噪聲協(xié)方差R。由于過程噪聲一般處于穩(wěn)定狀態(tài),將Q作為已知量如式(33),R作為未知量進行估計,并設(shè)置其值分別在0.012、0.022、0.032每1000 s循環(huán)變化生成時變的觀測噪聲。
圖2 鋰電池SOC估計算法驗證仿真平臺
Q=diag(0.00012,0.0012,0.0012,0.0012)。
(33)
設(shè)置室溫25 ℃,NCR18650 A鋰電池已在官方標(biāo)準(zhǔn)下循環(huán)充滿與放空了50次?,F(xiàn)將電池充滿電即實際電池SOC初值為1,采用參考標(biāo)準(zhǔn)UDDS工況,縮小一定比例設(shè)計的電流工況對電池進行放電。當(dāng)電池達(dá)到規(guī)定的截止電壓2.5 V時,停止放電。設(shè)采樣時間T=1 s,測試電流與帶有時變觀測噪聲的端電壓曲線如圖3所示。
圖3 鋰電池測試電流與端電壓曲線
為了驗證在系統(tǒng)受未知時變統(tǒng)計特性觀測噪聲影響下基于ASECKF算法估計鋰電池SOC方法的效果,給定與實際情況有偏差的先驗觀測噪聲協(xié)方差R=0.000 5。設(shè)置狀態(tài)變量中初始電池荷電狀態(tài)時,給定正確值St=1。SOC估計結(jié)果對比曲線如圖4所示,SOC估計絕對誤差對比曲線如圖5所示。從圖4可看出,在放電全過程中EKF、UKF、SRCKF、ASECKF算法均能相對準(zhǔn)確地估計出鋰電池SOC值。從圖5可看出,由于ASECKF算法有更高階的非線性近似精度,并可以自適應(yīng)修正觀測噪聲協(xié)方差R,使得誤差更小,大部分時間ASECKF算法的誤差曲線低于其他3種算法。SOC估計方法評價指標(biāo)如表2所示。從表2可看出,ASECKF算法估計的SOC最大絕對誤差為1.44%,平均絕對誤差為0.45%,均方根誤差為0.614%,表明在此場景下估計精度與穩(wěn)定性均好于基于SRCKF、UKF、EKF算法的鋰電池SOC估計方法。
圖4 SOC估計結(jié)果對比曲線
為了驗證ASECKF算法估計鋰電池SOC方法的收斂性,在其他條件不變的情況下,設(shè)定錯誤的荷電狀態(tài)初始值St=0.5。SOC估計方法收斂性驗證仿真結(jié)果如圖6所示。從圖6可看出,4種算法均具有向真實值收斂趨勢,但是收斂速度與收斂效果不同。結(jié)合表3可知,EKF、UKF、SRCKF算法收斂速度極快,能在大約8 s內(nèi)就能快速收斂完畢,但是收斂時的估計值與真實值有一定誤差。ASECKF算法的收斂速度相對較慢,收斂時間約為50 s,但收斂時的SOC估計值能夠較為準(zhǔn)確地收斂到真實值。從圖7可看出,EKF、UKF、SRCKF算法收斂后繼續(xù)進行SOC估計時并不穩(wěn)定,容易偏離真實值,但ASECKF算法收斂后還能繼續(xù)以微小的誤差波動穩(wěn)定的估計SOC值,平均絕對誤差為0.543%,均方根誤差為0.818%,表現(xiàn)出了良好的自適應(yīng)性和魯棒性。
圖5 SOC估計絕對誤差對比曲線
SOC估計方法最大絕對誤差平均絕對誤差均方根誤差A(yù)SECKF0.014 400.004 500.006 14SRCKF0.020 080.005 730.007 72UKF0.016 850.005 860.007 65EKF0.017 490.006 240.007 98
圖6 SOC估計方法收斂性驗證結(jié)果
圖7 SOC估計方法收斂性實驗誤差對比曲線
SOC估計方法收斂時間/s平均絕對誤差均方根誤差A(yù)SECKF500.005 430.008 18SRCKF20.019 070.023 56UKF80.009 690.012 29EKF20.010 070.012 80
在SECKF算法的基礎(chǔ)上,采用基于最大后驗估計的噪聲統(tǒng)計估計器與基于模型輸出殘差序列的協(xié)方差匹配的概念,提出了一種基于自適應(yīng)平方根嵌入式容積卡爾曼濾波(ASECKF)算法的SOC估計方法。提高了基于SRCKF算法估計鋰電池SOC精度同時,增強了方法的自適應(yīng)性和魯棒性性。仿真實驗表明,該方法在噪聲先驗信息未知和隨機干擾下,能夠精確估計出鋰電池SOC。