基于Freescale單片機(jī)的電池管理系統(tǒng)設(shè)計(jì)
2. 3 均衡模塊
根據(jù)實(shí)時(shí)采集的數(shù)據(jù),當(dāng)電池管理系統(tǒng)認(rèn)為某一單體電壓BATn 需要均衡時(shí),給出均衡控制信號(hào)EQ _CT RLn ,光耦閉合,MOS 管導(dǎo)通,均衡電路啟動(dòng),如圖6 所示。
圖6 均衡電路
2. 4 CAN 通信模塊
CAN 通信是整車與BMS 之間、BMS 主控制模塊和子模塊之間的信息橋梁。子模塊將采集到的單體電壓和溫度值通過CAN 總線上傳給主控模塊,主控模塊通過CAN 總線給子模塊下達(dá)均衡命令; 主控模塊將電池參數(shù)發(fā)送給整車,整車控制器通過判斷決策能量分配。Freescale 9S12 系列單片機(jī)已經(jīng)集成CAN 模塊MSCAN,外擴(kuò)引腳CANTX 和CANRX。還需要PCA82C250 來作為驅(qū)動(dòng)芯片,如圖7 所示。
圖7 CAN 通信接口電路
3 分布式電池管理系統(tǒng)的軟件設(shè)計(jì)
電池管理系統(tǒng)軟件以CodeWarrior for HCS12V4. 7 為開發(fā)環(huán)境,采用C 語(yǔ)言編寫,包括了主控制模塊和子模塊兩個(gè)部分的軟件設(shè)計(jì)。
3. 1 主控制模塊
主控制模塊的任務(wù)主要有: A/ D 轉(zhuǎn)換與數(shù)據(jù)處理任務(wù)、整車CAN 接收任務(wù)、整車CAN 發(fā)送任務(wù)、系統(tǒng)監(jiān)控任務(wù)、SOC 與能量估算任務(wù)以及均衡處理任務(wù)。中斷有:A/ D 采集中斷、定時(shí)器下溢中斷、CAN 接收中斷。
如圖8 所示,系統(tǒng)初始化工作完成后,軟件以模/ 數(shù)減法計(jì)數(shù)器的下溢中斷來確定系統(tǒng)的執(zhí)行周期,計(jì)數(shù)周期為5 ms。在模/ 數(shù)計(jì)數(shù)器前一次下溢中斷程序中,選擇電壓采集通道,并查詢整車CAN 接收; 經(jīng)5 ms 在本次下溢中斷到來后,中斷服務(wù)程序進(jìn)行A/ D 轉(zhuǎn)換的啟動(dòng),轉(zhuǎn)換完成進(jìn)入A/ D 中斷,開啟其他任務(wù)的執(zhí)行,如此循環(huán)交替進(jìn)行。根據(jù)整車控制策略,CAN 上的電池狀態(tài)數(shù)據(jù)每幀的刷新周期為10 ms,因此設(shè)置下溢中斷的時(shí)鐘節(jié)拍為5ms,相應(yīng)地,以上所有任務(wù)的執(zhí)行周期均為10 ms。
圖8主控制模塊軟件時(shí)序圖
3. 2 子模塊
子模塊的任務(wù)主要有: A/ D 轉(zhuǎn)換與數(shù)據(jù)處理任務(wù)、內(nèi)部CAN 接收任務(wù)、內(nèi)部CA N 發(fā)送任務(wù)、以及均衡執(zhí)行任務(wù)。中斷有: A/ D 采集中斷、定時(shí)器下溢中斷。
如圖9 所示,軟件以模/ 數(shù)減法計(jì)數(shù)器的下溢中斷來確定系統(tǒng)的執(zhí)行周期,計(jì)數(shù)周期為2. 5 ms。在模/ 數(shù)計(jì)數(shù)器前一次下溢中斷程序中,選擇電壓采集通道,并查詢內(nèi)部CAN 接收; 經(jīng)2. 5 ms 在本次下溢中斷到來后,中斷服務(wù)程序進(jìn)行A/ D 轉(zhuǎn)換的啟動(dòng),轉(zhuǎn)換完成進(jìn)入A/ D 中斷,開啟其他任務(wù)的執(zhí)行,如此循環(huán)交替進(jìn)行。其中,根據(jù)協(xié)議,內(nèi)部CAN 發(fā)送任務(wù)為保證周期為10 ms,要間隔一次A/ D 轉(zhuǎn)換后才啟動(dòng),其他任務(wù)執(zhí)行周期則為5 ms。
圖9 子模塊軟件時(shí)序圖
4 結(jié) 論
基于Freescale 單片機(jī)的分布式電池管理系統(tǒng),用集成A/ D 轉(zhuǎn)換模塊實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集,同時(shí)均衡控制功能還解決了電池單體電壓不均衡造成的過充問題。Freescale 9S12 系列單片機(jī)強(qiáng)大的數(shù)據(jù)處理功能,豐富的外圍接口和良好的電磁兼容性滿足了混合動(dòng)力汽車電池管理的所有要求,在實(shí)際中得到了良好的效果。
評(píng)論