安時積分法是電池電量計量最基礎的方法,今天我們用simulink建模的方式做一個安時積分模型,從而更好地理解安時積分的思想也掌握建模的基礎操。
新建文件
定義變量
和手寫代碼一樣,先定義幾個后面要用到的變量,在simulink建模時新建變量用Data Store Memory模塊。雙擊填入要定義的變量名,然后在signal attributes賦初值
如此方法新建四個變量current(電流)初值1000mA、tatol_cap(總容量)初值2Ah、now_cap(當前容量)初值3600、soc(電量);
當鼠標放置在Data Store Memory模塊上時左右兩邊會出來兩個箭頭,按住鼠標拖動左邊的箭頭可以出來Data Store Write也就是寫變量給變量寫入一個值,拖動右邊的箭頭可以出來Data Store Read即讀出變量的值;
搭建模型
先把current的單位換算成mA用到了gain模塊除以1000,時間單位為1累計的電流和當前容量加和用到的add模塊再將新值賦給now_cap
對總容量進行單位轉換將Ah乘以3600分別用到常數模塊和乘法運算模塊這樣上半部分和下半部分的單位都是As
最后用當前容量除以總容量就得出了SOC,添加幾個顯示模塊便于驗證結果
驗證結果
點擊設置仿真,由于處理器不是連續系統,處理速度和頻率有關因此要設置為定步長,stop time設為1 步長為0.1也就是計算10次
運行結果顯示當前SOC為50.15%,當前容量是3610由于now_cap的初值3600As也是1Ah加上1A電流對時間10次積分的結果整好是3610,當然改變仿真步長或者時長仿真結果也會發生變化。
生成代碼
進一步設置仿真生成代碼,選擇tlc文件也是就你要將模型翻譯成那種語言
勾選生成報告,點擊生成代碼
生成代碼的報告
可以看到生成的代碼和我們手動寫的代碼一樣
-
matlab
+關注
關注
182文章
2963瀏覽量
230150 -
Simulink
+關注
關注
22文章
522瀏覽量
62306 -
模型
+關注
關注
1文章
3171瀏覽量
48711 -
電池
+關注
關注
84文章
10457瀏覽量
128996 -
安時積分
+關注
關注
0文章
2瀏覽量
1154
發布評論請先 登錄
相關推薦
評論