包 敏
BO Min
(長(zhǎng)沙市電子工業(yè)學(xué)校,長(zhǎng)沙 410008)
電動(dòng)汽車(chē)引領(lǐng)著汽車(chē)技術(shù)的發(fā)展方向,具有低排放甚至零排放、熱輻射低、噪音低且環(huán)境友好等特點(diǎn),是節(jié)能、環(huán)保和可持續(xù)發(fā)展的新型交通工具,具有廣闊的發(fā)展前景[1]。在產(chǎn)業(yè)過(guò)程中,蓄電池及其管理系統(tǒng)作為主要的動(dòng)力源部件是其中最為重要的一個(gè)環(huán)節(jié)。電池管理系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)監(jiān)測(cè)電池參數(shù)并估計(jì)其荷電狀態(tài)(SOC),為駕駛員提供剩余電量、續(xù)駛里程等信息;能防止電池過(guò)充、過(guò)放、過(guò)壓、過(guò)流、過(guò)高溫,其優(yōu)劣直接決定著動(dòng)力電池組的使用壽命,一個(gè)合適的電池管理系統(tǒng)能夠在充分發(fā)揮電池優(yōu)越性能的同時(shí),給予電池最佳的保護(hù),保證電池性能,延長(zhǎng)電池壽命,降低電動(dòng)汽車(chē)運(yùn)行成本[2]。本文給出了一種基于CAN總線的電動(dòng)汽車(chē)電池管理系統(tǒng)的軟件設(shè)計(jì)。
電池管理系統(tǒng)的主要原理可歸納為[1]:數(shù)據(jù)采集電路采集電池的相關(guān)重要數(shù)據(jù),如:母線電壓,電流,溫度等,再發(fā)送給中央控制單元進(jìn)行分析和處理,由系統(tǒng)內(nèi)的控制 模塊發(fā)出控制指令,記錄實(shí)時(shí)數(shù)據(jù),對(duì)應(yīng)的執(zhí)行單元作出動(dòng)作,進(jìn)行調(diào)控。現(xiàn)在主流的電池管理系統(tǒng)一般是采用分布式結(jié)構(gòu),包含以下的主要功能部分:數(shù)據(jù)采集、剩余電量(SOC)估計(jì)、控制部分、安全管理和數(shù)據(jù)通訊[3]。
1)數(shù)據(jù)采集。數(shù)據(jù)采集是電池管理系統(tǒng)中最重要和最基本的功能,SOC估計(jì),控制執(zhí)行,安全管理等等都是以采集到的數(shù)據(jù)為依據(jù)的。
2)剩余電量(SOC)估計(jì)。電池管理系統(tǒng)的一個(gè)核心就是電池剩余電量的估計(jì)?,F(xiàn)有的SOC估計(jì)方法有安時(shí)計(jì)量法、開(kāi)路電壓法與電動(dòng)勢(shì)法、內(nèi)阻法、神經(jīng)網(wǎng)絡(luò)、卡爾曼濾波法、模糊預(yù)測(cè)法等[4,5]。
3)控制部分??刂撇糠忠獙?shí)現(xiàn)的功能有:控制充電過(guò)程等。
4)安全管理。安全管理包括了熱管理,單體電池壓力檢測(cè)等等。
5)數(shù)據(jù)通訊。在現(xiàn)有的電池管理通信方式中主要還是采用CAN總線通信方式。
電池管理系統(tǒng)的主要功能是檢測(cè)電池包的電流、電壓、過(guò)電流、漏電流、溫度等數(shù)據(jù),同時(shí)在運(yùn)行過(guò)程中估計(jì)電池的剩余容量并做出各種錯(cuò)誤報(bào)警。如圖1所示為系統(tǒng)的主程序流程圖:
各子模塊測(cè)量所在電池包的單體電壓和溫度,將數(shù)據(jù)通過(guò)CAN總線報(bào)送母控制器,母模塊完成電壓、電流、過(guò)電流、漏電流等數(shù)據(jù)測(cè)量,同時(shí)控制熱管理風(fēng)機(jī)的啟停,將重要數(shù)據(jù)信息整車(chē)通過(guò)CAN總線報(bào)送至整車(chē)控制器。
這里的溫度傳感器DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。函數(shù)說(shuō)明,本程序多個(gè)功能函數(shù),分別是:
1)端口初始化函數(shù),設(shè)置各端口的初始工作狀態(tài)。
2)串口通信相關(guān)函數(shù):
圖1 系統(tǒng)軟件流程圖
3)DS18B20操作相關(guān)函數(shù):
如表1所示是利用“匹配ROM”指令實(shí)現(xiàn)對(duì)指定DS18B20的操作。先對(duì)DS18B20進(jìn)行復(fù)位初始化操作,然后發(fā)送“匹配ROM”指令,緊跟著就要發(fā)送指定DS18B20的ROM序列號(hào),DS18B20對(duì)ROM序列號(hào)進(jìn)行比較,如果與自己的相同,則執(zhí)行下面的指令,如果不同,則不再執(zhí)行后面指令。
在程序中本文對(duì)指定DS18B20操作的步驟是:
1)復(fù)位;
2)發(fā)送跳過(guò)ROM指令;
3)發(fā)送溫度轉(zhuǎn)換命令;
4)延時(shí)1S,等待DS18B20完成溫度采集;
5)復(fù)位;
6)發(fā)送“匹配ROM”指令;
7)發(fā)送指定ROM的64位序列號(hào);
8)發(fā)送讀內(nèi)部RAM命令;
9)將采集到的溫度值進(jìn)行處理;
表1 對(duì)指定DS18B20進(jìn)行操作的控制流程
10)延時(shí)4S,然后跳到步驟1),重復(fù)步驟1)-8),完成下一次溫度測(cè)量。
數(shù)據(jù)采集程序使用定時(shí)器中斷,周期為30ms,每采集一次數(shù)據(jù)計(jì)算變量加一,采集對(duì)象為電流和,電壓,數(shù)據(jù)采集控制程序?qū)⒉杉降臄?shù)據(jù)存放在數(shù)據(jù)緩沖區(qū),在下一個(gè)采集周期結(jié)束后,有主程序處理數(shù)據(jù)。如圖2所示為數(shù)據(jù)采集流程圖。
圖2 母線電壓、電流采集流程圖
系統(tǒng)的每個(gè)采集子板周期性采集底層數(shù)據(jù),并作出處理,然后定時(shí)向主板發(fā)送數(shù)據(jù)。工作狀態(tài)可以分為[6]:
1)上電診斷狀態(tài):系統(tǒng)上電后,完成初始化,發(fā)送網(wǎng)絡(luò)初始化信息,同時(shí)隨時(shí)接收其它節(jié)點(diǎn)的網(wǎng)絡(luò)初始化信息。通過(guò)網(wǎng)絡(luò)初始化信息的交換,主控制器判斷整個(gè)網(wǎng)絡(luò)是否完成初始化過(guò)程,同時(shí)啟動(dòng)命令則進(jìn)入正常工作狀態(tài)。
2)正常工作狀態(tài):在正常工作狀態(tài)下,個(gè)單元之間通過(guò)以CAN總線進(jìn)行通信,以實(shí)現(xiàn)傳感器測(cè)量數(shù)據(jù)的共享、控制指令的發(fā)送和接收等。當(dāng)休眠條件滿足時(shí),控制模塊從正常工作狀態(tài)轉(zhuǎn)入休眠狀態(tài);當(dāng)CAN模塊故障計(jì)數(shù)器的計(jì)數(shù)值滿足條件后,各模塊從正常工作狀態(tài)轉(zhuǎn)入總線關(guān)閉狀態(tài)。
3)休眠狀態(tài):該狀態(tài)下,系統(tǒng)處于低功耗模式。一旦接收到喚醒信號(hào)或遠(yuǎn)程喚醒信號(hào),就從休眠狀態(tài)轉(zhuǎn)入正常工作狀態(tài)其間需要使用網(wǎng)絡(luò)初始化信息。
4)總線關(guān)閉狀態(tài):關(guān)閉狀態(tài)的系統(tǒng)復(fù)位CAN模塊,重建連接;如果幾次連接失敗,則轉(zhuǎn)為看門(mén)狗復(fù)位,并向主控制器請(qǐng)求重新進(jìn)入工作狀態(tài)。
5)掉電狀態(tài):關(guān)閉電源時(shí),控制單元所處的狀態(tài)。
CAN控制器有6種工作方式:配置方式、關(guān)閉方式、正常工作方式、監(jiān)聽(tīng)方式、自檢方式和錯(cuò)誤方式。
CAN模塊通訊部分主要由初始化子程序,報(bào)文接收子程序和報(bào)文發(fā)送子程序組成,各子程序流程圖如圖3和圖4所示:
圖3 CAN報(bào)文收發(fā)流程圖
圖4 CAN通信初始化流程圖
本文首先分析了電池管理系統(tǒng)的主要功能,在此基礎(chǔ)上對(duì)系統(tǒng)總體流程圖及其各個(gè)分塊予以了描述,并描述了CAN通訊的程序設(shè)計(jì),CAN通訊還給出了協(xié)議的制定依據(jù)和報(bào)文設(shè)置。
[1] 陳清泉,孫逢春,祝嘉光,等.現(xiàn)代電動(dòng)汽車(chē)技術(shù)[M].北京:北京理工大學(xué)出版社,2002
[2] 陳思忠,林程.電動(dòng)汽車(chē)開(kāi)發(fā)的關(guān)鍵技術(shù)及前景[M].北京:北京理工大學(xué),2002
[3] 成濤,王軍平,陳全世.電動(dòng)汽車(chē)SOC估計(jì)方法原理與應(yīng)用[J].電池,2004,34(5):34-45
[4] 楊朔,何莉萍,鐘志華.電動(dòng)汽車(chē)蓄電池荷電狀態(tài)的卡爾曼濾波估計(jì)[J].貴州工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,33(1):99-102
[5] Pritpal Singh, Craig Fennie, Jr David Reisner.Fuzzy Logic Modelling of State-of-charge and Available Capacity of Nickel/metal Hydride Batteries[J].Journal of Power Sources, 2004, 136(2):123-134
[6] 闕子揚(yáng).混合動(dòng)力汽車(chē)電池管理學(xué)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007,28-33