(中國飛行試驗研究院,西安 710089)
目前,英、法、美、德等國家的殲擊機、直升機甚至大型飛機均使用了大量航空蓄電池;在我國航空蓄電池作為機載電源[1]也已在多型飛機上使用。然而為了減輕供電系統(tǒng)自身的重量,一些軍用飛機的應急供電系統(tǒng)只采用蓄電池[2],當飛機進入應急工作狀態(tài)時,斷開其他用電設備,只向機上關鍵設備供電,進而確保飛機安全著陸,因此全面掌握蓄電池的健康狀態(tài)就顯得尤為重要[3]。然而電池模型參數(shù)辨識是蓄電池特性分析的基礎,也是重難點之一[4]。
當航空蓄電池充電和放電時,內部發(fā)生非常復雜的化學反應,因此其研究模型主要有電化學模型和等效電路模型兩種。其中電化學模型主要通過多個高階微分方程來描述正負電極之間離子的運動過程,其精度較高,但模型復雜,計算量非常大,僅限于理論研究。等效電路模型通過電阻、電容的組合來描述蓄電池在充放電過程中的非線性特性,其精度稍低,但模型簡單,容易實時計算,因此在實際中被廣泛應用。當前常用的模型主要有Rint模型、Thevenin模型和RC模型。Rint模型由理想電壓源和內部內阻組成,是最簡單的等效電路模型,其只適合于簡單的電路仿真,無法進行工程應用。Thevenin模型在Rint模型的基礎上考慮了蓄電池內部的極化現(xiàn)象,其能夠很好的表現(xiàn)蓄電池的動靜態(tài)特性,能夠比較精確的模擬電池的充放電行為,而且結構不是很復雜,因此在動力電池中該模型使用比較廣泛。RC模型兼顧了模型性能與模型結構復雜度的要求,其精度高而且具有很好的可擴展性,因此是航空電池的首選模型。
目前,航空蓄電池模型的參數(shù)識別主要包括:脈沖實驗法、卡爾曼濾波法及最小二乘法。脈沖實驗方法需要長時間靜置電池才能再次測量,這不適合在線識別[5];卡爾曼濾波法的計算量過大,影響在線辨識的實時性[6];最小二乘法由于其計算量小,辨識精度高而被廣泛使用[7]。然而隨著數(shù)據(jù)計算量的增加,最小二乘法很容易出現(xiàn)“數(shù)據(jù)飽和”的問題[8],因此本文提出了基于遺忘因子擴展遞推最小二乘算法對電池的模型參數(shù)進行識別。同時,開路電壓(open circuit voltage, OCV)是模型中一個非常重要的參數(shù),但其通常需要靜置六個小時左右才能準確測量;文獻[9]將開路電壓與模型參數(shù)的非線性表達式作為一個新參數(shù)進行整體辨識,但其無法估計出各個時刻的開路電壓,基于此本文提出了電池開路電壓遞推模型,用以估計電池的開路電壓,實現(xiàn)電池模型參數(shù)的動態(tài)準確辨識。最后通過實驗,驗證了該算法能夠準確辨識出模型的參數(shù)。
RC模型能夠直觀的表示蓄電池的動態(tài)、靜態(tài)特性。然而RC階數(shù)越多,模型的性能越高,但模型的計算越復雜。仿真實驗表明,二階RC網(wǎng)絡以上的模型誤差變化不大,但是模型的復雜程度卻大大增加[4]。二階RC等效電路如圖1所示。

圖1 二階RC等效電路模型
圖中Voc為蓄電池的開路電壓,電阻Ro為蓄電池的內阻,Rs、Cs并聯(lián)組成的網(wǎng)絡用來表示電池的電化學極化特性,Rp、Cp并聯(lián)組成的網(wǎng)絡用來表示電池的濃差極化特性,兩個RC網(wǎng)絡的電壓之和為蓄電池的極化電壓。
蓄電池的等效放電電路如圖2所示。圖中RL為負載電阻,K為放電控制開關。航空蓄電池實際放電電壓變化曲線如圖3所示。

圖2 等效放電電路
若開關K未閉合時,蓄電池的開路電壓為:
VO=VOC
(1)
開關K閉合后電池進入放電狀態(tài),則端電壓即為負載為RL上的電壓:
u(t)=-i(t)RL
(2)
電路中的電流i(t)的表達式為:
(3)
式中,rs和rp為時間常數(shù),其表達是分別為:
則蓄電池端電壓u(t)的表達式為:
(4)
當t=0-時,u(t)為開路電壓Voc,t=0+時,u(t)的值為:
(5)
所以在開關閉合瞬間,電池的端電壓會發(fā)生突變,如圖3中AB段所示;隨著t的增大,u(t)逐漸減小,在t<4rs的時間段內,u(t)減小的速度比較快,如圖3中BC段所示,在t>4rs之后,u(t)減小的速度比較慢,如圖3中C點之后所示。可見,該二階RC等效電路可以很好的描述航空蓄電池的特性。

