朱浩,張瀟
(湖南大學(xué)機(jī)械與運(yùn)載工程學(xué)院,湖南長(zhǎng)沙 410082)
得益于高能量密度、較高的電壓平臺(tái)以及較長(zhǎng)的循環(huán)壽命[1],鋰離子電池已被廣泛應(yīng)用于各領(lǐng)域的能源系統(tǒng)中,但鋰離子電池在使用過程中有可能出現(xiàn)過充、過放、溫度過高、溫度過低、電池老化等異常狀態(tài)[2],并由此引起電池?fù)p壞,甚至可能導(dǎo)致燃燒爆炸等安全性事故.因此,對(duì)鋰離子電池工作時(shí)的異常狀態(tài)進(jìn)行監(jiān)測(cè)是十分必要的.
Singh 等提出了使用卡爾曼濾波(Kalman Filter,KF)生成電池端電壓殘差,然后通過端電壓殘差的零點(diǎn)漂移的大小判斷電池是否有故障的方法[3-4],其中文獻(xiàn)[3]使用一組不同的擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)作為殘差生成器,但EKF 遇到緩變型狀態(tài)參數(shù)異常時(shí)可能在故障發(fā)生早期無法辨識(shí)甚至發(fā)散;文獻(xiàn)[4]使用了改進(jìn)的自適應(yīng)無跡卡爾曼濾波(Adaptive Unscented Kalman Filter,AUKF)生成端電壓殘差,AUKF 能夠更有效地辨識(shí)電池內(nèi)阻R0與時(shí)間常數(shù)τ 的緩變故障.Chen 等通過遞推最小二乘法(Recursive Least Square,RLS)與EKF 計(jì)算電池內(nèi)阻R0、極化電阻Rp、極化電容Cp,然后得到這些參數(shù)的局部離群因子與故障診斷閾值,判斷電池系統(tǒng)某單體電池電壓的瞬時(shí)變化與持續(xù)異常變化,但如果遇到電池狀態(tài)參數(shù)緩慢變化至超過設(shè)定閾值的情況,辨識(shí)參數(shù)可能在閾值范圍上下波動(dòng),導(dǎo)致出現(xiàn)錯(cuò)誤判斷[5].Zhao 等引入漸消因子運(yùn)用自適應(yīng)擴(kuò)展卡爾曼濾波(Adaptive Fading Extended Kalman Filter,AFEKF)對(duì)鋰離子電池SOC 進(jìn)行估算,實(shí)驗(yàn)證明漸消因子能夠有效提高卡爾曼濾波的估算精度[6].Gao等使用基于遺傳算法的神經(jīng)網(wǎng)絡(luò)對(duì)電池電壓傳感器、溫度傳感器、單體電池故障和電池內(nèi)部短路故障進(jìn)行了辨識(shí),但該方法需要有大量?jī)?yōu)質(zhì)的數(shù)據(jù)作為訓(xùn)練對(duì)象[7];Ablay 等分別使用EKF 與龍伯格觀測(cè)器(Luenberger Observers)生成電池內(nèi)阻、極化電容電壓與端電壓的殘差,并針對(duì)電壓、溫度傳感器的故障做出測(cè)試,但是故障狀態(tài)為軟件仿真,沒有實(shí)驗(yàn)驗(yàn)證[8-9].
顯然,針對(duì)電池的基于端電壓殘差的故障診斷方法能夠很直觀地反映電池的運(yùn)行狀態(tài).在系統(tǒng)處于正常狀態(tài)時(shí),端電壓殘差為0;當(dāng)端電壓殘差出現(xiàn)較大的零點(diǎn)漂移時(shí),表示電池狀態(tài)參數(shù)出現(xiàn)異常.得益于其較小的計(jì)算量與較高的估算精度,EKF 成為使用最多的殘差生成器,但是EKF 自適應(yīng)性和跟蹤性在面對(duì)各種不同的工況時(shí)無法滿足需求,因此,本文使用遞推最小二乘法對(duì)電池內(nèi)部參數(shù)進(jìn)行辨識(shí),以獲得狀態(tài)空間中的未知參數(shù)R0、Rp、Cp;分別使用FEKF 和EKF 生成電池端路電壓的殘差,利用χ2檢驗(yàn)獲得異常狀態(tài)判斷閾值,并以低溫異常狀態(tài)為例,對(duì)方法進(jìn)行實(shí)驗(yàn)驗(yàn)證.
電池模型分為3 類:電化學(xué)模型、經(jīng)驗(yàn)?zāi)P团c等效電路模型.電化學(xué)模型根據(jù)電池內(nèi)部的電化學(xué)反應(yīng)建立,具有很高的精度,但計(jì)算復(fù)雜;經(jīng)驗(yàn)?zāi)P椭饕揽看罅康臄?shù)據(jù),通過訓(xùn)練來達(dá)到較高的模型精度,對(duì)數(shù)據(jù)的數(shù)量和質(zhì)量都有很高要求;等效電路模型使用電容電阻和恒壓源等元器件構(gòu)成電路來模擬電池的運(yùn)作機(jī)理,結(jié)構(gòu)簡(jiǎn)單且靈活,便于在線計(jì)算與仿真[10-13].由于鋰離子電池內(nèi)部結(jié)構(gòu)可簡(jiǎn)化為歐姆內(nèi)阻和極化內(nèi)阻,且一階模型的精度已經(jīng)能夠滿足需求,因此采用一階RC 等效電路模型來模擬鋰離子電池內(nèi)部結(jié)構(gòu),等效電路如圖1 所示.
圖1 一階等效電路示意圖Fig.1 First-order equivalent circuit diagram
根據(jù)基爾霍夫電壓定律,可得到關(guān)系式:
電池的SOC 可表示為:
經(jīng)過離散化后,式(3)可變?yōu)椋?/p>
式中:t0為充放電的開始時(shí)刻;Cn為電池容量;T 為采樣周期;Rp為電池極化電阻;Cp為電池極化電容;I為電池工作電流;Vp為極化電容上的電壓;Vocv為電池開路電壓;R0為電池內(nèi)阻;Vt為電池端電壓.開路電壓Vocv與電池SOC 之間的關(guān)系可以通過對(duì)充放電實(shí)驗(yàn)的數(shù)據(jù)進(jìn)行曲線擬合得到.
EKF 在初始條件選取得當(dāng)?shù)那闆r下,能夠得到比較準(zhǔn)確的狀態(tài)估計(jì)值,但是任何一個(gè)實(shí)際系統(tǒng)都具有一定程度的不確定性,此時(shí)的EKF 濾波精度可能會(huì)下降甚至發(fā)散.為了克服這一缺點(diǎn),引入漸消因子.
使用RLS 對(duì)電池的歐姆內(nèi)阻R0、極化電阻Rp、極化電容Cp進(jìn)行在線辨識(shí)[14].該系統(tǒng)的離散數(shù)學(xué)模型為:
式中:zk為系統(tǒng)輸出;μ 為前一時(shí)刻的輸入輸出向量,令μ=,Ik,Ik-1];θ0為系統(tǒng)真實(shí)狀態(tài)參數(shù)的代換向量,用以表示待辨識(shí)的狀態(tài)參數(shù):電池內(nèi)阻R0、極化電阻Rp和極化電容Cp.RLS 的遞推公式表達(dá)為:
式中:K 為增益因子;P 為協(xié)方差矩陣;u 為遺忘因子;θ 為系統(tǒng)參數(shù)估計(jì)值向量,維度與μ 相同.u 越小跟蹤能力越強(qiáng),但波動(dòng)也越大,一般取0.95 <u <1,為保證參數(shù)辨識(shí)的準(zhǔn)確性與穩(wěn)定性,取中間值,令u=0.985.
首先進(jìn)行參數(shù)初始化,令μ、θ、K 的初始值均為0,P 的初始值則通過多次調(diào)試得到,為I1×3×106,I 為單位矩陣;然后將充放電過程中的V 與I 分別代入式(6),即可得到每一時(shí)刻的θ 值,完成參數(shù)辨識(shí).
在早期,電池狀態(tài)參數(shù)的偏差通常較小,由于EKF 與UKF 的魯棒性較差,不易被系統(tǒng)模型識(shí)別,造成監(jiān)測(cè)診斷的延遲.因此,引入時(shí)變漸消因子λk.當(dāng)系統(tǒng)模型存在不確定性時(shí),會(huì)首先在端電壓殘差序列rk中表現(xiàn)出來,導(dǎo)致≠0,即輸出端電壓殘差序列不正交.此時(shí),通過漸消因子λk在線實(shí)時(shí)調(diào)整增益矩陣Kk,可以保證EKF 的輸出端電壓殘差序列相互正交,從而使EKF 具有強(qiáng)跟蹤濾波器的性質(zhì).由于狀態(tài)方程變量為一維,計(jì)算量很小,所以采用最優(yōu)漸消因子.
設(shè)狀態(tài)方程變量xk=SOCk,系統(tǒng)狀態(tài)和觀測(cè)方程可表示為:
式中:w 和v 是均值為0、方差分別為q 和r 的不相關(guān)高斯白噪聲.通過式(4),可以得到g 的表達(dá)式:
通過式(1)(2)可以得到h 的表達(dá)式:
引入漸消因子λk,令λ1=1,其它的漸消因子可由式(11)得到:
式中:φ >0 為迭代步長(zhǎng),取值要求λk能夠快速衰減,而的計(jì)算方法為:
至此可得到卡爾曼濾波的預(yù)測(cè)方程:
迭代方程由式(14)表達(dá):
式中:G 和H 分別為非線性函數(shù)g 與h 的一階Taylor展開,即得到端電壓殘差值為rk=-zk.
當(dāng)電池狀態(tài)出現(xiàn)異常時(shí),其狀態(tài)參數(shù)會(huì)出現(xiàn)變化,由此引起放電過程中端電壓殘差出現(xiàn)零點(diǎn)漂移,因此可用端電壓殘差數(shù)據(jù)的變化作為狀態(tài)參數(shù)異常判斷的依據(jù).
影響狀態(tài)參數(shù)異常閾值η 的決定性因素為誤檢率PFA和漏檢率PM.若設(shè)定閾值較高,則漏檢率隨之升高,而誤檢率隨之降低;若設(shè)定閾值較低,則情況相反[15].構(gòu)造檢測(cè)函數(shù)為:
式中:Tk為端電壓殘差序列的方差Rk.由于殘差序列為符合高斯分布的白噪聲,所以Dk符合χ2分布.取滑動(dòng)窗口寬度為A,將窗口寬度內(nèi)采樣點(diǎn)Dk的平均值作為判斷該窗口內(nèi)數(shù)據(jù)是否出現(xiàn)狀態(tài)參數(shù)異常的依據(jù),即,依此得到誤檢率PFA的計(jì)算式[16-18]:
式中:η 為狀態(tài)參數(shù)異常閾值.可通過初步設(shè)定PFA的值得到閾值大小.本系統(tǒng)中χ2分布的自由度為1,則對(duì)應(yīng)不同誤檢率的狀態(tài)參數(shù)異常閾值等同于χ2分布臨界值,如表1 所示.
表1 誤檢率分布表Tab.1 False detection rate distribution
當(dāng)滑動(dòng)窗口內(nèi)檢測(cè)函數(shù)ηk大于η 時(shí),判斷為系統(tǒng)狀態(tài)參數(shù)異常,否則系統(tǒng)狀態(tài)參數(shù)正常.判斷邏輯為:
為了模擬緩變型狀態(tài)參數(shù)異常,將電池置入恒溫恒濕箱中緩慢降溫,在動(dòng)態(tài)應(yīng)力測(cè)試工況(Dynamic Stress Test,DST)下進(jìn)行放電循環(huán).電池為億緯鋰能公司容量為2.55 Ah 的18650 型號(hào)三元鋰電池,充放電截止電壓分別為4.2 V 與2.75 V;恒溫箱為泓進(jìn)儀器HY-1010 型;充放電機(jī)為德普BTS20-5V/4×200A.實(shí)驗(yàn)平臺(tái)原理圖如圖2 所示.
圖2 充放電實(shí)驗(yàn)平臺(tái)Fig.2 Charge and discharge experiment platform
首先需要得到電池的OCV-SOC 曲線.在25 ℃時(shí),電池充滿至4.2 V 截止電壓的情況下,對(duì)電池進(jìn)行恒流放電實(shí)驗(yàn),三元鋰電池的最大持續(xù)放電電流倍率為3 C,為了保證實(shí)驗(yàn)安全取較小的放電電流倍率0.5 C,放電至電壓低于2.75 V,采樣周期為1 s,實(shí)驗(yàn)測(cè)得OCV-SOC 曲線如圖3 所示.
圖3 OCV-SOC 曲線Fig.3 OCV-SOC curve
Matlab 的函數(shù)擬合方法主要包括插值擬合、多項(xiàng)式擬合與局部加權(quán)回歸擬合,其中多項(xiàng)式擬合可以通過調(diào)整階數(shù)防止出現(xiàn)過擬合與欠擬合的情況,并且多項(xiàng)式結(jié)構(gòu)簡(jiǎn)潔、易于表達(dá).經(jīng)過調(diào)試,最終以七階多項(xiàng)式擬合得到OCV-SOC 對(duì)應(yīng)關(guān)系的多項(xiàng)式:
式中:a7=-20.49,a6=74.31,a5=-106,a4=73.23,a3=-23.36,a2=2.453,a1=0.585 9,a0=0.344 5.
然后將單體電池置入恒溫恒濕箱,將恒溫恒濕箱內(nèi)溫度穩(wěn)定至室溫25 ℃,開始進(jìn)行放電;1 h 后開始降溫,約在25 min 后降至5 ℃,5 min 后緩慢回溫至25 ℃,直至放電結(jié)束.期間溫度變化曲線如圖4所示,DST 放電循環(huán)的電流曲線如圖5 所示,充放電機(jī)的采樣周期為1 s,圖5 所示的1 000 個(gè)采樣點(diǎn)中包括兩個(gè)循環(huán)周期.
實(shí)驗(yàn)結(jié)束后,使用Matlab 做數(shù)據(jù)處理:
1)將上位機(jī)采集到的實(shí)時(shí)電流電壓數(shù)據(jù)導(dǎo)入腳本文件,先通過遞推最小二乘法計(jì)算得到正常的電池狀態(tài)參數(shù)R0、Rp、Cp,時(shí)間常數(shù)τ=RpCp.
2)將辨識(shí)出來的狀態(tài)參數(shù)與上位機(jī)采集到的電池端電壓與電流代入FEKF 計(jì)算,得到25 ℃降溫到5 ℃過程中的SOC 估算值以及端電壓殘差值r,并使用電池容量Cn減去每一時(shí)刻的電流與時(shí)間乘積,得到安時(shí)積分的SOC 真實(shí)值;所用到的Cn由實(shí)驗(yàn)平臺(tái)的充放電機(jī)直接測(cè)算得到,為2.469 Ah,溫度變化的影響已被計(jì)算在內(nèi).
圖4 溫度變化曲線Fig.4 Temperature change curve
圖5 DST 放電電流曲線Fig.5 DST discharge current curve
3)將端電壓殘差r 變換為χ2分布的Dk,取溫度降低到5 ℃后的1 500 s,即5 000~6 500 s 采樣點(diǎn)的Dk進(jìn)行對(duì)比.
不同算法下,Dk的變化分別如圖6、圖7 所示;不同工況下不同算法的SOC 估算值與實(shí)際值分別如圖7~10 所示.
從圖6、圖7 的對(duì)比可知,溫度降低至5 ℃后,端電壓殘差參數(shù)Dk在逐漸增大,在6 200 s 后達(dá)到峰值,但是通過EKF 生成的數(shù)據(jù)在6 200 s 前波動(dòng)幅值不大,無法在較早的時(shí)間檢測(cè)出系統(tǒng)參數(shù)異常;而FEKF 生成的端電壓殘差數(shù)據(jù)Dk從5 700 s 開始便出現(xiàn)較大幅值的波動(dòng),能夠更及時(shí)地檢測(cè)出參數(shù)的異常.顯然,漸消因子的引入有效增大了異常狀態(tài)下的端電壓殘差,且未對(duì)正常狀態(tài)下的端電壓殘差造成影響.
圖6 降溫流程結(jié)束時(shí)EKF 生成的不同時(shí)刻殘差參數(shù)DkFig.6 Residual parameter Dk at different times generated by EKF at the end of the cooling process
圖7 降溫流程結(jié)束時(shí)FEKF 生成的不同時(shí)刻殘差參數(shù)DkFig.7 Residual parameter Dk at different times generated by FEKF at the end of the cooling process
在溫度降至最低5 ℃的時(shí)刻約5 000 s 時(shí),由于鋰離子電池在不同溫度下的擴(kuò)散作用的差異,電池的時(shí)間常數(shù)τ 與內(nèi)阻R0緩慢增大[19],根據(jù)式(1)(2)(14),在電池容量與電流大小不變的情況下,端電壓殘差會(huì)隨之增大,SOC 估算值隨之減小.因此,在溫度由25 ℃降低到5 ℃后,EKF 對(duì)SOC 的估算精度開始下降,逐漸偏離由安時(shí)積分計(jì)算得到的真實(shí)SOC曲線,如圖8 所示;而得益于漸消因子的引入,使用FEKF 進(jìn)行估算得到的SOC 與真實(shí)值之間的偏差很小,如圖9 所示,證明FEKF 在放大端電壓殘差的同時(shí)精度幾乎未受影響.
分別取滑動(dòng)窗口寬度A1=100,A2=50.取狀態(tài)參數(shù)異常閾值η=3.84,根據(jù)表1,此時(shí)誤檢率PFA=5%.每Ak個(gè)點(diǎn)為一組,計(jì)算每組Dk的平均值若大于η,則認(rèn)為Ak窗口寬度內(nèi),電池出現(xiàn)狀態(tài)參數(shù)異常,否則正常.取采樣時(shí)間為5 000~6 500 s,實(shí)時(shí)監(jiān)測(cè)結(jié)果如圖10~13 所示,概率為1 表示檢測(cè)結(jié)果為狀態(tài)參數(shù)異常,概率為0 則表示檢測(cè)結(jié)果為狀態(tài)參數(shù)正常.
圖8 25 ℃降溫至5 ℃過程中使用EKF 的SOC 估算Fig.8 SOC estimation using EKF during cooling from 25 ℃to 5 ℃
圖9 25 ℃降溫至5 ℃過程中使用FEKF 的SOC 估算Fig.9 SOC estimation using FEKF during cooling from 25 ℃to 5 ℃
圖10 滑動(dòng)窗口寬度為100 時(shí)EKF 生成殘差的狀態(tài)監(jiān)測(cè)結(jié)果Fig.10 Condition monitoring results of residuals generated by EKF when the data window width is 100
圖11 滑動(dòng)窗口寬度為100 時(shí)FEKF 生成殘差的狀態(tài)監(jiān)測(cè)結(jié)果Fig.11 Condition monitoring results of residuals generated by FEKF when the data window width is 100
圖12 滑動(dòng)窗口寬度為50 時(shí)EKF生成殘差的狀態(tài)監(jiān)測(cè)結(jié)果Fig.12 Condition monitoring results of residuals generated by EKF when the data window width is 50
圖13 滑動(dòng)窗口寬度為50 時(shí)FEKF 生成殘差的狀態(tài)監(jiān)測(cè)結(jié)果Fig.13 Condition monitoring results of residuals generated by FEKF when the data window width is 50
從圖10、圖11 的對(duì)比可知,在A=100 時(shí),使用EKF 生成的殘差只在6 200~6 300 s 內(nèi)出現(xiàn)大于閾值的偏移,而使用FEKF 生成的殘差在5 700~5 900 s、6 100~6 400 s 內(nèi)出現(xiàn)大于閾值的偏移;根據(jù)圖12、圖13,在A=50 時(shí),使用EKF 生成的殘差在6 200~6 300 s 內(nèi)出現(xiàn)大于閾值的偏移,而FEKF生成的殘差分別在5 700~5 800 s、5 950~6 000 s、6 100~6 300 s、6 350~6 400 s 內(nèi)出現(xiàn)大于閾值的偏移.很顯然,使用EKF 得到的結(jié)果在6 200 s 才診斷出電池狀態(tài)參數(shù)異常,告警只維持了100 s;而使用FEKF 得到的結(jié)果,最早在5 700 s 便診斷出電池狀態(tài)參數(shù)異常,且在之后的600 s 內(nèi)持續(xù)告警.因此,使用FEKF 生成的殘差診斷出電池異常狀態(tài)的時(shí)間更早,告警持續(xù)時(shí)間更長(zhǎng),較之EKF 有更好的監(jiān)測(cè)性能.
1)針對(duì)傳統(tǒng)EKF 無法及時(shí)識(shí)別鋰電池工作過程中出現(xiàn)的緩變型狀態(tài)參數(shù)異常的問題,提出了加入最優(yōu)漸消因子的FEKF,通過FEKF 生成殘差,構(gòu)造了χ2分布數(shù)列來計(jì)算誤檢率PFA以及對(duì)應(yīng)的狀態(tài)參數(shù)異常閾值η.
2)將單體電池置于恒溫恒濕箱進(jìn)行緩慢降溫,按設(shè)置的工況,通過實(shí)驗(yàn)測(cè)得了電池的電流電壓數(shù)據(jù),將數(shù)據(jù)導(dǎo)入Matlab 的算法程序中進(jìn)行計(jì)算,得到EKF 與FEKF 兩種不同算法下實(shí)時(shí)監(jiān)測(cè)的情況.證明了在相同的滑動(dòng)窗口寬度以及閾值下,F(xiàn)EKF 相較傳統(tǒng)EKF 能夠更及時(shí)地識(shí)別出鋰電池運(yùn)行時(shí)出現(xiàn)的緩變型狀態(tài)異常.