容偉,佘世剛,魏新堯,劉愛琦
(1. 常州大學機械工程學院,江蘇 常州 213164;2. 常州大學江蘇省自動控制實驗室,江蘇 常州 213164)
當今社會的迅速發(fā)展,產(chǎn)生了大量的環(huán)境污染和傳統(tǒng)能源的枯竭等問題,在汽車工業(yè),大力發(fā)展電動汽車的工作迫在眉睫[1]。動力電池是當前對電動汽車向前發(fā)展的一大阻礙。精準地預測動力電池荷電狀態(tài)(SOC)對保障行車安全,延長動力電池的使用周期,意義重大[2]。放電試驗、電流積分、內(nèi)阻、開路電壓、Kalman 濾波、線性模型和神經(jīng)網(wǎng)絡是目前常見的幾種估算 SOC 的單一方法[3-4]。放電試驗是一種常用于動力電池的維護和標定的方法,但是實驗耗時長,無法動態(tài)監(jiān)測。電流積分是一種相對來說可靠簡單且動態(tài)監(jiān)測的方法,具有廣泛的應用范圍,但是需要獲得初始 SOC 值,而且忽略了電池內(nèi)部的一些化學變化,如果長期使用需引用相關修正系數(shù)才可減小誤差。僅通過內(nèi)阻法來預測電池 SOC 的精度受到的影響因素較多,所以單一的內(nèi)阻法一般不應用在生活中。開路電壓法是一種應用范圍寬泛的電池 SOC 估算方法,且能夠有效地提高估算精度,但是實驗前的準備時間較長。線性模型方法適用于鉛酸電池這種電流較小的電池,相對來說應用范圍小。Kalman 濾波法適用于汽車動力電池在工況復雜環(huán)境下的 SOC 估算,但是精確度與電池模型的準確度相關,而且動力電池的非線性工況出現(xiàn)的誤差較大。神經(jīng)網(wǎng)絡是一種可忽略電池內(nèi)部變化且估算精確度較高的方法,但是訓練的樣本數(shù)據(jù)較為繁瑣,花費時間較多,導致其計算量大,對實驗硬件要求高。
最小二乘支持向量機(LSSVM)算法的優(yōu)點是選擇簡單,泛化能力強大,收斂范圍大,可替代神經(jīng)網(wǎng)絡法[5]。其基本思想是建立高緯空間的最優(yōu)超平面,利用最小二乘法對所有樣本進行誤差擬合。其缺點是計算復雜度大概是樣本數(shù)的三次方量級,計算量巨大。針對支持向量機(SVM)計算量較大的問題,最小二乘支持向量回歸機(LSSVR)優(yōu)化其結(jié)構(gòu),利用等式替代不等式,大大降低預算量,縮短運行時常。LSSVR 中的重要參數(shù)通過遺傳算法(GA)來選擇優(yōu)化,能夠顯著提升動力電池 SOC 的預測精度[6]。
用普通的電壓源、電容和電阻等元件來搭建動力電池的等效電路模型,基于 RC 網(wǎng)絡來表達其動態(tài)特性。為了兼顧動力電池的暫態(tài)和穩(wěn)態(tài)特性[7],等效電路模型選擇二階,如圖 1 所示。Voc表示電池開路電壓;V 表示電池端電壓;Rts和 Cts表示活化極化電阻和電容;Rtl和 Ctl表示濃差極化電阻和電容;Ccap表示目標電池容量;Ibat表示目標電池充放電電流;Rs表示等效串聯(lián)電阻。
圖1 等效電路圖
動力電池 SOC(用 ζSOC表示)與開路電壓的函數(shù)設為 g(x),設狀態(tài)變量 x1、x2、x3,對應動力電池 ζSOC、Ucts、Uctl,輸入 u 為 Ibat,輸出 y 為通路電壓 v,建立狀態(tài)方程
將式(1)離散化,可得到的時間方程:
式中:h 時刻電池的端電壓、活化極化電壓、濃差極化電壓和開路電壓分別對應 Uh、Uts,h、Utl,h、Uoc,h;Δt 是模擬動態(tài)響應的采樣時間;τts和τtl分別是模擬電池動態(tài)響應時的短時間常數(shù)和長時間常數(shù)[8]。
通過安時積分法來計算動力電池的 SOC,其計算方程為
式中:動力電池的最大容量用 Cmax來表示;t0時刻的荷電狀態(tài)用ζSOC,0表示;η是比例系數(shù)。
控制 25 ℃ 的實驗溫度,選擇型號為 BD4820CD,額定電壓是 48 V,額定容量是 20 Ah 的動力電池來進行試驗。對該電池做混合動力充放電實驗HPPC,測得表 1 所列開路電壓值[9],得到圖 2 所示電壓變化規(guī)律。
表1 開路電壓表
從圖 2 可知,動力電池歐姆內(nèi)阻的變化導致U1~U2和 U3~U4之間電壓快速變化。動力電池的極化現(xiàn)象是導致 U4~U5之間電壓輕微起伏的原因。將二階 RC等效電路模型與 U4~U5之間的電壓變化和時間擬合,從而得到參數(shù) Rts、Cts、Rtl和 Ctl,根據(jù)不同的 SOC 值,可得出表 2 所列各參數(shù)值。
表2 等效模型參數(shù)識別
圖2 電壓變化曲線圖
式(5)中,ω 為權(quán)重向量,b 為偏置。在 SVM 中,約束條件為不等式:
通過上式可知 SVM 的計算復雜,計算量龐大,所以提出最小二乘向量回歸機(LSSVR)將上述不等式問題轉(zhuǎn)化為等式問題,參考下列公式(7),減少計算量,并保留 SVM 在高緯空間的擬合能力[10]。
ξ是一個松弛變量,e 是優(yōu)化目標的松弛變量,γ 和 c 都是尋找最優(yōu)超平面和偏差最小之間平衡的一個權(quán)重。原問題可由拉格朗日乘數(shù)法轉(zhuǎn)變?yōu)閮?yōu)化對偶向量 α 的問題。
令 yk為 y = f (x) 中的 y,由上式可得線性方程組
由上式可知,要解決其核矩陣只用求得高緯空間內(nèi)積或者核矩陣即可。二者取其輕,核函數(shù)更容易計算。核函數(shù)常用的有多核式、徑向式和sigmoid。針對以上核函數(shù),其表達式如下:
在此采用徑向核函數(shù)[11],σ2表示函數(shù)寬度參數(shù)。解得 LSSVR 函數(shù)為
此方法現(xiàn)已廣泛應用在工程實際問題中,其預測準確性和 γ 和 σ2這兩個參數(shù)緊密相關。γ 和σ2的值都是經(jīng)過大量的訓練運算,優(yōu)選出的一個區(qū)間范圍,難以確定一個準確的數(shù)值,使 LSSVR達到最佳性能,故這個方法存在一定的缺陷。
由于 γ 和 σ2的值只通過以上算法難以確定一個準確的數(shù)值,從而不能 LSSVR 達到最佳性能。為了尋找 γ 和 σ2的最佳值,在此學習機的基礎上,使用優(yōu)勝劣汰的遺傳算法(GA)進行優(yōu)化,不僅讓上述算法的運算量降低,而且能進一步提升電池 SOC 預測精準度。相較傳統(tǒng)算法,遺傳算法具有多線程處理,優(yōu)異的可操作性,全局尋優(yōu)和目標清晰等特點[12]。遺傳算法是將生物界的進化論應用到待解決的問題中,自適應選出相符條件的個體,將不適應個體經(jīng)過交叉變異進化成想要的個體,形成新的種群,不斷“優(yōu)勝劣汰”,復制進化,經(jīng)過多次迭代,得到近似的最優(yōu)解[13]。
遺傳算法主要有以下幾個步驟:
1)編碼:根據(jù)遺傳變異進化的規(guī)律將實際問題進行編碼。常用的幾種編碼方式有格雷編碼,實數(shù)編碼和二進制編碼。由于二進制編碼操作簡單,在進化程度上易于實現(xiàn),故采用二進制進行編碼。
2)適應度函數(shù):遺傳給后代的基因大概率都是適應度高的個體,而個體中適應度低的基因被淘汰。對于擇優(yōu)問題,通常選擇統(tǒng)一化變換的適應度函數(shù)。
3)遺傳算子(選擇、交叉、變異):優(yōu)先選擇適應度高的個體,將適應度低的個體中的染色體交叉產(chǎn)生新的個體,再重復上述步驟,進行優(yōu)化迭代選擇。
4)參數(shù)設定:定義 Pc為交叉概率,Pm為變異概率,l 為染色體長度,Np為種群規(guī)模。根據(jù)相關研究經(jīng)驗總結(jié)可知,Pc的范圍值為 0.5~0.8,在此取值為 0.6。Pm的范圍值為 0~0.05,在此取值為0.03。Np的范圍值為 20~200,在此取值為 100。
5)終止算法:適應度達到期望,就停止運行,否則進行遺傳算子達成新的群體,循環(huán)選擇,直到最大迭代數(shù),淘汰掉適應度低的個體,輸出最優(yōu)解。
按照以上步驟得到如圖 3 所示流程。
圖3 遺傳算法流程圖
在 Matlab 中的 optimtool 工具箱中實現(xiàn)遺傳算法優(yōu)化,得出 γ 和 σ2的最優(yōu)解值分別為 18.1956和 2.7361。以 BD4820CD 電池作為動力電池源,模擬車輛的一個循環(huán)工況,得出動力電池的工作電壓、電流、溫度和響應的 SOC 變化,建立 GALSSVR 模型,輸入循環(huán)工況中的端電流、端電壓和溫度變化值,估算電池 SOC 值。動力電池運行一個循環(huán)工況周期,SOC 值下降了 4 %,各參數(shù)變化如圖 4 所示。
圖4 參數(shù)變化圖
采取均方根誤差(RMSE)公式
來預測 GA-LSSVR 模型的好壞。式中:M 為測試樣本數(shù),Yk是 SOC 估計值,yk是 SOC 真實值。仿真得到誤差如圖 5 所示[14]。
圖5 估算 SOC 誤差
通過對傳統(tǒng)的一些動力電池 SOC 估算方法中存在的優(yōu)缺點進行比較研究,選用 GA-LSSVR 來估算動力電池 SOC 值,通過 Matlab 進行仿真,能夠在保證實用性的基礎上明顯降低動力電池SOC 的估算誤差[15],進一步把誤差值穩(wěn)定地控制在 3 % 以內(nèi)。