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