高文凱, 嚴利民,孫 疊
(1.上海大學微電子研究與開發中心,上海200444;2.上海大學機電工程與自動化學院,上海200444)
鋰離子電池作為一種能源,廣泛應用于便攜式設備、電動汽車、可再生能源以及人造衛星等多種領域.與鉛酸、鎳鎘等其他電池比較,鋰離子電池具備更高的能量密度、更低的自放電率和較長的循環壽命等品質.然而,鋰離子電池過充電或過放電會對電池的性能和壽命造成不可逆的損害.為了保障電池的安全和性能,現代電池管理系統迫切需要一種穩定、精確的荷電狀態(state of charge,SOC)估算方法[1].
目前,已有學者提出了多種SOC估計方法[2-9],其中庫倫計數法以其算法簡單、計算量小等優點而成為應用最廣泛的方法.然而庫侖計數法是開環估計,累積的電流測量誤差可使誤差高達25%[4].潘貴財[5]開發了基于模糊邏輯和人工神經網絡的智能計算方法用于SOC估計,雖然該方法能夠提供準確的估計結果,但是計算成本高,此外還受到訓練過程和訓練數據集質量的影響.另外,有些文獻報道了基于電池狀態空間的估計方法,如滑模觀測器[6]和擴展卡爾曼濾波(extended Kalman filter,EKF)[7-8].雖然滑模觀測器能較好地處理模型的非線性效應,但當輸出有噪聲時其性能會變差;EKF已被廣泛應用于SOC估計,然而EKF中非線性函數(或雅可比矩陣)的線性化近似增大了實現復雜度,同時不準確的雅可比矩陣計算會導致濾波器發散,影響其穩定性.
考慮到以上這些方法存在的問題,本工作結合變參數2階戴維南等效模型的平方根無跡卡爾曼濾波算法(square root unscented Kalman filter,SRUKF),提出了新的SOC估算方法.SRUKF不需要對非線性模型進行線性化,并且比EKF(1階)具有更高的誤差階(2階).另外,SRUKF不需要像常規的無跡卡爾曼濾波(unscented Kalman filter,UKF)那樣對狀態協方差進行重構.變參數2階戴維南等效模型能夠反映鋰電池各項參數隨SOC變化的情況,能夠比常規的固定參數模型更好地描述鋰電池實際工作狀態,使SOC的估計值更接近真實情況.該方法經實驗驗證,與EKF,UKF以及使用固定參數模型的估計值進行了對比.結果表明,本工作提出的基于變參數模型的SRUKF比其他方法具有更低的誤差.
圖1為本工作所提出的鋰離子電池變參數2階戴維南等效模型.在該電路中,可變電阻R0表示為在電池充電/放電過程中的瞬時電壓降;采用2組可變電阻-電容(resistorcapacitance,RC)網絡來模擬電池充電/放電過程中的馳豫效應.一般來說,這種網絡比具有單個RC網絡的電池模型具有更高的建模精度,Rs和Cs網絡分支模擬電池的短時瞬態響應,而Rl和Cl是用來代表長期的瞬態響應[10].模型中的R0,Rs,Cs,Rl和Cl都是隨電池SOC變化的參數.VOC代表電池的開路電壓(opening circuit voltage,OCV),Vt為電池端電壓,IB為充放電電流.

圖1 鋰離子電池的變參數2階戴維南等效模型Fig.1 Variable-parameter second-order Thevenin equivalent model for Li-ion batteries
電池的OCV與SOC具有非線性關系.為了獲得這一非線性函數,試驗使用36 A·h 3.6 V的鎳鈷錳酸鋰(Li(NiCoMn)O2)電池進行復合脈沖功率特性測試(hybrid pulse power characterization test,HPPC).HPPC可以獲得在不同SOC水平下相應的OCV,同時也可以對不同SOC水平下相應的電池參數進行計算[11].HPPC的步驟如下:①以恒流-恒壓方式將電池充滿;②以1 C的電流放去10%的電量(1C為在1 h的時間內將電池電量從0充到 100%的電流,在數值上等于以A·h為單位的電池容量,本實驗中為36 A);③靜置1 h,此時可測量SOC水平下相應的VOC;④依次進行10 s放電脈沖、40 s靜置、10 s充電脈沖,之后重復步驟②~④9次,分別在SOC為1.0,0.9,···,0.1共10個點上進行電流脈沖試驗.圖2為HPPC全過程電流脈沖和電壓響應曲線.圖3顯示了從實驗中得到的每個SOC水平下相應的OCV曲線.
為了描述圖3中OCV與SOC之間的關系,采用多項式曲線擬合

