深入解析電池充電狀態 (SOC) 和運行狀態 (SOH) 估計技術

鋰電知識 發佈 2023-05-04T14:50:52.443019+00:00

基於鋰離子 電池單元的電池組廣泛用於各種應用,例如:混合動力汽車 、電動汽車 、可供日後使用的再生能源儲存以及用於各種目的的電網能源儲存。在這些應用中,測量電池單元的充電狀態 非常重要。

基於鋰離子 (Li-ion) 電池單元的電池組廣泛用於各種應用,例如:混合動力汽車 (HEV)、電動汽車 (EV)、可供日後使用的再生能源儲存以及用於各種目的(電網穩定性、調峰和再生能源時移等)的電網能源儲存。在這些應用中,測量電池單元的充電狀態 (SOC)非常重要。SOC定義為可用容量(單位為Ah),以額定容量的百分比表示。SOC參數可看作一個熱力學量,利用它可評估電池的潛在電能。估計電池的運行狀態 (SOH) 也很重要;SOH以新電池為比較標準,衡量電池儲存和輸送電能的能力。ADI公司的功率控制處理器ADSP-CM419是處理本文所討論的電池充電技術的處理器典範。


本文考察基於庫侖計數的SOC和SOH估計所用的算法,界定了庫侖計數的技術環境要求,並且概要闡述了SOC和SOH參數的估計方法,具體說來有庫侖計數法電壓法卡爾曼濾波器法,同時介紹了多種用於SOC和SOH估計的商業解決方案。此外,本文詳細說明了同類最佳的SOC和SOH估計算法,尤其是增強型庫侖計數算法、通用SOC算法和擴展卡爾曼濾波器算法。最後說明了評估程序及所選SOC和SOH算法的仿真結果。



電池SOC測量原理


確定電池SOC是一個很複雜的任務,與電池類型及其應用有關,所以近年來開展了許多旨在提高SOC估計精度的開發和研究工作。精確估計SOC是電池管理系統的主要任務之一,其有助於改善系統性能和可靠性,並且還能延長電池壽命。事實上,精密估計電池SOC可以避免意料之外的系統中斷,防止電池過度充電和放電(這可能導致電池永久損壞,具體取決於電池的內部結構)。然而,電池充電和放電涉及到複雜的化學和物理過程,在不同工作條件下精確估計SOC並不是輕而易舉的事。

測量SOC的一般方法是非常精確地測量所有工作條件下流入和流出電池組的電量(庫侖)和電流,以及電池組中各電池單元的電壓。然後利用此數據和先前加載的與被監測電池完全相同的電池組數據,得出SOC的精確估計。這種計算需要的其他數據包括:電池溫度、電池模式(測量時電池是充電還是放電)、電池年齡,以及從電池製造商那裡獲得的其他相關電池數據。有時候可以從製造商那裡獲得關於鋰離子電池在不同工作條件下的性能的特性數據。確定SOC之後,便由系統負責在後續運行中更新SOC,基本上就是計數流入和流出電池的電量(庫侖)。如果初始SOC的精度不夠高,或者受其他因素影響,比如電池自放電和漏電效應,那麼這種方法的精度可能無法令人滿意。



技術要求


為了測量典型儲能模塊的SOC和SOH,本文涉及一個庫侖計數評估平台的設計和開發。本文中的儲能模塊是24 V模塊,通常由7隻或8隻鋰離子電池組成。評估平台由以下部分構成:硬體系統,包括MCU及所需的接口和外設;嵌入式軟體,用於SOC和SOH算法實現;以及基於PC的應用軟體,用作用戶界面以進行系統配置、數據顯示和分析。

評估平台通過適當的ADC和傳感器周期性測量各電池單元的電壓值以及電池組的電流和電壓,並且實時運行SOC估計算法。此算法會使用測得的電壓和電流值、溫度傳感器收集到的和/或PC軟體程序提供的一些其他數據(例如來自資料庫的建造商規格)。SOC估計算法的輸出會被送到PC圖形用戶界面以供動態顯示和資料庫更新。



