張夢龍,宮 兵,何業(yè)梁
(安徽理工大學 電氣與信息工程學院, 安徽 淮南 232001)
在電池性能的研究中,SOC估計是熱點之一;它的準確預測決定了電池的有效使用,在電池管理系統(tǒng)中起著至關重要的作用,電池SOC難以準確而直接的獲取,只有通過對鋰電池的充放電特性研究,通過其特性來間接獲得SOC值[1-2].
學者們對SOC估計算法做了深入的研究,目前SOC估計算法主要有三類;1)根據(jù)電池物理特性的傳統(tǒng)安時積分法(Ah)和開路電壓法(OCV);2)依賴數(shù)據(jù)的智能算法,例如支持向量機算法等;3)基于電池特性模型的估計算法,包括電化學模型方法和等效電路模型方法[3-5].
傳統(tǒng)方法理論上簡單,易于實現(xiàn).然而,安時積分法十分依賴精確的初始SOC值,且隨著時間增加,誤差會逐漸增大,并不具備修正能力.開路電壓法由需要電池長時間靜置才能得到,而電池在工作中是實時變化的,很難長時間靜置,該法在實際的工況中難以實現(xiàn),局限性過大.智能算法估計電池SOC不需要研究電池的物理性質(zhì)但是需要大量的數(shù)據(jù),運算量很大,很難在線使用.電化學模型結(jié)構(gòu)復雜,估計SOC時計算量大,工程應用難度高.目前,研究的最為廣泛的就是數(shù)學模型與卡爾曼濾波算法(KF)相結(jié)合的SOC估計方法[6-8],學者們對其做了大量的優(yōu)化.Li[9]等針對鋰電池的溫度、健康狀態(tài)等問題,首先改進安時積分法,再結(jié)合EKF估計SOC.夏黎黎[10]等根據(jù)觀測的噪聲統(tǒng)計極大后驗次優(yōu)無偏估計器對EKF進行優(yōu)化,提高了估計精度.丁鎮(zhèn)濤[11]等將安時積分法和無跡卡爾曼濾波算法結(jié)合,解決了參數(shù)辨識過程中擬合誤差對SOC估計結(jié)果的影響.
本文對EKF做了優(yōu)化,融合多新息理論,提出了多新息卡爾曼濾波(下稱MIEKF)算法.與EKF相比,該算法在每一次算法循環(huán)中,將當前瞬間的單一新息擴展為包含當前和之前瞬間新息的多新息向量,以增加誤差信息量,得到更準確的SOC.在UDDS工況下對這兩種算法進行驗證比較,結(jié)果表明本文算法的估計精度更高.
電池模型的選取以及電池模型參數(shù)辨識準確性都能影響到電池SOC的估計精度,電池等效電路模型多種多樣[12],本文研究選用了二階RC電路模型.如圖1所示,其中Uocv為開路電壓,U0為端電壓,U1、U2分別為極化電阻R1、R2的電壓.R0為歐姆內(nèi)阻,I為回路的干路電流.
圖1 二階RC電路模型Figure 1 Second order RC circuit model
1)實驗平臺
實驗平臺如圖2所示,計算機通過串口與可編程電子負載(IT8512C)和可編程DC電源(IT6302)進行通訊對電池進行充放電,通過設定不同的充放電程序,實現(xiàn)鋰電池不同工況的實驗.數(shù)據(jù)采集卡實時采集電池的電壓電流數(shù)據(jù),溫控箱用于控制電池工作時的環(huán)境溫度.
圖2 實驗平臺實物圖Figure 2 The experiment platform
2)OCV-SOC參數(shù)辨識實驗
以容量為3 000 mAh的單體鋰離子電池為實驗對象,置于20 ℃恒溫箱中.將鋰電池充滿,此時SOC為1,再對其以1.5A放電電流進行放電,放電720 s,即0.1個SOC,靜置4 h.此為一個放電周期,循環(huán)9次,記錄每個放電周期結(jié)束時的端電壓.如此得到十對SOC與端電壓對應的點,擬合得到Uocv-SOC曲線,如圖3所示.
圖3 Uocv -SOC曲線Figure 3 Uocv-SOC curve
3)電池參數(shù)辨識
以混合脈沖功率特性實驗方法(HPPC)辨識[13]剩余五個參數(shù).以SOC=0.7為例,電壓曲線如圖4所示.
在u1處開始以1C放電10 s,u3處停止放電.電壓的瞬時變化, 是因為瞬間只有R0上產(chǎn)生電壓[14].可得.
R0=[(u1-u2)+(u4-u3)]/2i.
u4~u5階段為鋰電池無負載階段,回路中只有電容放電,作為零輸入響應處理,回路方程為:
Uo=Uocv-[Ui*e-t/R1C1+U2*r-t/R2C2]
(1)
對電池端電壓曲線(u4~u5)按公式(⑴)進行參數(shù)擬合,得各SOC點的參數(shù),如表1所示.
圖4 脈沖電壓曲線Figure 4 Pulse voltage curve
表1 各SOC點處模型參數(shù)值Table 1 Values of model parameters at each SOC point
在Matlab/Simulink中搭建電池仿真模型,以脈沖放電工況的電流作為模型輸入量,從而得到仿真輸出的端電壓,將模型得到的電池端電壓與同等工作環(huán)境中測量的電池實際電壓做對比.如圖5、 6所示.
由圖5可以看出,模型得到的端電壓與測量得到端電壓基本重合,具有一致性,誤差變化為-0.08~0.04V.電池放電末端誤差曲線的誤差值開始變大,這是在電池放電反應末期,其內(nèi)部化學反應波動較大,使得放電特性變差,致使模型的精度下降.仿真模型輸出的電池端電壓最大誤差小于3%,說明建立模型可以準確的表示鋰電池的放電特性而且精度較高,進一步驗證了模型的正確性和精確性.
圖5 實際電壓與仿真電壓對比Figure 5 Comparison of actual voltage and simulated volta
圖6 仿真電壓誤差曲線Figure 6 Simulation voltage error curve
以電池SOC、U1、U2作為狀態(tài)變量,鋰電池回路方程離散化后得:
(2)
其中:Δt為采樣周期.
式(2)中Uocv與SOC是非線性關系,可以近似用八階多項式表示,但是轉(zhuǎn)換不成KF的標準形式.因此EKF算法,是在KF的基礎上通過泰勒公式展開并省略高次項,對系統(tǒng)做線性化處理[15],離散化后的狀態(tài)方程可表示為:
(3)
其中:f、g為非線性傳遞函數(shù),wk、vk為噪聲,方差分別為Qk、Rk·ik為電池k時刻的電流Uk為電池k時刻的端電壓.xk為系統(tǒng)k時刻的狀態(tài)變量,xk=[SOCkU1,kU2,k].對電池系統(tǒng)進行泰勒展開:
(4)
(5)
根據(jù)EKF原理,f、g函數(shù)的雅可比矩陣為:
(6)
基于EKF估計電池SOC如下:
1)初始化
(7)
2)狀態(tài)變量時間更新
(8)
3)誤差協(xié)方差時間更新
(9)
4)卡爾曼增益矩陣
(10)
5)狀態(tài)測量更新
(11)
6)誤差協(xié)方差測量更新
Pk=(I-KkCk)Pk/k-1
(12)
對于非線性電池系統(tǒng),傳統(tǒng)EKF使用單一新息來更新系統(tǒng)的狀態(tài)變量,MIEKF算法使用多新息來修正狀態(tài)變量,通過對舊信息的重復使用來提高EKF的估計精度.
為充分利用歷史數(shù)據(jù)的信息,將當前瞬間的單一新息擴展為包含當前和之前瞬間新息的多新息向量,以增加誤差信息量:
(13)
其中:j為擴展的新息的長度.相應的對狀態(tài)增益矩陣進行擴展:
Kj,k=[KkKk-1…Kk-j+1]
(14)
本文中設j=3.
然后替換狀態(tài)估計方程中的單新ek、Kk,利用多新息向量Ej,k和增益矩陣Kj,k列寫出優(yōu)化后的狀態(tài)估計方程:
(15)
其中:i=1,2,…,j-1.
綜合以上推導得到MIEKF算法如下:
1)初始化系統(tǒng)狀態(tài)變量和協(xié)方差矩陣p
(16)
2)狀態(tài)變量時間更新為:
(17)
3)誤差協(xié)方差時間更新為:
(18)
4)卡爾曼增益矩陣更新為:
(19)
5)對單一的誤差新息和增益矩陣進行擴展:
(20)
6)狀態(tài)測量更新為:
(21)
7)誤差協(xié)方差測量更新為
Pk=(I-KkCk)Pk/k-1
(22)
通過MIEKF的算法流程可以看出,MIEKF算法對單一新息的擴展,通過對誤差新息和增益矩陣歷史數(shù)據(jù)的使用提高了EKF的估計精度.理論上在電池SOC估計中,MIEKF算法比EKF算法更準確,下面在模擬的實際工況中來驗證算法的優(yōu)異性.
脈沖放電工況與實際的工況差距較大,實際復雜工況中電流急劇變化因此采用美國城市道路循環(huán)系統(tǒng)(UDDS)來模擬實際的復雜工況.UDDC工況下,電池實時處于充放電的動態(tài)過程中;符合電池在實際應用中的工作環(huán)境,輸入UDDS工況電流,激勵鋰電池從而得到UDDS工況下的鋰電池端電壓,電流電壓如圖7、8所示.
圖7 UDDS工況下電池電流Figure 7 Battery current under UDDS working condition
圖8 UDDSS工況下電池電壓Figure 8 Battery voltage under UDDSS operating condition
將UDDS工況下電池的電流作為EKF和MIEKF的輸入,通過算法迭代得到各自的估計結(jié)果,以安時積分法理論計算值作為參考真實值,對比兩種算法與理論計算的誤差,結(jié)果如圖9、10所示.
圖9 MIEKF,EKF估算結(jié)果Figure 9 MIEKF, EKF estimation results
圖10 MIEKF,EKF 估算誤差曲線Figure 10 MIEKF, EKF estimation error curve
誤差結(jié)果分析如表2.
表2 SOC誤差分析Table 2 SOC error analysis
從實驗結(jié)果來看,應用EKF和MIEKF都能較為準確的估計電池的SOC.從SOC的誤差趨勢可以看出,在6 000 s開始MIEKF的誤差值明顯小于EKF,誤差變化范圍更小,誤差曲線波動幅度小,估計精度也較高.說明隨著工況的運行,MIEKF能夠充分利用歷史數(shù)據(jù)誤差信息,進一步修正估計結(jié)果,相比于單一狀態(tài)的EKF誤差顯然更小,誤差慢慢收斂并趨向于穩(wěn)定.在電池的放電末期可以看出EKF估計電池SOC的誤差變大,這是由于放電末期電池模型參數(shù)辨識精度降低導致的,MIEKF算法通過對單一新息的擴展提高電池估計精度的同時也提高的算法的穩(wěn)定性,改善了電池在放電末期模型參數(shù)辨識精度降低對電池SOC估計準確性的不良影響.表2數(shù)據(jù)表明MIEKF算法通過使用多新息來修正狀態(tài)估計,相對于EKF有更高的精度和穩(wěn)定度,更加適用于復雜工況下的應用.
根據(jù)鋰電池的放電特性特性,采用二階RC等效電路模型,開展參數(shù)辨識實驗,辨識出模型.在EKF算法的基礎上引入多新息理論,實現(xiàn)了MIEKF算法,將EKF、MIEKF與安時積分法進行了比較分析.MIEKF算法通過對舊信息的重復使用,提高了濾波的穩(wěn)定性和精確性.實驗結(jié)果表明,在復雜工況下,MIEKF估計鋰電池SOC比EKF算法更準確有效,估計的SOC誤差更小.由于算法中矩陣維數(shù)的增加,MIEKF算法的計算量比標準EKF算法要大;但是MIEKF算法的計算精度相對于EKF算法有了很大的提高,具有更好的魯棒性.