封居強,孫亮東,蔡 峰,伍 龍,盧 俊
(1.淮南師范學院機械與電氣工程學院,安徽淮南 232038;2.安徽理工大學深部煤礦開采響應與災害防控國家重點實驗室,安徽淮南 232001;3.淮南市礦用電子技術研究所,安徽淮南 232002)
鋰離子電池以其長壽命、高安全可靠性、高能量密度、低自放電率等優點,成為電動汽車的主要選擇,其性能狀態的好壞直接影響到電動汽車是否能夠長期正常穩定運行。因此,需要開發行之有效的電池管理系統(battery management system,BMS),用于實時監測及診斷鋰離子電池的狀態。BMS 中最主要和最核心的研究內容就是精確估計電池的荷電狀態(state of charge,SOC),SOC表示在某一溫度下,存儲在電池內可供設備使用的電量與滿電狀態下電池能夠存儲的總電量之間的百分比,是表征鋰電池剩余可用電量的一項重要指標。研究早期,鋰電池一般使用在一些較為基礎的設備上,性能要求較低,所以使用的估算方法也相對簡單,能大致滿足估算要求即可。常用的估算方法包括安時積分法[1]、內阻分析法、開路電壓法[2]、放電實驗法等。這些方法都是離線估算方法,考慮因素較為簡單,累積誤差較大,估算精度也較低。
卡爾曼濾波算法(Kalman filter,KF)是目前使用最為廣泛的一種最優的估計算法。該算法根據前一時刻的狀態變量的最優值以及觀測變量真實值與估計值的差來估算當前時刻狀態變量的估計值。但該算法要求系統必須是線性的,而電池系統是典型的非線性系統,鋰電池開路電壓、內阻、端電壓及荷電狀態等在電池工作條件下都呈現出強烈的非線性變化。為將KF 算法應用于非線性領域,后發展出擴展卡爾曼濾波(extended Kalman filter,EKF)算法[3],將非線性系統線性化,在測量結果和估計結果附近進行一階泰勒展開[4],但估計結果會引起泰勒截斷誤差,高階項被忽視,有可能導致濾波發散;EKF 算法在每一次循環估算時都需要重復計算雅可比矩陣,極大增加了系統計算復雜度[5]。
為了克服EKF 算法的上述缺點所帶來的一系列問題,將EKF 使用的非線性系統強制線性化的方式轉換為對系統狀態變量的概率密度分布的近似值,將無跡變換(unscented transform,UT)和卡爾曼濾波算法相結合,以無跡變換為基礎,采用合適的采樣策略來逼近狀態變量分布,這種算法稱為無跡卡爾曼濾波算法(unscented Kalman filter,UKF)[6]。UKF 可以有效地提高對非線性分布統計量的估算精度,但這很大程度上取決于電池模型的精度和系統噪聲的預定變量,系統噪聲的預定變量設置不當,會導致系統誤差,甚至造成系統發散[7]。
基于以上研究,本文為更加準確地表征鋰離子電池的動態特性,建立改進的PNGV 模型[8],同時在保證系統穩定性的前提下,采用改進的UKF 算法對鋰離子電池的SOC進行估計,并采用兩個非線性變換來提高系統的精度[9]。改進卡爾曼增益,增加自適應動態增益調節模塊[10],解決了BMS 狀態突然變化時SOC值振蕩的問題。
鋰離子電池是具有復雜性噪聲特點的非線性動態系統,且其工作狀態受環境和負載工況影響較大,因此建立一個能夠準確可靠地反應鋰離子電池工作特性的模型十分重要[11]。目前,最常用模型有三類:依據電池內部化學反應而建立的電化學模型、模擬人腦工作的神經網絡模型以及使用電子元器件建立的等效電路模型[12]。電化學模型搭建相當復雜[13],幾乎沒辦法應用到電動汽車上;神經網絡模型[14]在樣本數據不夠的情況下估算誤差將會很大,并且算法的收斂性和穩定性暫時還得不到保證;等效電路模型由理想元器件(電阻、電容、可控電源等)構成,采用線性變參數方法模擬鋰離子電池非線性工作特性,精度往往相對較低,但簡單而實用的模型結構會縮短開發周期,降低開發成本。
等效電路包含很多種模型結構,常見的包括Rint 模型、RC 模型、Thevenin 模型和PNGV 模型。其中Rint 模型電路參數簡單,但不能反映電池的動態特性;RC 模型彌補了Rint 模型的不足,但電路方程非常復雜,模型狀態方程的建立比較困難[15];Thevenin 模型具有Rint 模型和RC 模型的優點[16],但該模型將電池的內阻作為一個定值,不能代表電池電壓的穩態變化,也不容易估計電池的運行時間;PNGV 模型[17]彌補了Thevenin 模型相對簡單、易于識別模型參數的缺點,但不能完全代表電池的松弛效應,本文對其進行了改進,通過另外一個平行RC 電路模擬了原始PNGV 模型中未表示的松弛效應,使模型更能充分地滿足鋰離子電池在復雜工況下參數測量的要求。改進后的PNGV 模型如圖1 所示。
圖1 中,E是理想電壓源,R0是歐姆電阻,RS和RL為極化電阻,CS和CL為極化電容,電池充放電電流以I為參數,UL為電池端電壓。其中RS和CS組成的并聯電路具有較小的時間常數,用來模擬電流突變時電壓快速變化的過程;用RL和CL組成的并聯電路模擬電流突然變化時電壓的快速變化,因此它們的時間常數比較大。

