李 歡,王順利,鄒傳云,李建超,謝 偉
(1.西南科技大學信息工程學院,四川 綿陽 621010;2.綿陽市產品質量監督檢驗所(國家電器安全質量監督檢驗中心),四川 綿陽 621010;3.四川華泰電氣股份有限公司,四川 遂寧 629000)
荷電狀態(state of charge,SOC)[1]主要用來表示電池的剩余容量,是指電池以一定放電倍率放電后,電池剩余容量與相同條件下額定容量的比值[2]。通過已知的剩余容量可以規劃出電池的使用策略,從而通過調整電壓、電流的方式,實現鋰電池以最佳工況運行和達到最長使用壽命的目標。因此,荷電狀態的實時準確估算將對電池管理提供顯著的幫助。然而,鋰電池本身內部結構復雜,荷電狀態自身受放電電流、自放電效應[3]、內部溫度、外部環境溫度和電池自身老化等各種復雜因素的影響,使得精確估算SOC值變得十分困難。目前,SOC估算方法有安時積分法[4]、開路電壓法[5]、神經網絡法[6]、卡爾曼濾波[7]等。
本文以三元鋰電池為試驗研究對象。為了更加精確地描述電池工作特性,建立基于Thevenin的鋰電池電路模型,采用自適應卡爾曼算法對鋰電池進行SOC估算,并將其估算結果與擴展卡爾曼進行比較,分析其優勢。
為了更好地描述電池的遲滯效應[8],并且考慮到電池極化效應[9]和自放電效應,本文將應用Thevenin模型[10]為等效電路模型。該模型結構精簡,其中阻容并聯電路剛好能表征電池的動態特性,參數辨識的難度適中,完全能滿足對電池等效模型的精度要求。模型中只有一階電阻-電容(resistor-capacitance,RC)電路,結構簡單、運算量小。這在后期算法移植過程中能降低處理器的負荷,提高算法的運算速度,也是保證系統監測的快速性、實時性和穩定性的重要因素。Thevenin模型電路結構如圖1所示。
根據所選的Thevenin模型,以放電方向作為正方向,極化電容兩端電壓令為up,Thevenin中的基爾霍天電壓定律(Kirchhoff voltage law,KVL)關系如式(1)所示。根據KCL,可得式(2)。
UL=UOC-UP-Roi
(1)
(2)
解式(2)的微分方程,可得到up隨時間的變化關系式:
(3)
假設某一時段電流為0,對應于電池的擱置狀態,即電路為零輸入響應。此時,需要給up一個初始狀態up0,則式(3)可變形為:
(4)
假設up的初始狀態是0,電路為零狀態響應,式(3)可變形為:
(5)
將式(4)和式(5)離散化,可得到UP的遞推形式:
(6)
(7)
而從式(6)和式(7)的個離散遞推的形式可知,式(6)只是式(7)在電流為零時的一種特殊情況,所以最終Up的離散化形式就是式(7)。離散形式的狀態方程和輸出方程很適合進行算法迭代與程序實現,為之后的算法研究提供了可靠的依據。
對于Thevenin模型來說,需要辨識的參數有歐姆內阻Ro、極化內阻[11]Rp和極化電容[12]Cp。這幾個參數都需要通過試驗辨識得到。這里選擇三元鋰電池進行試驗,電池的標稱容量為72 A,實際容量為68 A。在27 ℃時,對電池進行混合動力脈沖能力特性(hybrid pulse power characterization,HPPC)試驗。通過分析電池在工作過程中工作特性,獲得電池模型參數。脈沖測試曲線(SOC=0.9)如圖2所示。

