羅 勇,祁朋偉,闞英哲,李沛然,劉 莉,崔環(huán)宇
(1.中國汽車工程研究院股份有限公司,汽車噪聲振動和安全技術國家重點實驗室,重慶 400054;2.重慶理工大學,汽車零部件先進制造技術教育部重點實驗室,重慶 400054;3.重慶青山工業(yè)有限責任公司技術中心,重慶 400054)
電池管理系統(tǒng)(battery management system,BMS)的開發(fā)是新能源汽車關鍵技術之一,電池荷電狀態(tài)(state of charge,SOC)估算是BMS最基礎和核心的功能[1]。由于電池具有非線性特性,準確估算其SOC一直是BMS開發(fā)的重點和難點。對電池充放電特性進行研究,在理論分析與特性試驗基礎上建立精確的動力電池模型,不僅能對電池的特性和行為過程進行仿真,且是準確估算電池SOC的關鍵[2]。
動力電池建模常采用等效電路模型,常用的等效電路模型有Rint模型,RC網(wǎng)絡模型,Thevenin模型和PNGV模型等[3-4]。其中RC網(wǎng)絡模型能準確反映電池特性和工作原理,其階數(shù)越高,擬合效果越好,但也增加了建模的復雜度,降低了模型求解的實時性[5]。2階RC網(wǎng)絡模型采用兩個RC網(wǎng)絡結構描述電池的電化學極化和濃差極化現(xiàn)象,能很好地反映電池的動靜特性[6],且RC階數(shù)不高,模型求解實時性好、參數(shù)辨識較易實現(xiàn),在實際中應用較多。
動力電池在充放電過程中內部的電化學反應非常復雜,且具有時變性和非線性特性,其RC參數(shù)會隨著充放電倍率,SOC和溫度的不同而發(fā)生較大改變[7-8]。要建立準確的電池模型,則須在不同充放電倍率和SOC等條件下對RC參數(shù)進行辨識。電池管理系統(tǒng)實際工作過程中通過實時采集電池狀態(tài)參數(shù)來估算SOC[9-10],對電池狀態(tài)參數(shù)時變性和準確性提出了較高要求,尤其須對不同狀態(tài)下的RC參數(shù)進行辨識。
目前常用的電池模型參數(shù)辨識方法有最小二乘擬合法、卡爾曼濾波法和遺傳算法等。最小二乘擬合法計算簡單,工作量小,但誤差較大[11]。卡爾曼濾波法能得到狀態(tài)變量的最優(yōu)估計,但須預先知道狀態(tài)變量的初始值,且嚴重依賴噪聲的統(tǒng)計特性[12]。遺傳算法對全局有較好的辨識精度,但局部搜索能力較差,對初始種群有一定的依賴性。
模擬退火算法是一種新的隨機搜索方法,具有無需初始參數(shù)、收斂速度快的特點。模擬退火算法具有漸進收斂性,已被證明是一種能保證獲得全局最優(yōu)解的全局優(yōu)化算法[13]?;趧恿﹄姵爻浞烹姟盎貜椙€”進行參數(shù)辨識需要大量數(shù)據(jù)[14],采用其它算法存在參數(shù)辨識過程中參數(shù)初始值未知和易陷入局部最優(yōu)點的問題。而采用無需初始參數(shù)、收斂速度快、能獲得全局最優(yōu)解的模擬退火算法對電池RC參數(shù)進行辨識,不僅能解決動力電池模型參數(shù)初始值未知的問題,還可提高參數(shù)辨識效率。
本文中以鋰電池為研究對象,建立其2階RC理論模型,通過試驗獲取電池在不同充放電電流和SOC下的充放電特性數(shù)據(jù),在此基礎上通過模擬退火算法辨識得到不同放電倍率和SOC下理論模型的RC參數(shù),并將其制成隨放電倍率和SOC變化的數(shù)表。電池管理系統(tǒng)在線運行時,可通過查表實時獲取電池模型參數(shù)[15]。在 MATLAB/Simulink中搭建動力電池模型,采用模擬退火算法對動力電池參數(shù)辨識的準確性進行仿真和試驗驗證。可在不同溫度條件下重復本文的辨識工作,從而獲得更為全面的RC參數(shù)在不同溫度下隨電流和SOC的變化特性,本文的算法研究為相關工作奠定了基礎。
當電池處于充放電等動態(tài)工況時,其內部會產(chǎn)生電化學極化和濃差極化,端電壓發(fā)生動態(tài)變化。研究顯示,2階RC網(wǎng)絡模型能很好地模擬電池內部的化學特性,對其動態(tài)工況下電壓變化進行描述,等效電路模型如圖1所示。其中,Ub表示電池的開路電壓;R0表示電池歐姆內阻;兩個RC結構表示電池的極化反應;R1和R2表示電池的極化內阻;C1和C2表示電池的極化電容;I表示流經(jīng)歐姆內阻R0的電流;U表示電池兩端可直接測得的端電壓。
圖1 2階RC等效電路模型
根據(jù)圖1可得2階RC等效電路模型的狀態(tài)方程和輸出方程:
式中:U1′為極化電容C1兩端電壓U1的1階導數(shù);′為極化電容C2兩端電壓U2的1階導數(shù);[U1為狀態(tài)變量。
對某一具體的電池系統(tǒng),上述模型中的RC參數(shù)須通過以測試數(shù)據(jù)為基礎的參數(shù)辨識獲得。選取一種能集中反映電池動態(tài)特性的典型工況進行理論分析與試驗測試,是對電池進行參數(shù)辨識的首要工作。
電池電壓回彈特性是指當電池充放電回路斷開后,電池端電壓并不是立刻靜止在某一值,而是會經(jīng)過一段時間的波動后逐漸趨于穩(wěn)定的現(xiàn)象。這種現(xiàn)象是由于電池內部受到電池的電化學機理的影響,電極的凈反應速率不會立刻為零。研究顯示,電池的電壓回彈特性較為集中地體現(xiàn)了其動態(tài)特征,可作為對電池進行參數(shù)辨識的典型工況[14]。
電壓回彈特性與2階RC模型吻合,可用2階RC模型加以解釋,這也是通常用電壓回彈特性進行2階RC模型參數(shù)辨識的基礎。以放電過程為例分析電池電壓回彈特性,電池在放電結束后靜置,其端電壓變化過程如圖2所示。采樣時間間隔為1s,圖中A點表示放電結束時刻,B點表示放電結束后的第1個采樣時刻,C點表示電壓趨于穩(wěn)定的時刻??梢钥闯觯o置過程中電池端電壓變化可分為迅速上升階段AB和緩慢上升階段BC。放電結束后,AB階段電壓快速回升主要是受到歐姆內阻的影響,為斷電瞬間歐姆電阻的電壓響應;BC段上升緩慢是受到電池極化的影響,可等效為2階RC的電壓響應??梢姡妷夯貜椞匦耘c2階RC模型一致,可作為對2階RC模型參數(shù)進行辨識的基礎。
圖2 電壓回彈曲線
可根據(jù)2階RC模型推導出電壓回彈特性方程。放電結束后,RC網(wǎng)絡為零輸入響應,根據(jù)2階RC電路模型,在BC段任意時刻的電壓值為
以圖中B點對應時刻,即放電結束下一采樣時刻作為零時刻。
將上式簡化為
根據(jù)式(3)~式(6)可知:
式中k0為電池靜置至穩(wěn)定狀態(tài)的端電壓值,即對應放電倍率和SOC下的開路電壓值。
電池放電過程中,不同電流和SOC下電池RC參數(shù)辨識原理可描述為:通過將動力電池以不同的恒定電流放電至一定的SOC下,再靜置至電池穩(wěn)定,從而獲得不同電流和SOC下電池回彈特性測試數(shù)據(jù);基于測試數(shù)據(jù),按式(3)~式(11)進行計算,從而獲得不同電流和SOC下電池2階RC模型參數(shù)。
采用動力電池,單體電池額定電壓3.7V,額定容量2 900mA·h,最大放電電流10A,將8節(jié)電池并聯(lián)作為一個電池組進行充放電試驗。由于本研究側重于參數(shù)辨識算法的驗證,故僅采用放電工況進行測試與驗證。
對電池放電特性測試采用某專用電池測試系統(tǒng),如圖3所示。通過系統(tǒng)配置的測試管理軟件可對動力電池充放電測試流程進行編輯,實現(xiàn)自動化測試,還可實現(xiàn)對電池在充放電過程中的電流、電壓等參數(shù)進行實時獲取和記錄。測試設備與控制電腦通過以太網(wǎng)連接,控制充放電通道工作,實現(xiàn)對動力電池組的充放電。
圖3 試驗測試平臺
電池RC參數(shù)隨其充放電電流、SOC、溫度的變化而變化,本應在不同溫度下對電池在不同SOC和電流時的放電特性進行測試。但因不同溫度下的測試和參數(shù)辨識過程基本相同,且本研究的主要目標在于驗證基于模擬退火的參數(shù)辨識算法,故僅測試在某一溫度下的數(shù)據(jù)。
以1.0C放電過程為例說明電池放電測試流程。試驗開始后,首先采用先恒流后恒壓的充電方式,將動力電池充滿,此時動力電池組SOC為100%。將充滿電的動力電池靜置30min,使其達到穩(wěn)定狀態(tài)。然后以1.0C的恒定放電電流放電至SOC為0.9,靜置30min,獲得電池電壓回彈特性;重復上述放電過程,但將電池放電至 SOC為 0.8,0.7,0.6,0.5,0.4,0.3,0.2,0.1,分別測取其電壓回彈特性,獲得電池在1.0C電流放電下,放電至不同SOC時的放電特性曲線。
圖4 動力電池組電流、電壓曲線
為進一步獲取電池在不同放電電流下的特性曲線,分別以恒定放電電流0.25C,0.5C,0.75C,1.0C,1.25C,1.5C重復上述試驗過程,即得到電池在不同放電電流下、不同SOC下的放電特性。將以上試驗獲取的所有“回彈曲線”數(shù)據(jù)導入模擬退火算法進行參數(shù)辨識,即可得到不同放電倍率和SOC下動力電池的RC參數(shù)。
根據(jù)前面的理論分析,歐姆內阻R0,極化參數(shù)和開路電壓可分別按式(11)和式(6)進行辨識。對于式(6),在任意解 x=[k0k1τ1k2τ2]下,任意時刻都有唯一確定的y(t)與之對應。即在任意時刻都可由動力電池模型參數(shù)確定唯一的端電壓值,因此可建立如下目標函數(shù):
式中:y(t)為由模型參數(shù)確定的對應時刻端電壓估計值;U(t)為回彈階段對應時刻的端電壓值。
將F(x)作為模擬退火算法的目標函數(shù),在全局范圍內搜索解x,求得F(x)的最優(yōu)解。通過式(7)~式(10)即可求得當前電流和SOC下的模型參數(shù)。
模擬退火算法流程圖如圖5所示。
圖5 模擬退火算法流程圖
該算法基于對固體退火過程的模擬,用來控制算法的進程,最終求得組合優(yōu)化問題的全局最優(yōu)解。其中優(yōu)化問題的一個解x及其目標函數(shù)F(x)分別對應于固體的一個微觀狀態(tài)i及其能量E(i)。算法控制參數(shù)T擔當固體退火過程中溫度的角色,對于T的每一個取值,算法采用Metropolis接受準則,持續(xù)進行“產(chǎn)生新解- 判斷- 接受或者舍棄”的迭代過程而達到該溫度下的平衡點[13]。通過在MATLAB中編寫M文件實現(xiàn)算法,完成對動力電池參數(shù)的辨識。算法具體步驟如下。
(1)初始化 初始化退火溫度T=500℃產(chǎn)生隨機初始解 x=rand(1,5)每個溫度下迭代次數(shù) L=500。算法的實現(xiàn)雖然與參數(shù)的初始值設置無關,但根據(jù)經(jīng)驗確定初始值大致區(qū)間,可縮小算法的搜索范圍,提高算法的收斂速度。根據(jù)鋰電池的特性和試驗數(shù)據(jù)可估計極化內阻R1和R2的值均為毫歐級,極化電容C1和C2的值在103~105F數(shù)量級之間。由于 x=[k0k1τ1k2τ2],選取初始解 x=[4.2,I×10-3,0.5,I×10-3,0.5],計算目標函數(shù)在 x時的函數(shù)值 F(x)。
(2)在溫度T下重復執(zhí)行如下操作,直至到達溫度T的平衡狀態(tài)。
a.在解x的鄰域內產(chǎn)生新的可行解x′,即在當前狀態(tài)的鄰域結構內以正態(tài)分布產(chǎn)生,同時計算x′的目標函數(shù)值 F(x′)。
b.計算x′的目標函數(shù)F(x′)和x的目標函數(shù)F(x)的差值 ΔF。若 ΔF<0,則接受 x′為當前的新解;否則,計算概率 p=exp(-ΔF/T),若概率 p>random[0,1],則接受 x′為當前的新解。其中,random[0,1]是區(qū)間[0,1]內的隨機數(shù)。
c.判斷是否達到迭代次數(shù)L,若未達到迭代次數(shù),返回步驟(1),繼續(xù)循環(huán),否則跳出循環(huán),執(zhí)行退火操作。
(3)退火操作 首先判斷是否滿足算法終止條件(T=0),若未滿足,執(zhí)行降溫操作:T=0.99T,然后返回步驟(2)繼續(xù)循環(huán),直至到達算法終止條件,其中0.99為降溫系數(shù)C。若滿足算法終止條件,則輸出當前解為全局最優(yōu)解,算法結束。
將動力電池以不同電流放電至不同SOC時靜置的“回彈曲線”數(shù)據(jù)分別導入模擬退火算法,即可辨識得到動力電池不同放電倍率、不同SOC下的模型極化參數(shù)。
3.2.1 極化特性“回彈曲線”的擬合
以0.5C電流將電池組放電至SOC為0.9,充分靜置電池至穩(wěn)定狀態(tài),將靜置階段的電壓數(shù)據(jù)導入模擬退火算法,辨識結果如表1所示。
表1 極化特性“回彈曲線”參數(shù)辨識結果
將辨識得到的參數(shù)代入式(3)得到電壓回彈估計值,估計值與試驗值對比如圖6所示。圖6(a)表示電壓回彈特性測試值與通過參數(shù)辨識的預測值對比,兩條曲線基本重合。圖6(b)反映兩者的絕對誤差,絕對誤差最大為6.4mV,平均誤差為1.647mV。該結果精度較高,說明模擬退火算法對模型極化參數(shù)有較高的辨識精度,辨識結果可很好地反映動力電池的極化特性。
圖6 電壓回彈特性測試值與理論模型估計值對比
3.2.2 不同SOC和電流下參數(shù)辨識結果
將試驗中獲得的不同電流和SOC下電壓回彈特性數(shù)據(jù)分別導入模擬退火算法和式(11),辨識得到不同放電倍率和SOC狀態(tài)下動力電池模型RC參數(shù),結果如圖7所示。
由辨識得到的結果可知,在不同放電倍率和SOC狀態(tài)下動力電池模型參數(shù)的差異較大??赏ㄟ^查表獲取連續(xù)放電狀態(tài)動力電池模型的參數(shù),完成對模型參數(shù)的在線辨識,實現(xiàn)對電池狀態(tài)準確估計。
圖7 不同放電電流和SOC下電池RC參數(shù)辨識結果
根據(jù)電路模型的狀態(tài)方程和輸出方程在MATLAB/Simulink中搭建動力電池仿真模型,如圖8所示。
圖8 動力電池仿真模型
模型以電流信號作為輸入,采用安時積分法對動力電池的SOC進行實時估計。將實時電流和SOC導入模型參數(shù)模塊,通過查表在線得到對應狀態(tài)下的開路電壓、歐姆內阻和極化參數(shù),將其導入計算模塊動力電池的實時端電壓。其中查表模塊的參數(shù)是在離線狀態(tài)下,將動力電池以不同放電倍率放電至不同SOC狀態(tài)下的靜置“回彈曲線”數(shù)據(jù)導入模擬退火算法辨識得到。
將電池的工況試驗電流值輸入圖8所示的2階RC動力電池模型,通過對比工況測試的實時端電壓和仿真的端電壓數(shù)據(jù),驗證模型的合理性和模擬退火算法對參數(shù)辨識的準確性。
在恒流放電工況下對電池電壓試驗值和仿真值進行對比,該工況為:將動力電池組充滿,靜置至穩(wěn)定狀態(tài),使其初始SOC為100%,以0.75C電流放電2 400s。該工況下仿真與測試結果對比如圖9所示。
圖9(a)為恒流放電工況仿真與試驗結果對比,圖9(b)為兩者的絕對誤差,圖9(c)為兩者的相對誤差。從圖中可以看出,仿真值與試驗值絕對誤差最大值為64.46mV,平均值為49.56mV,相對誤差最大值為1.77%,平均值為1.35%,結果顯示通過模擬退火算法對動力電池模型參數(shù)的辨識有較高的精度。
采用新歐洲行駛循環(huán)(new European driving cycle,NEDC)進行變電流工況仿真與試驗驗證。將NEDC工況轉換為時間- 電流模擬工步,在圖2所示的電池測試上對電池組進行NEDC工況下的充放電試驗,獲取電池在該工況下電壓變化的測試數(shù)據(jù)。同時將NEDC工況輸入電池模型,對電池在該工況下電壓變化特性進行仿真。NEDC工況下仿真和測試結果如圖10所示,為清晰展示數(shù)據(jù)對比結果,僅截取部分數(shù)據(jù)進行分析。
圖10(a)為 NEDC局部電流 時間信號,圖10(b)為電壓試驗值與仿真值的結果對比,圖10(c)反映兩者的絕對誤差,圖10(d)反映兩者的相對誤差。由圖可見,絕對誤差最大值為53.29mV,平均值為15.73mV,相對誤差最大值為 1.5%,平均值為0.4%,對比結果表明模擬退火算法對動力電池的參數(shù)辨識有較高的精度。
圖9 恒流放電工況仿真與試驗結果對比
(1)通過建立電池2階RC模型,并對其電壓回彈特性進行分析,闡述采用電壓回彈工況測試數(shù)據(jù)進行參數(shù)辨識的原理。在此基礎上設計試驗,對電池在不同放電電流和SOC下放電特性進行測試,獲取不同工況下電壓回彈數(shù)據(jù)。
圖10 變電流工況仿真與試驗結果對比
(2)采用模擬退火算法,用不同放電倍率和不同SOC下的“回彈曲線”測試數(shù)據(jù)進行參數(shù)辨識,得到電池模型在不同放電倍率和SOC狀態(tài)下的RC參數(shù)值。恒電流放電和動態(tài)工況下仿真和測試結果說明,采用模擬退火算法對電池RC參數(shù)辨識具有較高精度,模型預測值與測試結果誤差較小。
(3)本文的研究為相關工作奠定了良好基礎,今后可在不同溫度條件下重復本文的辨識工作,從而獲得更為全面的RC參數(shù)在不同溫度下隨電流和SOC的變化特性。