SOC和SOH估計方法概述


SOC和SOH估計主要使用三種方法:庫侖計數法、電壓法和卡爾曼濾波器法。這些方法適用於所有電池系統,尤其是HEV、EV和PV,下面幾節將分別討論這些方法。


01

庫侖計數法


庫侖計數法也稱為安培時計數和電流積分法,是計算SOC最常用的技術。這種方法通過電池電流讀數對使用時間的積分來計算SOC值,如下式所示:

其中,SOC(t0)為初始SOC,Crated為額定容量,Ib為電池電流,Iloss為損耗反應消耗的電流。

然後,庫侖計數法通過累計傳入或傳出電池的電荷來計算剩餘容量。這種方法的精度主要取決於對電池電流的精密測量和對初始SOC的精確估計。利用一個預知容量(可以是存儲器記憶的或通過工作條件初始估計的),電池的SOC可以通過充電和放電電流對運行時間的積分來計算。然而,可釋放的電荷總是少於充放電周期中儲存的電荷。換言之,充電和放電期間會有損耗。這些損耗加上自放電,會引起累計誤差。若要更精確地估計SOC,就必須考慮這些因素。此外,應當定期重新校準SOC,並應考慮可釋放容量的衰減以使估計更準確。


02

電壓法


電池的SOC(即其剩餘容量)可利用受控條件下的放電測試來確定。電壓法利用電池的已知放電曲線(電壓與SOC的關係)將電池電壓讀數轉換為等效SOC值。然而,由於電池的電化學動力學和溫度,電池電流對電壓的影響更嚴重。利用一個與電池電流成比例的校正項來補償電壓讀數,並使用電池開路電壓 (OCV) 與溫度的查找表,可以使這種方法更準確。由於電池需要一個穩定的電壓範圍,所以電壓法實現起來很困難。此外,放電測試通常包括一次連續充電,這太費時,故大多數應用不會考慮。還有一個缺點是測試期間需中斷系統功能(離線方法),這在庫侖計數法(在線模式)中可以避免。


03

卡爾曼濾波器法


卡爾曼濾波器是一種可估計任何動態系統內部狀態的算法,也可用來估計電池SOC。卡爾曼濾波器於1960年問世,用以提供最優線性濾波的遞歸解,適合處理狀態觀測和預測問題。與其他估計方法相比,卡爾曼濾波器可自動提供關於自身狀態估計的動態誤差界。通過電池系統建模以將所需的未知量(如SOC)包含在其狀態描述中,卡爾曼濾波器估計其值並給出估計的誤差界。然後,它便成為一個基於模型的狀態估計技術,利用誤差校正機制來提供對SOC的實時預測。它可以進行擴展,利用擴展卡爾曼濾波器可以提高其實時估計SOH的能力。特別是電池系統為非線性而需要線性化步驟時,應運用擴展卡爾曼濾波器。雖然卡爾曼濾波器是一種在線式動態方法,但它需要適當的電池模型和精確測定的參數;還需要大規模計算能力和精確的初始化。

有些文獻中還介紹了其他用於估計SOC的方法,例如阻抗譜法,這種方法基於電池單元阻抗測量,利用阻抗分析儀實時分析充電和放電情況。雖然這種技術可以用於鋰離子電池的SOC和SOH估計,但它基於儀器外部測量,故本文不予考慮。基於電解質物理特性和人工神經網絡的方法不適用於鋰離子電池。



如何選擇SOC和SOH估計方法


選擇合適的SOC估計方法時,應考慮多項標準。首先,SOC和SOH估計技術應可用於HEV和EV應用、可供日後使用的再生能源儲存、電網能源儲存所用的鋰離子電池。此外關鍵的一點是,所選方法應當是計算複雜度低、精度高(估計誤差低)的在線式實時技術。另外還要求估計方法使用電壓、電流測量值,以及溫度傳感器收集到的和/或PC軟體程序提供的其他數據。



