周 斌,梅周盛,陳 林,夏靖武
(漢騰汽車有限公司,江西 上饒 334000)
電池管理系統(tǒng)(BMS)作為電動(dòng)汽車電池系統(tǒng)的關(guān)鍵控制單元,對(duì)電池系統(tǒng)的性能發(fā)揮起著至關(guān)重要的作用[1]。BMS中的一個(gè)核心功能指標(biāo)SOC又是BMS設(shè)計(jì)中的重中之重。
目前SOC的估算方法主要有四類[2],其中安時(shí)(Ah)積分法在工程應(yīng)用中最為廣泛,也是最基本的一種算法,但存在兩個(gè)明顯的缺陷:一是初始SOC值無法確定;二是累計(jì)誤差無法消除[3]?;陔姵靥卣鲄?shù)法是依據(jù)開路電壓(OCV)和SOC一對(duì)一的關(guān)系進(jìn)行估算,但獲取開路電壓需要電池長(zhǎng)時(shí)間靜置[4]?;跀?shù)據(jù)驅(qū)動(dòng)的方法主要包括神經(jīng)網(wǎng)絡(luò)、模糊神經(jīng)等,這一類算法需要獲取電池在不同情況下的各種數(shù)據(jù),利用大量數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練以獲取精準(zhǔn)的SOC計(jì)算,這類方法依賴于獲取電池大量數(shù)據(jù),難度大,對(duì)芯片數(shù)據(jù)處理能力要求也高[5-7]。基于模型的估算方法主要有卡爾曼濾波法、粒子濾波法等,在建立精確的電池等效電路模型基礎(chǔ)上估算SOC,其估算精度可以達(dá)到較好的效果,但對(duì)模型精度依賴較大[8-10]??梢娛褂脝我坏腟OC算法很難獲得滿意的效果。
本文首先建立鋰電池的二階(以下簡(jiǎn)稱2-RC)等效電路模型并進(jìn)行參數(shù)識(shí)別,然后依據(jù)擴(kuò)展卡爾曼濾波(EKF)算法建立SOC估算模型并進(jìn)行驗(yàn)證和分析,最后基于模糊控制建立EKF、Ah積分、OCV的聯(lián)合估算模型,實(shí)現(xiàn)SOC實(shí)時(shí)估算,避免單一算法的缺陷。
建立精確的鋰離子電池等效電路模型是EKF估算SOC的基礎(chǔ),常用的等效電路模型[11-12]有:Rint、Thevenin、n-RC(n≥2)等。其中Rint和Thevenin等效電路模型結(jié)構(gòu)清晰、運(yùn)算簡(jiǎn)單,但是精度上n-RC等效電路模型(n≥2)更優(yōu),一定范圍內(nèi)n越大精度就越高,但n過大其精度反而會(huì)降低,工程應(yīng)用也更復(fù)雜。綜合考慮模型精度及工程應(yīng)用,本文選擇2-RC等效電路模型,如圖1所示。
圖1 2-RC等效電路模型
圖中R0表示鋰電池的歐姆內(nèi)阻,R1C1、R2C2組成的電路用于描述鋰電池內(nèi)部的極化效應(yīng),電壓源U(s)表示電池的OCV值,其與電池SOC有關(guān)。UL表示負(fù)載電壓;I表示電流(充電時(shí)為正,放電時(shí)為負(fù))。根據(jù)等效電路可以得到如下公式:
UL=U(s)-U0-U1-U2
(1)
(2)
通過式(1)、(2)和試驗(yàn)數(shù)據(jù)可對(duì)圖1模型中R0、R1、R2、C1、C2進(jìn)行參數(shù)辨識(shí)。
鋰離子電池可看作一個(gè)非線性動(dòng)態(tài)系統(tǒng),在不同SOC時(shí)通過對(duì)系統(tǒng)施加一個(gè)恒流脈沖信號(hào),計(jì)算電池輸出特性并加以識(shí)別,可以得到電池模型的各個(gè)參數(shù)。采用指數(shù)擬合的方法[13]進(jìn)行參數(shù)識(shí)別計(jì)算。
圖2 恒流脈沖電池電壓變化曲線
(3)
式中:UOCV為開路電壓;U1(t)、U2(t)分別為AB段R1C1、R2C2網(wǎng)絡(luò)端的電壓值。
在BCD區(qū)域,B點(diǎn)以后電池從放電狀態(tài)轉(zhuǎn)換為靜置狀態(tài),當(dāng)電流為零的一瞬間,電池電壓會(huì)有一個(gè)跳變(即BC段的電壓ΔU1),這是由于歐姆內(nèi)阻所致。根據(jù)ΔU1可計(jì)算出歐姆內(nèi)阻R0=ΔU1/I。
(4)
對(duì)AB及CD段試驗(yàn)數(shù)據(jù)進(jìn)行指數(shù)擬合,并聯(lián)合式(3)、(4)可識(shí)別出R1、R2、C1、C2。按照相同方法可分別識(shí)別不同SOC下模型的上述參數(shù)值。
識(shí)別出上述參數(shù)后,通過Simulink建立仿真模型,以圖3中工況循環(huán)數(shù)據(jù)對(duì)應(yīng)的電流值作為仿真輸入,得到電池端電壓仿真結(jié)果,將其與試驗(yàn)值進(jìn)行比較,如圖4所示,結(jié)果表明:最大誤差在40 mV以內(nèi),平均誤差為2.01 mV,2-RC等效電路模型能較好地反映電池的動(dòng)態(tài)特性。
圖3 工況電流曲線
圖4 等效電路模型仿真值與試驗(yàn)值
EKF是針對(duì)非線性系統(tǒng)的一種濾波算法,將局部非線性化系統(tǒng)通過泰勒級(jí)數(shù)展開并去除高階小量,以獲取線性化系統(tǒng),利用前一時(shí)刻的估算值和當(dāng)前測(cè)量值進(jìn)行遞歸推演,得到當(dāng)前的最優(yōu)估計(jì)值。利用EKF估算SOC時(shí),其精度與電池模型精度、初始值、協(xié)方差矩陣均密切相關(guān),特別是電池模型的精度。
EKF系統(tǒng)狀態(tài)方程Xk和觀測(cè)方程Zk如下:
Xk=AXk-1+Buk-1+wk-1,Zk=G(Xk,uk-1)+vk-1
(5)
式中:Xk為狀態(tài)變量;uk-1為輸入變量;Zk為觀測(cè)變量;wk-1和vk-1分別為系統(tǒng)的隨機(jī)輸入噪聲和觀測(cè)噪聲,wk-1和vk-1的方差與狀態(tài)量初值無關(guān),分別為Q和R。
根據(jù)電池等效模型計(jì)算公式(1)、(2),RC網(wǎng)絡(luò)計(jì)算公式(3)、(4),以及Ah積分公式,得到系統(tǒng)狀態(tài)及各個(gè)參數(shù)矩陣,如下:
(6)
(7)
(8)
式中U(s)為電池系統(tǒng)OCV,由試驗(yàn)數(shù)據(jù)通過MATLAB進(jìn)行最小二乘法擬合,得到SOC的表達(dá)式。OCV的擬合精度直接關(guān)系到電池模型端電壓的測(cè)量精度,因此也影響EKF對(duì)于SOC估算的精度。
確定好系統(tǒng)方程參數(shù)后,根據(jù)EKF步驟及遞推公式,得到k時(shí)刻協(xié)方差矩陣Pk和增益矩陣Kk:
(9)
(10)
在MATLAB/Simulink中構(gòu)建算法和模型,輸入電池相關(guān)數(shù)據(jù)分別計(jì)算矩陣A、B、C和協(xié)方差矩陣P、增益矩陣K,并進(jìn)行遞推計(jì)算得到最終的估算結(jié)果,實(shí)現(xiàn)鋰離子電池SOC的EKF估算。
使用50 Ah的鋰離子電池測(cè)試數(shù)據(jù),根據(jù)2.1中的計(jì)算方法進(jìn)行EKF估算,選取常用的NEDC工況,設(shè)置EKF模型初始SOC為50%,得到如圖5的SOC估算值,并與試驗(yàn)SOC真實(shí)值進(jìn)行對(duì)比。
圖5 EKF估算SOC結(jié)果
可以看出,EKF估算SOC在啟動(dòng)后300 s左右收斂到真實(shí)SOC值,此后的估算誤差均較理想;當(dāng)EKF收斂以后,SOC估算的誤差在4%以內(nèi),并且當(dāng)電流波動(dòng)大導(dǎo)致殘壓變大或者呈現(xiàn)脈沖突變時(shí),SOC誤差也隨之變大。
以上結(jié)果表明:二階等效電路模型的EKF算法可以有效地進(jìn)行SOC估算,并且收斂后的誤差≤4%;等效電路模型的計(jì)算精度直接影響EKF估算的精度。
從上述EKF方法及結(jié)果看,首先計(jì)算值需要一定的時(shí)間到達(dá)收斂,其次電池模型的精度直接影響估算精度。為解決EKF存在的此問題,利用模糊控制將EKF法、開路電壓法和Ah積分法彼此聯(lián)合,發(fā)揮各自算法的優(yōu)勢(shì),建立聯(lián)合估算算法對(duì)鋰電池SOC進(jìn)行估算。
本文采用Sugeno模糊控制系統(tǒng)模型[14-15]建立兩個(gè)模糊控制器:①以BMS下電休眠時(shí)間Ts為輸入,以開路電壓SOC值SOCOCV的系數(shù)αOCV為輸出的單輸入單輸出模糊控制器。②以運(yùn)行時(shí)間Tr和單位周期內(nèi)電流變化率ΔI作為輸入,以EKF法的SOC值SOCEKF的系數(shù)βEKF作為輸出的兩輸入單輸出的模糊控制器。利用這個(gè)模糊控制器將EKF法、OCV法和Ah積分法進(jìn)行聯(lián)合,建立聯(lián)合估算模型:
SOC0=αOCV·SOCOCV+(1-αOCV)·SOCold
(11)
SOCR=βEKF·SOCEKF+(1-βEKF)·SOCAh
(12)
式中:SOCAh為Ah積分法的SOC值;SOC0為初始SOC值;SOCR實(shí)時(shí)運(yùn)行SOC值;SOCold為BMS內(nèi)部?jī)?chǔ)存的上次SOC值。
隸屬度函數(shù)和規(guī)則是模糊控制器的關(guān)鍵,使用鐘形函數(shù)。如圖6所示,分別為單輸入單輸出系統(tǒng)中輸入?yún)?shù)下電休眠時(shí)間Ts的隸屬度函數(shù)曲線,兩輸入單輸出系統(tǒng)中電流變化值ΔI和運(yùn)行時(shí)間Tr的隸屬度函數(shù)曲線。
圖6 隸屬函數(shù)曲線
參考實(shí)際電流的采樣周期,以0.5 s時(shí)間間隔計(jì)算其時(shí)間的電流變化值ΔI。為確定不同ΔI對(duì)模型殘壓和EKF估算SOC的影響,將測(cè)試數(shù)據(jù)輸入模型仿真,結(jié)果表明:當(dāng)ΔI越小,模型殘壓越小且EKF估算SOC誤差越小;當(dāng)ΔI≥60 A后,模型殘壓和EKF估算SOC的誤差值均保持在較高值,且?guī)缀跸嗤?。故電流變化值ΔI的變化區(qū)間選取為(0,60 A),運(yùn)行時(shí)間區(qū)域選取為(0,5 000 s),輸出類型選用常數(shù)類型。ΔI選用Small、Mid、Big三個(gè)模糊語言進(jìn)行描述,Tr用Short、Mid、Long三個(gè)模糊語言描述。結(jié)合圖6,構(gòu)建輸出系數(shù)βEKF模糊規(guī)則,見表1。
表1 兩輸入單輸出系統(tǒng)模糊規(guī)則
根據(jù)上述輸入變量的隸屬度函數(shù)和構(gòu)建的模糊規(guī)則,最終系數(shù)αOCV和βEKF的輸出控制圖分別如圖7和圖8所示。在Simulink中將模糊控制器、EKF的SOC估算模塊、Ah積分模塊進(jìn)行結(jié)合,用精準(zhǔn)語言建立基于模糊控制的SOC聯(lián)合估算模型,如圖9所示。
圖7 αOCV輸出曲線
圖8 βEKF輸出曲線
圖9 聯(lián)合估算模型
圖9所示的聯(lián)合估算模型主要包括:SOC0計(jì)算模塊、EKF計(jì)算模塊、Ah積分計(jì)算模塊以及模糊控制模塊。SOC0計(jì)算模塊用于計(jì)算初始SOC,先由模糊控制器確定系數(shù)αOCV,再根據(jù)該系數(shù)確定SOCOCV和SOCold的比例,進(jìn)而計(jì)算出SOC0;EKF計(jì)算模塊即為2.1中的EKF估算,是利用EKF法估算出電池SOCEKF;Ah積分模塊利用Ah積分計(jì)算出SOCAh;模糊控制模塊是將各個(gè)SOC計(jì)算模塊進(jìn)行聯(lián)合。將試驗(yàn)數(shù)據(jù)代入聯(lián)合估算模型中,可進(jìn)行SOC聯(lián)合估算。
將圖10中實(shí)際采集的電流工況數(shù)據(jù),代入3.1中所建立的SOC聯(lián)合估算模型,得到聯(lián)合估算SOC,并將其與EKF估算SOC和Ah積分SOC及真實(shí)SOC進(jìn)行對(duì)比,如圖11所示。
圖10 NEDC工況實(shí)際電流激勵(lì)曲線
圖11 聯(lián)合估算與安時(shí)積分、EKF估算結(jié)果對(duì)比
將三者估算值與真實(shí)試驗(yàn)SOC值進(jìn)行對(duì)比得知:Ah積分法無法確定初始SOC值,整個(gè)計(jì)算過程一直無法消除誤差;EKF法估算SOC在初始未收斂階段估算誤差較大;聯(lián)合估算模型初始計(jì)算時(shí)通過模糊控制器計(jì)算系數(shù)αOCV,再根據(jù)式(9)結(jié)合SOCOCV和SOCold確定初始SOC值。實(shí)例中初始SOC的誤差縮小到3%以內(nèi),較好的消除誤差。
從聯(lián)合估算SOC誤差和EKF估算SOC誤差曲線可知,聯(lián)合估算最大誤差為3.12%,EKF最大誤差為3.92%,EKF估算時(shí)波動(dòng)相對(duì)更大,這是因?yàn)槟:刂频穆?lián)合估算法實(shí)時(shí)分配了SOCEKF和SOCAh的比例,減少了因電流波動(dòng)造成的SOCEKF估算誤差,整個(gè)過程相比于EKF,其SOC變化相對(duì)更加平滑,并且最大誤差更小。
本文基于模糊控制建立的EKF法、Ah積分法和OCV法的聯(lián)合估算模型,實(shí)現(xiàn)了SOC的實(shí)時(shí)精準(zhǔn)估算。相較于單一的算法,該聯(lián)合估算模型能夠很好地進(jìn)行初值估算、消除累計(jì)誤差,實(shí)時(shí)SOC估算值波動(dòng)更小,估算精度得到改善,與實(shí)測(cè)相比最大誤差僅為3.12%。