姚 科,呂 洲,何 波,戴俊秀
(1.廣州市香港科大霍英東研究院,廣東廣州511458;2.廣州天嵌計算機科技有限公司,廣東廣州511400)
鋰離子電池在使用過程中會出現老化,實時精準地估計電池的荷電狀態(SOC),對保障車輛使用安全、決策合理的充電時間以及延長電池的使用壽命有重要意義。在考慮老化的前提下精確地估計SOC,是電池管理系統(BMS)的核心功能之一[1]。
現有的SOC估計算法大致分為兩類:基于電流積分的開環算法和基于模型的閉環算法等。文獻[2]用數據挖掘技術對采樣數據進行預處理,并利用改進的安時積分法對SOC進行估算,精度為1.6%,具有一定的特點,但基于電流積分的開環算法會受到積分漂移的影響,且無法對電池老化和環境變化做出恰當的響應。相比之下,基于模型的算法更有吸引力,包括卡爾曼濾波類算法(均方根誤差2.22%)[3]、比例積分濾波(最大絕對誤差2.5%)[4]和粒子濾波(在全溫度全老化范圍內,平均建模誤差20 mV)[5]等。其中,粒子濾波等算法的精度更高,但計算量較大。為避免對電池模型的過度依賴,人們提出了一批自適應觀測器算法,包括:基于最小二乘-自適應擴展卡爾曼濾波算法(峰值電流預測最大相對誤差5%)[6]、多時間尺度卡爾曼濾波算法(峰值電壓、容量和SOC估計的最大誤差2%)[7]和雙比例積分算法[4]等,基本思路是交替估計電池的模型參數和狀態變量,以獲得更好的效果。并非所有電池模型都是全局能觀的,導致算法對初值的選擇和系統噪聲很敏感。為此,H.Z.Fang等[8]提出了多模型混合算法,用多個固定模型觀測電池狀態,并通過一系列指標確定每個模型的權重,混合模型的精度高于單模型,在0.4~12.0C范圍內,SOC估計誤差不大于5%。這類算法的復雜度是普通基于模型算法的數倍,且性能受限于所用模型。
本文作者延續多模型混合算法的思路,提出在參考模型的基礎上,生成多個隨機模型來增強算法魯棒性的策略。每個隨機模型獨立運行,并采用輕量級的梯度校正算法為模型賦以權重,以大幅減少計算量。
采用開路電壓(OCV)-內阻(R)模型作為電池模型。盡管該模型的結構精細程度不如高階RC模型和電化學模型,但大量研究表明[4-5],該模型不但計算復雜度低,而且在算法設計合理的情況下也有較高的SOC估計精度,具體表達為:

式(1)中:Uk為k時刻電池的端電壓;UOC為開路電壓;Ik為電池在k時刻的電流;a0~a4為模型待辨識的參數,可利用設備測得電池的動態工況曲線,并采用離線最小二乘算法進行辨識;xk為k時刻的SOC值。綜合考慮模型精度和計算復雜度,根據經驗將模型中的多項式階數取為4階。
電池的SOC可由電流積分法獲得,見式(2)。

式(2)中:Cn為電池容量;x0為初始SOC;I為電流;j為時間標號;Δt為采樣間隔時間(本研究為1 s)。
按式(1),通過電池工況曲線數據辨識,得到模型參數a0~a4后,x0即可通過求解式(3)得到。

基于已有的基準模型,可以生成Ns個隨機模型。對于第i個隨機模型,由式(1)、(2)可得:

在一般情況下,電池老化對容量Cn和內阻R的影響顯著,而對OCV-SOC關系的影響較小,因此,在生成隨機模型時,a0~a4與基準模型保持一致;考慮到正常使用時,鋰離子電池的老化程度一般不允許超過30%,因此,將基準模型的電池容量在±15%范圍內隨機選取,作為隨機模型的容量。
隨機模型的內阻通過經驗規則線性折算:電池容量衰減20%時,電池內阻翻倍。一般商用BMS電壓檢測的誤差約為±10 mV,可最大對應5%的SOC估計誤差。隨機模型的初始SOC即ix0,是將求解OCV-SOC關系得到的結果,在±5%范圍內隨機變動得到的。
對每一個隨機模型,采用Luenberger觀測器進行初步的SOC估計:

用式(9)來預測端電壓。

式(9)中:wk為權重,在初始時刻指定為W0。

W0由Ns個隨機模型的初始權重組成,每個權重均為1/Ns,即所有隨機模型的初始權重是一樣的。在接下來的每一個時刻,最小化式(11)所示的k時刻的代價函數:

根據梯度校正法,可通過式(12)修正W,使?J/?W逐漸下降:

Uk的計算公式為:

此時,待估計的SOC可通過隨機模型的SOC帶權累加得到。

