王向標,張庭芳,曹 銘,王會杰
(南昌大學機電工程學院,江西南昌 330031)
鋰電池是目前使用最多也最廣泛的儲能裝置,鋰電池具有循環壽命長、低溫放電性好、荷電保持能力強等優勢。精準的電池模型可以很好地反映電池的工作狀態以及供能情況,不僅可以模擬電池電化學工藝特征[1-2],而且可以更加準確地反映電池管理系統(BMS)電池的荷電狀態(SOC)[3]。
動力電池在充放電過程中的極化特性與RC 并聯電路表現的特性相似,故可以使用RC 模型來表示電池的極化現象,即等效電路模型[4]。閆等[5]使用安時積分法來估算SOC,Linghu 等[6]提出使用三次高斯函數來擬合SOC曲線,不僅可以提升SOC估計的精度,而且可以減少估計過程中的計算量。Duan 等[7]提出使用相關性擴展卡爾曼濾波來提高SOC估計的精度。除此之外,還有許多其他的SOC估計算法[8]。模型的參數辨識方法有傳統辨識、程序辨識以及Matlab Tools辨識。Lao 等[9]提出了一種基于變量遺忘因子遞歸最小二乘法模型的在線辨識參數方法。Miniguano 等[10]提出一種通用的參數辨識流程,通過對比5 種超級電容模型,最終得出辨識工況越復雜,辨識精度越高,以及Zubieta 模型相比其它4 種模型擁有更好的精度。
由于實驗數據具有周期性,每個周期上的數據提取和參數辨識過程都是一樣的,本文考慮將數據提取和辨識過程編寫成循環程序在Matlab 上進行,以辨識二階RC 模型參數為例進行辨識、建模仿真以及驗證辨識數據的有效性。通過對10、25 以及40 ℃時的工況數據進行辨識,使用Simulink 中的查表模塊,預測30 ℃所對應的參數,對比30 ℃時新標歐洲循環測試(NEDC)真實數據與仿真數據,驗證辨識模型預測的準確性以及溫度自適應性。
圖1 為二階RC 等效電路模型。Uocv代表電池的開路電壓,R0代表電池的內阻,R1代表電池的極化電阻,C1代表電池的極化電容,R2代表電池的補充極化電阻,C2代表電池的補充極化電容,UL代表電池的端電壓,U1代表R1、C1上的電壓,U2代表R2、C2上的電壓,I為電路中的電流。在恒溫實驗條件下,以電池放電電流為正,根據基爾霍夫定律,建立式(1)~(3):

圖1 二階RC等效電路模型

設τ1=R1C1,τ2=R2C2,聯立式(1)~(3),可以解得式(4):

式中:U01表示電容C1在放電過程中的瞬時電壓;U02表示電容C2在放電過程中的瞬時電壓。
實驗平臺如圖2 所示,由單體電池(EPC090190SP 型22 Ah 鈷酸鋰動力電池,額定容量為22 Ah,額定電壓為3.7 V)、上位機、溫度采集系統(日置MR8875-30)、單體充放電設備(深圳恒翼能5 V 200 A)、高低溫試驗箱(-40~150 ℃)組成。其中單體充放電設備最大放電電流為200 A,精度為0.1%,可操作的電壓范圍為0~60 V,精度為0.1%,可以支持恒壓、恒流、恒功率、脈沖等以及任意編程工況。

圖2 實驗設備連接示意圖
本次實驗在室溫25 ℃環境下進行,實驗工況為混合功率脈沖特性(HPPC)工況,如表1 所示。

表1 單周期HPPC 工況
二階RC 等效電路模型需要識別的參數為:R0、R1、C1、R2、C2。辨識流程分為三步。
(1)計算R0
由于電池內阻受溫度、SOC以及測試倍率影響較大,從文獻[11]提供的數據來看,溫度的影響最為明顯,同時文獻詳細介紹了測試內阻的實驗方法以及內阻模型的建立。為了簡化實驗復雜性,內阻由式(5)計算得來,關于內阻的研究請參照文獻[12]。

(2)提取擬合數據
本文對數據的提取過程是使用Matlab 程序實現的,原始數據來源于工況機數據,只要知道所需數據持續的時間,就可以把這些數據段起始點和終止點找到,這樣就可以將需要的數據段提取出來,實現了數據的自動化提取,提高了數據提取的效率。
(3)曲線擬合
辨識參數的方法有很多種,可以用擬合函數進行辨識,可以使用文獻[13]提到的代數關系式推導各個參數,也可以使用文獻[14]中提到的極值法和指數擬合法辨識。本文通過對HPPC 工況中提取出來的曲線擬合來辨識參數。
對于充放電段使用式(6)進行擬合:

對于回彈曲線段使用式(7)進行擬合:

由式(5)可以計算出當環境溫度為25 ℃時,R0為1.07 mΩ。為了使模擬的結果更加準確,采用充放電段分開辨識,辨識結果如表2 所示。

表2 充放電狀態下的電容電阻值
帶有溫度自適應性的二階RC 模型如圖3 所示,其中R1、C1、R2、C2使用的是可變電阻和可變電容,來模擬電池中極化電阻和極化電容的變化,值是通過參考電流方向、SOC以及溫度查表得來的,R0的值通過溫度查表得來。

圖3 帶有溫度自適應性的二階RC 模型
圖4 為NEDC 工況仿真誤差示意圖,從圖中可以看出,在SOC最后5%的時候誤差較大,其它時候的誤差相對比較穩定,辨識的平均誤差在8 mV 左右,最大誤差34 mV;驗證的平均誤差在14 mV 左右,最大誤差為35 mV,驗證結果表明使用Matlab 程序辨識的參數也可以使模型擁有很好的精度。

圖4 NEDC工況仿真誤差示意圖
圖5 為各溫度(10、40 ℃)下辨識誤差圖,結果顯示,與常溫下的辨識結果有著相似的問題,在SOC最后5%的時候誤差較大,但平均誤差仍然可以維持在8 mV 左右,驗證結果表明本文所提出的辨識模型在不同的環境溫度下仍然可以具備很高的精度。

圖5 10和40 ℃下HPPC 仿真驗證圖
圖6 為模型預測誤差圖,參考10、25 以及40 ℃的辨識數據,通過查表的方式,預測溫度為30 ℃時的模型參數辨識結果。從圖中可以看出,雖然預測結果最大誤差很大,但是平均誤差仍然可以維持在14 mV 左右,實驗結果表明本文提出的辨識模型擁有十分良好的預測精度。

圖6 30 ℃時模型預測仿真與誤差圖
使用Matlab 程序辨識參數,可以節省辨識時間,提高參數辨識的效率。可以通過更改程序來適應不同模型以及工況。將溫度因素加入到了辨識模型中,使得模型具有溫度自適應性。模型在預測準確度方面的表現也十分出色,這極大地擴充了模型的適用場景。