0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Simulink搭建二階RC的EKF算法電池SOC估算模型

冬至子 ? 來源:新能源汽車仿真團隊 ? 作者:當(dāng)我浮夸 ? 2023-06-29 11:09 ? 次閱讀

目前國內(nèi)外基本都采用SOC來作為描述動力電池容量狀態(tài)的內(nèi)部參數(shù)。電池SOC估計是否準(zhǔn)確對于電池來說關(guān)系重大,會直接影響動力電池使用壽命和電動汽車的行駛里程。但是電池SOC卻很難在使用中直接測量得到,只能通過其它可以直接測量的電池參數(shù)估算得到。這就提高了SOC估計的難度,也使如何精準(zhǔn)估計電池SOC成為了當(dāng)下動力電池領(lǐng)域的研究熱點。

卡爾曼濾波算法是有效的、經(jīng)典的智能算法,能夠?qū)崿F(xiàn)最小方差的最優(yōu)狀態(tài)估計,目前被廣泛應(yīng)用于許多工程領(lǐng)域。由于其具有較好的估計精度和時效性,結(jié)合基爾霍夫定律搭建的二階RC模型一起使用,已逐漸成為電池SOC估算研究領(lǐng)域的熱點方法??紤]到卡爾曼濾波算法只適用于線性系統(tǒng),應(yīng)用到電池SOC中需要對其進行擴展,即擴展卡爾曼濾波算法(Extended Kalman Filter,EKF)。EKF算法的內(nèi)涵:通過泰勒級數(shù)展開并忽略高次項的方法對非線性系統(tǒng)進行改造。

令非線性系統(tǒng)的離散狀態(tài)方程和觀測方程如下式所示:

圖片

式中,xk表示系統(tǒng)在k時刻的狀態(tài)向量,yk表示系統(tǒng)在k時刻的觀測向量,uk表示系統(tǒng)在k時刻的輸入向量,f(xk,uk)表示系統(tǒng)的狀態(tài)轉(zhuǎn)移函數(shù),g(xk,uk)表示系統(tǒng)的測量函數(shù),wk是系統(tǒng)的過程噪聲,其協(xié)方差是Qk,vk是系統(tǒng)的觀測噪聲,其協(xié)方差是Rk。

對f(xk,uk)和g(xk,uk)進行泰勒級數(shù)展開后線性處理得到的系統(tǒng)狀態(tài)空間方程為:

圖片

式中,Ak表示系統(tǒng)參數(shù)矩陣,Ck表示觀測系統(tǒng)參數(shù)矩陣。

得到系統(tǒng)的離散表達式后,可利用EKF算法進行狀態(tài)估計。

X_pre= [SOC_pre;U1_pre;U2_pre];

K=P_pre H' ((HP_preH'+R)^(-1));

X_upd= X_pre + K*(UL_ob-UL_pre);

P_update= (eye(3) - K*H)*P_pre;

通過具體的參數(shù)辨識結(jié)果,結(jié)合EKF算法對SOC進行估計,需要將電池的兩個RC環(huán)節(jié)的端電壓以及SOC作為系統(tǒng)的狀態(tài)變量。

SOC_upd= X_upd(1);

U1_upd= X_upd(2);

U2_upd= X_upd(3);

電池負(fù)載端電壓為輸出變量,對電池模型狀態(tài)空間方程和觀測方程進行離散化處理,得到電池系統(tǒng)離散化表達式:

A=[10 0;0 exp(-1/Tao1) 0;0 0 exp(-1/Tao2)];

B=[-11/(2.6763600);rp1*(1-exp(-delta_t/(rp1 cp1)));rp2 (1-exp(-delta_t/(rp2*cp2)))];

C1=8.3085SOC_pre^8-121.5774SOC_pre^7+402.8993SOC_pre^6-597.0354SOC_pre^5+463.6147SOC_pre^4-192.8896SOC_pre^3+40.3829SOC_pre^2-2.9747SOC_pre+3.4805; % 備注:OCV-SOC函數(shù)求導(dǎo)關(guān)系式

H= [C1 -1 -1];

同時,OCV-SOC的關(guān)系可表示為:

OCV=8.3085SOC^8-121.5774SOC^7+402.8993SOC^6-597.0354SOC^5+463.6147SOC^4-192.8896SOC^3+40.3829SOC^2-2.9747SOC+3.4805;

function [U1_pre,U2_pre,Tao1,Tao2]= fcn(R1,R2,C1,C2,U1_upd,U2_upd,I)
Tao1 = R1*C1;
Tao2 = R2*C2;
U1_pre = U1_upd*exp(-1/Tao1) + R1*I*(1-exp(-1/Tao1));
U2_pre = U2_upd*exp(-1/Tao2) + R2*I*(1-exp(-1/Tao2));
function [P_upd,SOC_upd,U1_upd, U2_upd] = fcn(Noise, UL_ob, UL_pre, P_old, SOC_pre, U1_pre,U2_pre, Tao1,Tao2)