實驗采用3只老化程度明顯不同的索尼VTC5 18650電池(日本產),正極材料為鎳鈷錳酸鋰LiNixCoyMn1-x-yO2,負極材料為人造石墨,額定容量2 600 mAh,標稱電壓3.6 V)。
用BTS5-30-16電池充放電設備(深圳產)進行充放電測試;用PL-150可程式恒溫恒濕箱(東莞產)進行溫度控制。
采用標準粒子濾波[10]作為SOC估計的對照算法,粒子濾波的模型選用參考模型。為了公平起見,粒子數量與隨機模型的個數Ns相同,都取30。
選用的3只電池的1C放電(4.2~2.5 V)曲線見圖1。

圖1 實驗電池的1C放電曲線Fig.1 1Cdischarge curves of experimental batteries
從圖1可知,3只電池在容量和放電特性上均有明顯的不同。1號、2號和3號電池的容量分別為2.432 Ah、2.300 Ah和2.196 Ah,1號電池和3號電池的容量衰減有9.7%的差異。
采用聯邦城市運行工況(FUDS)對1號電池建模,通過最小二乘算法辨識得到的模型參數為:a0=3.154 9;a1=2.594 7;a2=-6.401 0;a3=8.372 9;a4=-3.587 5;R=0.039 7,建模結果和實驗數據的對比見圖2。

圖2 1號電池的FUSD實驗及模擬結果Fig.2 Experiment and simulation results of battery No.1 under federal urban driving schedule(FUDS)
從圖2可知,OCV-R模型的仿真結果與實驗結果總體趨勢上是匹配的,但該模型在反映電池動態極化特性的能力方面有欠缺,且基本不能反映電池放電末端內阻增大的事實。在考慮計算復雜度和電池老化的前提下,雖然OCV-R模型的初始擬合精度不高,但仍有一定的合理性。盡管一些高階模型在初始建模時能很好地擬合電池的充放電特性,但無法確保電池老化后高階模型的模型失配會小于簡單模型。此外,高階模型的計算量都偏大,且參數辨識(尤其是在線辨識)往往較為困難,因此,在考慮計算復雜度和電池長期使用的前提下,簡單模型仍有優勢。
將辨識得到的基準模型中的電池容量Cn隨機浮動±15%,根據經驗規則調整電池內阻,生成隨機模型。1號電池的實驗結果和基于5個隨機模型的仿真結果見圖3。

圖3 1號電池的實驗結果和5個隨機模型的仿真結果Fig.3 Experiment result and simulation results by 5 random model of battery No.1
從圖3可知,盡管隨機模型中a0~a4與基準模型保持一致,但隨機模型還是不會與基準模型完全匹配,決定了基于多隨機模型的算法對基準模型的依賴性不強。
在算法實現過程中,具體參數配置為:利用梯度校正法計算各隨機模型權重時,梯度校正增益G取0.02;使用Luenberger觀測器時,增益L=0.002。
使用該參數配置條件下SOC的估計結果見圖4,對應的均方根誤差見表1。

圖4 不同算法的SOC估計結果對比Fig.4 Comparison of SOC estimation results of different algorithms

表1 不同算法的SOC估計的均方根誤差 /%Table 1 Rootmean square error of SOC estimation of different algorithms /%
當建模與測試采用同1只電池時,作為適用于強非線性系統的高性能粒子濾波算法,SOC估計均方誤差小于0.60%,即估計的精度很理想。相比之下,由于每一個隨機模型都與電池的真實表現有相當的偏差,基于多隨機模型算法的精度略低,為1.27%。隨著電池老化程度的加劇,基于多隨機模型算法的精度雖然有所下降,但始終優于1.50%;而粒子濾波算法在電池容量衰減達到9.7%時,均方誤差已上升到3.10%,即同等條件下前者的預測精度比后者提高了約56%。實驗說明,對比粒子濾波算法,基于多隨機模型算法在實現高精度SOC估計的同時,降低了對模型精度的依賴,提升了對電池老化現象的魯棒性。
從算法復雜度的角度來看,粒子濾波算法需要經過復雜的重采樣過程來預防粒子退化現象[10]。相對而言,基于多隨機模型算法采用Luenberger觀測器與梯度校正法作為核心算法,復雜度明顯低于粒子濾波算法,是另一個優勢。
為了降低電池老化對電池荷電狀態估計的影響,本文作者提出了一種狀態估計方法:用一簇隨機模型的狀態估計逼近系統真實狀態。先將離線辨識好的基準模型中的部分參數進行隨機浮動,得到一簇列隨機模型;接著對每個隨機模型采用獨立的Luenberger觀測器進行狀態估計,并用梯度校正法對每個模型賦權重;最后用帶權累加的隨機模型荷電狀態逼近系統真實的荷電狀態。實驗結果表明,當電池容量衰減達到9.7%時,采用基于多隨機模型的算法可獲得精度高于1.37%的SOC估計結果,比同等條件下的粒子濾波算法提高56%。該算法的核心是Luenberger觀測器和梯度校正法,在計算量上也具有天然的優勢。