高文凱, 嚴利民,孫 疊
(1.上海大學(xué)微電子研究與開發(fā)中心,上海200444;2.上海大學(xué)機電工程與自動化學(xué)院,上海200444)
鋰離子電池作為一種能源,廣泛應(yīng)用于便攜式設(shè)備、電動汽車、可再生能源以及人造衛(wèi)星等多種領(lǐng)域.與鉛酸、鎳鎘等其他電池比較,鋰離子電池具備更高的能量密度、更低的自放電率和較長的循環(huán)壽命等品質(zhì).然而,鋰離子電池過充電或過放電會對電池的性能和壽命造成不可逆的損害.為了保障電池的安全和性能,現(xiàn)代電池管理系統(tǒng)迫切需要一種穩(wěn)定、精確的荷電狀態(tài)(state of charge,SOC)估算方法[1].
目前,已有學(xué)者提出了多種SOC估計方法[2-9],其中庫倫計數(shù)法以其算法簡單、計算量小等優(yōu)點而成為應(yīng)用最廣泛的方法.然而庫侖計數(shù)法是開環(huán)估計,累積的電流測量誤差可使誤差高達25%[4].潘貴財[5]開發(fā)了基于模糊邏輯和人工神經(jīng)網(wǎng)絡(luò)的智能計算方法用于SOC估計,雖然該方法能夠提供準確的估計結(jié)果,但是計算成本高,此外還受到訓(xùn)練過程和訓(xùn)練數(shù)據(jù)集質(zhì)量的影響.另外,有些文獻報道了基于電池狀態(tài)空間的估計方法,如滑模觀測器[6]和擴展卡爾曼濾波(extended Kalman filter,EKF)[7-8].雖然滑模觀測器能較好地處理模型的非線性效應(yīng),但當(dāng)輸出有噪聲時其性能會變差;EKF已被廣泛應(yīng)用于SOC估計,然而EKF中非線性函數(shù)(或雅可比矩陣)的線性化近似增大了實現(xiàn)復(fù)雜度,同時不準確的雅可比矩陣計算會導(dǎo)致濾波器發(fā)散,影響其穩(wěn)定性.
考慮到以上這些方法存在的問題,本工作結(jié)合變參數(shù)2階戴維南等效模型的平方根無跡卡爾曼濾波算法(square root unscented Kalman filter,SRUKF),提出了新的SOC估算方法.SRUKF不需要對非線性模型進行線性化,并且比EKF(1階)具有更高的誤差階(2階).另外,SRUKF不需要像常規(guī)的無跡卡爾曼濾波(unscented Kalman filter,UKF)那樣對狀態(tài)協(xié)方差進行重構(gòu).變參數(shù)2階戴維南等效模型能夠反映鋰電池各項參數(shù)隨SOC變化的情況,能夠比常規(guī)的固定參數(shù)模型更好地描述鋰電池實際工作狀態(tài),使SOC的估計值更接近真實情況.該方法經(jīng)實驗驗證,與EKF,UKF以及使用固定參數(shù)模型的估計值進行了對比.結(jié)果表明,本工作提出的基于變參數(shù)模型的SRUKF比其他方法具有更低的誤差.
圖1為本工作所提出的鋰離子電池變參數(shù)2階戴維南等效模型.在該電路中,可變電阻R0表示為在電池充電/放電過程中的瞬時電壓降;采用2組可變電阻-電容(resistorcapacitance,RC)網(wǎng)絡(luò)來模擬電池充電/放電過程中的馳豫效應(yīng).一般來說,這種網(wǎng)絡(luò)比具有單個RC網(wǎng)絡(luò)的電池模型具有更高的建模精度,Rs和Cs網(wǎng)絡(luò)分支模擬電池的短時瞬態(tài)響應(yīng),而Rl和Cl是用來代表長期的瞬態(tài)響應(yīng)[10].模型中的R0,Rs,Cs,Rl和Cl都是隨電池SOC變化的參數(shù).VOC代表電池的開路電壓(opening circuit voltage,OCV),Vt為電池端電壓,IB為充放電電流.
圖1 鋰離子電池的變參數(shù)2階戴維南等效模型Fig.1 Variable-parameter second-order Thevenin equivalent model for Li-ion batteries
電池的OCV與SOC具有非線性關(guān)系.為了獲得這一非線性函數(shù),試驗使用36 A·h 3.6 V的鎳鈷錳酸鋰(Li(NiCoMn)O2)電池進行復(fù)合脈沖功率特性測試(hybrid pulse power characterization test,HPPC).HPPC可以獲得在不同SOC水平下相應(yīng)的OCV,同時也可以對不同SOC水平下相應(yīng)的電池參數(shù)進行計算[11].HPPC的步驟如下:①以恒流-恒壓方式將電池充滿;②以1 C的電流放去10%的電量(1C為在1 h的時間內(nèi)將電池電量從0充到 100%的電流,在數(shù)值上等于以A·h為單位的電池容量,本實驗中為36 A);③靜置1 h,此時可測量SOC水平下相應(yīng)的VOC;④依次進行10 s放電脈沖、40 s靜置、10 s充電脈沖,之后重復(fù)步驟②~④9次,分別在SOC為1.0,0.9,···,0.1共10個點上進行電流脈沖試驗.圖2為HPPC全過程電流脈沖和電壓響應(yīng)曲線.圖3顯示了從實驗中得到的每個SOC水平下相應(yīng)的OCV曲線.
為了描述圖3中OCV與SOC之間的關(guān)系,采用多項式曲線擬合
式中:ξ表示為SOC.基于圖3中的實驗數(shù)據(jù),利用Matlab軟件中的擬合工具計算出的系數(shù)分別為m1=8.388,m2=?28.65,m3=35.58,m4=?19.14,m5=4.743,m6=3.231.此處擬合為一個5階方程是適當(dāng)?shù)?產(chǎn)生誤差的范數(shù)僅為0.019 5.
圖2 HPPC全過程電流脈沖和電壓響應(yīng)曲線Fig.2 Current pulse and voltage response curves of HPPC
圖3 實驗得到的SOC-OCV關(guān)系及其擬合曲線Fig.3 SOC-OCV relation obtained from experiment and its fitting curve
電池SOC可以表示為離散時間變量
式中:Qb表示為電池放電容量;IB為放電電流;?t為采樣時間;η為庫倫效率.根據(jù)基爾霍夫電路定律,2個RC網(wǎng)絡(luò)的電路動力學(xué)方程為
將[ξVsVl]T作為狀態(tài)變量,由式(2)~(4)可以得到電池狀態(tài)空間方程為
根據(jù)圖1,以電池端電壓Vt作為系統(tǒng)輸出,以充放電電流IB作為系統(tǒng)輸入,可以獲得Vt的測量函數(shù)H為
這里,為了估計ξ,Vs和Vl,需要知道電池參數(shù)R0,Rs,Rl,Cs和Cl.
在本工作中,使用傳遞函數(shù)法來識別所需的電池參數(shù)[12].在頻域的電池端電壓可以寫成
式中:S為拉普拉斯變換變量.考慮Vt?VOC作為輸出,電流IB作為輸入,則能夠?qū)С鰝鬟f函數(shù)G(s)為
通過在HPPC中不同的SOC間隔內(nèi)注入充放電脈沖,并測量相應(yīng)的電壓響應(yīng),可以識別出傳遞函數(shù)和辨識參數(shù).圖4為在90%的SOC下充放電脈沖和電壓響應(yīng)的一個示例.
圖4 HPPC單個電流脈沖和對應(yīng)的電壓響應(yīng)曲線Fig.4 Single current pulse and corresponding voltage response curve in HPPC
利用注入的電流脈沖和相應(yīng)的電壓響應(yīng),可以得到傳遞函數(shù)G(s)的系數(shù)(a2,a1,a0,b1和b0).通過求解這些系數(shù),能夠得到電池參數(shù)(R0,Rs,Cs,Rl和Cl).在每個SOC水平上,針對每個測量電壓識別不同的傳遞函數(shù)并辨識參數(shù).由于參數(shù)的變化對SOC有重要的影響[9],故不能取參數(shù)的平均值,而要使模型中的這些參數(shù)隨SOC的變化而變化,這就是變參數(shù)模型.表1列出了已辨識的電池參數(shù),圖5為利用所得到的SOC-OCV關(guān)系和電池參數(shù)在Matlab軟件上建立的鋰電池變參數(shù)2階戴維南等效模型.
為了驗證所建立的電池模型,在模型上進行同樣的HPPC.真實電池的電壓響應(yīng)和模型的電壓響應(yīng)及其絕對誤差分別如圖6和7所示.從圖7中能夠看出,在施加充放電脈沖時,端電壓最大絕對誤差小于50 mV,說明利用所得到的SOC-OCV關(guān)系和電池參數(shù)建立的電池模型能夠準確地表示出真實電池的工作狀態(tài).
表1 參數(shù)識別結(jié)果Table 1 Results of parameter identification
圖5 在Matlab軟件上建立的變參數(shù)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算法在數(shù)字計算的穩(wěn)定性和狀態(tài)協(xié)方差的半正定性方面存在的問題[13].
卡爾曼濾波的主要思想是,結(jié)合前一時刻狀態(tài)的估算量、新的系統(tǒng)輸入量和觀測量,通過系統(tǒng)的狀態(tài)轉(zhuǎn)移方程得到當(dāng)前時間的狀態(tài)估計.通常非線性系統(tǒng)離散狀態(tài)空間方程為
式中:x為狀態(tài)變量[ξ VsVl]T;y為觀測變量Vt;f為非線性狀態(tài)轉(zhuǎn)移方程(見式(5));h為非線性觀測方程(見式(6));wk,vk為狀態(tài)變量x與觀測變量y的高斯白噪聲,其方差矩陣分別為
當(dāng)估算系統(tǒng)的狀態(tài)時,需要預(yù)先給出狀態(tài)量的初始值.設(shè)狀態(tài)量的初始值為bx0,初始狀態(tài)估算誤差的協(xié)方差P0的Cholesky分解因子為S0,則有
每一時刻狀態(tài)變量的均值bx與協(xié)方差P的Cholesky分解因子S,經(jīng)過無跡變換獲得2n+1個(n為狀態(tài)變量的維數(shù))采樣點(稱為Sigma點集)與其權(quán)值ω,Sigma點集的選擇通常根據(jù)先驗均值和先驗協(xié)方差矩陣平方根的相關(guān)列來實現(xiàn):
式中:Si表示為S的第i列.Sigma點集權(quán)值的計算為
式中:ωm為Sigma點集均值的權(quán)重;ωc為協(xié)方差的權(quán)重;參數(shù)λ=α2(n+ki)?n是一個縮放比例,能夠降低系統(tǒng)總的估計誤差;α與采樣點的狀態(tài)分布有關(guān),通常將α設(shè)為較小的正值以降低高階矩的影響;β是一個非負權(quán)系數(shù),可以減小狀態(tài)估計的峰值誤差,改善協(xié)方差的準確度.
SRUKF算法的基本步驟如下:
(1)利用式(12),(13)中無跡變換得到2n+1個采樣點及其對應(yīng)的權(quán)值,即
(2)通過系統(tǒng)的狀態(tài)轉(zhuǎn)移方程,計算這些采樣點的一步預(yù)測,
(3)由Sigma點集的一步預(yù)測和Sigma點集的權(quán)值ω計算狀態(tài)量的一步預(yù)測均值,
(4)由Sigma點集的一步預(yù)測值和系統(tǒng)輸入量,通過系統(tǒng)的觀測方程,計算得到系統(tǒng)觀測量的2n+1個預(yù)測值,
(5)2n+1個觀測量預(yù)測值加權(quán)求和,獲得系統(tǒng)觀測變量的預(yù)測均值以及觀測變量協(xié)方差的Cholesky因子,
(6)計算卡爾曼增益矩陣,
(7)利用K更新,
為了驗證所提出的方法,將上述對36 A·h 3.6 V的Li(NiCoMn)O2電池做HPPC時獲得的電池充放電電流數(shù)據(jù),與端電壓數(shù)據(jù)分別輸入給應(yīng)用在變參數(shù)模型的EKF,UKF和SRUKF算法,將這3種方法得到的SOC估計值與HPPC過程中記錄到的電池SOC真實值作對比,其結(jié)果如圖8所示.圖9顯示了3種估計算法所得結(jié)果的絕對誤差,可以發(fā)現(xiàn)在初始的一段很短的時間內(nèi)3種方法誤差均較大,原因是對于算法來說初始SOC值是未知的,因此需要一定的時間將估計值收斂到真實值.從圖9中還可以看出,3種方法均能在200 s內(nèi)收斂到真實的SOC,收斂時間非常短,說明這3種卡爾曼濾波算法都有著較好的收斂性.在3種算法的結(jié)果都收斂到真實SOC時,可以直觀地看出SRUKF的誤差是相對最小的.為了準確評價這3種不同的SOC估計方法的性能,分別計算其估計結(jié)果的最大絕對誤差、平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE),結(jié)果如表2所示.在3種同樣應(yīng)用于變參數(shù)模型的SOC估計算法中,SRUKF的3項指標都是最小的,這表明SRUKF對SOC的估計有著更高的精確度.
圖8 3種SOC估計算法結(jié)果對比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
為了將本工作所建立的變參數(shù)模型與固定參數(shù)模型作對比,將辨識出的不同SOC水平下的各項參數(shù)取平均值作為這些參數(shù)的固定值,建立常規(guī)的2階戴維南等效模型;并在此模型上應(yīng)用SRUKF,輸入同樣的電池充放電電流數(shù)據(jù)與端電壓數(shù)據(jù),將所得的SOC估計結(jié)果與變參數(shù)模型下得到的估計結(jié)果作對比,結(jié)果如圖10所示.圖11顯示了2種模型所得結(jié)果的絕對誤差,可以直觀地看出變參數(shù)模型的誤差是相對較小的.為了準確評價2種模型的SOC估計方法的性能,分別計算其估計結(jié)果的最大絕對誤差MAE和RMSE,其結(jié)果亦列于表2中.從表2可以看出變參數(shù)模型的3項指標比較小,說明應(yīng)用于變參數(shù)模型的SOC估計算法有著更高的準確度.
圖10 SRUKF分別應(yīng)用在變參數(shù)模型和固定參數(shù)模型上的估計結(jié)果Fig.10 Estimation results of SRUKF applied to the variable-parameter model and the fixedparameter model respectively
圖11 固定參數(shù)模型與變參數(shù)模型的絕對誤差Fig.11 Absolute errors of fixed-parameter model and variable-parameter model
為了進一步驗證本工作所提出的SRUKF與鋰電池變參數(shù)模型結(jié)合的方法在SOC估算方面的準確性,本工作與其他文獻中同類使用SRUKF估算SOC的結(jié)果進行了比較.其中文獻[14]使用了SRUKF估算SOC,該文獻亦考慮了電池模型參數(shù)隨SOC變化的狀況,但沒有應(yīng)用如本工作類似的變參數(shù)模型;文獻[15]則采用了做球面變換的SRUKF來估算SOC,該方法對SRUKF算法本身進行了改進,降低了計算要求,對比結(jié)果如表3所示.從表3中可以看出,采用本工作的方法估算SOC的準確性比其他2種文獻中的方法高.
表3 本方法與其他文獻中同類方法的比較Table 3 Comparison between the method in this paper and the similar methods in other literatures
本工作為改善鋰離子電池SOC估算的準確性,在鋰離子電池2階戴維南等效模型的基礎(chǔ)上,建立變參數(shù)模型以提高電池模型的精確度,并在此模型上應(yīng)用SRUKF算法進行鋰離子電池的SOC實時估計.該算法不存在EKF中線性化處理非線性函數(shù)時產(chǎn)生的誤差,同時解決了UKF中難以分解非正定矩陣的問題,優(yōu)化了數(shù)字計算的穩(wěn)定性和狀態(tài)協(xié)方差的半正定性.經(jīng)過實驗結(jié)果的分析,證實了在變參數(shù)模型上應(yīng)用SRUKF的方法估算電池SOC具有較強的實用性、較快的收斂性和較高的準確性.