内部矩阵维度必须一致simulink_简单五步实现 MATLAB/Simulink 锂电池建模
鋰電池是目前在各個能源密集型行業(yè)中用途廣泛,例如新能源汽車、電力微網(wǎng)、航空航天等。電池模型的建立對研究電池的特性、SOC(state-of-charge)估計、SOH(state-of-health)估計、BMS算法開發(fā)以及電池系統(tǒng)的快速實時仿真有重要的意義。
等效電路建模,由于其簡單適用性,常常應(yīng)用在在系統(tǒng)級仿真和控制算法設(shè)計過程中。通過實驗數(shù)據(jù)采集、等效電路模型建立和數(shù)學(xué)優(yōu)化技術(shù),用相對簡單的RC等效電路可以模擬一個電芯。若干電芯模型通過不同類型的并串聯(lián)方法,形成電池包模型。在電池包模型內(nèi),也可加入熱電效應(yīng)仿真。
在上圖中,10 個電芯以 10S1P 的形式形成一個電池包(此處工具為 Simscape)。藍色的線表示電線連接,橙色的表示熱交換連接。在圖中電芯之間的熱交換形式為熱對流。
電芯的模型為下圖所示:R0 表示內(nèi)阻,R1C1 表示一對 RC,左邊的電壓源表示開路電壓(Em)。由于只有一對 RC,所以這是一階等效電路。
上圖表明,通過在一個不斷充放電的工況下的仿真,我們發(fā)現(xiàn)電芯 5 和電芯 6 有較高的溫度,而電芯 1 和電芯 10 溫度較低。原因是在串聯(lián)結(jié)構(gòu)中,位置處于中間的電芯散熱較差,而處于邊緣的電芯散熱較好。
鋰電池的型號多種多樣,比如鎳鈷錳三元材料 (NMC)、磷酸鐵鋰 (LFP) 等。每種電池的化學(xué)特征決定了各自不同的等效電路特征。等效電路的特征由如下兩個要點決定:
下一節(jié)中我們將討論如何獲取(估計)上述兩個要點數(shù)值。
鋰電池的老化對模型的影響也是電池模型研究的方向之一。找出模型的拓撲結(jié)構(gòu)和模型參數(shù)的改變趨勢,對于 SOH 的估計有很強的現(xiàn)實意義。本文將在第四章中討論電池老化對電池模型的影響。
被動均衡也是電池管理系統(tǒng)(BMS)的研究熱點之一,文末我們將給出一個被動均衡的示例供讀者參考。
◆ ◆ ◆ ◆
RC 等效電路的參數(shù)設(shè)計
脈沖放電法
RC 等效電路有物理意義的前提是電路中所有 RC 對和 R0 都必須完整地“經(jīng)歷過”一個放電周期。 右下圖所示的 RC 等效模型中,R0 表示一個放電循環(huán)中的“立即響應(yīng)”,RC 對表示一個放電循環(huán)中的“滯后相應(yīng)”。左下圖表示脈沖放電以及開路電壓(Em)的回穩(wěn)過程。 可以看到,在一個脈沖放電后,電芯通過“立即相應(yīng)”和“滯后響應(yīng)”再靜置一段時間后得到的穩(wěn)定的開路電壓。通常來說靜置時間為 1 小時以上為佳。
脈沖放電的一個脈沖使得 10%(一個比較合適的百分比)的 SOC 下降,靜置等待開路電壓回穩(wěn)。此處,10% SOC 的下降為一個估計值,假設(shè)一個電池容量為 100mAH,那么我們放電 10% 即 10mAH,如果放電倍率為 1C,分 10 次放完。那么單個脈沖放電時間為 1 小時 * 10% = 6 分鐘。
如此重復(fù)多次(避免 SOC 為極限低點而損害電池),得到完整的脈沖放電曲線,我們就可以得出 RC 對、R0 和 Em 估計所需要的實驗數(shù)據(jù)。
在某一溫度下完整的放電曲線
由于鋰電池對溫度敏感,上述放電實驗可以在多個溫度下進行。加入溫度的影響后,建模的任務(wù)就是要根據(jù)多個溫度下放電數(shù)據(jù),估計出 R0,RC 和 Em。它們在模型的表現(xiàn)形式均是一個二維的 Look-Up Table。
R0, R1, C1, Em = f(SoC, T)
電池模型參數(shù)估計的步驟
步驟一:確定RC 階數(shù)
很多人理解為,RC 階數(shù)越多越準(zhǔn)確。這個是錯誤的觀點,因為過多的 RC 階數(shù)會讓數(shù)學(xué)優(yōu)化過程變得計算量過大;也有可能會造成過擬合現(xiàn)象,即將數(shù)據(jù)中的噪聲數(shù)據(jù)也擬合出來。這樣的數(shù)學(xué)模型沒有意義。
正確的 RC 階數(shù)取決于:放電靜置回穩(wěn)后的那段指數(shù)曲線。
由于 RC 之積 Tau 的單位為時間。線段的長度為時間。該線段的函數(shù)表達式為:
如果為一個三階函數(shù),我們可以用 MATLAB 的曲線擬合工具箱去擬合:
y = 1c - a*exp(-b*x) - d*exp(-e*x) - f*exp(-g*x)
有了這個基本思路,我們就可以從一階開始逐步用 MATLAB 做曲線擬合,直至符合要求為止。
步驟二:構(gòu)建參數(shù)估計模型(基于某一溫度)
根據(jù)上一小節(jié)的原則確定模型階數(shù)以后,我們可以用 Simulink/Simscape 來構(gòu)建電芯參數(shù)估計模型。此處 C1、R1、R0、Em 都是基于 SOC 的 Look-Up Table。
步驟三:參數(shù)估計和驗證
參數(shù)估計的輸入為某一溫度下的放電數(shù)據(jù),輸出為 Em、RC、R0 等參數(shù)的 Look-Up Table(一維)。
Simulink Design Optimization 可以根據(jù)輸入數(shù)據(jù),選擇不同的算法進行參數(shù)估計,目的是仿真曲線和實驗曲線誤差最小。
參數(shù)估計有幾種優(yōu)化算法可選:
- Gradient descent
- Non-linear least squares
- Pattern search
- Simplex search
其中 Non-linear least squares 比較常用,但容易找到非全局優(yōu)化點。Pattern search 為全局優(yōu)化,適合初學(xué)者。
在參數(shù)估計結(jié)束之后,可以做實際工況數(shù)據(jù)對模型的驗證工作。所謂驗證就是用實際的電池運行數(shù)據(jù)(同一溫度下)來校驗得到的等效模型。如果誤差很小,那么表示該模型真實可用。例如:下圖的黃色(仿真)和紫色(實測)的數(shù)據(jù)基本一致。
很多人抱怨在參數(shù)估計中由于計算量過大,導(dǎo)致運行速度很慢,這里給出兩個小技巧可顯著加快估計速度:
- 選擇并行多核加速
- 打開“Fast Restart”開關(guān)
步驟四:在多個溫度下建立電芯模型
剛才我們的等效電路模型中,RC、R0、Em 等經(jīng)過參數(shù)估計,得出的實際上是一維的 Look-Up Table(維度為SOC),那么我們可以通過設(shè)計多個溫度下(例如 5、20、40 攝氏度)的:
- 脈沖放電實驗
- 參數(shù)估計
將“溫度”這個緯度加入到等效電路中,最終形成二維的 Look-Up Table。即完整的具有溫度和 SOC 屬性的電芯模型。
R0, R1, C1, Em = f(SoC, T)
步驟五:形成電池包模型
在單個電芯模型建立完成后,可通過不同的串并聯(lián)線路將電芯形成電池包模型。電池包模型可以用來仿真熱效應(yīng)、電芯均衡或者其他應(yīng)用場景。
◆ ◆ ◆ ◆
電池老化對電池模型的影響
老化對電池的影響不可忽視,老化的影響應(yīng)該被反映到電池模型。為了研究這一課題,MathWorks 和其他廠商的工程師設(shè)計了為期 13 個月的老化實驗:
為了加速老化過程,工程師選擇在 40 度的溫度下做 UDDS 的駕駛循環(huán)測試,每隔 15 星期記錄下變化的數(shù)據(jù),并做等效模型的建立和參數(shù)估計,試圖通過這一過程發(fā)現(xiàn)模型拓撲和參數(shù)變化的規(guī)律。
電路拓撲的變化
0 周時候的電路拓撲
15、45 周時候的電路拓撲
實驗顯示:在電池未老化的時候(0 周),用 3 階等效電路模型可以反映電池特性。
在電池老化后期,用 5 階等效電路模型可以反映電池特性。
電池參數(shù)的變化
實驗顯示,電池老化對等效電路參數(shù)的影響為:
BMS 設(shè)計者如果能在控制器中建立一個內(nèi)部的電池模型,通過參數(shù)規(guī)律和數(shù)值的估計,將有助于 SOH 的估計策略。
◆ ◆ ◆ ◆
被動均衡模型示例
均衡策略是 BMS 的一部分,目前實際應(yīng)用較多的是被動均衡策略。
上圖給出了一個被動均衡的示例模型,三個電芯組成的電池包在狀態(tài)機(Stateflow)的邏輯驅(qū)動下控制 MOSFET 電路開關(guān)對各個電芯進行電壓均衡。
MathWorks 有能力為廣大電池(或 BMS)企業(yè)提供各種咨詢服務(wù),咨詢服務(wù)可包括:BMS 開發(fā) MBD 咨詢、電池模型建立咨詢、流程改進咨詢(以 ISO26262 為例)。
總結(jié)
以上是生活随笔為你收集整理的内部矩阵维度必须一致simulink_简单五步实现 MATLAB/Simulink 锂电池建模的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进程间通信——使用共享内存
- 下一篇: 数据集特征提取_基于PCA算法实现鸢尾花