張東青, 王國儒, 王靖喬
(黑龍江科技大學(xué) 電氣與控制工程學(xué)院, 哈爾濱 150022)
隨著全球混合能源汽車及其驅(qū)動控制技術(shù)的革新,鋰離子電池以其優(yōu)良的能量比、高功率因數(shù)及長循環(huán)使用壽命成為汽車電池的首選動力源。建立電池管理系統(tǒng)(Battery management system,BMS)實(shí)時(shí)檢測和管理電池工作質(zhì)量,電池荷電狀態(tài)(State of charge,SOC)和健康狀態(tài)(State of health,SOH)的預(yù)測是BMS的關(guān)鍵問題,直觀表征電池當(dāng)前的可用容量和衰退程度,對實(shí)現(xiàn)控制電池均衡管理、高效利用和提升續(xù)航能力方面具有重要意義。
估計(jì)電池SOC的前提是構(gòu)建可以準(zhǔn)確反映電池特性的等效模型。電化學(xué)模型可以精準(zhǔn)呈現(xiàn)電池反應(yīng)機(jī)理,但運(yùn)算極其復(fù)雜難以進(jìn)行實(shí)際估計(jì),通常采用等效電路模型。由于電容的存在,分?jǐn)?shù)型二階模型中能準(zhǔn)確反映電池工作特性[1]。
電池具有高度的非線性且實(shí)際使用過程中受環(huán)境、運(yùn)行條件、電池老化及電池模型參數(shù)擬合誤差的影響,SOC估計(jì)會存在較大誤差。工程運(yùn)用安時(shí)積分法估計(jì)SOC,計(jì)算累積電量對電池進(jìn)行SOC估計(jì),但這種開環(huán)方法會隨時(shí)間的延長產(chǎn)生較大誤差。Plett[2]首次提出基于卡爾曼濾波(Kalman filtering,KF)算法的閉環(huán)SOC估計(jì)方法。針對極化效應(yīng)的影響,Bucy提出擴(kuò)展卡爾曼濾波(Extended Kalman filtering,EKF)算法估計(jì)SOC。萬亞坤等[3-5]均運(yùn)用EKF估計(jì)電池SOC,獲得較高精度。Rui等[6-7]使用雙卡爾曼濾波(Dual extended Kalman filtering,DEKF)進(jìn)行SOC和SOH協(xié)同估計(jì),但缺少歷史數(shù)據(jù)的修正作用,計(jì)算過程中協(xié)方差矩陣衰退,影響估計(jì)精度。Liu[8]提出多新息擴(kuò)展卡爾曼濾波(Multi-innovation extended Kalman filter,MIEKF),增加多個(gè)新息在時(shí)間維度上的計(jì)算,改善了迭代過程中協(xié)方差退化問題,獲得較好估計(jì)結(jié)果??紤]到EKF算法處理高斯系統(tǒng)的過程誤差,學(xué)者提出粒子濾波(Particle filtering,PF)算法估計(jì)SOC,但由于粒子退化權(quán)重降低問題,對其進(jìn)行算法優(yōu)化或改進(jìn),以獲得更高估計(jì)精度。
筆者建立分?jǐn)?shù)型二階電路等效模型,根據(jù)電池放電實(shí)驗(yàn)數(shù)據(jù),運(yùn)用自適應(yīng)遺傳算法(Adaptive genetic algorithms,AGA)辨識參數(shù),改進(jìn)多新息擴(kuò)展卡爾曼粒子濾波(Multi-innovation extended Kalman particle filtering,MIEKPF)算法估計(jì)SOC,借助EKF算法估計(jì)SOH迭代更新內(nèi)阻,同步完成SOC估計(jì)。
Thevenin二階等效電路模型可以精確表現(xiàn)鋰電池狀態(tài)特性[9],由于電容的分?jǐn)?shù)特性在微積分頻域中分?jǐn)?shù)階比整數(shù)階精度更高,為了兼顧計(jì)算難度,同時(shí)模擬出濃度差極化和電化學(xué)效應(yīng),選用阻容網(wǎng)絡(luò)、歐姆內(nèi)阻和電壓源組成的二階分?jǐn)?shù)型等效電路。等效電路模型如圖1所示。
根據(jù)基爾霍夫定律給出其狀態(tài)空間方程為
式中:U0——電池端電壓;
UOCV——開路電壓;
U1、U2——電阻R1、R2兩端電壓;
R0——電池內(nèi)阻。
根據(jù)Westerlund理論,電容器在實(shí)際動態(tài)條件下表現(xiàn)分?jǐn)?shù)特性,建立在頻域上的電容模型來表示電容的分?jǐn)?shù)特性。C1和C2分?jǐn)?shù)階電容表示為
式中,α、β——電容階數(shù),0<α,β<1。
根據(jù)Grünwald-Letnikov定義[10]分?jǐn)?shù)階微分方程為
h——采樣間隔時(shí)間;
α——方程階次,0<α<1;
i——運(yùn)算次數(shù),i=0,1,…;
根據(jù)以上理論,對二階模型阻容網(wǎng)絡(luò)中的分?jǐn)?shù)階電容器建立分?jǐn)?shù)階等效電路模型[11]。重新推導(dǎo)出狀態(tài)空間方程為
電池荷電狀態(tài)定義為
式中:ηSOC0——初始SOC;
QN——額定容量;
η——效率參數(shù)。
根據(jù)二階分?jǐn)?shù)型狀態(tài)空間方程及微分方程定義,建立離散化方程為
yk=Ckxk-IkR0+E+vk,
Ck=[-1,-1,0];
E——單位矩陣;
ωk——系統(tǒng)噪聲;
vk——觀測噪聲;
xk——狀態(tài)向量,xk=[U1(k),U2(k),ηSOC(k)]T;
對鋰電池進(jìn)行間歇充放電實(shí)驗(yàn),獲得電壓滯回特性曲線,電池內(nèi)部阻容抗特性隨狀態(tài)而變化,根據(jù)充放電及靜置部分特性曲線進(jìn)行模型參數(shù)辨識。最小二乘法(LS)根據(jù)Matlab中l(wèi)sqcurvefit函數(shù)曲線擬合,得到最優(yōu)的時(shí)間系數(shù)來辨識電池內(nèi)部模型參數(shù)[12]。LS算法依賴經(jīng)驗(yàn)且穩(wěn)健性較差,因此,采用收斂精度更高的AGA算法辨識模型參數(shù),算法流程如圖2所示。
具體步驟為:(1)確定初始種群,將個(gè)體基因編碼并轉(zhuǎn)換為二進(jìn)制;(2)通過父母個(gè)體雜交即對基因片段進(jìn)行隨機(jī)組合產(chǎn)生新個(gè)體;(3)從生成的子代中隨機(jī)挑選部分個(gè)體進(jìn)行變異,以防止辨識參數(shù)尋優(yōu)過程中取得局部最優(yōu)解;(4)對這些處理的子代基因片段進(jìn)行解碼,代入等效模型計(jì)算端電壓誤差值,以端電壓誤差平方和最小值作為選取最優(yōu)個(gè)體;(5)判斷J(i)是否符合適應(yīng)性條件為
(9)
式中:M——被測數(shù)據(jù)組的長度;
Ye(j)——預(yù)測輸出;
Yr(j)——期望輸出。
若符合,將此個(gè)體作為辨識參數(shù),若不符合,將解碼后的子代擇優(yōu)選擇,淘汰與設(shè)定目標(biāo)相差較大的個(gè)體,剩余種群進(jìn)行以上循環(huán)操作,直至出現(xiàn)適應(yīng)性條件的個(gè)體或繁衍代數(shù)超出設(shè)定值。
通過種群中交叉和變異來適應(yīng)優(yōu)勝劣汰的法則,優(yōu)質(zhì)個(gè)體適合生存產(chǎn)生更低的交叉和變異概率,劣質(zhì)個(gè)體提高交叉和變異概率進(jìn)行繁衍來保留自己的基因,交叉概率和變異概率定義為
式中:K1、K2——初始交叉和變異概率;
J(i)——個(gè)體適應(yīng)度;
Jmax——輸出誤差最大值;
Jave——輸出誤差平均值。
多新息理論(Multi-innovation theory)是運(yùn)用循環(huán)過程中產(chǎn)生的歷史誤差數(shù)據(jù)進(jìn)行迭代計(jì)算,改善單一新息后驗(yàn)測量校正的數(shù)據(jù)丟失的問題,提高對狀態(tài)變量的校正效果。k時(shí)刻誤差新息為ek=Vk-yk∣k-1,擴(kuò)展多新息矩陣為
式中:V——端電壓值;
p——新息長度。
多新息數(shù)據(jù)更新如圖3所示。PF算法是在蒙特卡羅概率函數(shù)的基礎(chǔ)上,通過貝葉斯運(yùn)算規(guī)則對離散系統(tǒng)進(jìn)行加權(quán)和積分。PF算法可以精確跟蹤和預(yù)測動態(tài)參數(shù),解決非線性非高斯復(fù)雜系統(tǒng)的濾波問題,若選取粒子數(shù)量太多,收斂速度和準(zhǔn)確度提高但計(jì)算量太大,選取粒子數(shù)量太少,波動誤差增大準(zhǔn)確度低,迭代過程中多數(shù)粒子權(quán)重減少逐漸消弱,少數(shù)粒子權(quán)重增大,造成粒子貧化問題。
EKF算法通過遞推運(yùn)算將非線性系統(tǒng)由Taylor級數(shù)處理為線性高斯系統(tǒng)進(jìn)行濾波,實(shí)現(xiàn)系統(tǒng)狀態(tài)的最優(yōu)估計(jì),但會產(chǎn)生較大的線性化誤差。擴(kuò)展卡爾曼粒子濾波(EKPF)算法將EKF算法引入PF算法作為其建議密度分布函數(shù),均衡粒子震蕩誤差和收斂速率,對每一個(gè)粒子實(shí)時(shí)更新權(quán)重,改善粒子貧化問題。EKPF算法流程如圖4所示。
EKPF算法具體步驟為
(1)初始化,由先驗(yàn)概率產(chǎn)生N個(gè)粒子;
(2)更新粒子,通過EKF算法引入分?jǐn)?shù)階更新粒子均值和協(xié)方差。
先驗(yàn)估計(jì)狀態(tài):
輸出狀態(tài)更新:
誤差協(xié)方差更新方程:
卡爾曼增益為
增益矩陣擴(kuò)展為
Kp,k=[KkKk-1,…,Kk-p+1]。
利用多新息矩陣Ep,k和增益矩陣Kp,k,列寫出狀態(tài)估計(jì)更新方程為
樣本均值為
誤差協(xié)方差狀態(tài)更新方程為
計(jì)算粒子權(quán)值為
(3)歸一化處理
(4)狀態(tài)估計(jì)
(5)重采樣,根據(jù)權(quán)重計(jì)算剩余粒子數(shù):
若Neff≤Ns閾值,進(jìn)行重采樣,獲取粒子集:
更新SOC預(yù)測值為
(6)循環(huán)k→k+1,重復(fù)上述步驟。
電池SOH是反映不同階段電池使用狀態(tài)和老化水平的指標(biāo),電池在反復(fù)應(yīng)用中,可用容量逐漸衰退,歐姆內(nèi)阻增大。不同階段電池健康狀態(tài)與荷電狀態(tài)如圖5所示。
由于表征SOH的實(shí)際容量變化較難獲得,選取歐姆內(nèi)阻定義βSOH為
式中:Re——終期內(nèi)阻值;
Rn——初始內(nèi)阻值。
建立電池內(nèi)阻估計(jì)模型為
R0 k=R0 k-1+rk-1,
式中:R0 k——?dú)W姆內(nèi)阻;
rk——過程噪聲。
初始化內(nèi)阻和協(xié)方差
循環(huán)迭代進(jìn)行內(nèi)阻、協(xié)方差、過程噪聲狀態(tài)更新:
KR0k——卡爾曼增益矩陣;
通過重復(fù)上述過程,EKF算法不斷迭代內(nèi)阻估計(jì)值進(jìn)行更新修正,縮小與實(shí)際內(nèi)阻誤差,完成對SOH準(zhǔn)確估計(jì),為修正SOC估計(jì)創(chuàng)造了條件。
電池使用過程中最大可用容量減小內(nèi)阻增大,運(yùn)用容量估計(jì)SOC造成其不準(zhǔn)確性,以電池歐姆內(nèi)阻為橋梁,提出修正估計(jì)算法,分別將歐姆內(nèi)阻和SOC交替作為常量和狀態(tài)量進(jìn)行迭代更新計(jì)算,實(shí)現(xiàn)同步估計(jì),減小估計(jì)誤差。內(nèi)阻和容量關(guān)系為
(1)
式中:Qn——初始電池的最大容量;
Qe——終止壽命的最大容量;
Qeol——電池終容量,Qeol=0.8Qe。
所提優(yōu)化算法原理如圖6所示。通過建立模型、辨識參數(shù),對系統(tǒng)參數(shù)初始化,結(jié)合MI、EKF、PF算法估計(jì)SOC,EKF算法估計(jì)SOH,迭代更新內(nèi)阻。
由式(1)計(jì)算最大可用容量并代入SOC估計(jì)算法中,以此循環(huán)迭代更新電池參數(shù),完成SOC修正估計(jì)。
為檢驗(yàn)上述優(yōu)化估計(jì)算法理論推導(dǎo)的準(zhǔn)確性和現(xiàn)實(shí)性,在室溫下對18650鋰電池進(jìn)行脈沖放電測試,運(yùn)用Matlab對電池模型和脈沖放電數(shù)據(jù)進(jìn)行仿真驗(yàn)證。根據(jù)理論分析可知,分?jǐn)?shù)型模型能更好反映電池特性,所辨識參數(shù)為最優(yōu)解,LS和AGA算法參數(shù)辨識結(jié)果如表1所示。
表1 兩種算法參數(shù)辨識結(jié)果
根據(jù)模型參數(shù)辨識結(jié)果,將實(shí)驗(yàn)脈沖放電電流數(shù)據(jù)作為輸入,分別采用LS整數(shù)模型和AGA分?jǐn)?shù)模型獲得輸出端電壓,與脈沖放電測試過程中端電壓實(shí)測值進(jìn)行比較,如圖7所示。二者跟蹤端電壓變化較為理想,但相比整數(shù)型的LS算法,分?jǐn)?shù)型的AGA端電壓偏差更小,更接近于實(shí)際端電壓。
為了便于分析實(shí)際跟蹤效果,與脈沖放電端電壓數(shù)據(jù)比較,誤差如圖8所示。由圖8可以看出,LS最大誤差為0.056 V,AGA最大誤差為0.032 V。因此,分?jǐn)?shù)型AGA跟蹤模型端電壓誤差更小,即電池參數(shù)辨識更準(zhǔn)確,更能反映電池實(shí)際情況。
對上述誤差進(jìn)行統(tǒng)計(jì)分析,得到模型誤差值對比,如表2所示。AGA分?jǐn)?shù)型辨識電池參數(shù)平均誤差ev、最大誤差emax、均方根誤差eR均小于LS整數(shù)型。
表2 模型誤差對比
在AGA辨識參數(shù)的基礎(chǔ)上,以及SOC初始值為0.8的相同條件下,分別應(yīng)用PF算法、EKPF算法、MIEKPF算法、FOMIEKPF算法和所提算法進(jìn)行SOC估計(jì)。由于單次放電時(shí)間短,靜置時(shí)間長,忽略安時(shí)積分法累計(jì)誤差,將其理論計(jì)算值視為真實(shí)值,并對結(jié)果進(jìn)行比較,獲得SOC估計(jì)曲線如圖9所示。分析比較,幾種算法都能較為準(zhǔn)確估計(jì)SOC,但所提估計(jì)算法更趨近于真實(shí)值,精度明顯提高。
SOC估計(jì)結(jié)果與實(shí)測值比較得到SOC估計(jì)誤差。表明二階分?jǐn)?shù)型模型,多新息理論,EKF算法對PF的改進(jìn)算法和聯(lián)合SOH的修正估計(jì)均取得良好的優(yōu)化效果,進(jìn)一步減小了估計(jì)誤差。
對上述誤差數(shù)據(jù)進(jìn)行統(tǒng)計(jì),獲得不同算法的誤差,結(jié)果如表3所示。通過比較,可以看出,所提算法的誤差指標(biāo)均優(yōu)于其他算法,具有很高估計(jì)精度。
表3 不同算法誤差統(tǒng)計(jì)
(1)根據(jù)鋰離子電池特性,對阻容網(wǎng)絡(luò)融入微分理論,建立二階分?jǐn)?shù)型電路模型。運(yùn)用AGA算法參數(shù)辨識,相比于整數(shù)型LS算法,能夠更好跟蹤端電壓的實(shí)測值,模型參數(shù)具有更高精度。
(2)EKPF算法通過引入EKF算法解決PF算法粒子權(quán)重降低的問題,估計(jì)SOC的均方根誤差為1.33%。
(3)融合多新息理論,將單個(gè)新息擴(kuò)展為能夠迭代多個(gè)歷史數(shù)據(jù)的多新息矩陣,提高校正準(zhǔn)確度,均方根誤差減小為1.13%。
(4)針對電池老化引起參數(shù)變化的效應(yīng),提出分別運(yùn)用FOMIEKPF算法和EKF算法同步估計(jì)SOC和SOH,通過迭代更新電池參數(shù)實(shí)現(xiàn)對SOC修正估計(jì),結(jié)果顯示,所提估計(jì)算法將均方根誤差減小為0.55%,進(jìn)一步提升了SOC估計(jì)精度。