圖2 脈沖測試曲線(SOC=0.9)
圖2同時反映了鋰離子電池的暫態特性和穩態特性。脈沖放電開始時,電池電壓會瞬間下降,然后在放電期間電壓隨時間緩慢下滑。在放電結束瞬間,電池電壓又立刻回彈,擱置期間電壓有逐漸回升并趨于平穩的趨勢。充電的過程與放電過程電壓的響應情況正好相反。從圖2中取A、B、C、D、E五個點。取點的依據是:從Thevenin等效模型來看,放電開始電壓的突然下降是由于歐姆內阻Ro的作用,同樣放電結束電壓的迅速回升也是Ro的作用;放電過程中電壓逐漸下降的現象可以用Thevenin模型中的RC電路解釋。所以從AB段和CD段可以得到電池歐姆內阻參數值,從BC段和DE段可以得到RC電路的極化內阻和極化電容。由此可以得到參數的計算公式。Ro計算公式如式(8)所示。
(8)
式中:ΔUAB為AB段的電壓差;ΔUCD為CD段的電壓差;I為放電電流。
分析DE段電壓響應,對應Thevenin模型的零輸入響應。由式(4)和模型KVL關系得到以下方程組。
(9)
式中:UA為點A處的電壓,即當前階段的開路電壓;以D點為零時刻,則從點D到點E的時間為tE-tD;UD和UE分別為點D和E處的電壓。解方程組得到如式(10)所示的時間常數τ的計算式。
(10)
得到時間常數τ之后,只需計算出Rp或者Cp中的一個參數,另一個就可以由式(11)推算出。
τ=RPCP
(11)
BC段的電壓響應對應于Thevenin模型的零狀態響應。由式(5)和模型KVL關系得到的方程組如式(12)所示。
(12)
式中:UC為點C處的電壓;以B點為零時刻,則從點B到點C的時間為tB-tC。
解方程組得到極化內阻RP的計算式如式(13)所示。
(13)
取得每個階段脈沖試驗中的關鍵點,使用式(8)、式(11)、式(13)就可以直接計算出Thevenin模型中的Ro、RP和CP參數值,最后得到每個SOC點處的模型參數。
普通的卡爾曼濾波對于噪聲值通常是固定的,這與實際工況下噪聲的統計特性不符合,易受噪聲的影響而導致濾波結果不準確。為了解決該問題,本研究在普通卡爾曼的基礎上增加了一個對噪聲統計特性的估計。通過測量數據yk對噪聲的均值qk、rk和方差Qk、Rk進行實時估計。k為離散時間;離散化采樣周期Ts=1 s。再根據實時更新的均值和方差,修正當前的狀態估計值,以提高算法精度、規避發散現象。過程噪聲wk和測量噪聲vk的均值為E[wk]=qk、E[vk]=rk,方差分別為D[wk]=Qkδkj、D[vk]=Rkδkj。過程噪聲和測量噪聲互不相關,且qk、rk、Qk和Rk未知。通過本濾波算法對其進行估計,進而更加精確地估計鋰電池SOC,步驟如下所述。
首先,對系統進行初始化,令k=0,則有初始狀態的估計值x0和初始狀態誤差的協方差Po如式(14)所示。
(14)
接著,由(k-1)時刻的狀態和誤差協方差矩陣,對k時刻不確定性的狀態和誤差協方差矩陣進行時間更新。計算過程如式(15)所示。
(15)

然后,計算卡爾曼增益矩陣Kk如式(16)所示。
(16)
若當前狀態估計不確定性很高,Pk會增大,Kk也會相應變大,導致系統大幅度的更新狀態。此外,如果環境噪聲很大,則Pk-1變大,使Kk變小。進而采用測量數據對下一時刻狀態的估計量以及誤差協方差進行更新,其表達式如式(17)所示。
(17)
下一時刻的狀態估計等于該時刻狀態的先驗估計與一加權修正項之和。其中,E為單位矩陣。由于測量值所提供的新信息,狀態的不確定性通常會不斷地減小,即Pk為不斷變小的過程量。最后,采用測量數據不斷地在線估計噪聲的均值以及方差,使用更新后的狀態不斷地替換當前的狀態估計值,實現對估計狀態量和噪聲的統計量的交替更新。
(18)

由以上分析可知,在線對qk、rk、Qk和Rk進行實時估計,達到對狀態變量SOC估計值的不斷修正,從而實現自適應修正作用,以此提高SOC估計精度。
根據試驗步驟,對鋰離子電池進行HPPC測試。從原始數據中抽出所有的電壓數據,繪制HPPC測試試驗過程中鋰離子電池端電壓的變化情況。HPPC測試試驗電壓響應曲線如圖3所示。從圖3可以看出,電池電壓在放點結束后經過長時間擱置會逐漸趨于平穩。這表示其內部的化學反應和熱效應已基本達到平衡。

圖3 HPPC測試試驗電壓響應曲線
從整體過程數據中提取出有用的數據段,根據參數辨識的步驟對不同SOC階段的歐姆內阻R、極化內阻RP、極化電容Cp、開路電壓Uoc進行計算。各SOC狀態下的模型參數如表1所示。

表1 各SOC狀態下的模型參數
每次放電結束擱置后的電池基本處于穩定狀態。此時的電壓就是與當前SOC所對應的開路電壓(open circuit voltage,OCV)值。從表 1可以看出,Thevenin模型內部參數隨著SOC的變化在一定范圍內波動。若需要得到較精確的模擬結果,就需要得到各參數和SOC之間的關系。
將辨識的參數通過Simulink模型進行仿真,對其輸出的端電壓和在同樣輸入電流情況下鋰離子電池的實際端電壓數據進行比較,由此評估模型中參數辨識的有效性和準確性。如果偏差較大,說明參數辨識不夠準確,或者考慮模型本身的準確性是否存在缺陷。辨識參數輸出電壓與真實輸出電壓對比曲線如圖4所示。

