精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

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

令非線性系統的離散狀態方程和觀測方程如下式所示:

圖片

式中,xk表示系統在k時刻的狀態向量,yk表示系統在k時刻的觀測向量,uk表示系統在k時刻的輸入向量,f(xk,uk)表示系統的狀態轉移函數,g(xk,uk)表示系統的測量函數,wk是系統的過程噪聲,其協方差是Qk,vk是系統的觀測噪聲,其協方差是Rk。

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

圖片

式中,Ak表示系統參數矩陣,Ck表示觀測系統參數矩陣。

得到系統的離散表達式后,可利用EKF算法進行狀態估計。

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;

通過具體的參數辨識結果,結合EKF算法對SOC進行估計,需要將電池的兩個RC環節的端電壓以及SOC作為系統的狀態變量。

SOC_upd= X_upd(1);

U1_upd= X_upd(2);

U2_upd= X_upd(3);

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

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函數求導關系式

H= [C1 -1 -1];

同時,OCV-SOC的關系可表示為:

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);   %觀測噪聲
%%
%狀態方程系數
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)];

得到基于電池模型的離散狀態空間方程后,結合擴展卡爾曼濾波算法,基于Simulink仿真,搭建電池SOC估算模塊。通過EKF算法對電池SOC估算,首先根據隨機工況定義系統的狀態變量初值,以及恰當的噪聲協方差矩陣Qk和Rk的值。然后,基于EKF算法通過k-1時刻系統狀態估計值和k時刻系統的輸入值uk,觀測值yk,估計出k時刻的狀態估計值。

圖片

圖片

圖片

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電動汽車
    +關注

    關注

    156

    文章

    11950

    瀏覽量

    230578
  • 動力電池
    +關注

    關注

    113

    文章

    4514

    瀏覽量

    77480
  • simulink仿真
    +關注

    關注

    0

    文章

    75

    瀏覽量

    8562
  • 卡爾曼濾波算法

    關注

    0

    文章

    12

    瀏覽量

    2101
  • 電池SOC
    +關注

    關注

    0

    文章

    10

    瀏覽量

    3584
收藏 人收藏

    評論

    相關推薦

    基于Matlab/Simulink二階控制系統仿真研究

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

    二階鎖相環

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

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

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

    二階RC有源濾波器的設計

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

    基于遺傳算法優化EKF算法SOC估算

    采用遺傳算法EKF 中的系統噪聲矩陣和測量矩陣的協方差進行在線優化,以實現在模型誤差最小時對 SOC 進行在線估計
    發表于 03-12 12:27

    二階RC濾波結構

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

    二階網絡函數的模擬

    二階網絡函數的模擬 一、實驗目的1.了解二階網絡函數的電路模型。2.研究網絡參數的變化對其輸出響應的影響。3.用基
    發表于 09-24 11:22 ?1.7w次閱讀
    <b class='flag-5'>二階</b>網絡函數的模擬

    二階RC濾波器的傳遞函數表

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

    二階電路的零輸入響應

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

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

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

    鋰離子電池荷電狀態估算

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

    復雜水電系統二階振蕩模式

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

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

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

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

    本文以鋰離子電池為研究對象,選取Thevenin模型描述電池的動態行為,基于脈沖充放電數據,對電池模型進行參數辨識。
    的頭像 發表于 06-28 11:24 ?2876次閱讀
    基于<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>研究

    基于自適應卡爾曼濾波算法電池SOC估算研究

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