Q = Noise(1);   %過程噪聲
R = Noise(2);   %觀測噪聲
%%
%狀態(tài)方程系數(shù)
A=[1 0 0;0 exp(-1/Tao1) 0;0 0 exp(-1/Tao2)];
B=[-1*1/(2.676*3600);rp1*(1-exp(-delta_t/(rp1*cp1)));rp2*(1-exp(-delta_t/(rp2*cp2)))];


P_last = [P_old(1) P_old(2) P_old(3); P_old(4) P_old(5) P_old(6); P_old(7) P_old(8) P_old(9)];
P_pre = A*P_last*A' + [Q 0 0;0 Q 0;0 0 Q];
%%
fn=@(x) 8.3085*x^8-121.5774*x^7+402.8993*x^6-597.0354*x^5+463.6147*x^4-192.8896*x^3+40.3829*x^2-2.9747*x+3.4805;
syms t1;
g=fn(t1);
g=matlabFunction(diff(g));


C1 = 8.3085*SOC_pre^8-121.5774*SOC_pre^7+402.8993*SOC_pre^6-597.0354*SOC_pre^5+463.6147*SOC_pre^4-192.8896*SOC_pre^3+40.3829*SOC_pre^2-2.9747*SOC_pre+3.4805;


H = [C1 -1 -1];
%% 
X_pre = [SOC_pre;U1_pre;U2_pre];
K=P_pre*H'*((H*P_pre*H'+ R)^(-1));%計算卡爾曼增益
X_upd = X_pre + K*(UL_ob-UL_pre);
P_update = (eye(3) - K*H)*P_pre;


%%
SOC_upd = X_upd(1);
U1_upd = X_upd(2);
U2_upd = X_upd(3);
P_upd = [P_update(1,1) P_update(1,2) P_update(1,3) P_update(2,1) P_update(2,2) P_update(2,3) P_update(3,1) P_update(3,2) P_update(3,3)];

得到基于電池模型的離散狀態(tài)空間方程后,結(jié)合擴展卡爾曼濾波算法,基于Simulink仿真,搭建電池SOC估算模塊。通過EKF算法對電池SOC估算,首先根據(jù)隨機工況定義系統(tǒng)的狀態(tài)變量初值,以及恰當(dāng)?shù)脑肼晠f(xié)方差矩陣Qk和Rk的值。然后,基于EKF算法通過k-1時刻系統(tǒng)狀態(tài)估計值和k時刻系統(tǒng)的輸入值uk,觀測值yk,估計出k時刻的狀態(tài)估計值。

圖片

圖片

圖片