增強型庫侖計數算法

為了克服庫侖計數法的缺點並提高其估計精度,有人已提出一種增強型庫侖計數算法來估計鋰離子電池的SOC和SOH參數。初始SOC從加載的電壓(充電和放電)或開路電壓獲得。損耗通過考慮充電和放電效率來補償。通過對工作電池的最大可釋放容量進行動態再校準,電池的SOH也可以同時估算出來。這又會進一步提高SOC估計的精度。



技術原理


工作電池的可釋放容量 (Creleasable) 是指其完全放電時釋放的容量。相應地,SOC定義為可釋放容量相對於製造商提供的電池額定容量 (Crated) 的百分比。

完全充滿的電池具有最大可釋放容量 (Cmax),其與額定容量可能不同。一般而言,新使用電池的Cmax與Crated會有一定的差異,並隨著使用時間的推移而衰減。它可以用於評估電池的SOH。

當電池放電時,放電深度 (DOD) 可表示為已放電容量相對於Crated的百分比,

其中,Creleased為電流放電的容量。

利用測得的充電和放電電流 (Ib),工作周期中的DOD差異可計算如下:

其中,充電時Ib為正值,放電時為負值。隨著時間流逝,DOD累加。

為了提高估計精度,需考慮工作效率(表示為ŋ),DOD表達式相應地變成:

ŋ在充電階段等於ŋc,在放電階段等於ŋd。

不考慮工作效率和電池老化時,SOC可表示為:

考慮SOH,SOC按下式估計:

圖1為增強型庫侖計數算法的流程圖。開始時,從相關存儲器中檢索已用電池的歷史數據。而新使用電池則無任何歷史信息可用,假設其SOH良好,值為100%,SOC通過測試開路電壓或加載電壓(取決於起始條件)來初步估計。

圖1. 增強型庫侖計數算法流程圖

估計過程基於對電池電壓 (Vb) 和Ib的監測。電池工作模式可通過工作電流的大小和方向得知。在放電模式下,DOD累加消耗的電荷;在充電模式下,DOD隨著積聚的電荷進入電池而遞減。用充電和放電效率校正之後,便可實現更精確的估計。然後從SOH中減去DOD量,便可估算出SOC。當電池開路,電流為0時,SOC直接從OCV與SOC的關係得出。

應注意,當電池完全耗盡或充滿時,可以重新評估SOH;電池的工作電流和電壓由製造商規定。放電期間,當加載電壓 (Vb) 小於下限 (Vmin) 時,說明電池耗盡。這種情況下,電池不能再使用,應當再次充電。同時,SOH值可以通過耗盡狀態時的累計DOD重新估算,從而重新校準SOH。另一方面,在充電期間,若 (Vb) 達到上限 (Vmax)且 (Ib) 降至下限 (Imin),則說明所用電池已完全充滿。通過累加充入電池的總電荷獲得新的SOH值,即可算出新的SOC值。實踐中,完全充滿和耗盡的狀態偶爾會出現。當電池經常充滿和徹底放電時,SOH評估的精度會提高。

由於計算簡單且硬體要求也不複雜,故除了電動汽車之外,所有可攜式設備都能輕鬆實現增強型庫侖計數算法。此外,在緊隨SOH重新評估之後的工作周期中,估計誤差可降低到1%。



確定初始SOC


電池有三種工作模式:充電、放電和開路。在充電階段,當電池以恆流恆壓 (CC-CV) 模式充電時,製造商通常會說明電池電壓和電流的變化。充電電流恆定時,電池電壓逐漸提高,直至達到閾值。一旦電池以恆壓模式充電,充電電流起先會迅速降低,然後緩慢減小。最後,當電池完全充滿時,充電電流趨於0。這一充電曲線在恆流階段可轉換為SOC與充電電壓的關係,在恆壓階段可轉換為SOC與充電電流的關係。充電期間的初始SOC可從這些關係推出。