圖1 改進的PNGV 模型
針對鋰離子電池在充放電過程中的內阻差異,對選定的鋰離子電池進行主要充電過程和主要放電過程的HPPC 測試[18]。主要放電過程的HPPC 測試步驟如下[19]:
步驟1:首先將鋰離子在標準環境下進行放電,靜置2 h后,以恒流恒壓將鋰離子電池充電至100%SOC。其中,充電電流設為1C(68 Ah),充電電壓設為4.2 V,截止條件設為3.4 A。
步驟2:將鋰離子電池靜置12 h 后激活,測量并記錄電池兩端電壓值。
步驟3:在鋰電池上進行電流脈沖測試。先以1C電流放電10 s,然后靜置40 s,再1C電流充電10 s,使電池恢復放電前的SOC值,完成一組脈沖充放電測試。
步驟4:以0.5C電流開始放電,放電12 min(剩余電池SOC90%),然后靜置1 h,截止條件為3 V。
步驟5:重復步驟(3)和(4),每次循環放電10%的容量,分別記錄SOC為0.9、0.8、0.7…0.1 時的相關數據,為下一個參數識別做好準備。
同樣的,改變上述步驟4,以0.5C電流開始充電,充電時間為12 min 并記錄實驗數據,這就是主充電過程的HPPC 測試過程。在HPPC 測試過程中,單組鋰離子電池電壓的變化如圖2 所示。

圖2 HPPC 測試中電壓曲線示意圖
由HPPC 測試步驟可以得出,電池在開始放電(t1-t2)和停止時(t3-t4)端電壓的突然變化是由歐姆內阻引起的。因此,通過歐姆定律可以計算歐姆內阻,如式(1)所示:

當鋰離子電池處于HPPC 測試的脈沖放電階段時,將電流流動的正方向設為Ib。根據圖1 中電壓和電流的參考方向,可以列出KCL 和KVL 方程,如式(2)所示:

式中:U1、U2分別為RS和CS與RL和CL組成的并聯電路的端電壓。電池在t1-t3期間持續放電10 s,其余時間保持靜置狀態。通過對兩個串聯的RC 電路進行時域分析,得到RC 網絡的電壓如式(3)所示:

式中:t1為放電開始時間;t2為放電停止時間;t3為擱置停止時間;τS為RS和CS并聯電路的時間常數;τL為RL和CL并聯電路的時間常數。其中τS和τL的計算公式如式(4)所示:

鋰離子電池在放電時,極化電容CS與CL處于充電狀態,并聯連接的RC 電路電壓呈指數上升,電池從放電到靜置,電容CS和CL分別并聯電阻放電,指數下降模型中R 和C 的電壓值與電池的SOC有關,利用MATLAB 對HPPC 測試數據曲線進行擬合,再利用待定參數法即可計算出模型中RS、RL、CS、CL的值。取出圖2 中U4到U5的實驗數據,根據HPPC 測試步驟,t2-t3期間,極化電容對極化電阻放電,是兩個RC 電路串聯的零輸入響應,電池端電壓輸出方程如式(5)所示:

簡化參數識別,如式(6)所示:

以f,a,b,c,d為待定參數,以式(6)為目標方程進行雙指數曲線擬合。根據雙指數曲線的擬合結果,通過比較式(5)和(6),得到參數識別結果如式(7)所示:

非線性變換是UKF 算法的核心,其基本原理是用適當的采樣點分布來表征隨機變量的概率密度分布。結合鋰離子電池組改進的PNGV 模型,以SOC為狀態方程的變量,開路電壓為觀測方程的變量,構造了狀態方程和觀測方程的表達式。經過非線性函數變換得到Sigma 數據點,然后通過加權得到變換后的均值和協方差,得到它們的加權因子。SOC估計的具體方法和步驟[20-21]如下:
(1)構造Sigma 點集

(2)計算權重

(3)更新狀態變量

(4)更新狀態方差

(5)再次計算Sigma 數據點序列、更新觀測值

(6)計算均值和協方差

(7)計算增益矩陣

(8)狀態和誤差協方差更新

為了提高UKF 算法估計SOC的精度和速度,本文通過兩個非線性變換對系統的閉環電壓進行預測[22],采用參數的動態修正提高估計值收斂速度。改進算法的計算過程示意圖如圖3 所示。