圖4 辨識參數輸出電壓與真實電壓輸出對比曲線
由圖4(a)可以看出,模型輸出端電壓與實際值有較好的吻合性,說明了Thevenin等效電路模型的合理性,也證明了參數辨識方法的可行性和可靠性。
從圖4(b)可以看出,在整體過程中模型沒有發散現象,誤差出現較大的地方是在動力脈沖測試階段。其原因是電池輸入電流突變引起電池內部化學反應集聚增強,導致端電壓迅速變化。這時Thevenin模型并不能十分完美地表現出鋰離子電池的響應效果,但是其誤差在可接受的合理范圍內撥動,即使在SOC很低的最后階段,模型不能很好地反映電池此刻狀態的情況下,最大誤差也沒有超過0.02 V。由此可以驗證Thevenin模型的精確性。
為驗證自適應卡爾曼濾波(adaptive Kalman filter,AKF)算法對鋰電池SOC估算的可行性,構建鋰電池SOC估算模型。在多種工況試驗條件下,對模型的估算精度、估算過程中的收斂性以及對于真實數據的跟蹤性進行研究。
為驗證AKF算法的估算精度和有效性,通過Matlab/Simulink建模,在恒流放電工況進行仿真。為增加工況的復雜度,在仿真程序特意設定了擱置階段,以測試算法在工況突變情況下的穩定性。恒流放電工況仿真結果如圖5所示。對比在相同的工況下擴展卡爾曼濾波(extemded Kalman filter,EKF)和AKF跟隨的效果和誤差。

圖5 恒流放電工況仿真結果
由圖5(a)可以看出,AKF和EKF有著非常好的濾波效果,在工況突變的情況下,也沒有太大的偏移,能夠不斷跟隨真實值的變化。從圖5(b)可以看出,兩種算法都具有相當高的精度。其中:AKF算法誤差一直控制在0.2%以內,EKF誤差的最大值在0.4%左右。值得注意的是,AKF算法在工況突變的情況下誤差依然處于穩定狀態,而EKF算法在兩個突變位置誤差都有較大的波動。通過對比可知,在此工況下,AKF相對于EKF擁有更高的精度,且在面臨工況突變情況下具有更高的穩定性。
考慮到電池在實際應用環境中處于動態工況下運行,為驗證AKF算法在復雜工況下跟隨的效果和精度,使用北京公交動態測試(beijing bus dymamic streat test,BBDST)工況對算法進行仿真。該工況是對北京公交車進行真實數據采集得到的,具有更高的復雜性,滿足電池動態工況測試。BBDST工況仿真結果如圖6所示。

圖6 BBDST工況仿真結果
從圖6中可以看出,EKF和AKF對真實值都有良好的跟隨效果。為了更加清晰地對比跟隨效果,截取了局部放大圖,如圖6(b)和圖 6(c)所示。其中,圖6(b)為仿真初期,能夠清晰看出兩者對于真實值的跟隨趨勢都是非常準確的。但AKF算法估算值比EKF更加靠近真實值。這是因為EKF的噪聲始終固定的,而在實際的動態工況中噪聲的統計特性是多變的。AKF算法能夠根據環境的變化自適應地調整噪聲,以減小誤差。圖6(c)為仿真末期,相對于仿真初期,誤差略為增大。這一方面是由于誤差的累積效應,另一方面是因為在放電末期電池的非線性增強。然而,總體誤差都是不大的,如圖6(d)所示,AKF算法誤差一直維持在0.1%以內,相比EKF的0.2%以內,提高了一倍的精度。這說明了AKF算法在鋰電池SOC方面的優越性。
精確的SOC估算是鋰電池狀態檢測的關鍵技術。本研究基于鋰電池特性分析確立Thevenin等效電路模型,通過HPPC試驗對模型關鍵參數進行辨識,將辨識值與真實值導入Simulink模型進行對比,驗證了Thevenin模型的準確性。在此基礎上,運用自適應卡爾曼濾波算法,進行SOC狀態估算,在恒流工況和BBDST工況下對算法進行試驗仿真。試驗表明,無論是在恒定工況,還是在動態工況,AKF算法都具有相當迅速的響應能力和精度。在電動汽車頻繁啟停的復雜工況下,將EKF估算誤差從0.2%降至0.1%,使誤差控制在相當小的范圍,提高了EKF算法濾波的收斂性和穩定性,驗證了AKF算法的實用性。