在放電階段,電池以不同電流放電時的典型電壓曲線由製造商給出。隨著工作時間的流逝,終端電壓會降低。電流越大,終端電壓下降得越快,故而工作時間越短。這樣便可獲得不同電流下SOC與放電電壓的關係,進而推知放電階段的初始SOC。

開路階段需要OCV與SOC之間的關係。在斷開負載之前,電池以不同電流放電。如果休息時間很長,可以利用OCV來估計SOC。



充電和放電效率


電池的工作效率可通過庫侖效率來評估,庫侖效率定義為放電期間可從電池獲取的電荷數與充電期間進入電池的電荷數之比。注意,充電和放電效率的係數來自測試多個電池的平均值。

所有測試電池都以恆定最大速率充電到指定容量(其等於充電速率和充電時間的乘積),然後以恆定最小速率放電到截止電壓。充電效率定義為:

放電效率定義為兩個階段釋放的容量與一個放電周期的Cmax之比。所有測試電池都完全充滿,然後以兩階段電流曲線放電:先以指定電流放電到指定DOD,再以最小速率放電到截止電壓。放電效率的計算公式如下:

其中,I1、I2、T1和T2分別是第一和第二階段中的放電電流和持續時間。



通用SOC算法


本文提出的通用SOC算法適用於所有類型的電池,尤其是鋰離子電池。採用頻域中的線性系統分析(無電路模型),OCV基於採樣得到的終端電壓和電池放電電流來計算。由於OCV與SOC之間的映射關係是已知的,且SOC在一定寬度的時間窗口內是恆定的,同時電池是一個線性或弱非線性系統,所以知道OCV便可推出SOC。



數學表述


在每個時間窗口中,電池終端電壓v(t) 可分解為:

其中,vzi(t)為零輸入響應,對應於無放電電流的終端電壓;vzs(t) 為零狀態響應,對應於有放電電流的終端電壓;i(t) 為電壓源短路時的輸入;h(t) 為模擬電池的線性系統的脈衝響應。注意,等式12中卷積的有效性基於線性假設。

SOC在時間窗口0 ≤ t ≤ tw中推出;當t < 0時,放電電流始終為0。這裡假設在t = 0之前,電池斷開負載連接。隨後當窗口移動時,不再應用該假設。利用此假設並忽略自放電效應,零輸入響應便是OCV,即:

其中,u(t) 為單位階躍函數

首先應找出滿足以下關係的f(t):

其中,δ(t) 為狄拉克δ函數,即:

注意,f(t) 僅需在該窗口(等式15)中成立。

求解f(t) 的時間離散算法如算法1所示,其中n為窗口中的採樣點總數,t1、t2、…、tn為採樣時間點。核心概念是對樣本進行逆卷積運算。過程與利用初等變換求矩陣的逆矩陣相似。

有了f(t),vf(t) = f(t) × v(t) 便可計算如下:

其中uf(t) = f(t) × u(t)。

算法1. 計算f(t) 的算法

電池的頻域響應可視為有限的,根據終值定理,

相應地,

這意味著當使用一個大t時,h(t) 趨於0,vf(t)/uf(t) 是當前時間窗口中OCV的良好近似值。

推出OCV之後,便可獲得系統在當前時間窗口中的脈衝響應:

完成當前窗口中的OCV推導之後,在下一窗口中可重複相同的過程以推出OCV。



算法實現


在算法1中,運行時的瓶頸主要是求解f(t) × i(t) = δ(t) 以得出f(t) 的步驟以及接下來計算vf(t) = f(t) × v(t) 和uf(t) = f(t) × u(t) 的步驟。實際上,這兩步可合併為一步,因為並不需要明確算出f(t)。整個算法如算法2所示,其中n為一個窗口中的總採樣點數。

算法2. 合併解卷積和卷積步驟的算法