式中:ξ表示為SOC.基于圖3中的實驗數據,利用Matlab軟件中的擬合工具計算出的系數分別為m1=8.388,m2=?28.65,m3=35.58,m4=?19.14,m5=4.743,m6=3.231.此處擬合為一個5階方程是適當的,產生誤差的范數僅為0.019 5.

圖2 HPPC全過程電流脈沖和電壓響應曲線Fig.2 Current pulse and voltage response curves of HPPC

圖3 實驗得到的SOC-OCV關系及其擬合曲線Fig.3 SOC-OCV relation obtained from experiment and its fitting curve
電池SOC可以表示為離散時間變量

式中:Qb表示為電池放電容量;IB為放電電流;?t為采樣時間;η為庫倫效率.根據基爾霍夫電路定律,2個RC網絡的電路動力學方程為

將[ξVsVl]T作為狀態變量,由式(2)~(4)可以得到電池狀態空間方程為

根據圖1,以電池端電壓Vt作為系統輸出,以充放電電流IB作為系統輸入,可以獲得Vt的測量函數H為

這里,為了估計ξ,Vs和Vl,需要知道電池參數R0,Rs,Rl,Cs和Cl.
在本工作中,使用傳遞函數法來識別所需的電池參數[12].在頻域的電池端電壓可以寫成

式中:S為拉普拉斯變換變量.考慮Vt?VOC作為輸出,電流IB作為輸入,則能夠導出傳遞函數G(s)為

通過在HPPC中不同的SOC間隔內注入充放電脈沖,并測量相應的電壓響應,可以識別出傳遞函數和辨識參數.圖4為在90%的SOC下充放電脈沖和電壓響應的一個示例.

圖4 HPPC單個電流脈沖和對應的電壓響應曲線Fig.4 Single current pulse and corresponding voltage response curve in HPPC
利用注入的電流脈沖和相應的電壓響應,可以得到傳遞函數G(s)的系數(a2,a1,a0,b1和b0).通過求解這些系數,能夠得到電池參數(R0,Rs,Cs,Rl和Cl).在每個SOC水平上,針對每個測量電壓識別不同的傳遞函數并辨識參數.由于參數的變化對SOC有重要的影響[9],故不能取參數的平均值,而要使模型中的這些參數隨SOC的變化而變化,這就是變參數模型.表1列出了已辨識的電池參數,圖5為利用所得到的SOC-OCV關系和電池參數在Matlab軟件上建立的鋰電池變參數2階戴維南等效模型.
為了驗證所建立的電池模型,在模型上進行同樣的HPPC.真實電池的電壓響應和模型的電壓響應及其絕對誤差分別如圖6和7所示.從圖7中能夠看出,在施加充放電脈沖時,端電壓最大絕對誤差小于50 mV,說明利用所得到的SOC-OCV關系和電池參數建立的電池模型能夠準確地表示出真實電池的工作狀態.

表1 參數識別結果Table 1 Results of parameter identification

圖5 在Matlab軟件上建立的變參數2階戴維南等效模型Fig.5 Variable-parameter second-order Thevenin equivalent model based on Matlab software

圖6 真實電池電壓和模型電壓的比較Fig.6 Comparison between real battery voltage and model voltage

圖7 模型電壓的絕對誤差Fig.7 Absolute errors of model voltage
本工作引入了SRUKF算法,運用矩陣的QR分解和Cholesky分解來處理UKF算法在數字計算的穩定性和狀態協方差的半正定性方面存在的問題[13].
卡爾曼濾波的主要思想是,結合前一時刻狀態的估算量、新的系統輸入量和觀測量,通過系統的狀態轉移方程得到當前時間的狀態估計.通常非線性系統離散狀態空間方程為

式中:x為狀態變量[ξ VsVl]T;y為觀測變量Vt;f為非線性狀態轉移方程(見式(5));h為非線性觀測方程(見式(6));wk,vk為狀態變量x與觀測變量y的高斯白噪聲,其方差矩陣分別為

當估算系統的狀態時,需要預先給出狀態量的初始值.設狀態量的初始值為bx0,初始狀態估算誤差的協方差P0的Cholesky分解因子為S0,則有

每一時刻狀態變量的均值bx與協方差P的Cholesky分解因子S,經過無跡變換獲得2n+1個(n為狀態變量的維數)采樣點(稱為Sigma點集)與其權值ω,Sigma點集的選擇通常根據先驗均值和先驗協方差矩陣平方根的相關列來實現:

式中:Si表示為S的第i列.Sigma點集權值的計算為

式中:ωm為Sigma點集均值的權重;ωc為協方差的權重;參數λ=α2(n+ki)?n是一個縮放比例,能夠降低系統總的估計誤差;α與采樣點的狀態分布有關,通常將α設為較小的正值以降低高階矩的影響;β是一個非負權系數,可以減小狀態估計的峰值誤差,改善協方差的準確度.
SRUKF算法的基本步驟如下:
(1)利用式(12),(13)中無跡變換得到2n+1個采樣點及其對應的權值,即

