武明虎 杜萬銀 張凡 黃偉
(1.湖北工業(yè)大學,太陽能高效利用及儲能運行控制湖北省重點實驗室,武漢 430068;2.湖北工業(yè)大學,新能源及電網(wǎng)裝備安全監(jiān)測湖北省工程研究中心,武漢 430068)
主題詞:鋰離子電池 故障診斷 卡爾曼濾波 特征提取 余弦相似度
鋰離子電池因其使用壽命長、可重復性高等性能優(yōu)勢而被廣泛應用在電動汽車的能源系統(tǒng)中[1]。但是,電動汽車的能源系統(tǒng)會頻繁發(fā)生故障,嚴重時會導致汽車燃燒。因此,電池組的早期故障診斷或者故障預警對保障電動汽車的安全性具有重要意義[2]。
電動汽車的能源系統(tǒng)故障類型一般有電池內短路、熱失控、電池外部短路、連接錯誤、傳感器故障等[3],目前對于電池組間的故障診斷研究一般可以分為3 類,即基于電池模型的方法、基于先驗知識的方法和基于數(shù)據(jù)驅動的方法[4-5]?;谀P偷碾姵亟M故障診斷方法一般需要構建精度較高的電池等效模型,利用參數(shù)估計方法對等效模型的參數(shù)進行估計,例如卡爾曼濾波、最小二乘法[6-7],對電池的物理模型和電池管理系統(tǒng)(Battery Management System,BMS)的計算能力要求較高[8-9]?;谙闰炛R的電池組故障診斷方法一般是利用專家知識或者建立判定規(guī)則進行故障診斷,主要方法包括模糊控制、專家系統(tǒng)等[10-12],但在隨機性很強的實際車輛中規(guī)則建立困難[13]?;跀?shù)據(jù)驅動的方法一般是通過智能算法、數(shù)據(jù)分析方法,例如神經(jīng)網(wǎng)絡、聚類等直接從采集的數(shù)據(jù)中挖掘故障特征,并對其進行檢測和定位[14]。文獻[15]、文獻[16]提出一種相關系數(shù)的方法,用于計算電池之間的相關性,來判定電池組內的故障電池。但是該方法應用在實際車輛數(shù)據(jù)上時,很容易導致相關系數(shù)誤報。文獻[17]提出一種基于隨機森林的方法建立的電池內短路(Internal Short Circuit,ISC)診斷模型。該方法通過大量的數(shù)據(jù)學習得到一個收斂的故障診斷模型,但是該方法很難實現(xiàn)電池的在線故障診斷和熱失控預警。因此,基于數(shù)據(jù)驅動的電池故障診斷方法是一種能夠用于在線的電池故障診斷方法[18]。
本文利用基于數(shù)據(jù)驅動的方法,開發(fā)一種在線的電池故障診斷及預警方法。為解決云平臺中采集的充放電過程數(shù)據(jù)中存在大量隨機噪聲的問題,提出一種基于歷史數(shù)據(jù)和卡爾曼濾波的數(shù)據(jù)降噪方法,并提出一種特征指數(shù)化的特征提取方法,有效放大微小的故障特征。為了避免不一致性電芯帶來的誤報,提出一種基于余弦相似度(Cosine Similarity,CS)的故障值計算方法。最后,在實車數(shù)據(jù)上驗證所提出方法的有效性、魯棒性和可靠性。
實際采集的電池數(shù)據(jù)存在許多噪聲,需對原始電壓數(shù)據(jù)進行降噪,提高故障診斷精度。分析電動汽車的歷史數(shù)據(jù)發(fā)現(xiàn),電池的電壓數(shù)據(jù)在很小的荷電狀態(tài)(State of Charge,SOC)區(qū)間內不會有較大變化。因此,不同SOC 區(qū)間中的歷史電壓數(shù)據(jù)可以作為數(shù)據(jù)清洗的參考量。本文采用卡爾曼濾波算法融合電池傳感器測量數(shù)據(jù)和電池歷史數(shù)據(jù)的信息,使得采集的數(shù)據(jù)更加接近電池的真實工作狀態(tài)。
假設從電池歷史數(shù)據(jù)中提取的電壓序列為:
式中,(t)為t時刻電池組內第i個單體在第c個充放電循環(huán)中的電壓;J為電池組中的電池數(shù)量;K為歷史循環(huán)數(shù)。
對于每個循環(huán)過程,需要計算不同SOC區(qū)間中單個電池最可能的電壓值,以獲得Ssoc-V序列,其中Ssoc為荷電狀態(tài),s為SOC區(qū)間序號。Ssoc-V序列的計算公式為:
式中,Mmed()表示取中位數(shù);Vi(t)為截止到該循環(huán)的第i個電池的電壓值數(shù)據(jù)集。
由此獲得放電過程的Ssoc-V曲線,如圖1所示。
圖1 放電過程的Ssoc-V曲線
獲得Ssoc-V序列后,該序列被視為卡爾曼濾波器的估計值,傳感器測得的電池電壓值被視為觀測量。可以如下獲得卡爾曼公式:
式中,Hk為卡爾曼增益;Vk為最優(yōu)估計;Pk-1為更新前的最優(yōu)誤差;Pk為更新的最優(yōu)估計誤差;Qk-1為初始測量誤差。
由卡爾曼濾波算法計算的最優(yōu)估計是最終濾波結果。估計結果會很接近正常運行期間電池的歷史數(shù)據(jù),且隨機干擾信號將被去除,如圖2 所示,圖中采用周期為10 s。
圖2 放電過程的原始電壓值與估計值對比
為方便對故障特征提取的理解,以電池的Rint等效電路模型為例,分析電池組中某個電池出現(xiàn)內短路現(xiàn)象后的故障變化特征。電池單體的Rint 等效電路模型串聯(lián)而成的電池包模型如圖3所示,假設2號電池單體發(fā)生短路故障。
圖3 電池組等效模型
電池組在正常情況下,各單體電池的電壓表達式為:
式中,Vi為第i節(jié)單體的電壓;E為開路電壓;I為電流;Ri為第i節(jié)單體的等效內阻。
現(xiàn)假設2號電池發(fā)生內短路故障,則可以通過節(jié)點電壓法、支路電流法列出該單體電路公式:
式中,IR為流過等效內阻支路的電流;R為電池等效內阻;IISC為短路電流;RISC為等效短路電阻。
再由節(jié)點電壓法可以得出2 號電池單體的電壓V2為:
結合式(9)、式(10),可以求解出2號電池單體的電壓V2為:
可見,通過式(6)和式(11)的對比,由于RISC/(R+RISC)<1,發(fā)生短路故障的2 號電池單體電壓V2會相比其他的電池單體電壓小。通過實際工程驗證發(fā)現(xiàn),電池內短路故障前期的變化比較微弱,故障電壓的變化是毫伏級別的[19]。因此直接利用未處理的電壓數(shù)據(jù)來檢測內短路故障很困難,尤其是在發(fā)生內短路的短時間內或者在故障發(fā)生前期檢測故障。
為了解決該問題,引入指數(shù)函數(shù)的爆炸增長特征放大電壓數(shù)據(jù)的微弱特征,便于故障檢測。本文采用底數(shù)大于1的指數(shù)函數(shù)提取故障電池的電壓特征。
假設有j個時刻,k個單體的電壓數(shù)據(jù):
式中,F(xiàn)j,k為j時刻第k單體的指數(shù)特征值;Mmean(vj)為j時刻所有單體的平均電壓;uj,k為j時刻第k個單體的電壓;vjmax、vjmin分別為j時刻所有單體的最大、最小電壓。
2.3.1 故障檢測與定位
業(yè)務、價值、機制都有了,難題就在于如何讓參與方對設計者有信心。解決問題的本質力量來源于領導。領導的核心是喚起業(yè)務參與方對業(yè)務的信心。
雖然經(jīng)過卡爾曼濾波的數(shù)據(jù)降噪和特征提取后,故障電池的故障特征被放大,易于識別,但電池組中不一致的電池也會表現(xiàn)出與其他電池不同的特征。因此,本文提出一種基于余弦相似度的故障值計算方法,以有效檢測出故障單體并避免不一致電芯的誤報。
余弦相似度也稱為余弦相似性,用于描述空間中兩個向量a、b的相似性。描述相似性的方法是計算2個向量夾角的余弦值:
假設2 個單體電池的數(shù)據(jù)為a=(a1,a2,…,an)、b=(b1,b2,…,bn),則
對相鄰電池的指數(shù)特征序列進行遍歷計算:
式中,f為故障值。
若某個電池i出現(xiàn)故障,則故障電池i與電池(i-1)的故障值將會很高,而其余正常電池的故障值會很低。因此可以判斷i出現(xiàn)故障。此外需要說明的是,若電池i出現(xiàn)較高的故障值,而(i-1)的故障值較低時,則電池i不會被判定為故障,這一般是由于傳感器采集的時間延遲導致的。然后基于3σ原則對各電池的故障值設置閾值,若有電池i出現(xiàn)故障,則該電池i與電池(i-1)的故障值就會觸發(fā)閾值。
2.3.2 故障檢測總體流程
假設當前有電壓矩陣,如式(12),首先對電壓矩陣進行數(shù)據(jù)濾波,再利用式(13)獲得形如式(12)的特征矩陣。將特征矩陣作為余弦相似度算法的輸入,經(jīng)過余弦相似度算法的計算,可獲得該電壓組的故障值,并設置閾值,進行故障電池檢測和定位。具體步驟如圖4 所示:
圖4 故障診斷總體流程
a.獲得從云平臺中采集的實際運行車輛電池數(shù)據(jù)。
b.選擇電壓數(shù)據(jù)作為計算對象,并利用卡爾曼濾波對電壓數(shù)據(jù)進行降噪。
c.對降噪后的電壓數(shù)據(jù)進行特征提取,獲得新的指數(shù)特征,從而放大故障電池之間的差異。
d.對故障電池識別和定位。將提取的指數(shù)特征作為余弦相似度算法的輸入,計算各單體電池之間的故障值。為了完成故障在線檢測,設置滑動窗口大小為30。根據(jù)3σ原則設置閾值,對故障值結果進行判定,超過閾值則認為該單體電池發(fā)生故障,并獲得單體號。
本文的試驗數(shù)據(jù)來自某新能源大數(shù)據(jù)云平臺,該平臺每日采集數(shù)據(jù)量可超過百萬條。本文從中選擇2 臺故障車輛數(shù)據(jù)作為試驗對象。2臺車相互獨立,以車輛1、車輛2的放電過程為例進行試驗驗證。經(jīng)確認,車輛1、車輛2都發(fā)生了內短路故障,2輛車的基本信息如表1所示。
表1 實際車輛數(shù)據(jù)信息
圖5a 給出了車輛1 的原始放電電壓數(shù)據(jù),77 號電芯發(fā)生內短路故障。從圖5a 中可以發(fā)現(xiàn),77 號電池電壓下降很微弱,因此這類故障在BMS 中很容易被漏報。但是,經(jīng)過卡爾曼濾波的數(shù)據(jù)降噪和指數(shù)特征提取后,如圖5b 所示,77 號電池表現(xiàn)出很明顯的故障特征。并且,77號電池隨著采集時間的推移,指數(shù)特征值在第350~500 采樣區(qū)間變得更大。這表示該電池的電壓開始下降,與其他電池的電壓差異越來越大。因此可以從指數(shù)特征值中推測該電池單體發(fā)生了內短路。此外,由于電池組內的電芯不一致性,39 號電池電壓始終低于其他電池的電壓,不屬于故障檢測范圍,因此在故障檢測時需要規(guī)避該類現(xiàn)象。
圖5 車輛1的原始數(shù)據(jù)及指數(shù)特征提取結果
類似地,圖6a 給出了車輛2 的原始電壓。經(jīng)確認,車輛2發(fā)生內短路故障,并存在傳感器采集錯誤導致的數(shù)據(jù)異常點。從圖6b 可發(fā)現(xiàn),47 號電池的特征值在第450 個采樣區(qū)間出現(xiàn)了相比于其他電池更明顯的特征。而原始電壓圖中,雖然該電池的電壓在后期出現(xiàn)了一定的電壓差,但是與其他電池的電壓相差不大,尤其是在電壓下降初期。這種現(xiàn)象在故障前期很難被BMS檢測。但是經(jīng)過本文的指數(shù)特征提取后,約在第450個采樣區(qū)間出現(xiàn)了十分明顯的異常指數(shù)特征值。由特征值對應的縱坐標變化數(shù)值來看,車輛2求得的指數(shù)特征較車輛1 更加明顯,這說明車輛2 電池組一致性較好。此外,在原始電壓圖中,第370 個采樣區(qū)間出現(xiàn)了傳感器錯誤導致的數(shù)據(jù)異常點,經(jīng)過本文的卡爾曼濾波后,該數(shù)據(jù)點被剔除。
圖6 車輛2的原始數(shù)據(jù)及指數(shù)特征提取結果
圖7 給出了車輛1 的故障診斷結果。車輛1 在前320個采樣區(qū)間電池組未發(fā)生故障,故障值計算結果基本都接近0。雖然約在第200個采樣區(qū)間故障值出現(xiàn)了小幅波動,且76號電池超過閾值,但不符合故障判斷規(guī)則。同樣,87 號電池在第30 個采樣區(qū)間也如此。而在第321 個采樣區(qū)間,77 號電池和76 號電池的故障值超過了閾值T,算法報警,并且根據(jù)算法判定規(guī)則很容易定位故障電池編號為77。而車輛1 使用閾值法診斷結果如圖8所示。39號電池超過報警閾值,這是電池的不一致性導致的。而本文所提出的算法計算的故障值規(guī)避了該現(xiàn)象,降低了故障診斷的誤報率。
圖7 車輛1的故障診斷結果
圖8 車輛1的使用閾值法診斷結果
與車輛1類似,車輛2也發(fā)生內短路故障,并存在數(shù)據(jù)異常點。圖9給出了經(jīng)卡爾曼濾波處理的數(shù)據(jù),在第370 個采樣區(qū)間出現(xiàn)的傳感器錯誤數(shù)據(jù)已經(jīng)被剔除。圖10所示為車輛2的故障值計算結果。相比于車輛1,車輛2 雖然存在數(shù)據(jù)采集異常,但電池組內一致性更好。因此車輛2在前期413個采樣區(qū)間,各電池的故障值基本為0。而發(fā)生內短路故障的47 號電池,在第414個采樣區(qū)間出現(xiàn)了十分明顯的故障值。47號和46號電池同時超過閾值T,診斷算法報警,并根據(jù)判定規(guī)則定位到故障單體47號。而相比于原始電壓,電壓在第447個采樣區(qū)間才出現(xiàn)了較為明顯的壓差,且BMS 對該點仍容易出現(xiàn)漏報。此外,車輛2在第373個采樣區(qū)間出現(xiàn)的數(shù)據(jù)異常點,經(jīng)過卡爾曼濾波降噪后,并沒有對該故障點進行誤報。因此,車輛2的診斷結果進一步證明了本文算法對內短路故障診斷的可行性,并能夠對故障進行提前預警。
圖9 車輛2的數(shù)據(jù)清洗結果
圖10 車輛2的故障診斷結果
為證明指數(shù)特征能夠有效放大故障電池與正常電池的差異,現(xiàn)僅輸入原始電壓進行故障診斷。首先對電壓進行卡爾曼濾波降噪,然后不經(jīng)過故障特征提取直接輸入到故障診斷算法中進行故障診斷。圖11 展示了車輛2 的對比試驗計算結果。從圖11 中可以看出,雖然算法能夠在第417 個采樣區(qū)間檢測出故障電池為47號電池,但圖10中經(jīng)過指數(shù)特征提取的計算結果顯示,本文算法能夠在第414 個采樣區(qū)間就檢測到異常電池為47 號電池,提前了30 s。此外,在圖11 中第350 個采樣區(qū)間,出現(xiàn)了對86 號電池的誤報,而圖10 中本文算法并未產(chǎn)生誤報。因此,車輛2 證明了指數(shù)特征能夠有效的將電壓差異放大,易于后期的故障診斷算法檢測,提高了準確率,并能夠提前報警。
圖11 使用原始數(shù)據(jù)的故障診斷結果
最后,引入相關系數(shù)法與本文所提出的方法進行對比。圖12所示為車輛1的相關系數(shù)計算結果。從圖12中可以看出,相關系數(shù)的結果對數(shù)據(jù)的異常值靈敏度很高,很容易產(chǎn)生誤報,而對故障點的靈敏度卻較低,很難準確檢測出故障電池。
圖12 相關系數(shù)計算結果
本文提出了一種可在云端數(shù)據(jù)中在線檢測的電池故障診斷及預警方法。首先針對實際數(shù)據(jù)存在大量噪聲問題,提出了一種基于歷史數(shù)據(jù)和卡爾曼濾波的降噪方法;然后為解決故障特征不明顯問題,提出了一種特征指數(shù)化方法;最后為了降低電池組內不一致性導致的誤報,提出了基于余弦相似度的故障值計算方法,并結合自適應閾值進行故障電池檢測和定位。通過2 臺在實際運行中發(fā)生內短路故障的車輛和對比試驗證明了本文所提出方法對電動汽車電池組故障診斷的有效性、魯棒性和可靠性。
由于實際平臺中對車輛電池的不同故障數(shù)據(jù)采集較少,未來的工作會考慮將本算法應用在更多的不同類型故障車輛上。