一旦得出OCV,SOC便可利用SOC與OCV的變化關係而推知。

該算法的時間複雜度為O(n2),其中n為樣本數。對不同電池類型和放電電流的實驗證明,SOC可以在線得出,誤差小於4%。



擴展卡爾曼濾波器算法


擴展卡爾曼濾波器可用來直接估計鋰電池組的SOC。假設電池OCV和SOC之間的關係是近似線性的,並且隨環境溫度而變化。這一假設與電池實際行為一致。電池建模為非線性系統,SOC定義為系統狀態,這樣便可運用擴展卡爾曼濾波器。



鋰離子電池模型


圖2所示為鋰電池組的等效電路模型。體電容 (Ccb) 代表電池組儲存容量,表面電容 (Ccs) 代表電池擴散效應。電阻 (Ri) 和 (Rt) 分別代表內部電阻和極化電阻。體電容和表面電容上的電壓分別用 (Vcb)和 (Vcs) 表示。電池組終端電壓和終端電流分別用 (V0) 和I表示。

圖2. 鋰離子電池組的等效電路模型

該電池模型需要的參數可由實驗數據確定,即在電池連續放電時通過注入電流脈衝來執行OCV測試。

圖2所示模型的特性受以下方程支配:

電池OCV和SOC之間的關係在實踐中只是分段線性的,故VCB可表示為:

其中,係數k和d不是恆定的,而是隨著電池SOC和環境溫度而變化。因此,

故最終系統方程可改寫如下:

由以上方程建模的電池系統是非線性的,需應用擴展卡爾曼濾波器技術。



擴展卡爾曼濾波器應用


擴展卡爾曼濾波器是卡爾曼濾波器針對非線性系統的擴展。利用擴展卡爾曼濾波器技術,在每個時間步進執行線性化過程,用線性時間變化系統近似模擬非線性系統。然後將該線性時間變化系統用在卡爾曼濾波器中,產生一個適用於真正非線性系統的擴展卡爾曼濾波器。像卡爾曼濾波器一樣,擴展卡爾曼濾波器也利用實測輸入和輸出來求出真實狀態的最小均方誤差估計值,其中假定過程噪聲和傳感器噪聲是獨立的零均值高斯噪聲。

在電池組系統方程28和29中,系統狀態定義為x1(t) = SOC且x2(t) = Vcs

輸入定義為u(t) = I,輸出為y(t) = V0。電池組系統方程28和29可改寫如下:

其中,x = [x1, x2]T

w和v不僅代表隨機擾動,而且代表參數d和k變化所引起的誤差。假定w和v均為獨立的零均值高斯噪聲過程,協方差矩陣分別為R和Q。

函數ff(x,u) 和g(x,u) 為:

如果函數f(x,u) 和g(x,u) 在每個樣本步進通過在當前工作點進行一階泰勒級數展開而線性化,則線性化模型為:

其中,

方程34和35所代表的模型可離散化為:

其中,Ad ≈ E + TcAk,Bd ≈ TcBk,E為單位矩陣,Tc為採樣周期,Cd ≈ Ck,Dd ≈ Dk。

卡爾曼濾波器是一種最優觀測器,其原理如圖3所示,即利用反饋調整所用模型的不確定變量,使估計輸出與實測輸出之間的實時誤差最小。通過這樣一種模型擬合,可以觀察到無法測量的模型參數。校正通過一個增益矢量K來加權,K可以校正濾波器的動態特性和性能。增益根據每次疊代時狀態和測量的誤差預測和不確定性(噪聲)來計算。濾波器動態控制則是基於狀態Q和測量R的噪聲矩陣的線性化,以及誤差協方差矩陣P的線性化。

圖3. 卡爾曼濾波器原理

卡爾曼濾波器算法如圖4所示,分為兩個階段:第一階段涉及矩陣P、Q和R的線性化,第二階段涉及觀測。在每個採樣間隔,觀測包括兩步。第一步,算法預測當前狀態、輸出和誤差協方差的值。第二步,利用物理系統輸出測量結果校正狀態估計和誤差協方差。