圖3 蓄電池實際放電電壓曲線
在飛行試驗中,為了實現(xiàn)電池特性參數(shù)的安全監(jiān)測,需要識別模型的參數(shù),其具體過程如圖3所示。

圖3 航空蓄電池模型參數(shù)辨識過程
系統(tǒng)首先建立圖1所示的航空蓄電池二階RC模型,然后對蓄電池的端電壓、輸出電流進行實時采樣,將采樣電壓和電流應用于模型參數(shù)辨識方法,辨識出模型參數(shù),通過辨識出的模型參數(shù)對蓄電池的安全狀態(tài)進行估計。
最小二乘法是一種非常有效的參數(shù)辨識方法,它不僅簡單而且容易理解,同時對所要識別的系統(tǒng)沒有限制,即不論系統(tǒng)是線性的還是非線性的、是動態(tài)的還是靜態(tài)的、是連續(xù)的還是離散的都可以應用最小二乘法對其進行參數(shù)辨識。
假設系統(tǒng)的離散傳遞函數(shù)為:
(6)
則該系統(tǒng)對應的差分方程為:
y(k)=-a1y(k-1)-a2y(k-2)-…any(k-n)+
b0x(k)+b1x(k-1)+ …bnx(k-n)+e(k)=
(7)
式中,y(k),y(k-1),y(k-2),…,y(k-n)為系統(tǒng)的輸出;x(k),x(k-1),…,x(k-n)為系統(tǒng)的輸入;e(k)為差分方程的誤差。
令:

則式(7)可以改寫成最小二乘的形式:
y(k)=φ(k)Tθ+e(k)
(8)
如果分別測出n+N個輸入輸出值,則可以得到最小二乘的形式為:
Y=Φθ+e
(9)
式中:


則得到泛函J(θ)為:
(Y-Φθ)T(Y-Φθ)
(10)
最小二乘法估計要求殘差的平方和最小,因此對該泛函求極值可得:
(11)
對式11)方程求解,可得到該系統(tǒng)的最小二乘估計值:
(12)
式(12)即為該系統(tǒng)的最小二乘參數(shù)估計值,可見最小二乘法可以一次性求出所有參數(shù)的估計值,其優(yōu)點是估計的精度高,但是算法要求矩陣求逆運算,對處理器的空間要求相對較大,且很容易形成病態(tài)的方程式,對于實際系統(tǒng)來說,通過一次最小二乘辨識得到的參數(shù)估計值很難接近真實值,因此往往需要采用遞推最小二乘法來對參數(shù)進行估計。然而遞推最小二乘法隨著迭代步數(shù)的增加,舊的數(shù)據(jù)會越來越多,導致新的數(shù)據(jù)難以被帶入迭代中,為了避免這種情況的發(fā)生,可以引入遺忘因子λ,含遺忘因子的遞推最小二乘法公式為:

(13)
(14)
(15)
式中,λ為遺忘因子,其取值范圍應該為0<λ<1,一般取0.95<λ<1,λ越小,算法的跟蹤能力越強,但是同時,數(shù)據(jù)的波動也越大。
根據(jù)二階RC等效電路模型的工作原理,結合Kirchhoff定理,可以建立航空電池模型的狀態(tài)空間方程如下:
(16)
因此模型中需要辨識的參數(shù)為[RoRsCoRpCpVoc]。
將式(16)經(jīng)過拉普拉斯變換,可得到其輸入輸出函數(shù)為:
(17)

