徐勁力,郎錦峰,徐 維,劉佳俊
(武漢理工大學(xué)機(jī)電工程學(xué)院,湖北武漢 430070)
電池荷電狀態(tài)(SOC)估算能夠?qū)崟r(shí)顯示電池剩余電量的狀況,是保障電池正常工作的基礎(chǔ)[1]。
離線和在線辨識(shí)是等效電路模型參數(shù)辨識(shí)的主要方法,前者得到的模型參數(shù)無(wú)法反映電池實(shí)時(shí)的動(dòng)態(tài)特性,后者通過(guò)實(shí)時(shí)采集可測(cè)變量,模型參數(shù)辨識(shí)結(jié)果更為準(zhǔn)確。遞推最小二乘法具有計(jì)算簡(jiǎn)單、容易實(shí)現(xiàn)等特點(diǎn),是在線辨識(shí)中應(yīng)用較多的方法之一[2-4],然而由于遞推關(guān)系和數(shù)據(jù)量的增加,舊數(shù)據(jù)也一直影響著新輸入數(shù)據(jù)的遞推結(jié)果。
在電池SOC估算方面,初值準(zhǔn)確與否對(duì)安時(shí)積分法估算SOC影響很大,容易造成誤差累積[5];需要長(zhǎng)時(shí)間的靜置使得開(kāi)路電壓法在線估算變得不方便[6];內(nèi)阻法則受電池種類(lèi)和數(shù)量等的影響,在實(shí)際中應(yīng)用很少[7]。后來(lái)智能算法也被用來(lái)進(jìn)行SOC估算,通過(guò)對(duì)大量的測(cè)量數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí)從而進(jìn)行預(yù)測(cè),典型的有支持向量機(jī)[8]、神經(jīng)網(wǎng)絡(luò)[9]等,這類(lèi)算法不依賴(lài)數(shù)學(xué)模型,但對(duì)數(shù)據(jù)集的質(zhì)量和完整度有較高的要求。目前基于模型的估算方法中卡爾曼濾波(KF)算法最為常見(jiàn),無(wú)跡卡爾曼濾波(UKF)算法使用無(wú)損變換,且避免求解雅可比矩陣,減小了非線性誤差[10],精度比擴(kuò)展卡爾曼濾波(EKF)更高,但容易帶來(lái)協(xié)方差矩陣非正定的情況。
為了解決最小二乘法在參數(shù)辨識(shí)過(guò)程中出現(xiàn)“數(shù)據(jù)飽和”的情況,以及無(wú)跡卡爾曼濾波易出現(xiàn)協(xié)方差矩陣非正定的情況,本文在Thevenin 模型的基礎(chǔ)上,參數(shù)采用限定記憶最小二乘法辨識(shí),電池SOC采用自適應(yīng)平方根無(wú)跡卡爾曼濾波算法(ASRUKF)進(jìn)行估算。
等效電路模型通過(guò)電路元件的組合來(lái)模擬電池特性,利用數(shù)學(xué)方法來(lái)建立不同參數(shù)之間的關(guān)系。圖1 為一階RC 電路模型,即Thevenin 等效電路模型,內(nèi)部動(dòng)態(tài)特性通過(guò)阻容網(wǎng)絡(luò)來(lái)模擬。歐姆電阻用R0表示;開(kāi)路電壓為UOCV;用R1和C1分別表示極化電阻和電容;端電壓為Ut;U1為RC 回路的極化電壓;I為電流,充電時(shí)電流為正,放電時(shí)電流為負(fù)。
圖1 一階RC 電路模型
根據(jù)所建模型和電壓定律,可建立如下電路方程:
式中:SOC0為初始SOC值;η1為充放電效率,通常取1;容量用Cn表示;t0和t分別代表初始時(shí)刻和t時(shí)刻。
離散化處理之后,狀態(tài)空間方程如下:
式中:T為采樣時(shí)間;w為過(guò)程噪聲;v為測(cè)量噪聲,是用來(lái)模擬不確定性的高斯白噪聲,狀態(tài)變量為xk=[SOCk,U1,k],控制變量為uk=Ik,,觀測(cè)變量為yk=Ut,k。
本次實(shí)驗(yàn)采用如圖2 所示的電池測(cè)試平臺(tái),主要包括測(cè)試系統(tǒng)、恒溫箱、電池、數(shù)據(jù)采集設(shè)備等,三元鋰電池具體參數(shù)為:溫度為25 ℃,標(biāo)稱(chēng)容量2.5 Ah,充電截止電壓4.2 V,放電截止電壓2.75 V。
圖2 電池測(cè)試平臺(tái)
通過(guò)對(duì)電池的充放電測(cè)試,得到電池開(kāi)路電壓的測(cè)試數(shù)據(jù)。為了能夠更好地反映電池OCV和SOC的關(guān)系,本文通過(guò)九階多項(xiàng)式來(lái)擬合OCV和SOC的關(guān)系曲線。由于遲滯效應(yīng),同一SOC值情況下,充電曲線和放電曲線之間存在電壓差值,因此采用取平均值的方法來(lái)進(jìn)行曲線擬合,曲線如圖3 所示。
圖3 OCV-SOC擬合曲線
擬合曲線的評(píng)價(jià)參數(shù)RMSE為0.002 128,表明該曲線有較好的擬合效果。
針對(duì)等效電路模型的參數(shù)辨識(shí),最常用的是遞推最小二乘法,但在遞推算法的過(guò)程中,隨著遞推次數(shù)和數(shù)據(jù)量的增加,在增加新數(shù)據(jù)的同時(shí),舊數(shù)據(jù)一直影響著新數(shù)據(jù)的遞推結(jié)果。因此,針對(duì)上述存在的問(wèn)題,提出了限定記憶最小二乘法來(lái)進(jìn)行參數(shù)辨識(shí)。
這種方法在增加新數(shù)據(jù)的同時(shí),剔除舊數(shù)據(jù),依賴(lài)有限個(gè)最新數(shù)據(jù)來(lái)進(jìn)行參數(shù)估計(jì),記憶長(zhǎng)度L始終保持不變,這樣能夠有效解決“數(shù)據(jù)飽和”帶來(lái)的問(wèn)題[11]。
下面是限定記憶最小二乘法的遞推原理:
式中:h(k)為數(shù)據(jù)向量;z(k)為輸出量;θ 為參數(shù)向量。遞推公式如下:
在遞推初始時(shí)刻,需要對(duì)部分參數(shù)賦予初始值,通過(guò)遞推更新來(lái)對(duì)參數(shù)進(jìn)行預(yù)測(cè),其基本思想可用圖4 來(lái)表示。
圖4 限定記憶最小二乘法遞推示意圖
假設(shè)當(dāng)前時(shí)刻為k,則根據(jù)上一時(shí)刻的參數(shù)值協(xié)方差、參數(shù)估計(jì)值以及增益可以遞推得到當(dāng)前時(shí)刻的估算值,此時(shí),需對(duì)記憶區(qū)間內(nèi)的數(shù)據(jù)進(jìn)行增刪更新,從而計(jì)算得到k+1 時(shí)刻的參數(shù)值。
結(jié)合模型辨識(shí)的精度以及辨識(shí)所用時(shí)間,參數(shù)辨識(shí)所選取的記憶長(zhǎng)度為200。
根據(jù)所建立的等效電路模型可得到如下所示的函數(shù):
將z(k+1)=hT(k)θ(k+1)+ν(k)以及h(k)和θ(k)代入限定記憶最小二乘法中進(jìn)行參數(shù)辨識(shí),進(jìn)而可以求得電池模型對(duì)應(yīng)參數(shù)的值。
為了驗(yàn)證模型參數(shù)辨識(shí)的準(zhǔn)確性,將辨識(shí)的模型參數(shù)帶入端電壓的求解公式中,可以得到端電壓的仿真值,將仿真值與實(shí)測(cè)值進(jìn)行對(duì)比。通過(guò)上述實(shí)驗(yàn)平臺(tái)模擬城市道路循環(huán)工況(UDDS),得到電壓和電流數(shù)據(jù)。將模型的參數(shù)辨識(shí)結(jié)果代入,模型的端電壓仿真值和實(shí)測(cè)值結(jié)果如圖5 所示。圖6為模型端電壓的誤差。
圖5 端電壓仿真值與實(shí)測(cè)值
圖6 模型端電壓誤差
從圖中可以看到,所建立模型參數(shù)辨識(shí)的整體精度較好,采用限定記憶最小二乘法LMRLS 辨識(shí)的模型端電壓仿真值和實(shí)測(cè)值的誤差大部分保持在0.02 V 以內(nèi),在15 300 s 左右,電池SOC降至10%,此時(shí),模型的非線性增大導(dǎo)致端電壓誤差開(kāi)始增大,最大為0.07 V;而最小二乘法RLS 辨識(shí)的模型端電壓仿真值和實(shí)測(cè)值誤差保持在0.04 V 以內(nèi),最大誤差達(dá)到0.08 V,前者的模型端電壓的均方根誤差RMSE為0.014 5,后者為0.0176,因此LMRLS 比RLS有更高的參數(shù)辨識(shí)精度。
無(wú)跡卡爾曼濾波(UKF)采用無(wú)損變換,其原理是利用概率密度分布近似的方法來(lái)處理非線性函數(shù),其精度可達(dá)泰勒展開(kāi)式的第三階。針對(duì)在誤差協(xié)方差迭代過(guò)程中易出現(xiàn)矩陣非正定問(wèn)題,本文將協(xié)方差用協(xié)方差陣的平方根進(jìn)行迭代,并結(jié)合自適應(yīng)濾波器來(lái)進(jìn)行SOC的估算。
平方根通過(guò)QR 分解和Cholesky 一階更新來(lái)獲得[12],自適應(yīng)濾波器對(duì)迭代過(guò)程中的噪聲更新,避免噪聲不準(zhǔn)確對(duì)估算結(jié)果的影響。
ASRUKF 的估算過(guò)程如下[13]:
(1)狀態(tài)函數(shù)初始化:
(2)構(gòu)建Sigma 點(diǎn):
(3)時(shí)間更新,對(duì)構(gòu)建的Sigma 點(diǎn)進(jìn)行狀態(tài)方程的處理,預(yù)測(cè)系統(tǒng)狀態(tài)量和誤差方差矩陣:
(4)對(duì)Sigma 點(diǎn)進(jìn)行重采樣:
式中:dk=(1-b)/(1-bk+1),遺忘因子b介于0 到1 之間,這里取0.95。
對(duì)方差矩陣和誤差協(xié)方差進(jìn)行更新:
(5)計(jì)算增益矩陣,并對(duì)估計(jì)量和方差進(jìn)行更新:
根據(jù)限定記憶最小二乘法辨識(shí)的結(jié)果,代入公式(3)和(4),可完成SOC的估算。
為了驗(yàn)證上述算法的準(zhǔn)確性,將UDDS 工況的電流作為輸入,初始SOC值均設(shè)置為0.7。圖7 為UKF 和ASRUKF 估計(jì)結(jié)果與參考值的對(duì)比圖。圖8 為兩種算法的估算結(jié)果與參考值的誤差曲線。
圖7 UDDS工況下的SOC估算結(jié)果
圖8 UDDS 工況下的估算誤差曲線
從圖7 和圖8 可以看出,UKF 和ASRUKF 兩種算法都能夠比較快速地收斂到真實(shí)值附近,但是ASRUKF 相比UKF 有更好的估算結(jié)果。UKF 算法估算誤差大部分都在2%以下,最大誤差為4%,出現(xiàn)在SOC低于10%的時(shí)候,這是由于放電末段非線性增強(qiáng)導(dǎo)致;在SOC大于10%的時(shí)候,ASRUKF 的估算誤差均小于1%,在SOC小于10%的時(shí)候誤差增大,但是最大誤差也小于2%,不同算法的估計(jì)誤差如表1 所示。
表1 不同算法的估計(jì)誤差 %
與UKF 算法相比,ASRUKF 算法確保估算結(jié)果收斂,避免因干擾和計(jì)算誤差而導(dǎo)致協(xié)方差矩陣非正定,也減少了計(jì)算量,同時(shí)加入自適應(yīng)算法使得狀態(tài)估計(jì)過(guò)程中能夠?qū)崟r(shí)進(jìn)行噪聲更新,提升了估算結(jié)果的準(zhǔn)確性。
在Thevenin 等效電路模型的基礎(chǔ)上,針對(duì)最小二乘法在參數(shù)辨識(shí)過(guò)程中存在“數(shù)據(jù)飽和”的問(wèn)題,模型參數(shù)采用限定記憶最小二乘法進(jìn)行辨識(shí),利用固定記憶長(zhǎng)度的數(shù)據(jù)來(lái)減小舊數(shù)據(jù)累積對(duì)結(jié)果的影響,并通過(guò)工況端電壓來(lái)驗(yàn)證模型辨識(shí)結(jié)果的準(zhǔn)確性。采用自適應(yīng)平方根無(wú)跡卡爾曼濾波來(lái)進(jìn)行SOC估算,并與UKF 結(jié)果的對(duì)比分析,證明該方法有更高的估計(jì)精度。