圖3 改進算法的迭代流程
圖3 黑色方框中的內容以及(1)、(2)…(8)為上文中UKF估計SOC的步驟;紅色橢圓圖中的非線性變換和動態參數修正為本文改進的部分。
通過非線性變換得到兩個Sigma 數據點序列的SOC值及其對應的權值。然后通過狀態方程得到兩個Sigma 數據點的預測值,再加權求和處理得到單個SOC預測值。對預測結果再次進行非線性變換,并將變換結果應用到觀測方程中,以提高估計精度。
當卡爾曼濾波進行濾波估計時,如果系統的狀態突然發生變化,往往跟蹤真實狀態很慢,從而降低了估計精度。本文通過增加動態參數修正模塊對其進行改進,使算法在估計過程中具有更好的跟蹤效果。
若工作電流變化滿足式(16)所示條件:

式中:ΔImax為當前最大變化設定值。即當工況電流發生跳變時,則改進的卡爾曼增益和狀態估計測量值更新,如式(17)所示:

式中:γ為增益因子,其值可以大于1,從而加速算法估計過程中估計值的收斂速度。
為了增強系統的穩定性,將增益設置為動態值,并根據電流的變化自動調整。在工作條件下,當電流變化較大時,可動態調整增益為較大的值,使算法估計收斂速度增大。當電流變化稍微平緩一點時,增益值會逐漸恢復到原來的值。然后更新動態增益計算和狀態估計測量,如式(18)所示:

本文選用容量為68 Ah 的三元聚合物鋰離子電池進行測試,測試過程設置采樣率為0.1 s,采樣精度為±0.05%、電壓分辨率為0.1 mV、電流分辨率為0.1 mA。首先將主充電HPPC實驗和主放電HPPC 實驗的參數引入到改進的PNGV 模型中,實驗得到的終端電壓對比曲線如圖4~7 所示。

圖4 充電端電壓及電壓估計值
圖6 和圖7 所示的改進PNGV 模型估計值能夠較好地估計和跟蹤充放電過程中的端電壓。圖6 和圖7 所示的主充電過程HPPC 實驗的最大參數識別誤差小于0.015 V,主放電過程HPPC 實驗的最大參數識別誤差小于0.01 V。產生誤差主要有三個原因:其一是采樣分辨率造成的0.1 mV 誤差;其二是采樣間隔0.1 s 期間,默認模型的參數為不變值而造成的誤差;其三是模型精確度造成的估計誤差。其中前兩種原因可認為量化誤差,對于電流平穩時0.3 mV 的誤差影響較大,側面也反映了該模型的精確度,為SOC精準估計奠定了基礎。

圖5 放電端電壓及電壓估計值

圖6 充電端電壓估計誤差

圖7 放電端電壓估計誤差
為了驗證改進算法的準確性和穩定性,設計了混合放電比實驗,更準確地分析和描述鋰離子電池的工作特性。在實驗過程中,結合5 種不同放電電流倍數的變換器仿真實驗,實現了復雜變換器條件下SOC估計性能測試。放電電流曲線如圖8 所示。

圖8 混合放電比實驗的電流曲線
依據混合放電比實驗數據,基于改進的PNGV 模型進行了安時積分法、EKF 法、UKF 法和本文改進的UKF 法進行SOC估計,并與理論值(雙指數曲線獲得)進行比較,結果如圖9 所示,SOC估計的誤差如圖10 所示。通過最大誤差、平均絕對誤差(MAE)和均方根誤差(RMSE)對四種方法的估計誤差進行分析對比,如表1 所示。

圖9 不同方法的估計結果比較

圖10 不同方法估計誤差比較

表1 不同方法估計誤差對比分析 %
由圖9、圖10 的曲線和表1 的數據可得,EKF、UKF 和本文估計方法均在初始時產生最大誤差,分別為5.42%、5.09%和2.28%,安時積分法存在累加誤差,因此在接近結尾時產生了最大誤差,為2.02%。
由圖10 可得,由于混合放電比實驗電流周期性變化,且相對劇烈,安時積分法、EKF 和UKF 估計方法產生周期性誤差,本文算法受電流變化影響相對較小。表1 中,本文算法的RMSE為0.15%,表明魯棒性較好。UKF 算法的RMSE值相對最小,但仍是本文算法的3 倍,也解釋了其它方法受電流周期性變化影響。
由圖10 和表1 可知,經過372 s 后,安時積分法除外的三種方法均能保持在0.3%以內的估計誤差,平均絕對誤差為0.29%、0.26%和0.11%,相比較,本文算法精度至少提高了58%。
為了充分滿足鋰離子電池在復雜工作環境下參數測量的要求,本文建立了描述動態環境下電池狀態的二階電路模型。除此之外,為了解決當脈沖電流變化率較大時,算法不理想、估計誤差較大、算法跟蹤效果不理想等問題,本文采用兩個非線性變換預測系統的閉環電壓,采用動態功能模塊提高卡爾曼增益改進UKF 算法。以68 Ah 的三元聚合物鋰離子電池為對象進行了相關實驗。通過HPPC 測試和混合放電比實驗驗證了模型和算法在不同狀態下的可行性。結果表明,改進的PNGV 模型具有較高的精度,改進的算法能夠精準估計SOC值,且穩定性和一致性較強。