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