付詩意,呂桃林,閔凡奇,羅偉林,3,羅承東,吳 磊,解晶瑩
(1空間電源國家重點實驗室,上??臻g電源研究所;2上海動力與儲能電池系統(tǒng)工程技術(shù)研究中心,上海200245;3上海動力儲能電池系統(tǒng)工程技術(shù)有限公司,上海200241;4哈爾濱工業(yè)大學化工與化學學院,黑龍江 哈爾濱150001)
隨著《新能源汽車發(fā)展規(guī)劃》的通過,其明確了車用操作系統(tǒng)、動力電池等關(guān)鍵技術(shù)的開發(fā)創(chuàng)新,同時指出要實現(xiàn)“2035 年使新能源汽車核心技術(shù)達到國際先進水平”的目標,推進了新能源汽車的發(fā)展。
鋰離子電池以其比能量高、效率高、壽命長等優(yōu)點被廣泛應(yīng)用于新能源汽車中,為了進一步提高其使用效率和延長其使用壽命,有效的電池管理系統(tǒng)(battery manage system,BMS)是關(guān)鍵[1],而SOC 的準確估算是保證電池管理安全可靠的關(guān)鍵因素之一[2,3]。本文針對電動汽車鋰離子電池SOC估算方法展開綜述,重點分析了基于卡爾曼濾波族算法的SOC估算方法設(shè)計與實現(xiàn)。
SOC 的作用與內(nèi)燃機汽車的燃油表類似,準確的估算SOC 可以避免對電池過充電/過放電,從而延長電池的使用壽命。同時SOC 的準確估算還將有利于電池組的均衡策略,即有助于避免因電池組中各電池單體電量不一致運行導致的風險。鋰離子電池的SOC 通常定義為一定溫度和充/放電倍率下電池當前容量與最大容量的比值,如式(1)所示。
式中,Qt為電池當前時刻的容量;Qmax為電池的最大容量。
SOC的估算方法可分為安時積分法[4]、開路電壓法[5]、基于模型的濾波法[6]、數(shù)據(jù)驅(qū)動法[7]。
安時積分(AHI,Ampere-Hour Integration)法是最簡單的SOC 估算方法,根據(jù)電量的定義,直接對電流積分便可得到電池在一段時間內(nèi)消耗的電量,如式(2)所示。
式中,SOC0為荷電狀態(tài)的初始狀態(tài);η為庫侖效率,通常取值為1[8];ibatt為鋰離子電池充/放電的電流;Qmax為鋰離子電池的最大容量;t 為當前時刻。
AHI 法的缺陷在于它是一個開環(huán)的估算系統(tǒng),而這一類系統(tǒng)往往不具備對初始值誤差的校正能力和對由噪聲、測量偏差導致的誤差的調(diào)整能力。一種改進方法是使用自適應(yīng)卡爾曼濾波法進行初值校準,并利用設(shè)定的閾值使估算在AHI法和濾波法之中切換[9]。這種方法能夠克服初始值帶來的估算誤差并使計算加快,但由于長期處于AHI 法的計算中,仍然難以克服噪聲和測量偏差帶來的誤差。
開路電壓(open circuit voltage,OCV)是指外電路沒有電流流過,電池達到平衡時正負極之間的電位差[10]。在一定溫度下,電池的SOC 與OCV 呈現(xiàn)一一對應(yīng)的數(shù)值關(guān)系,因此可以通過獲取OCVSOC 的曲線來估算SOC[11]。由于OCV 數(shù)據(jù)的獲取往往需要長時間的靜置,這使得OCV法在在線估算SOC中難以開展。在電池處于動態(tài)運行工況的條件之下,一種動態(tài)平衡電壓(dynamic equilibrium voltage,DEV)的概念被提出[12]?;诘刃щ娐纺P?,利用電池的激勵與響應(yīng)數(shù)據(jù)結(jié)合濾波方法可以實現(xiàn)DEV 的實時提取,依靠歷史數(shù)據(jù)可以建立DEV-SOC關(guān)系,進而運用到SOC的在線估算中。
OCV-SOC曲線的特殊性導致單獨使用OCV進行SOC 估算具有一定局限性。如磷酸鐵鋰電池的OCV-SOC 曲線有明顯的平臺,如圖1 所示。在此范圍內(nèi)即使SOC 出現(xiàn)較大范圍的變化,反映在OCV 的數(shù)值變化卻很小,這導致即使很小的OCV誤差也會造成較大的SOC估算誤差。
圖1 磷酸鐵鋰電池的OCV-SOC曲線Fig.1 OCV-SOC curve of LiFePO4 battery
在基于濾波法估算SOC 的方法中,卡爾曼濾波(Kalman filter,KF)法是最為常用的一種方法。KF是由美國數(shù)學家Rudolf Emil Kalman在1960年所提出的一種新型濾波算法,中心思想是在已知系統(tǒng)狀態(tài)空間模型、噪聲統(tǒng)計特性及初始狀態(tài)值的前提下,依據(jù)最小均方誤差原則,利用實際的輸出觀測數(shù)據(jù)對系統(tǒng)的狀態(tài)變量進行修正,實時地獲得被估計狀態(tài)量的最優(yōu)估計值[13]。
經(jīng)典的KF 法需要滿足如式(3)和式(4)的線性模型
式中,xk為系統(tǒng)的狀態(tài)變量;zk為系統(tǒng)的觀測變量;uk為系統(tǒng)的輸入變量;wk和vk分別為系統(tǒng)的過程激勵噪聲和觀測噪聲。式(3)被稱為狀態(tài)方程,A為狀態(tài)轉(zhuǎn)移矩陣,反映上一時刻狀態(tài)對當前時刻狀態(tài)的影響;B為參數(shù)矩陣,反映系統(tǒng)輸入對狀態(tài)量的影響。式(4)被稱為觀測方程,H為測量系統(tǒng)的參數(shù)矩陣,反映狀態(tài)變量xk(和輸入變量uk)對測量變量zk的影響。
根據(jù)KF 法的定義,將AHI 中的公式設(shè)為狀態(tài)方程,即令SOC 為狀態(tài)變量,電流為輸入變量?;陔姵氐耐馓匦?,令電池的端電壓為觀測變量。然而電池的端電壓與狀態(tài)變量SOC 通常沒有顯式的關(guān)系,因此需要借助模型來描述電池各參數(shù)變量之間的關(guān)系。
2.3.1 電池模型建立
鋰離子電池的模型可分為電化學模型和等效電路模型兩種[14]。
電化學模型從電池內(nèi)部反應(yīng)的機理出發(fā),以偏微分方程的形式描述反應(yīng)過程中鋰離子的行為及狀態(tài),最早為Doyle 等建立的準二維(pseudo-twodimensional,P2D)模型[14]。模型的表達式包含固相、液相的擴散方程和歐姆定律方程、電荷守恒方程和Butler-Volmer 動力學方程。模型能夠很好地仿真電池的內(nèi)部特性和外部特性,但其包含的微分方程太多,辨識較為麻煩。對P2D模型的簡化工作主要從固液相擴散過程、幾何結(jié)構(gòu)、數(shù)學算法變換開展[15-16]。簡化后的模型因其對電池特性描述的高保真度在實驗室環(huán)境下有著良好的應(yīng)用,但仍包含大量微分方程導致以何種算法才能保證模型辨識的快速性、收斂性和可靠性成為難點,進而限制其在工程實際中的應(yīng)用。
等效電路模型以理想電氣元件描述電池的電壓響應(yīng),通常包含用于描述OCV 的電壓源、用于描述電壓變化的電阻和RC 環(huán)節(jié)。常見的等效電路模型有Rint 模型、Thevenin 模型、二階RC 模型、PNGV 模型和分數(shù)階模型[14,16]。不同的等效電路模型具有不同的精度和復雜度:Rint模型僅含一個電阻,對電壓模擬能力較差;PNGV模型精度高,對電池的動態(tài)特性模擬的更好,不過該模型參數(shù)辨識相對復雜,不適合工程上使用[17];分數(shù)階模型考慮了電化學阻抗譜的測量,以常相位角元件替換RC模型中的電容元件,在電壓仿真和SOC 估算的精度上優(yōu)于其他等效電路模型,但分數(shù)階微積分的引入使計算量大大增加;RC 環(huán)節(jié)的增加能夠增加模型的精度,但模型會變得更加復雜,計算量也隨之增大[18],因此并不是RC 環(huán)節(jié)的階數(shù)越高越好。目前的研究中以Thevenin 模型為基礎(chǔ)居多,Thevenin模型如圖2所示。
Thevenin 模型的外特性關(guān)系如式(5)和式(6)所示。
圖2 Thevenin模型Fig.2 The model of Thevenin
式中,Ubatt為電池的端電壓;Ibatt為電池的電流;U1為RC 環(huán)節(jié)的電壓;R0為電池的歐姆內(nèi)阻;Uoc(SOC)為電池OCV與SOC的函數(shù)。
式中,R1為RC 環(huán)節(jié)的電阻;C1為RC 環(huán)節(jié)的電容。
由于RC 環(huán)節(jié)的電壓無法直接測得,通常可令U1為狀態(tài)變量,即與SOC 一同參與到估算中,將式(6)離散化之后可得到如式(7)所示的遞推公式。
式中,U1,k為k時刻的RC環(huán)節(jié)電壓值;Δt為采樣步長;Ibatt,k為k時刻的電流值。
為了完成對電池外特性的準確描述,還需對等效電路模型中各元件的參數(shù)值進行辨識。參數(shù)的辨識方法包括離線辨識與在線辨識[19]。脈沖電流法是一種經(jīng)典的模型參數(shù)離線辨識方法,通過在固定SOC點對脈沖放電過程與靜置過程中的電池電壓曲線進行擬合來獲取模型參數(shù),該方法簡單易行,應(yīng)用廣泛[20]。
在實際應(yīng)用中模型參數(shù)會隨著電池的容量改變,而電池的老化對參數(shù)改變的影響是最大的。由于參數(shù)的離線辨識工作往往是在固定電池狀態(tài)下進行的,當電池發(fā)生老化之后原有參數(shù)將難以匹配當前電池的狀況,這將導致模型在模擬電池外特性時會產(chǎn)生誤差,進而影響SOC 的估算[21]。因此有必要進行實時的模型參數(shù)辨識,以保證SOC 估算的準確性和可靠性。在線辨識方法有遺傳算法[22]、遞推最小二乘法[23]、KF法[24]等。因為遞推最小二乘法與KF 法在收斂速度和對噪聲的抑制能力上具有一定優(yōu)勢,目前模型參數(shù)的在線辨識工作通?;谶@兩種方法以及它們的變式展開。
2.3.2 卡爾曼濾波及其衍生方法
經(jīng)典KF 法的遞推過程包含對狀態(tài)估計值的更新、修正環(huán)節(jié),其遞推過程如式(8)~(12)所示,流程圖如圖3所示。
圖3 KF法流程圖Fig.3 The flow fhart of Kalman Filter
KF 法通過AHI 法對電池的SOC 進行一步預(yù)測,將此預(yù)測值代入式(5)得到當前時刻的端電壓模擬值,與實際測量得到的端電壓值進行比較,并根據(jù)兩者的誤差與卡爾曼增益Kk的乘積結(jié)果對一步預(yù)測值進行修正,得到最終的SOC估算值。
經(jīng)典KF法的局限在于其僅適用于線性系統(tǒng)[25]。鋰離子電池模型中包含OCV與SOC之間的非線性關(guān)系和非線性元件電容,直接使用經(jīng)典KF 法會帶來非線性誤差,因此在使用KF法進行SOC估算時需要在濾波過程中增加線性化步驟以減少誤差。常用的方法包括擴展卡爾曼濾波[26](extended kalman filter,EKF)、無跡卡爾曼濾波[27](unsented kalman filter,UKF)和容積卡爾曼濾波[28](cubature kalman filter,CKF)。EKF 通過在每個采樣點進行系統(tǒng)方程的一階泰勒展開得到近似的線性系統(tǒng)方程來實現(xiàn)局部線性化,稱此過程為雅克比矩陣的求解,其缺點是會增加算法的運算量,同時若系統(tǒng)的非線性函數(shù)不可導,EKF將無法展開;UKF通過含有均值和協(xié)方差的sigma點集對非線性函數(shù)的概率密度分布進行近似,可避免EKF中雅克比矩陣的求解,不受限于系統(tǒng)非線性的表現(xiàn)形式,同時相比EKF,UKF具有更高的線性化精度;CKF基于三階球面徑向容積準則,并使用一組容積點來逼近具有附加高斯噪聲的非線性系統(tǒng)的狀態(tài)均值和協(xié)方差[17],可有效解決非線性系統(tǒng)狀態(tài)估計問題。EKF、UKF 和CKF 的遞推過程如表1所示。除基本的EKF、UKF和CKF外,他們的改進方案也被用于SOC 的估算中,如將EKF擴展至分數(shù)階[29]、采用更多時刻的觀測誤差和卡爾曼增益來修正UKF的一步估計結(jié)果[30]、以模糊控制器來修正CKF中的卡爾曼增益[31]和將sigma點卡爾曼濾波(SPKF,sigma-point Kalman filter)改進為直接傳播協(xié)方差平方根的SR-SPKF[32]等。
在KF 族算法中,除系統(tǒng)參數(shù)之外,估算精度還易受到狀態(tài)方程及觀測方程噪聲協(xié)方差的影響。Matthew 等[33]利用隨機穩(wěn)定性引理,引入不同參數(shù)對在線KF 算法的性能進行評估,指出減小過程激勵噪聲協(xié)方差Q和增大觀測噪聲協(xié)方差R都能提高算法的估算精度,但隨著R的增大,會導致算法的收斂速度下降。在利用KF 族算法進行SOC 估算時,通常認為過程和觀測的噪聲都是高斯白噪聲,即將Q和R設(shè)為定值。然而實際復雜的電池系統(tǒng)并不滿足這一假設(shè),這種處理方式忽略了噪聲變化對估算結(jié)果的影響,會造成SOC 估算的誤差。針對這一問題的改進方法是使KF 算法的噪聲自適應(yīng),即根據(jù)測量值與估算值之間的誤差來調(diào)整Q值與R值,改善因其值不合適引起的估算誤差和發(fā)散等問題[34]。通??捎肧age-Husa 自適應(yīng)方法[35-36]和利用開窗估計構(gòu)造新息矩陣更新噪聲的自適應(yīng)方法[37,34],以自適應(yīng)算法改進的KF族算法具有良好的魯棒性,在噪聲復雜的工況下具有更好的適應(yīng)性。
表1 EKF、UKF和CKF的遞推過程Table 1 Recursive process of EKF、UKF and CKF
綜合以上分析,基于KF族的SOC估算方法可按如圖4所示的流程展開。
圖4 基于KF族的SOC估算方法Fig.4 SOC estimation method based on KF family
KF族等基于模型的SOC估算算法的局限在于需要對相關(guān)領(lǐng)域內(nèi)的專業(yè)知識進行深入的研究和消耗大量的時間進行實驗來開發(fā)精確的電池模型[38-39]。當目標系統(tǒng)的數(shù)學模型未知或難以描述時,數(shù)據(jù)驅(qū)動方法具有巨大的優(yōu)勢[40],其無需考慮系統(tǒng)內(nèi)部的實際反應(yīng)情況,依靠輸入與輸出間的映射關(guān)系即可建立預(yù)測模型。
2.4.1 人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)是一種通過模擬人腦神經(jīng)元和神經(jīng)系統(tǒng)運作進行數(shù)據(jù)及信息處理的數(shù)學模型,典型的ANN由輸入層、隱藏層和輸出層組成,利用包含輸入與輸出的數(shù)據(jù)集對神經(jīng)網(wǎng)絡(luò)進行訓練,可以形成輸入與輸出之間的非線性映射,從而精確地模擬出兩者之間的關(guān)系[41]。在SOC 的估算應(yīng)用中,通常由電池的電流、電壓和溫度等實時量測數(shù)據(jù)構(gòu)成網(wǎng)絡(luò)的輸入,SOC作為輸出[42-43]。ANN 具有結(jié)構(gòu)簡單、參數(shù)可調(diào)性強、可靠性高等優(yōu)點,然而對初始權(quán)值和閾值的敏感性使ANN容易陷入局部最小值[44],這使得單一的神經(jīng)網(wǎng)絡(luò)難以滿足高精度估算SOC的要求。
利用優(yōu)化算法改善ANN 的結(jié)構(gòu)可有效解決這一問題。人工魚群算法[44]、遺傳算法[45]、動量梯度法[46]等具有全局搜索目標最優(yōu)值的功能。在優(yōu)化算法有限次迭代的前提下,擁有最優(yōu)權(quán)值與最優(yōu)閾值的ANN可以使SOC的估算精度大大提高。
2.4.2 支持向量機
支持向量機(support vector machine,SVM)是一種針對二分類任務(wù)設(shè)計的數(shù)據(jù)驅(qū)動模型,其核心思想是將輸入向量映射到高維空間并構(gòu)造最優(yōu)分離的超平面[47]。由于其求解通常是借助凸優(yōu)化技術(shù),求得的解必定是全局最優(yōu)的[48],因此相比于ANN,SVM具有更好的泛化能力。
標準的SVM 局限在于當面對的數(shù)據(jù)樣本較大時,其規(guī)劃問題會變得復雜,連續(xù)迭代后會導致模型精度下降,同時計算速度也會有所降低[49]。李嘉波等[50]采用最小二乘支持向量機(least squares support vector machine,LSSVM)對標準SVM進行改進,該方法用等式約束替代了標準SVM 中的不等式約束,使SOC 的估算精度得到提升。除此之外,文獻[48]中指出SVM的最終性能由核函數(shù)直接決定,而核函數(shù)的選擇是一個未決問題。王語園等[51]采用自適應(yīng)粒子群算法對LSSVM 的正則化系數(shù)和核函數(shù)進行優(yōu)化,相比于SVM 的結(jié)果,SOC的估算精度得到大幅提升。
2.4.3 融合算法
除建立輸入變量與SOC 的非線性映射關(guān)系進行直接估算外,數(shù)據(jù)驅(qū)動的方法還被用于與其他估算方法結(jié)合,從而實現(xiàn)對原有算法的優(yōu)化。如Xu等[52]利用長短期記憶神經(jīng)網(wǎng)絡(luò)與濾波算法結(jié)合,消除磷酸鐵鋰電池的遲滯現(xiàn)象造成的負面影響而進一步提高SOC 估算精度;田東東等[53]利用神經(jīng)網(wǎng)絡(luò)對EKF 線性化過程造成的誤差進行補償而優(yōu)化SOC估算;Zhang等[54]利用高斯回歸過程結(jié)合容量增量實現(xiàn)了充放電初期的SOC 標定,為AHI 法提供了準確的初值。數(shù)據(jù)驅(qū)動方法有很強的數(shù)據(jù)綜合能力和非線性擬合能力,與現(xiàn)有的其他SOC 估算方法結(jié)合具有良好的發(fā)展前景。
隨著大數(shù)據(jù)的興起和數(shù)據(jù)挖掘技術(shù)的發(fā)展,數(shù)據(jù)驅(qū)動方法的體系日益成熟。然而在SOC 的估算應(yīng)用中,仍然有不少局限:在數(shù)據(jù)量不足的情況下,由于缺乏電池模型的約束,數(shù)據(jù)驅(qū)動方法存在欠擬合或過擬合的風險;電池在使用的過程中伴隨著自身的衰老,衰老后的電池在同樣工況下的SOC 變化趨勢將發(fā)生改變,若不及時更新估算模型,將造成較大的估算誤差;獲取大量的測試數(shù)據(jù)進行數(shù)據(jù)庫的建立后,還需再從這些數(shù)據(jù)中提取出與SOC 相關(guān)性最強的特征因子來進行估算模型的搭建與訓練,這無疑是耗時且費力的。
在實際應(yīng)用中,除了復雜多變的工況外,電池在運行過程中還伴隨溫度的變化和電池的老化,目前的大多數(shù)研究都是在設(shè)定溫度和一定老化狀態(tài)下基于特定工況的算法開發(fā),因此將溫度考慮到SOC 等電池狀態(tài)的耦合關(guān)系中是必要的;數(shù)據(jù)驅(qū)動的方法可以避開電池模型的限制而只關(guān)注輸入與輸出的關(guān)系,因此利用數(shù)據(jù)驅(qū)動的方法修正現(xiàn)有的估算算法從而使其具有更好的適應(yīng)性也是解決此問題的方向。
受限于實際使用中的成本、復雜度和可靠性等因素限制,往往只能在估算精度與成本之間選擇折中的方案。因此在實際硬件如基于STM32 的實現(xiàn)中,電池SOC 估算的方法主要集中在AHI 法與OCV 法[55-56],丁鎮(zhèn)濤等[57]硬件在環(huán)仿真(hardwarein-the-loop,HIL)測試平臺中實現(xiàn)了無跡卡爾曼濾波與安時積分結(jié)合的SOC 估算研究;Tian 等[58]開發(fā)了基于FPGA 的BMS,并使用基于系統(tǒng)在環(huán)平臺的雙擴展卡爾曼濾波算法進行SOC 估算,且具有微秒級的快速性。高級算法已經(jīng)在實驗室環(huán)境中得到了較好的驗證,而在實際硬件環(huán)境中的探索仍較為缺乏。
本文綜述了目前常用的幾種鋰離子電池SOC估算方法和其在工程實際中的挑戰(zhàn)。AHI法簡單快捷但難以克服積累誤差和量測造成的誤差;OCV法需要長時間靜置,難以應(yīng)用在在線估算環(huán)境中;濾波法具有更新、修正的特性,實時性好,但仍需要建立精確的電池模型和為算法設(shè)置合適的參數(shù)初始值;數(shù)據(jù)驅(qū)動方法可避免建立電池模型,然而數(shù)據(jù)庫的建立、特征因子的選取以及估算模型的更新同樣是巨大的挑戰(zhàn);實際硬件應(yīng)用中仍以AHI法和OCV法為主,高級算法目前還較難實現(xiàn)。
《新能源汽車發(fā)展規(guī)劃》的發(fā)布將進一步推進我國新能源汽車產(chǎn)業(yè)的發(fā)展,其提出的以實施“電池技術(shù)”、“智能網(wǎng)聯(lián)技術(shù)”和“新能源汽車基礎(chǔ)技術(shù)”的突破與創(chuàng)新為主導的新能源汽車核心技術(shù)攻關(guān)工程為今后相關(guān)領(lǐng)域研究指明了方向,作為整車能源管理核心的BMS及其SOC估算技術(shù)必然是發(fā)展的重點之一。結(jié)合本文的綜述與分析,現(xiàn)有的SOC 估算方法應(yīng)該做出以下幾點改進:①為更好模擬電池的特性,應(yīng)進一步開發(fā)精度與復雜度兼優(yōu)的電池模型;②SOC估算方法各自具有獨特優(yōu)勢,采用多種方法綜合實現(xiàn)互補以進一步提高估算精度;③建立數(shù)據(jù)庫及云平臺,為SOC 估算模型的更新提供途徑以適應(yīng)電池的老化及更復雜工況;④在保證估算精度的前提下簡化現(xiàn)有算法,為工程實際硬件中的應(yīng)用提供更多選擇。