從圖中可以看出,估計曲線非??焖俚乇平秸嬷蹈浇?。說明該算法可以快速對初值偏差進行修正。即使在初值不清楚的情況下,依然能給出較為準(zhǔn)確的SOC估計值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電動汽車
    +關(guān)注

    關(guān)注

    155

    文章

    11882

    瀏覽量

    229655
  • 動力電池
    +關(guān)注

    關(guān)注

    113

    文章

    4511

    瀏覽量

    77389
  • simulink仿真
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    8550
  • 卡爾曼濾波算法
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    2098
  • 電池SOC
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    3579
收藏 人收藏

    評論

    相關(guān)推薦

    基于Matlab/Simulink二階控制系統(tǒng)仿真研究

    為了研究二階控制系統(tǒng)的性能,討論了二階控制系統(tǒng)參數(shù)ζ和ωn與單位階躍響應(yīng)的關(guān)系,并介紹了基于Matlab/Simulink軟件仿真環(huán)境,在單位階躍信號作用下,利用仿真實例很好地實現(xiàn)了對二階
    發(fā)表于 02-12 11:16 ?4.2w次閱讀
    基于Matlab/<b class='flag-5'>Simulink</b>的<b class='flag-5'>二階</b>控制系統(tǒng)仿真研究

    二階鎖相環(huán)

    采用后向Euler數(shù)值積分法實現(xiàn)二階鎖相環(huán)的一個仿真模型,對二階鎖相環(huán)進行仿真,那位大俠做過?可以參考下原代碼不?
    發(fā)表于 05-28 17:21

    二階有源RC低通濾波器的分析

    二階有源RC低通濾波器的分析
    發(fā)表于 08-18 15:57

    二階RC有源濾波器的設(shè)計

    電子技術(shù)課程設(shè)計報告(二階RC有源濾波器的設(shè)計) 目錄第一章 設(shè)計任務(wù)與要求……………………………………………………………31.1 設(shè)計任務(wù)
    發(fā)表于 02-25 22:01

    基于遺傳算法優(yōu)化EKF算法SOC估算

    采用遺傳算法EKF 中的系統(tǒng)噪聲矩陣和測量矩陣的協(xié)方差進行在線優(yōu)化,以實現(xiàn)在模型誤差最小時對 SOC 進行在線估計
    發(fā)表于 03-12 12:27

    二階RC濾波結(jié)構(gòu)

    請問第一幅圖中二階RC濾波為什么要4個電阻,下邊的那兩個電阻起什么作用?
    發(fā)表于 03-12 19:15

    二階網(wǎng)絡(luò)函數(shù)的模擬

    二階網(wǎng)絡(luò)函數(shù)的模擬 一、實驗?zāi)康?.了解二階網(wǎng)絡(luò)函數(shù)的電路模型。2.研究網(wǎng)絡(luò)參數(shù)的變化對其輸出響應(yīng)的影響。3.用基
    發(fā)表于 09-24 11:22 ?1.7w次閱讀
    <b class='flag-5'>二階</b>網(wǎng)絡(luò)函數(shù)的模擬

    二階RC濾波器的傳遞函數(shù)表

    二階RC濾波器的傳遞函數(shù)表
    發(fā)表于 05-08 08:53 ?1.3w次閱讀
    <b class='flag-5'>二階</b><b class='flag-5'>RC</b>濾波器的傳遞函數(shù)表

    二階電路的零輸入響應(yīng)

    二階電路的零輸入響應(yīng) 凡用二階微分方程描述的電路,稱為二階電路。二階電路中含有兩個獨立的儲能元件。本節(jié)以
    發(fā)表于 07-27 11:35 ?1w次閱讀
    <b class='flag-5'>二階</b>電路的零輸入響應(yīng)

    二階有源低通濾波器_最簡單的二階低通濾波器電路圖

    從濾波器數(shù)可分為一和高階,數(shù)越高,幅頻特性越陡峭,高階濾波器通常可由一二階濾波器級聯(lián)而成。一
    發(fā)表于 07-24 15:41 ?21.7w次閱讀
    <b class='flag-5'>二階</b>有源低通濾波器_最簡單的<b class='flag-5'>二階</b>低通濾波器電路圖

    鋰離子電池荷電狀態(tài)估算

    準(zhǔn)確估算電池荷電狀態(tài)( SOC)是電池管理系統(tǒng)的核心技術(shù)之一。為提高擴展卡爾曼濾波(EKF估算
    發(fā)表于 12-29 14:15 ?4次下載
    鋰離子<b class='flag-5'>電池</b>荷電狀態(tài)<b class='flag-5'>估算</b>

    復(fù)雜水電系統(tǒng)二階振蕩模式

    針對水電站產(chǎn)生機理不明的低頻振蕩問題,采用模態(tài)級數(shù)法研究水電站二階振蕩模式。首先,給出考慮復(fù)雜水力系統(tǒng)耦合和水力管道彈性的詳細(xì)水電站模型。然后基于模態(tài)記數(shù)法給出二階振蕩模式及非線性指標(biāo)。最后,以兩機
    發(fā)表于 01-27 10:32 ?12次下載
    復(fù)雜水電系統(tǒng)<b class='flag-5'>二階</b>振蕩模式

    BMS算法設(shè)計之SOC估算方法的介紹(

    大家好!很高興又跟大家見面啦,本篇文章是【BMS 算法設(shè)計】系列文章的第篇。本期主要介紹的是電池SOC 估算方法中的第一種方法——直接
    的頭像 發(fā)表于 12-25 20:02 ?1414次閱讀

    基于EKF算法電池SOC估算研究

    本文以鋰離子電池為研究對象,選取Thevenin模型描述電池的動態(tài)行為,基于脈沖充放電數(shù)據(jù),對電池模型進行參數(shù)辨識。
    的頭像 發(fā)表于 06-28 11:24 ?2748次閱讀
    基于<b class='flag-5'>EKF</b><b class='flag-5'>算法</b>的<b class='flag-5'>電池</b><b class='flag-5'>SOC</b><b class='flag-5'>估算</b>研究

    基于自適應(yīng)卡爾曼濾波算法電池SOC估算研究

    本文采用自適應(yīng)卡爾曼濾波算法,基于Thevenin/RC電池模型,鋰離子電池SOC進行
    的頭像 發(fā)表于 06-28 11:45 ?3227次閱讀
    基于自適應(yīng)卡爾曼濾波<b class='flag-5'>算法</b>的<b class='flag-5'>電池</b><b class='flag-5'>SOC</b><b class='flag-5'>估算</b>研究