前言
本章介紹BMS硬件功能及SimuLink庫為主,捎帶介紹一些例程內容
注意:例程所用的協議均是自定義的
自做的SimuLink庫也會不定期更新
BMS例程的內容不定期維護添加
當前的BMS沒有主動均衡功能,這個有考慮后期加上,當前還處于考慮階段
軟件程序的應用層和底層是分離的,方便更換程序及移植模塊
BMS的例程中僅使用了P2板卡,P3沒有使用
一、硬件介紹
1、當前的硬件產品3D仿真圖如下(電路板透視圖的內部有不少變動,僅作參考)
2、電池管理系統控制器技術參數
???????????????????????????????????????????????????????????? 技術參數 | |
微控制器 | FS32K144,32位,100引腳,汽車級芯片 |
Flash 512 KB,SRAM 64KB | |
最高主頻:112MHz,硬件浮點單元 | |
控制版功能 | 電池組兩級對搭鐵的絕緣電阻檢測 |
檢測兩路硬件喚醒信號的電壓 | |
檢測電源供電的電壓 | |
兩路可控led指示燈 | |
電源 | 供電電源8~32V,可防反接,2路硬件喚醒,支持1路CAN FD,支持硬件喚醒掉電后程序控制休眠 |
1路5V輸出,平均500mA,峰值1A | |
控制區功能 | 電池組兩級對搭鐵的絕緣電阻檢測 |
檢測硬件喚醒信號的電壓 | |
檢測電源供電的電壓 | |
兩路可控led指示燈 | |
2路0-5V電壓采集,轉換精度12bit | |
2路高壓互鎖信號采集,可采集頻率信號 | |
3路CC信號 | |
1路CP信號 | |
2路高壓互鎖信號輸出,可配置輸出PWM | |
5路底邊驅動,每路可過1.5A電流 | |
5路高邊驅動,每路可過1.5A電流 | |
可用“FreeMASTER”在線標定 | |
3路CAN通訊,其中 2 路 CAN2.0B, ISO11898, 1路 CAN FD 兼容 CAN 2.0B | |
1路485通訊 | |
4路IO檢測通道 | |
可隔離檢測1路高壓電壓信號 | |
采集卡區域 | 采用車規級芯片MC33771采集模組電壓,菊花鏈通訊,可拼接 |
每組最大可采集14路鋰電池電壓信號 | |
每組最大可采集5路溫度信號 | |
第一組可采集鎮流器的電流信號(這個作廢) | |
可做被動均衡 | |
外殼 | ABS塑料外殼,3D打印 |
工作溫度范圍 | -40~85℃ |
工作濕度范圍 | 0~95% |
外形尺寸(mm) | 208*124*31 |
連接器 | 40PIN和28PIN 汽車連接器 |
3、電池管理系統控制器的管腳說明
控制部分接線定義
40P引腳 | 引腳定義 | 40P引腳 | 引腳定義 |
1 | 電源輸入 | 21 | 汽車地 |
2 | 喚醒信號1 | 22 | 喚醒信號2 |
3 | 第1路IO檢測 | 23 | 第2路IO檢測 |
4 | 第3路IO檢測 | 24 | 第4路IO檢測 |
5 | 485通訊A | 25 | 485通訊B |
6 | 第1路CAN通訊H | 26 | 第1路CAN通訊L |
7 | 第2路CAN通訊H | 27 | 第2路CAN通訊L |
8 | 第3路CAN通訊H | 28 | 第3路CAN通訊L |
9 | 5V電源輸出 | 29 | 5V電源參考地 |
10 | 第1路5V信號采集 | 30 | 第2路5V信號采集 |
11 | 第1路NTC電阻采集 | 31 | 第2路NTC電阻采集 |
12 | 第1路高邊輸出 | 32 | 第1路低邊輸出 |
13 | 第2路高邊輸出 | 33 | 第2路低邊輸出 |
14 | 第3路高邊輸出 | 34 | 第3路低邊輸出 |
15 | 第4路高邊輸出 | 35 | 第4路低邊輸出 |
16 | 第5路高邊輸出 | 36 | 第5路低邊輸出 |
17 | 第1路互鎖信號輸出 | 37 | 第1路互鎖信號輸入 |
18 | 第2路互鎖信號輸出 | 38 | 第2路互鎖信號輸入 |
19 | 慢充CP信號 | 39 | 慢充CC信號 |
20 | 快充CC2信號 | 40 | 快充CC1信號 |
前14塊電池管教定義
28P引腳 | 引腳定義 | 28P引腳 | 引腳定義 |
1 | 第1節電池負極 | 15 | 第1節電池負極 |
2 | 第2節電池正極 | 16 | 第1節電池正極 |
3 | 第4節電池正極 | 17 | 第3節電池正極 |
4 | 第6節電池正極 | 18 | 第5節電池正極 |
5 | 第8節電池正極 | 19 | 第7節電池正極 |
6 | 第10節電池正極 | 20 | 第9節電池正極 |
7 | 第12節電池正極 | 21 | 第11節電池正極 |
8 | 第14節電池正極 | 22 | 第13節電池正極 |
9 |
| 23 |
|
10 | NTC溫度傳感器1 | 24 | NTC溫度傳感器2 |
11 | NTC溫度傳感器1 | 25 | NTC溫度傳感器2 |
12 | NTC溫度傳感器3 | 26 | NTC溫度傳感器4 |
13 | NTC溫度傳感器3 | 27 | NTC溫度傳感器4 |
14 | NTC溫度傳感器5 | 28 | NTC溫度傳感器5 |
后14塊電池管教定義
28P引腳 | 引腳定義 | 28P引腳 | 引腳定義 |
1 | 第15節電池負極 | 15 | 第15節電池負極 |
2 | 第16節電池正極 | 16 | 第15節電池正極 |
3 | 第18節電池正極 | 17 | 第17節電池正極 |
4 | 第20節電池正極 | 18 | 第19節電池正極 |
5 | 第22節電池正極 | 19 | 第21節電池正極 |
6 | 第24節電池正極 | 20 | 第23節電池正極 |
7 | 第26節電池正極 | 21 | 第25節電池正極 |
8 | 第28節電池正極 | 22 | 第27節電池正極 |
9 |
| 23 |
|
10 | NTC溫度傳感器6 | 24 | NTC溫度傳感器7 |
11 | NTC溫度傳感器6 | 25 | NTC溫度傳感器7 |
12 | NTC溫度傳感器8 | 26 | NTC溫度傳感器9 |
13 | NTC溫度傳感器8 | 27 | NTC溫度傳感器4 |
14 | NTC溫度傳感器10 | 28 | NTC溫度傳感器10 |
提示:若電池數量不足,請保持每個采集芯片至少有3節電池,每個芯片的第一節電池位置和最后一節電池位置保證有電池存在,中間部分可以短接。
4、開發工具
類型 | 名稱 | 說明 |
開發語言 | SimuLink/C | |
開發環境 | Matlab/IAR/MDK/S32DS等 | Matlab2022b(我用這個版本) |
標定軟件 | FreeMASTER | 有條件的可以CCP和XCP |
燒錄器 | Jlink/CAN更新 |
建議使用配合BMS對接的簡易HIL測試箱,確保自己后期開發的模型沒有問題再用與實際使用場景,盡可能的避免出現經濟損失性的BUG,特別是電池部分,用真電池很難把所有的故障信息表達出來,很容易有考慮不周的地方
對接簡易HIL測試箱的下次說明,實時性能:1ms
二、軟件部分
1、首先先安裝官方基礎庫,方法如下
S32K1xx的MBD工具箱加載及激活_matlab mbd安裝-CSDN博客
2、獲取自主編輯的SimuLink庫“BMSS32K144_SimuLinkLib”,如下,放置的位置不要有中文路徑
3、打開matlab,并在matlab目錄行中添加“BMSS32K144_SimuLinkLib”的目錄
4、設置路徑-包含“BMSS32K144_SimuLinkLib”的目錄
5、雙擊打開“slblocks.m”文件,點擊運行
5、關閉“slblocks.m”文件,并關閉matlab
三、打開BMS例程,開機第一次打開SimuLink模型比較慢,耐心等待
例程BMS模型如下
1、SimuLink模型庫介紹,全漢語的名稱,沒必要啰嗦解釋了
2、BMS單體電池信息采集
3、電池均衡管理
4、模擬量采集
5、數字量采集
6、CP信號采集
7、底層信息和應用層信息交換(如果更換應用層,注意這里需要修改)
8、接收CAN控制指令
9、應用層--邏輯處理
10、更新標定量
11、底層信號輸出表達
12、CAN信息返回
三、協議及底層文件、CAN更新程序
同VCU的協議用是同一個、CAN更新程序和VCU用CAN更新程序方法相同
對S32K144做的VCU安裝快速開發Simulink庫及VCU例程介紹-CSDN博客