段雙明,楊耀微
(東北電力大學(xué)現(xiàn)代電力系統(tǒng)仿真控制與綠色電能新技術(shù)教育部重點實驗室,吉林吉林 132012)
鋰電池具有能量密度高、循環(huán)壽命長及自放電小等優(yōu)點[1],在儲能領(lǐng)域的應(yīng)用越來越廣泛[2]。但與其他形式能源不同,儲能系統(tǒng)中單體電池的剩余容量并不能直接測量出來[3],因此電池過充過放現(xiàn)象時有發(fā)生,由此而引發(fā)的儲能系統(tǒng)安全事故問題引起了業(yè)界學(xué)者的足夠重視。電池荷電狀態(tài)的快速準確估計不但可以有效避免電池過度充放電導(dǎo)致的內(nèi)部永久性惡化問題,還能為鋰電池剩余工作時間的預(yù)測提供一個可靠的范圍[4],現(xiàn)已成為眾多學(xué)者研究的熱點問題。
為準確預(yù)測電池荷電狀態(tài),很多SOC估算方法被提出。文獻[5]提出一種改進蟻群算法(IACO)優(yōu)化粒子濾波(PF)估計電池荷電狀態(tài)。文獻[6]針對在優(yōu)化參數(shù)的過程中交叉、變異帶來隨機性的問題,提出了基于支持向量機算法對電池SOC進行實時估計。上述這些方法都需要大量的實驗數(shù)據(jù),且很大程度上需要依靠訓(xùn)練數(shù)據(jù)的準確性。在電池的使用過程中,隨著老化程度的不斷加劇,訓(xùn)練數(shù)據(jù)會逐漸失效,進而影響實際的估計效果。文獻[4]針對自適應(yīng)擴展卡爾曼濾波(AEKF)算法運行初期收斂速度緩慢問題,提出模糊AEKF(FAEKF)算法加以改善,能夠快速收斂,但這種方法對電池模型中電容參數(shù)的變化體現(xiàn)不夠明顯。文獻[7]對分數(shù)階模型和普通整數(shù)階模型在建模技術(shù)和SOC估計方面進行了系統(tǒng)的比較,得出分數(shù)階模型的優(yōu)勢更明顯。然而,在使用過程中,由于電池老化問題加劇,電池健康狀態(tài)(SOH)的變化將會導(dǎo)致模型和容量不匹配,影響最終的估算結(jié)果。因此本文針對電池參數(shù)時變特性,選用二階RC 分數(shù)階模型,并提出一種基于FOUKF+VFFRLS 算法對電池SOC和SOH實現(xiàn)聯(lián)合估計。為提升計算效率,使用時間尺度分離計算方法,即電池參數(shù)宏尺度和電池狀態(tài)微尺度,并在UDDS 工況下驗證了所提方法的有效性和正確性。
準確的電池模型是實現(xiàn)SOC精確估計的基礎(chǔ)[8],不同模型有著各自特點。一階RC 模型結(jié)構(gòu)簡單但精確度不足,二階及高階次RC 模型能更精確地反應(yīng)電池內(nèi)部的動態(tài)特性,然而模型階數(shù)越高對計算的要求同樣也越高。因此,本文選用二階RC 等效電路模型。
電池在實際動態(tài)工況中,由于內(nèi)部鋰離子的偏移運動,大多數(shù)電容器并不是表現(xiàn)出簡單的整數(shù)階特性,而是呈現(xiàn)出分數(shù)階特性[9]。本文采用的二階RC 模型包含兩個電容器,同樣適用于分數(shù)階微積分的應(yīng)用。二階RC 模型如圖1 所示。
圖1 二階RC 等效電路模型
分數(shù)階Grünwald-Letnikov 微積分公式為:
式中:Dα r為關(guān)于變量r的分數(shù)階微積分算子;α為系統(tǒng)的階數(shù);T為采樣間隔時間;M為內(nèi)存或窗口長度;ωα j為牛頓二項式系數(shù)。
式(2)中,α的值決定了函數(shù)的類型。當(dāng)α>0 時,函數(shù)是微分;當(dāng)α=0 時,函數(shù)是原始函數(shù);當(dāng)α<0 時,函數(shù)是積分。公式如下:
根據(jù)圖1 中所示的等效電路模型,將二階RC 模型中的電容器換成分數(shù)階電容器,建立分數(shù)階RC 模型,則狀態(tài)空間方程可推導(dǎo)為:
模型中各參數(shù)辨識的準確程度將影響電池SOC的估算精度,目前普遍采用的方法是利用脈沖實驗進行參數(shù)辨識,這種方法簡單方便,但辨識結(jié)果的精度有待提高。因此,本文采用自適應(yīng)遺傳算法進行參數(shù)辨識,圖2 給出算法步驟。辨識后的結(jié)果如表1 所示。
圖2 自適應(yīng)遺傳算法步驟
表1 整數(shù)階與分數(shù)階模型參數(shù)
經(jīng)計算,整數(shù)階模型與分數(shù)階模型平均誤差分別為0.005 1、0.004 6 V,最大誤差分別為0.055 1 和0.033 5 V。從圖3 和圖4 中,我們可以看出分數(shù)階模型比整數(shù)階模型有更高的精確度,分數(shù)階模型更適合作為電池估算的模型。圖3~圖4 中,AGA 表示采用自適應(yīng)遺傳算法對分數(shù)階模型進行參數(shù)辨識,RLS 表示采用遞推最小二乘法對整數(shù)階模型進行參數(shù)辨識。圖3 中黑色曲線為實際值。
圖3 整數(shù)階與分數(shù)階模型電壓估計
圖4 整數(shù)階與分數(shù)階模型電壓估計與真實值的比較誤差
根據(jù)放電實驗[10]得到的電池開路電壓和電池SOC的數(shù)據(jù),在Matlab 中利用polyfit 函數(shù)對端電壓與電池SOC關(guān)系進行擬合,最終擬合函數(shù)為:
在電池實際運行中,電池SOC將隨著充放電電流而實時變化,對基于電池模型估計SOC的方法來說,電池參數(shù)R0隨電池老化會逐漸增大,導(dǎo)致最大容量衰減,影響電池SOC估計的準確度,因此,估計電池SOC時應(yīng)考慮電池SOH的影響。
本文采用電容器分數(shù)階模型,使用基于unscented 變換的UKF 方法將非線性系統(tǒng)線性化,更有利于處理非線性問題,因此提出了分數(shù)階無跡卡爾曼濾波算法(FOUKF)。分數(shù)階無跡卡爾曼濾波算法的詳細步驟如下文。
對于非線性系統(tǒng),狀態(tài)方程為:
(1)參數(shù)初始化
令k=1,設(shè)置系統(tǒng)初值
式中:T 為矩陣的轉(zhuǎn)置。
(2)采樣點及權(quán)重值
式中:n為狀態(tài)向量的長度,本文中狀態(tài)向量長度為3。Wi為采樣點的權(quán)重,權(quán)重值計算如下所示:
(3)時間更新,將采樣點通過狀態(tài)函數(shù)從k-1 時刻傳遞到k時刻
(5)計算輸出預(yù)測值
(7)利用實際輸出值對后驗估計值修正
遞推最小二乘算法(RLS)在電池模型參數(shù)辨識方面已經(jīng)得到了廣泛應(yīng)用。其原理是利用當(dāng)前時刻參數(shù)的辨識結(jié)果與下一時刻系統(tǒng)的輸入輸出量遞推出下一時刻系統(tǒng)的參數(shù)值,具體公式如下:
截止到2017年06月30號,株洲市現(xiàn)有“三合一”場所共2886家(隨生產(chǎn)周期不同,各統(tǒng)計階段數(shù)量有所差異),主要集中在合泰地區(qū)、月塘街道和龍泉街道,其中合泰地區(qū)為合泰“三合一”場所,共344家,月塘街道包括富家垅“三合一”場所及其他散戶,共1572家;龍泉街道包括康泰服飾工業(yè)園、新蘆淞工業(yè)園和其他散戶,共970家,如表1所示。
式中:e(k)、K(k)、P(k)分別為估計誤差,增益向量和參數(shù)協(xié)方差矩陣;λ為遺忘因子。對RLS 算法進行改進,可以得到帶可變遺忘因子的最小二乘算法(VFFRLS),可變遺忘因子表達式為:
式中:λ(k)為可變遺忘因子;λmax和λmin分別為遺忘因子的最大值和最小值;NINT(x)為取整函數(shù);ρ為敏感因子。
由于電池狀態(tài)隨時間變化比較明顯,而電池的參數(shù)在某個瞬間可認為是不變的。如果采用同一時間尺度,會降低系統(tǒng)的計算效率,因此,本文針對電池參數(shù)的慢變特性和電池狀態(tài)的快變特性,采用多尺度方法構(gòu)造離散時間狀態(tài)空間方程,即參數(shù)估計采用長時間尺度,狀態(tài)估計采用短時間尺度,分別在宏觀和微觀尺度預(yù)測系統(tǒng)參數(shù)和系統(tǒng)狀態(tài)。更具體地說,我們考慮離散時間非線性系統(tǒng)的狀態(tài)變量x和參數(shù)變量q的情況。
式中:xk,l為時間tk,l=tk,0+l×T(1 ≤l≤L)的系統(tǒng)狀態(tài)矩陣,這里T為固定測量兩個相鄰點之間的采樣間隔,k和l分別是宏觀系統(tǒng)參數(shù)和微觀系統(tǒng)狀態(tài)的兩個時間尺度指標(biāo);uk,l為tk,l時刻的系統(tǒng)輸入矩陣;Yk,l為tk,l時刻的系統(tǒng)觀測(或測量)矩陣;wk,l和rk分別為狀態(tài)參數(shù)和模型參數(shù)的過程噪聲矩陣;vk,l為測量噪聲矩陣。需要強調(diào)的是:L為時間尺度分離的水平,即xk,0=xk-1,L;qk為第k個宏觀尺度下的參數(shù)矩陣,qk=qk,0:L-1。對于定義的系統(tǒng),我們的目標(biāo)是從噪聲觀測Y中估計系統(tǒng)狀態(tài)x和模型參數(shù)q。FOUKF+VFFRLS 方法具體步驟流程見圖5 所示。
圖5 FOUKF+VFFRLS 算法流程圖
初始參數(shù)設(shè)定后,根據(jù)充放電電壓和電流求得電池SOC值和電池模型參數(shù)值。電池參數(shù)隨工作時間進行變化,將會影響電池SOC的估計精度,電池SOC的改變也會對模型參數(shù)的數(shù)值產(chǎn)生影響。因此,將更新后的參數(shù)輸出量作為下一次SOC估計的輸入量,再將電池SOC估計的輸出量作為下一次參數(shù)估計的輸入量,從而實現(xiàn)電池SOC和SOH聯(lián)合在線估計。
為驗證本文所提FOUKF+VFFRLS 方法在儲能系統(tǒng)中預(yù)測性能的優(yōu)勢性,本文設(shè)計了混合動力脈沖能力測試(hybrid pulse power characteristic,HPPC) 實驗和 UDDS(urban dynamometer driving schedule)工況實驗,實驗選用了三元鋰電池進行測試。
(1)HPPC 實驗步驟:(a)采用恒流恒壓充電,截止電流為0.05C,靜置2 h;(b)以1C恒流放電3 min,靜置2 h;(c)重復(fù)上述步驟(b),直至端電壓達到放電截止電壓,靜置2 h。
(2)UDDS 工況實驗步驟:(a)恒流恒壓充電,截至電流為0.05C,靜置30 min;(b)控制充電機按照UDDS 工況電流進行充放電;(c)重復(fù)上述步驟(b),直至端電壓達到放電截止電壓。UDDS 工況電流如圖6 所示。
圖6 UDDS工況電流曲線
在UDDS 工況下對上述所提方法與EKF 算法、UKF 算法和FOUKF 算法進行比較,并作簡要分析。實驗前將電池充滿電并充分靜置。電池SOC估算結(jié)果及誤差對比如圖7 和圖8 所示。
圖7 SOC估算結(jié)果
圖8 電池SOC值誤差對比
從仿真的結(jié)果中我們可以看出,在全部的仿真時間里,幾種算法估計的電池SOC值都能很好地反應(yīng)出實際值的變化,但EKF 算法和UKF 算法由于沒有考慮到電容分數(shù)階特性,相對其他兩種方法誤差較大。FOUKF 算法雖采用分數(shù)階模型,卻未能考慮電池老化過程對SOC的影響。相比之下,F(xiàn)OUKF-VFFRLS 算法的平均誤差和最大估計誤差均比其他3 種方法的誤差小,分別較EKF 算法提升了0.9%和1.09%,較UKF 算法提升了0.87% 和1.07%,較FOUKF 算法提升了0.18%和0.14%。
從圖9 中可以看出,電池SOH值在真值附近波動并略有下降,符合電池實際運行時SOH的變化規(guī)律,最大誤差控制在0.6%以內(nèi),滿足了估算精度要求。
圖9 SOH估計結(jié)果
由以上分析可知,該算法反映了電池的實際特性,且在復(fù)雜電流工況下得到了較高的估計精度,充分體現(xiàn)了本文所提出的聯(lián)合估計算法的優(yōu)越性。
為提高電池SOC估算精度,本文提出了一種基于FOUKF-VFFRLS 算法的鋰電池SOC估算方法,并在UDDS工況下與多種SOC估算方法進行對比,得出以下結(jié)論。
(1)分數(shù)階模型比整數(shù)階模型能更精確地表示出電池運行時的動態(tài)特性,具有更高的精確度。
(2)電池老化過程會影響SOC的估計精度,考慮電池SOH等因素能更精準地估計出電池SOC。
(3)FOUKF-VFFRLS 算法比FOUKF 等算法更適合用于對鋰電池SOC的預(yù)測。