疫情雖然在國內有好轉,但國外的確診病例卻一路飆升,友情提醒:出門戴口罩,不聚集,勤洗手,房間多通風。
大家好!轉眼又過了一周,很高興又跟大家見面啦!本篇文章是【BMS 算法設計】系列文章的第五篇,也是最後一篇。本期主要內容是對前幾篇介紹的電池SOC 估算方法做一個小結。以後會開啟新的話題,比如SOH算法等。我們一起來學習吧!
先放一張各種SOC算法估算的優勢和局限性的對比圖。
定性分析
為了優化我們的電池關係系統,我們需要給電池找到一個精確的模型。由於具有靈活的性質和表述動態情況的能力,等效電路模型已經被很多的科研人員改編了。考慮到電池動態響應的能力和較少的複雜性模型,我們可以認為二階RC等效電路模型是最合適的。前面的文章提到過二階RC等效電路模型(見下圖),通常可控電壓源表示隨SOC非線性變化的OCV,RC並聯網絡代表極化響應,Rq歐姆電阻代表電解液的電阻。RC 網絡的增加改進了電池動態行為的表示,但模擬起來也更複雜了。
由於二階ECM 中的OCV 隨著SOC 非線性變化,因此在確立上述參數時,我們有必要把電池SOC看做仿真過程的輸入。所以電池系統的建模要包含適當的SOC 估算方法。當我們選好其中一種方法後,隨之的電池動態建模也必須要保留。採用基於模型的SOC 估算方法來估算SOC 並在同一過程中更新OCV,或者採用非模型法估算SOC並將估算的SOC作為ECM的輸入,都可以實現採用適當的SOC估算方法來更新ECM中的OCV(可控電壓源)。最常用的基於模型的SOC技術就是卡爾曼濾波算法,包括 EKF, UKF, CKF 以及PF 算法。該算法由估算器和電池模型組成。前幾篇文章中提到的其他算法是非ECM基礎方法,通常使用物理參數,數學或者人工智慧算法。
我們要考慮的最重要的因素是鋰離子電池的熱性能以及它如何影響電池的性能。從電池壽命退化或者電池性能方面來看,電池的內阻和電池容量受到溫度分布的影響。此外,溫度還影響往返的效率、電化學反應操作和電荷的接受度。因為電池的SOC和ECM參數隨著溫度的變化而變化,因此我們也要考慮那些變異。有一種方法是把溫度作為估算SOC的一個輸入,但是僅僅是環境溫度是不夠的,因為我們有必要去建立一個熱生成和熱傳遞(傳導,對流,輻射)的模型來精確的代表電池的熱行為。最廣泛使用的熱模型就是集成電容模型(見下圖)。
此模型中,Pth代表了電池內部生成的熱。Rth,Rgen,Cth代表電池內阻,對流換熱和熱電容。由於熱行為用與電有關的元素表示,因此這三個因素同樣也取決於電池的電流,SOC 和電池內部的溫度。因此,我們也可以用下面的圖片來表示上述提到的二階RC等效電路。
當熱模型和ECM模型聯合時,電池模型的複雜度就增加了。為了實現此目標,本篇文章中推薦大家使用比較簡單的SOC估算算法。
由於KF 算法適用於線性系統,EKF, UKF 和CKF 可以被認為是最佳的估算非線性系統的狀態估算器,比如鋰離子電池系統。KF 方法的優點是不需要在意初始化的SOC誤差,但是缺點也很明顯——高計算成本和高複雜度。因為這些方法都包含了複雜的矩陣運算,所以我們很難在普通的MCU 中實現此種算法。同時,他們也有自身的限制,比如:線性化的誤差和由於測量噪聲導致的不確定性。儘管在考慮ECM時候將溫度作為輸入來進行估算,但是KF 方法沒有考慮到熱生成和熱傳遞。因此電池的電熱模型運用KF方法來估算SOC和更新OCV 需要考慮時間成本和計算成本。
神經網絡方法表現出的局限性,比如由於過度訓練而導致的錯誤先前樣本數據集對當前數據集的影響以及存在太多的神經元。由於過度的神經元的存在而導致過度擬合的風險增加,而有限的神經元將會沒有辦法擬合數據。神經網絡算法需要大量計算以及要訓練的大量數據;
模糊邏輯算法要求很高的計算成本,專業知識和明確的模糊規則;
支持向量機算法展示了優於神經網絡算法的優勢,包括不需要去選擇神經元的數量,不需要識別神經元的網絡拓撲和較少的擬合過程。此外,兩個神經網絡方法和支持向量機方法只在很定電流下才會有一個很好的結果。在動態的情況下,估算出的結果比較差,甚至誤差在不可接受的範圍內。
因此基於非模型(直接測量)的方法更合適,其中包括OCV 和庫侖計數法被廣泛採用。但是這些估算方法會產生不準確的結果。因此,建議大家採用庫倫計數法和OCV方法結合的辦法來估算電池SOC。庫侖計數法的局限性可以通過採用高精度的電流傳感器來克服,並且計算初始化的SOC可以採用OCV-SOC方法來得到初始化的SOC值。下圖是一個展示所建議的估算方法的框圖:
輸入參數是環境溫度、電流和OCV。初始化SOC 值通過OCV-SOC方法(SOC值用三維表格來存儲)估算。計算的SOC值是電池電熱模型的輸入。在之前的電熱模型中電流,SOC,OCV,和內部的溫度是二階RC模型的輸入;內阻,電流,熱參數和熵係數是熱模型的輸入。
定量分析
我們對使用間接方法(以庫侖計數法為參考)計算出的SOC估算值的誤差為參考。當我們使用庫侖計數法計算SOC的值時,為了消除積分誤差,需要使用高精度的電流傳感器。為了執行定量分析,我們可以對鋰離子電池(比如磷酸鐵鋰)在不同的溫度下(0~60℃)和電流曲線下進行測試。
在神經網絡方法中,強調RMS(均方根)誤差在4%以內,但是在某些溫度下(10~50℃)的最大誤差可能大於10%。一般誤差呈現在SOC的中間範圍(30%~80%)。最重要的事實是,由於神經網絡的過度擬合,我們是無法通過增加神經元或者隱藏層的數量解決這個問題的。作為不同的方法,將神經網絡法得到的SOC曲線與庫侖計數法得到的SOC曲線進行比較,得到了電流擾動響應項。在沒有電流擾動的正常處境下,小於0.006%的RMS誤差是可接受的,但是在有電流擾動的動態處境下,即使估算的SOC 收斂到一段時間後的參考值,但在擾動時刻的偏差仍然處於比較大的水平。
在支持向量機的方法中,正常條件下,RMS誤差超過5%時,最大的誤差大約是15%。對於動態處境來說,誤差大約是2.5%的時候最大誤差差不多是13%。
在模糊邏輯方法中,RMS的誤差大約是5%。
在EKF 的方法中,RMS誤差根據採用的電池模型的不同而變化。以戴維南模型為例子,小於0.6%的誤差是可接受的。對於二階RC等效電路來說,RMS值接近於0.75%時,最大誤差接近於2%。
結語
本系列文章主要介紹了鋰電子電池SOC的各種估算方法。綜合上述各種方法的優勢和局限性,建議在算法實現的過程中還是採用兩種間接測量方法的組合——OCV和庫侖計數法。
以上就是本期對SOC 估算算法的總結,關於BMS算法設計之SOC估算方法的所有介紹到這裡就告一段落了。下期開始,將為大家講述下SOH算法的基本知識,我們下期再見啦!
參考資料:知網、Energy期刊、相關書籍等