本發(fā)明涉及電池辨識估計領(lǐng)域,尤其是一種基于雙卡爾曼濾波算法的電池SOC在線估計方法。
背景技術(shù):
近幾年來,以電池為主要動力來源的純電動車和混合動力車被廣泛投入使用。這種新興交通工具以其低碳排放,節(jié)能輕便的特點受到人們的重視。然而現(xiàn)階段電動車的發(fā)展很大程度上受限于動力電池的穩(wěn)定性,安全性和使用壽命等因素。在電動車運行過程中,駕駛?cè)藛T需要隨時了解電池剩余電量多少以判斷可續(xù)航里程。電池荷電狀態(tài)即SOC(State of Charge)是電池可用能量和總能量的比值,是電池不可直接測量的重要參數(shù),其取值范圍為0~1,當SOC=0時表示電池放電完全,當SOC=1時表示電池完全充滿。電池的荷電狀態(tài)在電池的應(yīng)用中處于核心的地位,準確估計電池的SOC有以下意義:
(1)保護動力電池。對于動力電池而言,過充和過放都可能對電池造成永久性的損害,嚴重減少電池的使用壽命。如果可以提供準確的SOC值,整車控制策略可以將SOC控制在一定的范圍內(nèi)(如20%~80%),起到了防止對電池過充或過放的作用,從而保證電池的正常使用,延長電池的使用壽命。
(2)提高整車性能。在沒有提供準確的SOC值的情況下,為了保證電池的安全使用,整車控制策略需要保守地使用電池,防止電池出現(xiàn)過充和過放的情況。這樣不能充分發(fā)揮電池的性能,因而降低了整車的性能。
(3)降低對動力電池的要求。在準確估計SOC的前提下,電池的性能可以被充分使用。選用電池時,針對電池性能設(shè)計的余量可以大大減小。
電池的荷電狀態(tài)SOC為電池的剩余容量與總的可用容量的比值。其定義式如下:
SOC=Qr/Qtot;其中Qr為電池剩余容量,Qtot為電池最大可用容量。
由于電池的SOC不像電流、電壓和溫度可以通過傳感器直接測量得到,SOC只能通過估計的方法得到,一般常用的估計方法主要有:電荷累積法(也稱安時積分法)、開路電壓法和卡爾曼濾波法。安時法是將電流送入積分器中用于進行電量消耗的測量,再通過簡單的計算得到電池的SOC值。此方法實現(xiàn)簡單,但是容易產(chǎn)生累積誤差。開路電壓是指電池經(jīng)過長時間靜置穩(wěn)定后的電壓值,開路電壓在數(shù)值上接近電池電動勢,但是開路電壓需要長時間靜置獲得,而一般電池SOC估計都是動態(tài)估計;卡爾曼濾波法是將電池看成一個動力系統(tǒng),并對動力系統(tǒng)的狀態(tài)做出最小意義上的最優(yōu)估計,此方法可以濾去固定噪聲并得到SOC的準確估值,雖然擴展卡爾曼濾波算法對輸入干擾有較好的過濾性,對初始狀態(tài)誤差有較強的修正性,能夠使估計值很快地收斂至真值附近,但其對電池模型的依賴性較大,對電池模型參數(shù)精度要求較高。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種電池SOC估算速度快、精度高且不依賴與電池模型的基于雙卡爾曼濾波算法的電池SOC在線估計方法。
本發(fā)明所采用的技術(shù)方案是:一種基于雙卡爾曼濾波算法的電池SOC在線估計方法,包括以下步驟:
S1、獲取電池SOC的初始值;
S2、建立電池等效電路模型,并得到電池的狀態(tài)方程和輸出方程;
S3、以電池SOC的初始值作為輸入狀態(tài)量,電池等效電路模型所對應(yīng)的電壓方程為輸出方程,利用擴展卡爾曼濾波算法進行電池SOC估算;
S4、以擴展卡爾曼濾波算法估算的電池SOC為輸入狀態(tài)量,安時積分法為輸出方程,利用卡爾曼濾波算法進行電池SOC估算得到電池SOC的估算值。
進一步地,所述電池等效電路模型為雙RC環(huán)等效電路模型,所述雙RC環(huán)等效電路模型包括電池的開路電壓、電池內(nèi)阻、極化電阻、極化電容、雙電層電阻和雙電層電容,
所述電池的開路電壓的正極與電池內(nèi)阻的左端連接,所述電池內(nèi)阻的右端與極化電阻的左端連接,所述極化電阻的右端與雙電層電阻的左端連接,所述極化電容與極化電阻并聯(lián),所述雙電層電容與雙電層電阻并聯(lián),所述雙電層電阻的右端、電池的開路電壓的負極分別作為等效電路的正負輸出端。
進一步地,所述基于雙卡爾曼濾波算法的電池SOC在線估計方法還包括步驟S5:
S5、重復(fù)步驟S1-S4對電池組中多個電池單體進行電池SOC值估算,并將多個電池SOC估算值中的最小值作為電池組的電池SOC估算值。
進一步地,所述步驟S1包括以下步驟:
S11、獲取電池組的斷電時長;
S12、判斷電池組的斷電時長是否大于預(yù)定時長,若大于預(yù)定時長,則獲取電池組中電壓最低的單體的SOC作為電池SOC的初始值;否則,則將斷電前的電池組的電池SOC估算值為電池SOC的初始值。
進一步地,所述電池的狀態(tài)方程為
所述電池的輸出方程為
U(bat)k+1=-Ub-Up+[-Ro]ik+Uoc+Vk;
其中,Uoc=fuoc(SOC(k));
k為循環(huán)批次數(shù),Wk和Vk分別為k批次時的系統(tǒng)過程噪聲和系統(tǒng)測量噪聲;Ts為系統(tǒng)采樣時間;Rb和Cb分別為電池的雙電層電阻和雙電層電容,τb為雙電層電容Cb、雙電層電阻Rb組成的RC環(huán)時間常數(shù),其值為Rb*Cb;Rp和Cp分別為電池的極化電阻和極化電容,τp為電容Cp、電阻Rp組成的RC環(huán)時間常數(shù),值為Rp*Cp;η為電池庫倫效率,用于描述電池放電容量所占的比例;SOC為電池荷電狀態(tài)值;Ub和Up分別為b、p兩個RC環(huán)兩端的電壓值大??;Cb和Cp為電容Cb和Cp的電容值大??;Cn為電池容量;i為通過電池的電流,充電時電流為正值,放電時為負值;Ubat表示電池端電壓,Ro為電池內(nèi)阻,Uoc為電池的開路電壓。
進一步地,所述步驟S3包括以下步驟:
S31、以電池SOC的初始值作為輸入狀態(tài)量,電池等效電路模型所對應(yīng)的電壓方程為輸出方程,定義電池狀態(tài)方程和輸出方程,設(shè)定初始狀態(tài)估計值和初始狀態(tài)誤差協(xié)方差;
S32、得到當前時刻狀態(tài)量及協(xié)方差和的函數(shù)關(guān)系;
S33、得到當前時刻的卡爾曼增益矩陣;
S34、利用通過狀態(tài)方程計算得到的輸出和測量得到的輸出對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差;
S35、更新狀態(tài)量和協(xié)方差的值,得到利用擴展卡爾曼濾波算法估算的當前時刻的電池SOC值,返回步驟S31重新迭代,利用擴展卡爾曼濾波算法進行下一時刻的SOC值估算。
進一步地,所述步驟S4包括以下步驟:
S41、以擴展卡爾曼濾波算法估算的電池SOC為輸入狀態(tài)量,安時積分法為輸出方程,定義電池狀態(tài)方程和輸出方程,設(shè)定初始狀態(tài)估計值和初始狀態(tài)誤差協(xié)方差;
S42、得到當前時刻狀態(tài)量及協(xié)方差和的函數(shù)關(guān)系;
S43、得到當前時刻的卡爾曼增益矩陣;
S44、利用通過狀態(tài)方程計算得到的輸出和測量得到的輸出對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差;
S45、更新狀態(tài)量和協(xié)方差的值,得到基于雙卡爾曼濾波算法估算當前時刻的電池SOC值,返回步驟S41重新迭代,利用卡爾曼濾波算法進行下一時刻的SOC值估算。
進一步地,當電池組充至滿電時,將電池SOC值強制校準為100%;當電池組放電至電壓低于預(yù)定閾值時,將電池SOC值強制校準為0。
本發(fā)明的有益效果是:本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法,結(jié)合擴展卡爾曼濾波法和安時積分法,將兩種算法估計得到的SOC結(jié)果再經(jīng)過卡爾曼算法進行加權(quán)計算,得到一個結(jié)合兩種算法優(yōu)勢的雙卡爾曼濾波算法,能更精確地得到SOC估計值;還可以快速地通過輸入信號提取估計出內(nèi)部參數(shù)SOC值,不過于依賴電池模型,同時也減小了對電流精度的要求。
附圖說明
下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步說明:
圖1是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的步驟流程圖;
圖2是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的算法原理圖;
圖3是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的一具體實施例的具體步驟流程圖;
圖4是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法中電池等效電路模型的一具體實施例示意圖;
圖5是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法中擴展卡爾曼算法的原理圖。
具體實施方式
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
一種基于雙卡爾曼濾波算法的電池SOC在線估計方法,參考圖1和圖2,圖1是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的步驟流程圖,圖2是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的算法原理圖,包括以下步驟:
S1、獲取電池SOC的初始值;
S2、建立電池等效電路模型,并得到電池的狀態(tài)方程和輸出方程;
S3、以電池SOC的初始值作為輸入狀態(tài)量,電池等效電路模型所對應(yīng)的電壓方程為輸出方程,利用擴展卡爾曼濾波算法進行電池SOC估算;
S4、以擴展卡爾曼濾波算法估算的電池SOC為輸入狀態(tài)量,安時積分法為輸出方程,利用卡爾曼濾波算法進行電池SOC估算得到電池SOC的估算值。
一種基于雙卡爾曼濾波算法的電池SOC在線估計方法,結(jié)合擴展卡爾曼濾波法和安時積分法,將兩種算法估計得到的SOC結(jié)果再經(jīng)過卡爾曼算法進行加權(quán)計算,得到一個結(jié)合兩種算法優(yōu)勢的雙卡爾曼濾波算法,能更精確地得到SOC估計值;還可以快速地通過輸入信號提取估計出內(nèi)部參數(shù)SOC值,不過于依賴電池模型,同時也減小了對電流精度的要求。
作為技術(shù)方案的進一步改進,基于雙卡爾曼濾波算法的電池SOC在線估計方法還包括步驟S5:
S5、重復(fù)步驟S1-S4對電池組中多個電池單體進行電池SOC值估算,并將多個電池SOC估算值中的最小值作為電池組的電池SOC估算值,并反映在電池管理系統(tǒng)(BMS)的用戶界面上。
作為技術(shù)方案的進一步改進,步驟S1包括以下步驟:
S11、獲取電池組的斷電時長;
S12、判斷電池組的斷電時長是否大于預(yù)定時長,若大于預(yù)定時長,則獲取電池組中電壓最低的單體的SOC作為電池SOC的初始值;否則,則將斷電前的電池組的電池SOC估算值為電池SOC的初始值。
本實施例中,參考圖3,圖3是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的一具體實施例的具體步驟流程圖,本發(fā)明提供一種基于雙卡爾曼濾波算法的電動車電池SOC值在線估算方法,該方法可應(yīng)用于電動車電池管理系統(tǒng)平臺上,通過采集電動車電池組充放電過程中的電壓電流數(shù)據(jù),對其SOC值進行計算及實時更新。估算的第一步,獲取電池SOC的初始值,在電動汽車未啟動時,判斷距離上次斷電所經(jīng)過的時間,若超過4小時,則電池組初始SOC值選取為電池靜置一定時間后,電池組中電壓最低單體的開路電壓所對應(yīng)的SOC值;若時間間隔低于4小時,則選取上一次電池管理系統(tǒng)(BMS)斷電前所記錄的SOC估算值作為初始值。行車期間,通過電池管理系統(tǒng)(BMS)實時采集所有電池單體電壓和電流數(shù)據(jù),進入步驟2-4的雙卡爾曼濾波算法循環(huán)對每個電池單體的SOC分別進行估算,步驟2中,建立電池等效電路模型,使用電壓源、電阻、電容組成電路模型,通過調(diào)整電路中各組成單元的物理參數(shù)模擬電池的動態(tài)特性,然后根據(jù)基爾霍夫電流電壓定理得到電池的狀態(tài)方程和輸出方程。
作為技術(shù)方案的進一步改進,參考圖4,圖4是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法中電池等效電路模型的一具體實施例示意圖,電池等效電路模型為雙RC環(huán)等效電路模型,雙RC環(huán)等效電路模型包括電池的開路電壓UOC、電池內(nèi)阻RO、極化電阻Rp、極化電容Cp、雙電層電阻Rb和雙電層電容Cb,
電池的開路電壓UOC的正極與電池內(nèi)阻RO的左端連接,電池內(nèi)阻RO的右端與極化電阻Rp的左端連接,極化電阻Rp的右端與雙電層電阻Rb的左端連接,極化電容Cp與極化電阻Rp并聯(lián),雙電層電容Cb與雙電層電阻Rb并聯(lián),雙電層電阻Rb的右端、電池的開路電壓UOC的負極分別作為等效電路的正負輸出端,電池的輸出電流為Ibat,輸出端電壓為Ubat。
電池的狀態(tài)方程為
電池的輸出方程為
U(bat)k+1=-Ub-Up+[-Ro]ik+Uoc+Vk;
其中,Uoc=fuoc(SOC(k));
k為循環(huán)批次數(shù),Wk和Vk分別為k批次時的系統(tǒng)過程噪聲和系統(tǒng)測量噪聲;Ts為系統(tǒng)采樣時間;Rb和Cb分別為電池的雙電層電阻和雙電層電容,τb為雙電層電容Cb、雙電層電阻Rb組成的RC環(huán)時間常數(shù),其值為Rb*Cb;Rp和Cp分別為電池的極化電阻和極化電容,τp為電容Cp、電阻Rp組成的RC環(huán)時間常數(shù),值為Rp*Cp;η為電池庫倫效率,用于描述電池放電容量所占的比例;SOC為電池荷電狀態(tài)值;Ub和Up分別為b、p兩個RC環(huán)兩端的電壓值大??;Cb和Cp為電容Cb和Cp的電容值大??;Cn為電池容量;i為通過電池的電流,充電時電流為正值,放電時為負值;Ubat表示電池端電壓,Ro為電池內(nèi)阻,Uoc為電池的開路電壓。
作為技術(shù)方案的進一步改進,步驟S3包括以下步驟:
S31、以電池SOC的初始值作為輸入狀態(tài)量,電池等效電路模型所對應(yīng)的電壓方程為輸出方程,定義電池狀態(tài)方程和輸出方程,設(shè)定初始狀態(tài)估計值和初始狀態(tài)誤差協(xié)方差;
S32、得到當前時刻狀態(tài)量及協(xié)方差和的函數(shù)關(guān)系;
S33、得到當前時刻的卡爾曼增益矩陣;
S34、利用通過狀態(tài)方程計算得到的輸出和測量得到的輸出對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差;
S35、更新狀態(tài)量和協(xié)方差的值,得到利用擴展卡爾曼濾波算法估算的當前時刻的電池SOC值,返回步驟S31重新迭代,利用擴展卡爾曼濾波算法進行下一時刻的SOC值估算。
本實施例中,參考圖5,圖5是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法中擴展卡爾曼算法的原理圖。以作為輸入狀態(tài)量矩陣,電池等效電路模型所對應(yīng)的電壓方程為輸出方程,利用擴展卡爾曼濾波算法(EKF)循環(huán)估算電池的SOC,參考圖3,圖3是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的一具體實施例的具體步驟流程圖,利用針對非線性系統(tǒng)的擴展卡爾曼濾波算法進行當前時刻的SOC值估算過程,具體地:
(1)、定義k時刻下電池狀態(tài)方程和輸出方程;
U(bat)k+1=-Ub-Up+[-Ro]ik+Uoc+Vk;
其中,Uoc=fuoc(SOC(k));
Y_new=U(bat)k+1;
(2)、得到當前時刻狀態(tài)及協(xié)方差和的函數(shù)關(guān)系;
P_ud=A*P_old*AT+Q;
(3)、得到當前時刻的增益矩陣K,其中矩陣C為開路電壓對狀態(tài)求偏導(dǎo)得到的雅克比矩陣;
K=P_ud*CT*(C*P_ud*CT+R);
(4)、用通過狀態(tài)方程計算得到的輸出和測量得到的輸出來對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差。
delt_Y=Y(jié)_measure-Y_new;
X_new=X_ud+K*delt_Y;
P_new=(Id-K*C)*P_ud;
(5)、最后更新狀態(tài)和協(xié)方差的值:
X_old=X_new;
P_old=P_new;
回到第1)步重新迭代運算,利用擴展卡爾曼濾波算法進行下一時刻的SOC值估算。
其中,X為包含SOC的電池狀態(tài)量矩陣,Y為基于電池模型預(yù)測得到的電池端電壓值;X_ud是對X_old的狀態(tài)預(yù)測值,X_new是X_old的狀態(tài)校正值;I為實測電流值,Y_measure為實測電池端電壓值,Y_new為端電壓預(yù)測值;P_ud為狀態(tài)協(xié)方差預(yù)測矩陣,P_new為狀態(tài)協(xié)方差更新矩陣,Id為單位矩陣;Q和R分別為過程噪聲W和測量噪聲V的協(xié)方差矩陣,過程噪聲和測量噪聲均符合高斯白噪聲分布。
作為技術(shù)方案的進一步改進,參考圖3,圖3是本發(fā)明一種基于雙卡爾曼濾波算法的電池SOC在線估計方法的一具體實施例的具體步驟流程圖,將經(jīng)過第一個EKF算法循環(huán)得到的SOC估算值作為輸入狀態(tài)量,安時積分法作為狀態(tài)方程,進入第二個針對線性系統(tǒng)的卡爾曼濾波算法(KF)循環(huán)中,得到SOC估算最終值,步驟S4包括以下步驟:
S41、以擴展卡爾曼濾波算法估算的電池SOC為輸入狀態(tài)量,安時積分法為輸出方程,定義電池狀態(tài)方程和輸出方程,設(shè)定初始狀態(tài)估計值和初始狀態(tài)誤差協(xié)方差;
S42、得到當前時刻狀態(tài)量及協(xié)方差和的函數(shù)關(guān)系;
S43、得到當前時刻的卡爾曼增益矩陣;
S44、利用通過狀態(tài)方程計算得到的輸出和測量得到的輸出對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差;
S45、更新狀態(tài)量和協(xié)方差的值,得到基于雙卡爾曼濾波算法估算當前時刻的電池SOC值,返回步驟S41重新迭代,利用卡爾曼濾波算法進行下一時刻的SOC值估算。
具體地:
(1)、定義k時刻下KF輸入狀態(tài)量和輸出方程,設(shè)定初始狀態(tài)估計值X2_old和初始狀態(tài)誤差協(xié)方差P2_old;
X2(k+1)=f2(X2(k),I);
Y2(k)=SOCEKF(k);
(2)、得到當前時刻狀態(tài)及協(xié)方差和的函數(shù)關(guān)系;
X2_ud=f2(X2_old,I);
P2_ud=P2_old+Q2;
(3)、得到當前時刻的增益矩陣K2;
K2=P2_ud/(P2_ud+R2);
(4)、用通過狀態(tài)方程計算得到的輸出和測量得到的輸出來對先驗估計值進行校正,得到當前時刻的更新狀態(tài)值和協(xié)方差。
Y2_new=X2_old;
delt_Y2=Y(jié)2-Y2_new;
X2_new=X2_ud+K2*delt_Y2;
P2_new=(1-K2)*P2_ud;
(5)、最后更新狀態(tài)和協(xié)方差的值:
X2_old=X2_new;
P2_old=P2_new;
回到第(1)步重新迭代運算,利用卡爾曼濾波算法進行下一時刻的SOC值估算。
其中X2為雙卡爾曼濾波算法SOC估算終值,Y2為第一個EKF算法估算所得SOC值。X2_ud是對X2_old的狀態(tài)預(yù)測值,X2_new是X2_old的狀態(tài)校正值。I為實測電流值,Y2_new為端電壓預(yù)測值。P2_ud為狀態(tài)協(xié)方差預(yù)測矩陣,P2_new為狀態(tài)協(xié)方差更新矩陣。Q2和R2分別為過程噪聲和測量噪聲的協(xié)方差矩陣。
作為技術(shù)方案的進一步改進,當電池組充至滿電時,將電池SOC值強制校準為100%;當電池組放電至電壓低于預(yù)定閾值時,將電池SOC值強制校準為0,從而不定期消除SOC估算系統(tǒng)中存在的累積誤差。
本發(fā)明提供一種精度高、計算量小的適用于嵌入至電池管理系統(tǒng)(BMS)平臺的動力鋰離子電池SOC實時估計算法。通過實時采集的電流電壓信息,可以實時估計電池SOC,是一種應(yīng)用新型算法的新實踐。
以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。