圖4. 卡爾曼濾波器算法

因此,應用擴展卡爾曼濾波器來獲得鋰電池組的SOC估計。此算法的計算複雜度為O(n3,其中n為測量次數。實驗結果顯示,本文提出的基於擴展卡爾曼濾波器的SOC估計方法很有效,可以精確估計電池SOC。它還可用來估計鋰離子電池組的SOH值。



SOC算法選擇


考慮到計算能力、所需精度、實時約束條件和系統環境等方面的應用要求,相比其他算法,增強型庫侖計數看起來更有優勢。事實上,它基於簡單的實時計算,不存在複雜的硬體約束條件。其複雜度明顯低於其他算法。此外,增強型庫侖計數算法的估計誤差很小,因此能夠提供合理的精度。再者,除了製造商提供的數據之外,此算法不需要其他額外信息。



增強型庫侖計數評估


本節將評估增強型庫侖計數算法以驗證其精度和性能。事實上,擴展卡爾曼濾波器顯然存在很高的計算複雜度和複雜的硬體要求,故而不適合應用。為了評估通用SOC算法,我們需要SOC與OCV的關係曲線,電池數據手冊並未提供此曲線。因此,必須獲得此曲線才能評估通用SOC算法。

上文已說明增強型庫侖計數的第一個評估步驟,接下來在處理電壓和電流的實際實驗測量值時將遇到其他高級步驟。



評估程序


通過增強型庫侖計數算法仿真獲得的SOC值,與依據電池數據手冊提供的充電和放電曲線推導出的實驗SOC值進行比較。充電和放電曲線也可以利用MATLAB的Simulink模型(MathWorks模型)重新產生;該模型是一個通用動態參數化模型,可代表大部分常用類型的可充電電池,尤其是鋰離子電池。



仿真結果


我們已利用MATLAB仿真工具在充電模式、放電模式以及充放電組合模式下測試了增強型庫侖計數算法。圖5中的藍色曲線代表實驗SOC,紅色曲線代表增強型庫侖計數算法所獲得的估計SOC。

圖5. 完整充電階段的實驗和估計SOC



充電模式


圖5顯示了一個完整充電階段的實驗SOC和利用增強型庫侖計數算法得到的估計SOC。在充電階段結束時,實驗值與估計值之間的最大誤差約為3.5%。重新評估SOH之後,該誤差會明顯降低。

圖6和圖7分別顯示了充電模式的CC和CV階段實驗和仿真SOC隨時間的變化。重新評估SOH值之前,在算法執行結束時,CC階段可獲得的最大估計誤差小於2%,CV階段小於1%。注意,在SOH重新評估(此時電池完全充滿)之前,估計誤差隨著算法運行時間的延長而提高。還有一點值得注意,那就是精確確定初始SOC對降低估計誤差非常重要。精確評估充電效率也能降低實驗SOC值和仿真SOC值之間的誤差。

圖6. CC充電階段的實驗和估計SOC

圖7. CV充電階段的實驗和估計SOC



放電模式


圖8和圖9分別顯示了完整放電階段和部分放電階段實驗和仿真SOC與電池終端電壓的關係。對於較長的完整階段,最大估計誤差不超過2%;對於較短的部分放電階段,最大估計誤差幾乎等於0。重新評估SOH值之前,在完整放電階段結束時,估計誤差達到最大值,並且其隨著算法運行時間的延長而提高。

圖8. 完整放電階段的實驗和估計SOC

圖9. 部分放電階段的實驗和估計SOC

另外還在充放電組合階段評估了增強型庫侖計數算法,這樣可以重現電池組的真實行為。經驗證,估計誤差通常很小 (<4%),足以確保SOC的實時精確估計,且不會干擾電池組運行。

關鍵字: