朱奕楠,呂桃林,趙芝蕓,楊 文
(1華東理工大學信息學院,上海 200237;2上??臻g電源研究所,上海 200245)
21 世紀以來,傳統(tǒng)能源的日益匱乏與環(huán)境污染問題愈發(fā)嚴重,而傳統(tǒng)汽車不僅需要燃燒大量石油等化石能源,并且石油燃燒后產(chǎn)生的尾氣會直接排放到空氣中,而傳統(tǒng)燃油汽車的大量使用也加劇了環(huán)境的破壞和與能源短缺的問題,以電動汽車為代表的新能源汽車越來越受到關注[1]。2020年11月16 日,國務院會議上通過了《新能源汽車產(chǎn)業(yè)發(fā)展規(guī)劃》,會議提出到2021年在文明實驗區(qū)和重點污染區(qū)域的公共領新能源汽車比例不得低于80%。但與傳統(tǒng)燃油汽車相比電動汽車還有很多制約其發(fā)展的缺點:續(xù)航能力差,充滿電的狀態(tài)下行駛里程僅是燃油汽車的一半,有安全隱患且容易發(fā)生爆炸,嚴重威脅車主的人身安全。因此,提高電池內(nèi)部的電能利用率和安全性能對發(fā)展新能源汽車的整個產(chǎn)業(yè)都具有重要意義[2]。給電動汽車配備性能優(yōu)良的電池管理系統(tǒng)(battery management system,BMS)可以向用戶反饋電池的當前狀態(tài),其中荷電狀態(tài)估計(state of charge,SOC)俗稱為電池剩余電量百分比,是一個能從其數(shù)值上直接表現(xiàn)出電池此時刻剩余容量的參數(shù)。而BMS 可以根據(jù)當前SOC值對系統(tǒng)的放電、充電的功能上進行優(yōu)化,從而提高系統(tǒng)的能量轉(zhuǎn)換效率,并依據(jù)此值去進行電池充放電控制策略,規(guī)避由電池充電過多、放電過量而引發(fā)的危險狀況[3]。但電池的SOC值并不能直接在線測量,需要通過一定的方法去實現(xiàn)SOC的估計。因此,對SOC進行準確估計是合理、安全使用電池的必要前提,也是大力發(fā)展新能源行業(yè)的基礎。
國內(nèi)外在研究電池剩余容量時,早期使用的方法如下[4]。
(1)開路電壓法。這是一種最直接的方法,是通過開路電壓和SOC 值之間的一一對應關系得到當前的SOC 值,但是要測量靜置電壓,即電池外圍電路處于斷開狀態(tài)、達到穩(wěn)定狀態(tài)后的開路電壓,所以開路電壓法缺乏實時性,只能在電動汽車停車的時候進行應用。
(2)安時積分法。該方法在充放電時間的基礎上,用電流積分得到已經(jīng)使用的電量進行累加計算。但積分過程是一個開環(huán),測量過程中電流值不一定能完全測量準確,隨著積分時間的疊加,積分項中產(chǎn)生的誤差容易積累,估計的效果越來越差,且這個方法很難確定初始值,所以需要與其他優(yōu)化算法結合。
(3)基于經(jīng)驗解析模型的方法,經(jīng)驗解析模型一般是在數(shù)據(jù)驅(qū)動下實現(xiàn)功能,為完成SOC 估計可以采用神經(jīng)網(wǎng)絡、支持向量機等方法來建立電池模型,涉及的模型參數(shù)是利用大量樣本訓練而得來[5]。陳穎等[6]利用子種群自適應趨同策略改進BP神經(jīng)網(wǎng)絡的閾值和初始權值的更新,提出了基于SAMEA-BP 神經(jīng)網(wǎng)絡法進行鋰離子電池估計,并與BP、MEA-BP 方法的估計結果進行比較,結果SAMEA-BP 具有更高的精度和適應性。Hong 等[7]利用長短時時間記憶的遞歸神經(jīng)網(wǎng)絡來建立SOC和電流、電壓等外部參數(shù)之間的隱藏關系,然后結合粒子濾波算法來實現(xiàn)基于數(shù)據(jù)驅(qū)動的狀態(tài)SOC和行駛里程的估計。但神經(jīng)網(wǎng)絡不能減少對實驗數(shù)據(jù)的依賴,這時設備的微處理器處理信息的速度會大大減慢,訓練方法也會對運算速度和結果精度產(chǎn)生一定的影響。
(4)基于模型的SOC 估計方法需要模型搭配濾波算法進行估計,高建樹等[8]提出了一種基于遷移模型狀態(tài)方程的電池在老化時進行SOC 估計方法。該方法以二階等效電路模型為基礎,將SOCOCV 的關系式進行線性遷移后通過風險最小化的粒子濾波算法更新遷移因子,最后在電池初始狀態(tài)下利用低通濾波器估計SOC。徐秋雨[9]以磷酸鐵鋰電池為研究目標,以北京公交車工況的數(shù)據(jù)作為驗證數(shù)據(jù)集,選擇Thevenin 來簡單表征電池內(nèi)部的復雜化學關系,基于無跡卡爾曼濾波算法進行SOC 估計。在工況中后期加入容量衰減模型,實現(xiàn)整個老化過程中的SOC 估計,整體上估計誤差不超過5%。Plett等[10]在給定SOC初值存在誤差的情況下基于EKF 進行鋰離子電池的SOC 估計,最后仿真結果表明該算法可快速收斂且估計平均誤差在5%以下。當給定SOC初值有一定誤差時,EKF仍可快速收斂且有著較高的SOC 估計精度,但該算法有一個不可避免的缺點,采用這個算法需要狀態(tài)空間的噪聲和觀測方程的噪聲是服從假設,一旦在模型的誤差不滿足假設時估算效果就會變差。本文將在擴展卡爾曼濾波算法上進行改進,使算法擺脫噪聲假設的限制。
電池SOC 的大小用來表示電動汽車中電池剩余容量,SOC 值越大,汽車跑得越遠,所以SOC也就能間接能表示續(xù)航里程。在充電時,可以根據(jù)SOC 判斷預計充電所需要的時間,同理,在放電時也可以通過SOC 知道電動汽車還能跑多久。最常用的定義SOC 的方法是根據(jù)已放出消耗的電量定義的[11]
式中,Q為此時電池經(jīng)過放電消耗掉的電量;Ct為電池標定的額定容量,表示的是新電池在剛出廠的時候充滿電后能放出的所有電量總和。但在電池多次充放電后,部分電荷嵌入負極后發(fā)生了不可逆轉(zhuǎn)的變化,電解液中的可移動的電荷變少,滿電下的容量逐漸變小,這就是電池老化的一個過程,在這個過程中SOC 估計的誤差也就變得越來越大了[12]。因此,對電池電量進行準確估計是一項較為艱難的工作。
通過對鋰離子電池常用的等效電路模型進行研究和分析,可以得出:估算選取的電池模型最好既要模擬出鋰離子電池的靜態(tài)特性和動態(tài)特性,模擬輸出的電壓誤差較小,又保證模型結構簡單、參數(shù)較少,不能增加估算的計算量和復雜度且盡可能地使參數(shù)容易辨識。
鋰離子電池有三個動態(tài)特性。
(1)容量特性是指電池在一定的環(huán)境條件中以某個一定值的電流進行放電時可以放出的最大電荷量,通常以安時(A·h)或者毫安時(mA·h)表示。放電電流、電池的池體溫度、周圍的環(huán)境溫度都會對電池容量產(chǎn)生或大或小的影響。
(2)電池的開路電壓(open circuit voltage,OCV)特性是指當電池兩端的外部電路是斷開時,且靜止存放一段時候后讓其內(nèi)部狀態(tài)達到平衡、化學反應不再發(fā)生時所測得的端電壓,這個值也等于當鋰離子電池內(nèi)部沒有離子運動時電池正極和負極上存在的電壓差值[13]。
(3)內(nèi)阻特性主要表現(xiàn)在歐姆內(nèi)阻和極化內(nèi)阻上。歐姆內(nèi)阻反映的是電池充放電時電子來回運動所消耗的能量是以熱量而散發(fā)出來,而極化內(nèi)阻表征的是電解液中發(fā)生氧化反應和還原反應的速度快慢與外部電路的電子運動快慢之間的速度差異。
根據(jù)電池的這三大特性,可以建立模擬電池行為的等效電路模型。而模型的意義主要在于對模型的表達方式能夠適用于電動汽車在不同的復雜工況下和應用場景下,同時需要模型上的電阻、電容等參數(shù)對SOC 變化能有一個敏感的響應。所以,Thevenin 模型憑借著高精度、良好響應、參數(shù)容易辨識的優(yōu)點成為本文估算的最佳的選擇[14]。其加入了電池充放電過程中的極化過程和擴散過程的影響,從而使端電壓與電流、SOC 的關系更貼合實際,充分模擬電池充放電的行為。電路結構如圖1所示。
圖1 等效電路模型結構Fig.1 Structure diagram of Thevenin model
根據(jù)基爾霍夫定律可以得到式(2),式中OCV作為一個理想電壓源代表的電池開路電壓,即電路斷開后靜置一段時間所能測得的空載電壓。同時根據(jù)電池的開路電壓特性可以知道OCV 是荷電狀態(tài)SOC 的函數(shù),即表達式形式為OCVt=f(St),其中,St為t時刻電池的SOC;另外R0表示電池的歐姆內(nèi)阻,表征的是電流與電壓的歐姆特性;R1與C1分別表示極化電阻和極化電容,構成的一階RC 電路可以形象地模擬電池的極化反應;Up為一階RC電路兩端的分路電壓,Ubat是可用儀器測得電池兩端的總電壓[15]。根據(jù)基爾霍夫定律可以得到模型回路方程,
由圖1 可知,I和Ubat兩個是電池的外部特征,這兩個參數(shù)是可直接測量的,剩下的電阻、電容、理想電壓源等參數(shù)都是不能用儀器測量的,需要通過實驗數(shù)據(jù)分析和迭代計算進行辨識。一方面,通過建??梢暂^為準確地估計出鋰離子電池在工作過程中的各種行為;另一方面,需要建立起荷電狀態(tài)SOC 與可直接用儀器測量的電池外部物理量包括電流和電壓之間存在的數(shù)值聯(lián)系,從而用外部的參數(shù)量監(jiān)測電池內(nèi)部的化學反應和關系,這能有效地幫助能量利用。
為了驗證Thevenin 模型的有效性首先需要進行的是電池模型的參數(shù)辨識,由式(2)可看出需要進行辨識的參數(shù)包括R0、R1、C1以及OCV。其中,OCV 表征的是電池靜態(tài)特性,即電池靜置狀態(tài)下的端電壓,也代表著電池內(nèi)部的化學反應和化學能轉(zhuǎn)化情況的外部表現(xiàn)。當鋰離子嵌入到正負極時,正負極是由兩種不同的活性材料構成,所以嵌入過程帶來的自由能不同,而根據(jù)能量守恒定律系統(tǒng)的能量會自動地向能量低的一側進行移動,從而帶來的結果是鋰離子從能量高的一側穿過隔膜流向能量低的一側,這就轉(zhuǎn)換為了電能的過程。當電池內(nèi)沒有離子移動時達到平衡狀態(tài)時正負極兩側會存在一個化學勢的差距,所以需要電池正負極兩端存在一個方向相反的電勢差來平衡化學勢,這就是靜置電池后開路電壓產(chǎn)生的原因[16]。根據(jù)電池的開路電壓特性可以知道,SOC 和OCV 是一一對應的關系。電動汽車中使用的鋰離子電池使用的是石墨作為負極,所以OCV和SOC的關系上可以呈現(xiàn)出相變現(xiàn)象,這個現(xiàn)象是由電池正負極之間的電極差造成的鋰離子間相互作用。所以在對兩者關系擬合時,考慮到了對每個相變過程的具體體現(xiàn),采用分段處理并利用能斯特模型進行細節(jié)描述,擬合表達式如式(3)所示。
該方法在Nenst模型之上考慮到了電解液中鋰離子之間的相互作用而造成對電壓的影響,在物理層面上分析該方法更具強大的理論依據(jù)。用此方法進行擬合SOC-OCV關系式如圖2所示[17]。
圖2 OCV-SOC函數(shù)的擬合曲線Fig.2 Fitting curve of OCV-SOC function
對比圖(a)中的數(shù)據(jù)和(b)中的曲線對比可以看出,得到的OCV-SOC曲線可以涵蓋圖(a)中的對應OCV 數(shù)據(jù),準確性較高且曲線較平滑,表達式的階數(shù)不高、容易求導,所以表達式以及其一階導數(shù)均可以用于后續(xù)章節(jié)中的模型。
鋰離子電池的工作原理可以看作為一個比較復雜的非線性過程,放電特性其實是由內(nèi)部的化學反應驅(qū)動得來,所以通過簡單地分析歐姆特性和極化特性無法得出準確的模型的各個參數(shù)。有些方法是采用實驗數(shù)據(jù)離線求取而來的參數(shù)值,但在實際的應用中,環(huán)境溫度可能會上下浮動;不同的SOC值,等效模型中的參數(shù)值可能也會發(fā)生一些變化。模型參數(shù)的不準確會給后續(xù)的SOC 估計帶來更大的誤差,故可以對這3個參數(shù)進行有效的在線參數(shù)辨識。狀態(tài)估計領域中有許多可供使用的參數(shù)辨識的方法,包括最小二乘法、預報誤差法等多種迭代算法。其中最小二乘法憑借其能夠簡單、方便地求得未知數(shù)據(jù)、準確性高和計算量小的特點,得到了廣泛應用。
將標準最小二乘法中描述的連續(xù)模型進行離散化處理,可整理出離散空間下的矩陣形式為[18]
為了求得辨識的誤差,可整理出以下的目標函數(shù)
最小二乘法進行參數(shù)辨識的原理就是使如式(6)中所代表的性能指標在最佳參數(shù)?處取得極小值,即根據(jù)數(shù)學上求極小值的做法,對上式求一階導數(shù)就可得到參數(shù)的最佳值的表達式[18]
在電池這個復雜的時變系統(tǒng)中,隨著時間的推移,遞推步數(shù)越來越多,添加到模型中的電流、電壓數(shù)據(jù)也就不斷增多。在辨識過程中遞推最小二乘法很容易出現(xiàn)數(shù)據(jù)飽和,這樣會造成新的數(shù)據(jù)對辨識參數(shù)的精度沒有幫助,即對新數(shù)據(jù)沒有包容性。當出現(xiàn)這種情況時,每次遞推的辨識誤差會積累在一起,使估計結果的誤差越來越大。因此,為了提高遞推最小二乘法的辨識參數(shù)的準確性可以引入一個遺忘因子來拋棄舊數(shù)據(jù)對估計的影響,所以進一步選擇帶有遺忘因子的遞推最小二乘法(forgetting factor recursive least square,F(xiàn)FRLS)。下面給出算法引入遺忘因子λ(0<λ≤1)后的求解過程,將目標函數(shù)修改為[19]
針對FFRLS 算法的收斂速度和抗噪能力、精度之間的矛盾問題,本文進一步提出帶有動態(tài)遺忘因子的遞推最小二乘法(dynamic forgetting factor recursive least square,DFFRLS),避免因遺忘因子的取值大小而造成在不同的模型誤差下最小二乘算法會犧牲一部分能力。將理論模型的輸出電壓值與真實測量的電壓值之間的辨識效果來動態(tài)調(diào)整遺忘因子的大小,這個偏差E主要是由模型本身的辨識誤差和噪聲引起的,如式(9)所示。
在E較大時動態(tài)調(diào)整λ取較小值,使RLS更快地收斂;當E較小時動態(tài)調(diào)整λ取較大值,使RLS能抵抗噪聲影響從而使辨識精度更高,由RLS遞推公式可知[20]
α是一個大于0 的可調(diào)參數(shù),其值接近并且小于1,代表的是誤差最大時需要的最小遺忘因子;γ是可調(diào)參數(shù),代表動態(tài)算法對模型誤差的敏感程度。
在NEDC 工況的數(shù)據(jù)下,進行模型參數(shù)的辨識,包括空載電壓初值OCVk和歐姆電阻值R0,k、極化電阻值R1,k、極化電容值τk。首先需要將電路的回路方程整理為RLS的標準形式,需要通過上述的離散化公式進行迭代計算,即給系統(tǒng)設置的目標量。
由圖3可以看出,鋰離子電池在NEDC模擬工況下運行時空載電壓值OCVk曲線均比較平滑,而歐姆電阻值R0,k、極化電阻值R1,k、極化電容值τk這幾個參數(shù)值有所不同,但從數(shù)值可以看出辨識的結果相差無幾,能權衡跟蹤能力和收斂速度的關系滿足仿真需要,同時可以應用于真實使用中的電動汽車的供能電池分析。其中,歐姆電阻值R0,k、極化電阻值R1,k、極化電容值τk無法確定為定值,但在一定范圍內(nèi)波動。所以在仿真實驗中,對電池的某一工況下進行狀態(tài)估計時可以選取該工況下的前期辨識結果作為模型參數(shù)初值,在模型參數(shù)的基礎上驗證估計算法的準確性。
圖3 模型參數(shù)的辨識效果Fig.3 Identification results of initial values of model parameters
基于第一小節(jié)建立的描述電池動態(tài)行為的數(shù)學模型,本文將進一步確定了該系統(tǒng)中的各向量:狀態(tài)向量SOC、參數(shù)向量[R0,R1,τ]、輸入向量為I與輸出向量Ubat,并建立待估計系統(tǒng)的狀態(tài)空間和觀測空間。其中電流會因為外圍電路使用情況而發(fā)生大大小小的波動,而SOC 與電流關系密切,也會發(fā)生對應的改變,兩者之間的關系是自變量和因變量的關系,基于安時積分法計算SOC 的基本原理如下[21]:當前時刻的SOC 狀態(tài)值和電流之間的關系是直接的自變量和因變量的關系,基于安時積分法進行SOC 計算的原理如下,假設充電或者放電時鋰離子的起始時刻荷電狀態(tài)值標記為SOC0;那么k時刻后的荷電狀態(tài)就可以表示為SOCk;I為充電或放電電流,當電池放電時,I為正值,充電時,I為負值。Cbat為新電池的標稱容量;η為充放電效率,一般新電池的效率是最高的,數(shù)值接近于1,本文實驗是基于新電池,故默認該值為1。
從式(12)可以看出,安時積分法求SOC值的原理可以簡單地概括為利用鋰離子電池在充放電的工作過程中電流在采樣時間上的積分來得到SOC。積分這個步驟在算法運行時有著較大的弊端,增加了計算量,拖慢了運行速度。根據(jù)數(shù)學上數(shù)形結合的求積分的方法,只要兩個采樣點之間的距離足夠小,那么求積分的過程分成求采樣條的面積。同時選取表征極化電壓的Up作為狀態(tài)量的第二個元素,這樣就可得到系統(tǒng)的狀態(tài)空間方程式如式(13),式中,SOCk?1為電池前一時刻的荷電狀態(tài),Up,k?1為前一時刻的極化電壓,wk為滿足正態(tài)分布的白噪聲。
得到系統(tǒng)的狀態(tài)方程式后,根據(jù)建立的Thevenin模型,結合文獻[15]中對電池工作過程中動態(tài)行為的描述得到的電路回路方程,回路方程里除了估計量SOC、電流值I、電壓值Ubat以外的參數(shù)均為已知量,所以可以得到用來表征可觀測量Ubat與估計量SOC關系的系統(tǒng)觀測方程。其中,估計量SOC 作為系統(tǒng)的狀態(tài)變量以非線性函數(shù)中自變量的形式出現(xiàn)在觀測傳遞方程中,電流I作為系統(tǒng)的激勵輸入,電壓Ubat作為系統(tǒng)的觀測量。如式(14),vk為滿足正態(tài)分布的系統(tǒng)觀測噪聲。
卡爾曼濾波是利用前一時刻估計的狀態(tài)值和觀測值,與當前時刻的觀測值之間的偏差對當前時刻的狀態(tài)值進行更新,其適用范圍為線性系統(tǒng)。由于鋰離子電池模型內(nèi)部各參數(shù)之間呈非線性關系,對電池系統(tǒng)狀態(tài)值的估計采用擴展卡爾曼濾波算法(extended Kalman filter,EKF)。EKF 的狀態(tài)方程和觀測方程為[22]
擴展卡爾曼濾波算法圍繞最優(yōu)狀態(tài)估計元將式(15)中的非線性函數(shù)f(xk,uk)和g(xk,uk)進行線性化處理的,即將f(xk,uk)、g(xk,uk)函數(shù)的一階泰勒表達式展開并之保留一階項,狀態(tài)空間中的系數(shù)可由式(16)表達[22
在動力電池的實際使用和運行中,系統(tǒng)模型在不同的工作階段、不同的工作環(huán)境和不同的本身溫度都會產(chǎn)生不同的噪聲信息協(xié)方差,而傳統(tǒng)的濾波算法卻不能擺脫對預設噪聲信息的依賴。隨著系統(tǒng)工作條件的變化,估計的算法應該具備調(diào)整噪聲協(xié)方差的能力,使系統(tǒng)模型具有噪聲信息協(xié)方差匹配能力。系統(tǒng)模型中的過程誤差協(xié)方差Q一般指的是上一時刻和下一時刻狀態(tài)量誤差的相關性,SOC上下時刻的關系與輸入量I的大小有關,電池容量會隨著壽命的衰減發(fā)生一定的變化,這就導致過程誤差協(xié)方差Q的大小也會發(fā)生一定的改變,所以電池系統(tǒng)中的估計算法要對Q進行噪聲信息的匹配。系統(tǒng)模型中的R一般指的是數(shù)據(jù)上傳時所用電壓采集芯片的測量誤差的協(xié)方差,該值的大小主要取決于電池管理系統(tǒng)中的硬件采集數(shù)據(jù)、ADC 轉(zhuǎn)換的精度和水平。利用極大似然估計原理統(tǒng)計系統(tǒng)觀測新息矩陣,可以完成自動迭代更新狀態(tài)傳遞方程式中的噪聲空間的協(xié)方差矩陣Q,進而得到狀態(tài)自適應的擴展卡爾曼濾波器。把噪聲協(xié)方差的預估轉(zhuǎn)化為對新息協(xié)方差矩陣Hv以及Hv對其自適應因子ω的求取偏導的判別問題從而將協(xié)方差矩陣最小化,Hv,k為系統(tǒng)新息值在規(guī)定的統(tǒng)計窗內(nèi)的協(xié)方差均值,可由下式描述[23]。
這里規(guī)定統(tǒng)計窗為m,v是系統(tǒng)新息值,表示的是觀測值的先驗值與實際觀測值之間的差值。最后經(jīng)過對先驗協(xié)方差矩陣的遞推公式和EKF中的卡爾曼增益,可以將自適應算法的遞推公式大約處理為
極大似然估計是以找到系統(tǒng)量測值最大可能的值為目標,考慮了新息序列的變化情況所以修正噪聲時加入統(tǒng)計窗口進行了跟蹤與統(tǒng)計[23]。AEKF 算法通過對觀測量的新息矩陣序列在統(tǒng)計窗內(nèi)的一段歷史信息的自學習,不僅實現(xiàn)了對系統(tǒng)狀態(tài)向量在模型框架內(nèi)的估計,還能自主更新狀態(tài)方程的噪聲空間方差矩陣Q。這一方法使卡爾曼濾波器在估計狀態(tài)量時擺脫了模型中白噪聲的影響,在沒有了噪聲先驗信息的依賴后模型誤差減小并且提高EKF的準確度,從實踐工程意義上分析算法能更適應時變動態(tài)環(huán)境中的非線性系統(tǒng)。
當電池內(nèi)部的鋰離子活躍性變差時,其實是由于一部分鋰離子在負極上附著而無法參與可逆的化學反應,這就導致了可以參與化學反應的鋰離子減少而引起電池壽命的衰減。等效電路模型是根據(jù)鋰離子電池內(nèi)的電化學反應而搭建起來的,所以當壽命衰減時相對應的電化學反應程度也會發(fā)生相應的變化,自然而然地建模時需要的內(nèi)部參數(shù)也應該產(chǎn)生改變??紤]壽命隨時在發(fā)生衰減的電池本身,讓等效電路模型的參數(shù)進行自調(diào)節(jié),這樣能使模型更加貼合真實情況下的電池,最終的結果是提高估計的精度為了保持模型精度,使模型更加符合實際的電池系統(tǒng),參數(shù)傳遞方程的列寫是根據(jù)參數(shù)量的穩(wěn)定性而較為理想的認為一個采樣周期內(nèi)并不會發(fā)生任何改變。所以,鋰離子電池系統(tǒng)在估計SOC 的同時引入?yún)?shù)向量模型,將模型參數(shù)選為系統(tǒng)的參數(shù)向量建立全壽命下的電池系統(tǒng)的參數(shù)傳遞方程,建立并行卡爾曼濾波算法(dual extended Kalman filter,DEKF)。本文系統(tǒng)的狀態(tài)向量是通過兩個采樣點之間的電流累加量計算出來的;設置整個電池系統(tǒng)的參數(shù)向量如式(19)所示,其大小并不是固定值而是會受到荷電狀態(tài)SOC、電池內(nèi)部溫度、壽命衰減程度等因素的影響。
模型參數(shù)發(fā)生實時變化,為使參數(shù)向量具有自修正能力所以建立如式(20)所描述的參數(shù)空間,對于上一修正時刻和下一修正時刻之間參數(shù)向量的傳遞可通過設置一個較大的傳遞因子λ來實現(xiàn),這個參數(shù)主要表征了整個壽命下參數(shù)噪聲協(xié)方差的速度,同時加強了系統(tǒng)的收斂性能。
參數(shù)雖然可能會發(fā)生實時變化,但變化幅度小且速度非常緩慢,所以在一定程度上可以認為鋰離子電池系統(tǒng)的建模參數(shù)在一個采樣周期或少數(shù)個采樣周期內(nèi)是不發(fā)生改變的。而荷電狀態(tài)SOC在有電流經(jīng)過的情況下是立即發(fā)生變化的,因此考慮到狀態(tài)向量和參數(shù)向量的變化速率的不同和獨立性上,可以通過建立能夠進行獨立傳遞狀態(tài)向量和參數(shù)向量的、兩個并行結構下的擴展卡爾曼濾波器。將自適應擴展卡爾曼濾波采用并行結構時,算法是由獨立傳遞狀態(tài)估計和參數(shù)修正的兩個擴展卡爾曼濾波器組成。當每次時間更新時,第1個濾波器是可噪聲自適應的擴展卡爾曼濾波器,利用當前采樣時刻下的電流和電壓值和狀態(tài)量SOC的先驗值去估計當前時刻的狀態(tài)向量SOC值,同時具有評價隨機噪聲干擾的解決方案;第2個濾波器利用當前時刻的估計SOC值和上次修正后的參數(shù)值來實現(xiàn)參數(shù)更新,更新間隔為1 h。兩個濾波器的估計周期可以選擇不同尺度,荷電狀態(tài)SOC 是1 個采樣周期估計1 次,實時性較高,而參數(shù)修正選擇1個小時估計1次,這樣避免增加無用的計算。所以并行結構就可以在一定程度上保證了估計SOC和模型參數(shù)的過程中迭代產(chǎn)生的信息的純凈性,從而避免了由于兩個量變化速率不同而對估計精度帶來的誤差。
為了保證遞推過程的順利進行所以算法設置的初始值有部分需要從第一節(jié)的參數(shù)辨識的過程值獲取,其中,R0,0、R1,0、τ0和OCV0均是遞推最小二乘法中的過程值,而SOC的初值是可以根據(jù)OCV和SOC 之間的可逆關系獲取最優(yōu)值,待估計的向量初值如式(21)、式(22)所示。同時添加上一節(jié)設計的噪聲自適應過程,建立狀態(tài)自適應的并行卡爾曼濾波算法(adaptive dual extended Kalman filter,ADEKF),算法設計流程如圖4所示。
圖4 狀態(tài)自適應的雙卡爾曼濾波器流程Fig.4 State adaptive dual Kalman filter process
ADEKF 算法是考慮到了模型參數(shù)會隨著電池壽命的衰減而發(fā)生改變解決了系統(tǒng)的狀態(tài)估計與參數(shù)辨識問題,使鋰離子電池模型的參數(shù)獲取而不只能依賴離線辨識實驗,獨立的并行結構在保證信息純凈性的同時還能提高整個算法的估計精度和動態(tài)能力。同時,系統(tǒng)狀態(tài)傳遞方程與參數(shù)傳遞方程中噪聲的獨立統(tǒng)計使算法更加貼合實際使用的鋰離子電池的真實狀況而進行自適應調(diào)整。
噪聲自適應過程是依賴于個數(shù)為m的統(tǒng)計窗內(nèi)的歷史數(shù)據(jù),所以進行仿真的數(shù)據(jù)中前m個采樣周期的工作初期是DFFRLS 得到的模型3 個參數(shù),DFFRLS中的最小遺忘因子設置為0.96,然后根據(jù)電壓差的大小進行動態(tài)調(diào)整。本實驗的數(shù)據(jù)采樣周期為1 s,在進行估算之前首先要對設定算法初值。m值的設置是綜合考慮了樣本不宜過小和歷史樣本的影響,設置為150。同時,對于系統(tǒng)的參數(shù)噪聲是選用自適應的形式,測量噪聲與電池管理系統(tǒng)采集數(shù)據(jù)的能力決定,本實驗選定為R=0.0002,將待估計向量初值和噪聲的相關量代入到并行雙卡爾曼濾波結構,在每一次的時間更新中逐步實現(xiàn)整個車用鋰離子電池的在線SOC 估計,另外采用AEKF和DEKF 算法進行對比,驗證ADEKF 的有效性,對比驗證結果如圖5所示。
圖5 多種算法的SOC估計誤差Fig.5 SOC estimation error of multiple algorithms
由圖5可以看出,本文設計的ADEKF因考慮了參數(shù)衰減影響,比AEKF具有更高的準確性,3種算法都是基于EKF 進行改進,收斂速度差別不大,ADEKF的誤差均值為?0.0104,估算效果較好。
在電池管理系統(tǒng)實際應用中,可能會因為故障導致SOC 初值丟失,從而算法后續(xù)的估計誤差變大,所以希望能盡可能地降低初值對算法的影響。為進一步研究DAEKF 算法對SOC 初值的敏感度,故在自動設定的最優(yōu)SOC初值和人為設定SOC初值0.5 的兩種設置下,進行驗證算法的有效性和收斂性。圖6為在NEDC工程下不同初值、不同擱置條件下的估計效果,其中圖6(a)、(b)是在電池有擱置行為時測得數(shù)據(jù)下的SOC估計誤差,圖6(c)、(d)是在電池無擱置行為時測得數(shù)據(jù)下的SOC 估計誤差,擱置的目的是為了減少由于電化學極化和濃度極化產(chǎn)生的電壓,使電池內(nèi)部恢復平衡電位后再去測量電壓,電動汽車在運行時,電壓和電流的測量都是發(fā)生在無擱置的情況下,所以采用無電池擱置行為時測量的數(shù)據(jù)具有更高的工程實踐意義。
圖6 NEDC工況下的SOC估算誤差Fig.6 SOC estimation error under NEDC condition
根據(jù)所有的驗證結果圖可以看出,本文構建的并行卡爾曼濾波器可以在有、無擱置的情況下都具有很好的一致性和穩(wěn)定性,SOC 誤差均在2%左右,都能以較小的誤差估計電池的SOC,在初始參數(shù)設置不同的情況下算法都可以收斂,而且算法收斂速度較快,實時性較高。初值的人為設置值和有無擱置步驟對估計的準確度影響不大,滿足電池管理系統(tǒng)對實時性的要求。對濾波算法的噪聲進行自適應調(diào)整,在一定程度上擺脫了對先驗初值的依賴,從整體上提高濾波器對SOC 的估計效果。當基于電量安時積分法的SOC 估計方法具備對狀態(tài)傳遞協(xié)方差Q的匹配能力后,實現(xiàn)對噪聲的傳遞協(xié)方差矩陣實時更新,從而使得估計有更高的精度。對SOC 準確估計將有助于優(yōu)化電池管理系統(tǒng)能量管理功能,側面上很大程度地提高能量利用效率。
提高SOC 估計的準確性是電動汽車中的鋰離子電池安全管理的重要內(nèi)容。然而鋰離子電池很難建立精準模型,一方面是由于電池內(nèi)部是非線性系統(tǒng),需要將非線性問題轉(zhuǎn)化為線性問題;另一方面是由于在電池使用過程中,內(nèi)部參數(shù)和外界噪聲會隨時變化,模型預設值的不準確會影響精度。本文工作結論如下。
(1)基于電池工作原理,建立了一階等效電路模型,采用具有動態(tài)遺忘因子的FFRLS 在線求出模型的參數(shù)辨識和OCV 值,電路的回路方程將可測的電流、電壓數(shù)據(jù)與不可觀測的電池荷電狀態(tài)SOC 緊密聯(lián)系起來,為后續(xù)的SOC 估計奠定了模型基礎,辨識的OCV 值可反推出最優(yōu)的SOC初值。
(2)并行卡爾曼濾波估計框架根據(jù)模型內(nèi)阻與電池數(shù)據(jù)緊密的內(nèi)在關聯(lián)性,充分考慮了電池全壽命下量測模型的實時修正,能適應電池模型參數(shù)的衰減特性,使系統(tǒng)模型參數(shù)的獲取不只是依賴于相關的離線辨識實驗,具有參數(shù)的自動修正功能。
(3)相比標準EKF,AEKF利用電壓新息巧妙地將噪聲自適應問題變?yōu)樽畲笏迫缓瘮?shù)的求偏導問題,得到對應當前條件下的噪聲協(xié)方差,使用自適應估計方法遞推估計并修正了過程噪聲的統(tǒng)計特性參數(shù),提高了EKF估計算法的自適應容錯能力,結合并行卡爾曼濾波框架,SOC 估計精度最終達到2%以內(nèi)。