邢云鳳,趙 野
(1. 中國科學院微電子研究所 新能源汽車電子研發中心,北京 100029;2.中國科學院物聯網研究發展中心,江蘇 無錫 214135;3.中國科學院大學,北京 100049)
人們環保意識的提高以及國家政策的大力支持,使得電力取代燃油作為汽車的主要動力成為可能。而動力電池的不安全性、電池科技的不完善卻成為限制新能源汽車行業發展的瓶頸。SOC估計是電池狀態估計的核心,其定義為電池剩余容量占電池容量的比值[1]。準確的SOC估計不只是計算電池電量和續航能力,還能反映電池的工作狀態,為電池組均衡提供基礎,從而提高安全性和延長電池壽命。然而,實際的工況復雜度使得SOC呈現非線性,這對SOC的估計算法提出了很高的要求。
卡爾曼濾波器(Kalman Filter, KF)是線性最優濾波器,常被用于估算電池的SOC。由于系統的非線性,拓展卡爾曼濾波(Extended Kalman Filter, EKF)將非線性系統方程進行一階泰勒展開實現近似線性濾波,但在非線性程度較高的應用場景下,算法因忽略了高階泰勒因子而發散。無跡卡爾曼濾波(Unscented Kalman Filter, UKF)在卡爾曼濾波基礎上提高了非線性近似度,但依然不能準確地描述系統的非線性。為了更好地描述系統的非線性,粒子濾波(Particle Filter, PF)通過粒子的分布情況反映系統狀態,從而實現了非線性非高斯系統的精準濾波。但是在觀測誤差較大的情況下,誤差分布會對粒子集選擇造成很大的干擾。拓展卡爾曼粒子濾波(Extended Kalman Particle Filter, EKPF)通過EKF方法產生粒子濾波的建議分布,可以提高粒子濾波的估計精度,但因為要對每個粒子進行EKF濾波,使得算法復雜度劇增,對BMS的硬件條件要求很高。
在一定的復雜度要求下,本文基于改進PNGV(the Partnership for a New Generation of Vehicles)模型,實現了模型參數的在線實時更新,將粒子濾波與卡爾曼濾波相結合,應用卡爾曼濾波對粒子濾波結果進行再濾波處理,從而大大減小粒子濾波誤差、提高算法精確度。通過仿真實驗表明,該二次濾波算法(Kalman Particle Dual Filter, KPDF)在計算復雜度幾乎不變的前提下,精確度相較EKF算法、PF算法有明顯的提高。
SOC的不可觀測性使得電池模型對SOC具有十分重要的意義。PNGV電池模型具有良好的動態特性,在不斷變化的實際工況中,PNGV模型可以更好地模擬電池特性。在對磷酸鐵鋰電池的阻抗譜研究中發現,磷酸鐵鋰電池阻抗的Nyquist圖有兩個半圓,也就是其具有兩個極點,對應于電池模型有兩個時間常數。因此,在PNGV模型基礎上添加一個RC環路可以更好地反映電池極化特性。
圖1為改進的PNGV模型,E為電壓源,電容Cb用來描述電流累積引起的開路電壓變化,E和Cb構成開路電壓OCV。Ro為電池直流內阻,兩個RC環路用來描述電池的極化效應。由基爾霍夫定律可以得到PNGV數學模型為:
UL=OCV-Up1-Up2-ILRO
(1)
(2)
(3)

圖1 改進PNGV模型
在實際工況中,電池模型參數會受溫度、充放電倍率、循環次數等因素影響而發生變化,使得電池模型參數不能很好地反映實際工況,而SOC估計算法的精確度非常依賴于電池模型的精度。因此,本文采用含有遺忘因子的遞推最小二乘算法,結合OCV-SOC曲線可以實現模型參數的在線更新。
設該線性系統的輸入輸出模型為:
y(k)+a1y(k-1)+a2y(k-2)=b0x(k)+
b1x(k-1)+b2x(k-2)
(4)
由電池PNGV模型可得:
(5)
其中τ1,τ2為時間常數??傻茫?/p>
(6)
令y(k)=Uoc-UL,x(k)=I,可得系統輸入輸出方程為:
(7)
因此,若令觀測矩陣:
h(k)=[-y(k-1)-y(k-2)x(k)x(k-
1)x(k-2)]
(8)

Ro=b0
(9)
(10)
(11)
(12)
(13)
(14)

對于觀測量y(k),UL為輸出電壓,可直接測得。Uoc為開路電壓(Open Circuit Voltage, OCV)不能實時測得,因為Uoc與SOC有一一對應的關系,所以可以在得到SOC的估計值后,通過OCV-SOC曲線得到OCV的值。
本文選用額定電壓為3.2 V、額定容量為2 230 mAh的磷酸鐵鋰電池進行小電流充放電實驗,得到充放電OCV-SOC曲線如圖2所示。小電流充放電可以將極化電壓降到最小,對充放電OCV取均值后可以在一定程度上起到消除極化電壓的作用。
針對拓展卡爾曼濾波與粒子濾波的優缺點,本文采用KPDF算法,該算法在系統具有線性狀態方程和非線性觀測方程的應用場景下具有很好的濾波效果。
本文中結合安時積分公式以及電池數學模型,可以得到系統的狀態空間模型:
xk=Axk-1+Buk-1+wk-1
(15)
yk=OCV(Sk)-Up1k-Up2k-Roik+vk
(16)
為計算方便,選擇最小均方誤差準則求得系統狀態的最優估計,用樣本均值代替積分運算,粒子濾波的具體遞推過程如下:
(1)初始階段:用大量粒子模擬系統初始狀態x0,起始權值w0均為1/N。


(17)
其中σ2為觀測噪聲的方差。對權值進行歸一化得到:
(18)
選擇高斯重要密度函數可以有效降低算法復雜度。
(4)重采樣階段:根據每個粒子歸一化權值計算有效粒子數是否小于粒子數閾值,若小于則更新粒子集,其權值均為1/N,從而使得粒子分布逐漸趨向狀態變量的后驗概率密度函數。
(5)最小均方估計:依據最小均方誤差準則
(19)
(6)令k=k+1,返回步驟(2)繼續循環。

因此,得到系統狀態間模型為:
xk=Axk-1+Buk-1+wk-1
(20)
(21)
狀態估計初值設為初始粒子濾波估計結果,即:
(22)
結合電池模型參數的在線辨識,得到SOC估計的總流程如圖3所示。

圖3 模型參數與SOC聯合估計流程圖
為驗證參數在線識別以及本文提出的SOC估計算法的優越性,利用額定電壓為3.2 V、額定容量為2 230 mAh的磷酸鐵鋰電池進行實驗,實驗工況選用美國聯邦城市駕駛工況FUDS。經模型參數在線識別后,得到的輸出電壓與實際工況電壓對比圖如圖4所示。

圖4 FUDS工況仿真電壓對比
將在線識別參數模型與離線方法進行對比,誤差曲線如圖5所示。模型參數在線辨識得到的輸出電壓誤差在0.03 V以內,而離線誤差在0.25 V以內。參數在線辨識可以使模型精度大幅提高,為SOC估計提供了準確的模型基礎。

圖5 輸出電壓誤差
在此模型基礎上,對本文提出的KPDF算法進行驗證。圖6為采用PF、EKF、EKPF以及本文提出的KPDF算法計算得到的SOC估算值與真實值的對比圖(粒子數N均取50)。從圖中可以看出,本文算法相較其他三種算法具有更好的精準度。

圖6 幾種SOC估計算法對比
為綜合考慮算法的時間復雜度、精確度和糾錯能力,本文計算了幾種算法的最大誤差、均方誤差,并利用MATLAB的Profile功能對算法運行時間進行統計。另外,為對算法的收斂性進行驗證,將SOC起始值由0.9設為0.7,記錄算法估計值收斂到真值±4%內的時間(以實際實驗對應時間為準),得到對比結果如表1所示。

表1 幾種常用算法性能比較
可以看出,EKPF算法雖然提高了精確度,但運算量大。而本文提出的KPDF算法是對整體粒子濾波結果進行二次濾波,濾波精度遠高于EKF和PF算法,但算法復雜度相較粒子濾波并未明顯提高。算法在準確度、計算復雜度、收斂性方面都有著優秀的表現。
本文基于參數在線識別的改進PNGV電池模型,提出了對SOC的粒子濾波結果進行卡爾曼二次濾波的KPDF算法,并實現了模型參數與SOC的實時聯合估計。實驗證明,KPDF算法在接近PF算法計算量的前提下,精確度相較EKF算法、PF算法具有明顯提高。
[1] 麻友良,陳全世,朱元.變電流下的電池荷電狀態定義方法探討[J].電池,2001,31(1):7-9.
[2] Xiong Rui, He Hangwei, Zhao Kai. Research on an online identification algorithm for a thevenin battery model by an experimental approach[J]. International Journal of Green Energy, 2015, 12(3):272-278.
[3] Yang Fangfang, Xing Yinjiao, Wang Dong, et al. A comparative study of three model-based algorithms for estimating state-of-charge of lithium-ion batteries under a new combined dynamic loading profile[J]. Applied Energy,2016,164:387-399.
[4] Shao Sai. On-line estimation of state-of-charge of Li-ion batteries in electric vehicle using the resampling particle filter[J]. Transportation Research Part D,2014,32(32):207-217.