(18)
式中, [a1a2c0c1c2]分別為:
(19)
(20)
(21)
(22)
(23)
根據(jù)式(3)可以得到該系統(tǒng)的差分方程為:
U(k)=-a1U(k-1)-a2U(k-2)+c0I(k)+
c1I(k-1)+c2I(k-2)+
(Voc(k)+a1Voc(k-1)+a2Voc(k-2))
(24)
式中,U(k)為k時刻蓄電池的端電壓;I(k)為k時刻蓄電池的輸出電流;Voc(k)為k時刻蓄電池的開路電壓。
由式(24)可知,只要測得連續(xù)3個蓄電池的時刻端電壓、輸出電流和開路電壓即可采用參數(shù)辨識算法得到式(24)中的系數(shù),然后根據(jù)式(19)——式(23)可得到蓄電池模型的參數(shù)。
然而,式(24)中Voc為開路電壓,其值并不能被測量,大部分文獻都是通過離線建立OCV-SOC的關系表,然后根據(jù)當前的SOC值,通過查表得到當前時刻的蓄電池開路電壓,然而蓄電池在使用老化過程中OCV-SOC的關系會發(fā)生變化,因此隨著蓄電池的老化,這種方法將不再適用,因此本文提出了開路電壓遞推模型,對蓄電池各個采樣時刻的開路電壓進行辨識估計。
由于開路電壓受電池的荷電狀態(tài)、溫度、壽命等因素影響,且在采樣時刻內其影響因素可以忽略,因此可將式(24)中所有包含開路電壓的非線性關系式看做一個參數(shù)L(k)進行整體辨識[9],如式(25)所示。
L(k)=Voc(k)+a1Voc(k-1)+a2Voc(k-2)
(25)
因此可形成式(26)所示的系統(tǒng)差分方程:
U(k)=L(k)-a1U(k-1)-a2U(k-2)+
c0I(k)+c1I(k-1)+c2I(k-2)
(26)
對式(26)應用FFRELS算法進行參數(shù)辨識,可以得到[L(k) a1a2c0c1c2]的值,然后將辨識出的參數(shù)帶入式(27)所示的電壓遞推模型中,可估計出電池的開路電壓。
Voc(k)=L(k)-a1Voc(k-1)-a2Voc(k-2)
(27)
將式(26)整理為最小二乘的形式,為:
y(k)=Φ(k)Tθ
(28)
式中:
y(k)=U(k)
Φ(k)T=[1,-U(k-1),-U(k-2),I(k),
I(k-1),I(k-2)]
θ=[L(k),a1,a2,c0,c1,c2]
式中,y(k)為最小二乘算法的輸出量,即為蓄電池的端電壓;Φ(k)為最小二乘辨識過程的輸入,θ為所要辨識的參數(shù)。
當參數(shù)[L(k),a1,a2,c0,c1,c2]辨識出來之后,根據(jù)式(12)通過遞推可以得到系統(tǒng)的開路電壓Voc。同時通過對式(4)~(8)求解可以得到。
(29)
(30)
(31)
(32)

(33)
通過對上式進行求解可以得到參數(shù)[RoRsCsRpCp]。
針對本文所提出的蓄電池模型,采用參數(shù)辨識方法的具體步驟如下所示:
Step2、確定輸入數(shù)據(jù):根據(jù)傳感器采集到的第k時刻的蓄電池的端電壓和電流,來確定參數(shù)辨識所需要的數(shù)據(jù)矩陣Φ(k);
Step3、計算系數(shù):根據(jù)式(26)所示的帶遺傳因子的遞推最小二乘公式來計算出第k時刻的系數(shù)[L(k),a1,a2,c0,c1,c2];
Step4、計算開路電壓:根據(jù)式(27)遞推計算出第k時刻的開路電壓;
Step5、根據(jù)參數(shù)計算公式(29)~(33),得到第k時刻的模型參數(shù)[RoRsCsRpCp];
Step6、獲取第k+1時刻的數(shù)據(jù),重復Step2~Step5來得到第k+1時刻的模型參數(shù),依次遞推來實現(xiàn)電池模型參數(shù)的在線估計。
為了驗證本文所提出的參數(shù)識別方法的可靠性和精確性,搭建了圖2所示的實驗平臺。實驗選用12V12Ah的風帆鉛酸蓄電池,其電池開路電壓Voc=13.1 V,內阻Re=0.05 Ω,極化內阻Rs=0.035 Ω,極化電容Cs=800 F,極化內阻Rp=0.02 Ω,極化電容Cp=10 F。

圖2 實驗平臺
該平臺以6A的電流對蓄電池進行脈沖放電,采集到的放電過程中蓄電池的電流和端電壓變化曲線如圖3、4所示。

圖3 蓄電池放電電流

圖4 蓄電池放電端電壓
按照3.3節(jié)中的參數(shù)辨識步驟對模型參數(shù)辨識,辨識結果如表1所示。

表1 仿真模型參數(shù)辨識結果
由表1的數(shù)據(jù)可知,所得到的參數(shù)辨識結果其誤差都在11%以內,可見其辨識方法精度比較高。
同時將辨識出的開路電壓與文獻[9]中采用的方法進行對比,結果如圖5所示。

圖5 開路電壓辨識結果
由圖5可知,本文方法辨識出的開路電壓明顯優(yōu)于文獻[9]的結果。其兩種方法的估計誤差如圖6所示,可見本文的誤差小于0.5%,其值明顯小于文獻[9]的誤差。因此本文所提出的參數(shù)辨識方法能夠很好的對航空蓄電池的模型參數(shù)進行辨識。

圖6 開路電壓辨識誤差
可見,本文提出的方法能夠準確辨識出二階RC航空蓄電池模型的參數(shù),辨識精度高。
分析了二階航空電池模型的輸出特性,提出了具有遺忘因子擴展遞推最小二乘法的參數(shù)辨識算法,該算法繼承了遺忘因子遞推最小二乘法和遞推擴展最小二乘法的優(yōu)點,解決了數(shù)據(jù)的飽和問題,能夠對模型參數(shù)進行準確辨識;同時采用開路電壓遞推模型對電池的開路電壓進行估計,最后通過實驗表明,該方法能夠準確地對蓄電池的模型參數(shù)進行辨識,可實現(xiàn)蓄電池特性的安全監(jiān)控,可為后續(xù)航空電池的健康狀態(tài)管理提供有力的支持。