(2)通過系統的狀態轉移方程,計算這些采樣點的一步預測,

(3)由Sigma點集的一步預測和Sigma點集的權值ω計算狀態量的一步預測均值,


(4)由Sigma點集的一步預測值和系統輸入量,通過系統的觀測方程,計算得到系統觀測量的2n+1個預測值,

(5)2n+1個觀測量預測值加權求和,獲得系統觀測變量的預測均值以及觀測變量協方差的Cholesky因子,


(6)計算卡爾曼增益矩陣,

(7)利用K更新,

為了驗證所提出的方法,將上述對36 A·h 3.6 V的Li(NiCoMn)O2電池做HPPC時獲得的電池充放電電流數據,與端電壓數據分別輸入給應用在變參數模型的EKF,UKF和SRUKF算法,將這3種方法得到的SOC估計值與HPPC過程中記錄到的電池SOC真實值作對比,其結果如圖8所示.圖9顯示了3種估計算法所得結果的絕對誤差,可以發現在初始的一段很短的時間內3種方法誤差均較大,原因是對于算法來說初始SOC值是未知的,因此需要一定的時間將估計值收斂到真實值.從圖9中還可以看出,3種方法均能在200 s內收斂到真實的SOC,收斂時間非常短,說明這3種卡爾曼濾波算法都有著較好的收斂性.在3種算法的結果都收斂到真實SOC時,可以直觀地看出SRUKF的誤差是相對最小的.為了準確評價這3種不同的SOC估計方法的性能,分別計算其估計結果的最大絕對誤差、平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE),結果如表2所示.在3種同樣應用于變參數模型的SOC估計算法中,SRUKF的3項指標都是最小的,這表明SRUKF對SOC的估計有著更高的精確度.

圖8 3種SOC估計算法結果對比Fig.8 Comparison between results of three SOC estimation algorithms

圖9 3種估計算法的絕對誤差Fig.9 Absolute errors of three estimation algorithms

表2 各估計算法的誤差指標Table 2 Error indexes of each estimation algorithm
為了將本工作所建立的變參數模型與固定參數模型作對比,將辨識出的不同SOC水平下的各項參數取平均值作為這些參數的固定值,建立常規的2階戴維南等效模型;并在此模型上應用SRUKF,輸入同樣的電池充放電電流數據與端電壓數據,將所得的SOC估計結果與變參數模型下得到的估計結果作對比,結果如圖10所示.圖11顯示了2種模型所得結果的絕對誤差,可以直觀地看出變參數模型的誤差是相對較小的.為了準確評價2種模型的SOC估計方法的性能,分別計算其估計結果的最大絕對誤差MAE和RMSE,其結果亦列于表2中.從表2可以看出變參數模型的3項指標比較小,說明應用于變參數模型的SOC估計算法有著更高的準確度.

圖10 SRUKF分別應用在變參數模型和固定參數模型上的估計結果Fig.10 Estimation results of SRUKF applied to the variable-parameter model and the fixedparameter model respectively

圖11 固定參數模型與變參數模型的絕對誤差Fig.11 Absolute errors of fixed-parameter model and variable-parameter model
為了進一步驗證本工作所提出的SRUKF與鋰電池變參數模型結合的方法在SOC估算方面的準確性,本工作與其他文獻中同類使用SRUKF估算SOC的結果進行了比較.其中文獻[14]使用了SRUKF估算SOC,該文獻亦考慮了電池模型參數隨SOC變化的狀況,但沒有應用如本工作類似的變參數模型;文獻[15]則采用了做球面變換的SRUKF來估算SOC,該方法對SRUKF算法本身進行了改進,降低了計算要求,對比結果如表3所示.從表3中可以看出,采用本工作的方法估算SOC的準確性比其他2種文獻中的方法高.

表3 本方法與其他文獻中同類方法的比較Table 3 Comparison between the method in this paper and the similar methods in other literatures
本工作為改善鋰離子電池SOC估算的準確性,在鋰離子電池2階戴維南等效模型的基礎上,建立變參數模型以提高電池模型的精確度,并在此模型上應用SRUKF算法進行鋰離子電池的SOC實時估計.該算法不存在EKF中線性化處理非線性函數時產生的誤差,同時解決了UKF中難以分解非正定矩陣的問題,優化了數字計算的穩定性和狀態協方差的半正定性.經過實驗結果的分析,證實了在變參數模型上應用SRUKF的方法估算電池SOC具有較強的實用性、較快的收斂性和較高的準確性.