黃敬堯,李凌峰,張 揚,宋軒宇
(1.三峽大學(xué)電氣與新能源學(xué)院,湖北宜昌 443002;2.湖北能源集團鄂州發(fā)電有限公司,湖北鄂州 436000)
近年來,鋰離子電池被廣泛運用到了電動汽車等生活領(lǐng)域中,但它也有許多瓶頸限制其發(fā)展[1]。電池管理系統(tǒng)(battery management system,BMS)通過測量電池外部參數(shù)預(yù)估其內(nèi)部狀態(tài)從而對其工作行為進行管理,包含了均衡電路、溫度控制、荷電狀態(tài)(SOC)等[2]。BMS 的有效管理可提高電池工作效率,從而延長一個充電周期內(nèi)的行駛里程;也能迅速調(diào)整電池工作狀態(tài),避免故障,從而增加了鋰離子電池組的壽命。而這些功能的實現(xiàn),都基于BMS 對電池狀態(tài)估算是否足夠準確。
荷電狀態(tài)(SOC)是電池的可用容量,是十分關(guān)鍵的狀態(tài)參數(shù),它可以被用來監(jiān)測并控制電池的工作狀態(tài),預(yù)測車輛的行駛里程等[3]。但是它不會被直接觀測得到,僅能通過采集相關(guān)電池參數(shù),建立模型,利用估算算法獲得。遞推最小二乘法(RLS)是常用的在線辨識方法之一。該算法具備在線識別參數(shù)的能力,且算法簡單,精確度較高,但會出現(xiàn)數(shù)據(jù)飽和問題。遺忘因子遞推最小二乘法(FFRLS)在其基礎(chǔ)上引入了遺忘因子,在迭代過程中用降低舊數(shù)據(jù)影響的方法來提高新數(shù)據(jù)的利用率,從而能夠很好地解決數(shù)據(jù)飽和的問題。但其要求系統(tǒng)輸入具有平穩(wěn)性和遍歷性,難以實際應(yīng)用。且初值的設(shè)立對算法的動態(tài)響應(yīng)度影響較大,使其不能精確跟蹤時變參數(shù)。本文在FFRLS 之上引入遺忘因子多新息最小二乘法(forgetting factor multi-innovation least square,FF-MILS)作為所選模型的參數(shù)辨識算法[4-5]。將標量新息擴展為向量新息或者矩陣新息,強化參數(shù)新息的利用并添加遺忘因子,加速算法對誤差的收斂,提高對電池參數(shù)的辨識精度。
基于以上考慮,為解決電池模型的實時性與荷電狀態(tài)估算的準確性,本文推導(dǎo)了二階RC 電路的離散型狀態(tài)空間方程,做實驗得到了OCV-SOC關(guān)系,用模型參數(shù)在線辨識的遺忘因子多新息最小二乘法(FF-MILS)結(jié)合無跡卡爾曼濾波(unscented kalman filter,UKF)[6]對鋰離子電池在線估算,在多種工況實驗與仿真中校驗了該算法是否可行。
由文獻[2]可知荷電狀態(tài)(SOC)的定義公式如下:
鋰離子電池等效電路模型與電化學(xué)模型不同[5-9],它是由電路原理推導(dǎo)出常微分方程建立,更便于計算,且精度也能夠滿足需求。本文通過比對后采用二階RC 等效電路,如圖1所示。
圖1 鋰電池二階RC等效電路
當(dāng)電池發(fā)生極化現(xiàn)象時,有圖中所示模型參數(shù)。電流I(t)與端電壓U(t)都是可以通過傳感器直接測量得到的狀態(tài)量,該數(shù)學(xué)模型的具體函數(shù)關(guān)系:
聯(lián)立式(1)與式(2)可得該模型的狀態(tài)空間方程并離散化得到:
在靜置條件下,采用時安積分實驗獲取SOC與OCV的擬合函數(shù)。選用額定容量為30 Ah 的鋰離子電池在常溫(25 ℃)中進行標準放電電流0.5C恒流放電至放出容量達到標準容量的10%,停止放電并靜置2 h 后記錄開路電壓。重復(fù)以上步驟,可以得到該電池測試數(shù)據(jù)如表1 所示。
表1 OCV-SOC 測試
所記錄數(shù)據(jù)導(dǎo)入MATLAB 的工作區(qū)通過plot 函數(shù)得到充電與放電OCV-SOC關(guān)系如圖2 所示。
圖2 OCV-SOC擬合曲線
將所得數(shù)據(jù)通過cftool 工具箱擬合,得出了電池電動勢E(t)與荷電狀態(tài)SOC之間的擬合函數(shù)關(guān)系如下:
RLS 辨識算法基于不斷采樣所獲得觀測值與迭代遞推所獲的估計值之間誤差對估算結(jié)果不斷修正,直至出現(xiàn)最優(yōu)估計結(jié)果。其對二階RC 等效模型參數(shù)辨識具體步驟如下:
首先對圖1 進行拉氏變換:
將電壓差E(s)-U(s)作為輸入,I(s)作為輸出,作系統(tǒng)的傳遞函數(shù)為:
式中:a1、a2、a3、a4、a5為相應(yīng)的待定系數(shù),將上式轉(zhuǎn)化成差分方程有:
式中:I為同型單位矩陣;P(k)為k時刻的協(xié)方差矩陣;新息與其校正增益項K(k)之積加上k-1 時刻的最優(yōu)估計便是k時刻的最優(yōu)估計參數(shù)θ(k)。由于:
可見,隨著采樣次數(shù)變多,P(k)將逐漸趨近0,由式(9)可知增益矩陣K(k)同樣會變得越來越趨近0,便會導(dǎo)致新的采樣值對最優(yōu)估計結(jié)果的改進失效,因而出現(xiàn)了數(shù)據(jù)飽和的問題。向遞推最小二乘法中引入遺忘因子,緩解數(shù)據(jù)飽和現(xiàn)象,實現(xiàn)參數(shù)在線辨識。具體遞推公式如下:
式中:l=0.99 為遺忘因子。
當(dāng)對鋰電池采樣的時候,一次僅能夠得到一組電池的電壓電流數(shù)據(jù),并且對初始參數(shù)的設(shè)置會存在誤差較大的情況,這樣就會導(dǎo)致辨識的初期無法很好地跟蹤電池參數(shù),甚至在采樣次數(shù)少的情況下會對最終辨識結(jié)果產(chǎn)生較大誤差。多新息遺忘因子最小二乘法獲取新息向量,并對其充分利用,最終達到了對誤差的快速收斂。將標量e(k)擴展成長度為p的向量E(p,k)。
此時,得到擴展后的輸出向量與堆積數(shù)據(jù)的矩陣分別為:
最終有如下遞推關(guān)系:
由式(15)計算出最優(yōu)參數(shù)向量θ,代入離散化后的系統(tǒng)傳遞函數(shù)式(7),由式(6)和(7)對應(yīng)系數(shù)相等可得G(s)的模型參數(shù)辨識方程:式中:T為采樣周期,得出二階等效電路模型的每個參數(shù),為接下來荷電狀態(tài)的估算算法提供了準確數(shù)據(jù),將OCV-SOC擬合函數(shù)關(guān)系導(dǎo)入辨識流程,通過電流參數(shù)與初始SOC進行模型動態(tài)參數(shù)的辨識。具體步驟如圖3。
圖3 FF-MILS辨識流程
電池SOC的估算采用無跡卡爾曼濾波算法。
無跡卡爾曼濾波(unscented kalman filter,UKF)適用于非線性系統(tǒng)。首先,它不需要考慮非線性函數(shù)的連續(xù)性及系統(tǒng)階數(shù)。它利用采樣點近似逼近系統(tǒng)狀態(tài)變量,從而進一步提升了濾波估計的穩(wěn)定性與高精度。UT 變換[10]是無跡卡爾曼濾波最重要的部分,它主要通過狀態(tài)向量的均值X與協(xié)方差矩陣PXX,利用采樣點及函數(shù)的映射關(guān)系獲取量變換后的均值Y與協(xié)方差矩陣PYY。
在式(3)離散型狀態(tài)空間模型的基礎(chǔ)上添加互不相關(guān)且服從正態(tài)分布的系統(tǒng)激勵噪聲序列Wk-1與量測噪聲序列Vk,構(gòu)成了噪聲可加型的非線性系統(tǒng)方程如下:
將此時的荷電狀態(tài)與極化電壓組成狀態(tài)向量Xk+1,端電壓看成量測向量Zk,狀態(tài)量Ak由系統(tǒng)更新電流及模型參數(shù)Bk后計算系統(tǒng)方程來獲取,量測量則可以直接利用測量得到。構(gòu)建如下對應(yīng)關(guān)系:
設(shè)t=k時刻有如下狀態(tài)方程與量測方程:
利用無跡卡爾曼濾波算法對式(19)所示系統(tǒng)的狀態(tài)估計步驟如下:
第一步:初始化設(shè)置狀態(tài)量及協(xié)方差矩陣。
第二步:根據(jù)UT變換,計算k-1時刻的2n+1個s 樣本點。
第三步:基于UT 變換后的采樣點計算k時刻的一步預(yù)測模型值,完成一步預(yù)測狀態(tài)與一步預(yù)測協(xié)方差的時間更新過程。
式中:Qk為系統(tǒng)激勵噪聲序列的方差陣,初始化設(shè)置為10-6I;為均值權(quán)值,為方差權(quán)值,可以通過下式計算獲取。經(jīng)仿真調(diào)試后,取l=2,a=0.001,b=2。
第四步:利用一步預(yù)測狀態(tài)作無跡變換計算k時刻的一步預(yù)測樣本點。
第五步:求取協(xié)方差矩陣。
其中權(quán)重矩陣的求取方式同前,Rk為量測噪聲序列,初始值取0.01,量測量的估算通過一步預(yù)測樣本點的非線性映射加權(quán)平均獲取,如下所示:
第六步:計算增益矩陣。
第七步:完成該時刻的最優(yōu)估計,并更新估計協(xié)方差。
以上便是UKF 獲取最佳狀態(tài)估計的循環(huán)迭代過程。在利用UKF 算法求解荷電狀態(tài)的時候還需要代入模型參數(shù),一個迭代周期的具體過程如圖4。
圖4 SOC估算過程
為了驗證所提FF-MILS 和UKF 的鋰離子電池SOC在線估計算法可行性和精確性,本文設(shè)計了標定實驗得到OCVSOC關(guān)系式以及城市測力計駕駛計劃(urban dynamometer driving schedule,UDDS)實驗對算法進行驗證。UDDS 實驗參照了汽車行駛過程中加速、均速、減速、怠速等狀態(tài)。將上述的工況進行拆分,再相互間隔組合一起對鋰電池進行循環(huán)放電。圖5 為工況電流數(shù)據(jù)曲線圖。圖6 為容量30 Ah 的鋰電池經(jīng)過21 次UDDS 循環(huán)實驗后SOC趨于0 的工況電壓實測數(shù)據(jù)圖。
圖5 UDDS工況電流曲線
圖6 UDDS工況端電壓圖
為了對比FFRLS 算法與FF-MILS 算法對二階RC 等效電路模型的端電壓估計結(jié)果,在MATLAB 里搭建Simulink 仿真模型。圖7 是一個UDDS 工況周期內(nèi),F(xiàn)FRLS 算法和FFMILS 算法在線估計的端電壓與真實端電壓的比較。算法的遺忘因子均取0.99。圖8 是兩種算法與真實值誤差對比圖。
圖7 端電壓估算對比圖
圖8 端電壓誤差對比圖
由圖8 可知,在初值SOC均設(shè)定為1 時,兩種算法的收斂速度都比較快。收斂后可知,在UDDS 工況周期內(nèi),F(xiàn)FRLS算法的最大誤差為0.2 V,本文算法的最大誤差為0.04 V,精度顯著提高。在最后一個UDDS 工況周期內(nèi),鋰電池的端電壓變化靈敏,穩(wěn)定性較差,遺忘因子較大,出現(xiàn)較大波動。本文算法通過新息的反饋,實現(xiàn)閉環(huán)修正,整體誤差曲線波動較FFRLS 要好,驗證了FF-MILS 算法的魯棒性能良好。
實驗采用FF-MILS 算法參數(shù)識別,通過安時積分得到理想SOC值,分別使用恒流放電工況以及上述UDDS 工況進行SOC估算。使用UKF 算法與EKF 算法得出的SOC,與真實值進行誤差對比,驗證上述聯(lián)合算法的可行性。
圖9 為脈沖放電工況下兩種算法的SOC估計對比圖及其誤差圖。圖10 為兩種算法在該工況下的誤差對比。圖中可以看到基于UKF 算法的SOC值更接近真實值。且能更快地跟蹤時間SOC的值。在SOC誤差對比中,基于UKF 算法的誤差要比EKF 誤差小,在恒流放電工況下UKF 算法的最大誤差不超過2%,EKF 算法的最大誤差超過8%。UKF 算法穩(wěn)定性能更好,精度更佳。
圖9 恒流放電工況SOC估計結(jié)果圖
圖10 恒流放電工況SOC估計誤差圖
圖11 為UDDS 電流激勵下,分別使用EKF 算法和UKF算法計算該鋰離子電池的SOC,與真實值的對比圖。圖12 則為兩種算法的誤差對比。隨著迭代次數(shù)的增加、修正系數(shù)不斷更新,UKF 算法誤差基本穩(wěn)定在2%以內(nèi)。EKF 算法因為采用一階泰勒展開的近似處理造成估算誤差,計算復(fù)雜,運行穩(wěn)定性差,收斂速度較慢,估計誤差在4%左右。本文以UDDS 復(fù)雜工況為研究過程,不同倍率充、放電及擱置,使得動力電池內(nèi)部化學(xué)反應(yīng)變化劇烈,對等效模型參數(shù)更新速度和精度提出較高要求,通過聯(lián)合FF-MILS 算法的參數(shù)識別和UKF 算法的SOC估計,聯(lián)合算法精度符合現(xiàn)BMS 設(shè)計要求。
圖11 UDDS電流激勵SOC估計結(jié)果圖
圖12 UDDS電流激勵工況SOC估計誤差圖
為進一步驗證聯(lián)合算法對誤差的收斂性,這里將初始SOC設(shè)置為0.8,將鋰電池1C恒流放電的實驗數(shù)據(jù)代入仿真程序,所得到的SOC估測結(jié)果及誤差如圖13 所示。可以看見,在初始誤差為20%的情況下,聯(lián)合算法很快修正了估測值,約在100 s 以后就追蹤到了理論值附近,從而說明了聯(lián)合算法對誤差起到了一定的收斂作用。
圖13 初值為0.8時的SOC估測結(jié)果
本文以鋰離子電池的二階電路模型為例,采用FF-MILS對模型進行參數(shù)準確辨識,將識別參數(shù)進行無跡卡爾曼濾波得到最優(yōu)估計,完成了聯(lián)合算法對鋰離子電池的SOC在線估計。就模型參數(shù)辨識而言,其比傳統(tǒng)RLS 算法具有更高的精度。然后利用UKF 算法對鋰離子電池荷電狀態(tài)進行估算,其實時性、精確性及魯棒性均優(yōu)于EKF 算法,滿足實際工程需求。文中著重于常溫狀態(tài)下的狀態(tài)估計,且算法執(zhí)行步驟過多,今后主要研究溫度影響的電池SOC估計,并將系統(tǒng)簡化為分數(shù)階模型,提高系統(tǒng)性能。