王海龍,左付山,楊 柳,張 營(yíng)
(南京林業(yè)大學(xué)汽車與交通工程學(xué)院,江蘇南京 210037)
插電式混合動(dòng)力汽車(PHEV)具有動(dòng)力輸出方式復(fù)雜、電池充放電狀態(tài)多樣以及電池容量大等特點(diǎn),這些特點(diǎn)使得PHEV在使用過程中電池的安全性能需求更高,使用壽命需要更長(zhǎng),因此對(duì)于動(dòng)力電池的運(yùn)行性能進(jìn)行實(shí)時(shí)的評(píng)價(jià)診斷很有必要[1]。CAN總線是一種具有高性能和可靠性的串行通信協(xié)議[2],廣泛應(yīng)用于汽車、船舶等[3]?;趧?dòng)力電池通信高安全性、高可靠性、抗干擾能力強(qiáng)、實(shí)時(shí)性好、容錯(cuò)性高等要求,CAN總線的數(shù)據(jù)通信性能好,成為首選的通信方式。同時(shí),在對(duì)動(dòng)力電池進(jìn)行運(yùn)行性能評(píng)價(jià)時(shí),電池參數(shù)的采集與獲取是第一步也是最重要的一步。然而,由于一般的PHEV中電池的各項(xiàng)參數(shù)數(shù)據(jù)是保密的,為了獲取診斷參數(shù)進(jìn)行后期的故障診斷,本文以一款PHEV的三元鋰電池為研究對(duì)象,以提高電池使用過程中的安全性和可靠性為目標(biāo),基于CAN總線通信方式,進(jìn)行了動(dòng)力電池?cái)?shù)據(jù)監(jiān)測(cè)系統(tǒng)軟硬件的開發(fā)。
PHEV的動(dòng)力電池監(jiān)測(cè)系統(tǒng)的整體架構(gòu)[4-5]主要由電池?cái)?shù)據(jù)采集模塊和數(shù)據(jù)通信控制模塊2部分組成。硬件系統(tǒng)整體結(jié)構(gòu)圖[6]如圖1所示。本文選擇MC9S08DZ60作為電池監(jiān)測(cè)系統(tǒng)的主控芯片,以DS2438作為電池采集模塊的監(jiān)測(cè)芯片,MC9S08DZ60主控芯片與DS2438監(jiān)測(cè)芯片之間采用CAN總線的通信方式。DS2438監(jiān)測(cè)芯片可以對(duì)電池?cái)?shù)據(jù)進(jìn)行采集,并將采集到的信息通過單總線傳遞給主控芯片;主控芯片可先將相應(yīng)的電池狀態(tài)數(shù)據(jù)存儲(chǔ)并做出基礎(chǔ)的處理,然后通過CAN控制器和收發(fā)器將數(shù)據(jù)傳輸至CAN總線,并通過USBCAN分析儀傳遞給上位機(jī),上位機(jī)可以顯示電池的數(shù)據(jù)以及利用監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行檢測(cè)診斷。
圖1 硬件系統(tǒng)整體結(jié)構(gòu)圖
本文數(shù)據(jù)采集系統(tǒng)采用集成型數(shù)據(jù)采集方案[7],選用智能電池監(jiān)測(cè)芯片DS2438對(duì)于電池的電壓、電流、溫度、電阻等狀態(tài)數(shù)據(jù)進(jìn)行采集,并將這些信息傳遞給主控芯片。DS2438監(jiān)測(cè)芯片具有體積小、檢測(cè)準(zhǔn)確等優(yōu)點(diǎn)。監(jiān)測(cè)的電池模組共有8組,以1個(gè)電池模組作為1個(gè)監(jiān)測(cè)單元,配置1個(gè)監(jiān)測(cè)芯片。為了提高監(jiān)測(cè)系統(tǒng)的精確度以及簡(jiǎn)化采集電路,該監(jiān)測(cè)方案需要將采集芯片安置在每個(gè)電池模組上。圖2為采集模塊結(jié)構(gòu)圖。
圖2 采集模塊結(jié)構(gòu)圖
由于電池模組電壓與電池總電流超過了DS2438芯片的監(jiān)測(cè)范圍,所以電壓與電流的采集分別通過分壓電路和電流傳感器再與監(jiān)測(cè)芯片管腳進(jìn)行連接;當(dāng)監(jiān)測(cè)芯片接收到轉(zhuǎn)換命令后,內(nèi)部A/D轉(zhuǎn)換器會(huì)將電壓和電流A/D轉(zhuǎn)換,即可實(shí)現(xiàn)電池的電壓與電流數(shù)據(jù)采集。DS2438芯片還可實(shí)現(xiàn)溫度的直接測(cè)量,其內(nèi)部具有集成的溫度傳感器,因此需要將芯片緊貼在被測(cè)電池模組上。與電壓、電流采集一樣,溫度采集并不是自動(dòng)采集,因此需要先由控制器發(fā)出控制命令后才能采集,并將采集后的溫度信息經(jīng)A/D轉(zhuǎn)換后,再通過溫度寄存器輸出。絕緣電阻的檢測(cè)方法是通過測(cè)量電壓值與電流值來間接求得絕緣電阻值,其測(cè)量電路圖[8]如圖3所示。
圖3 電池絕緣阻值測(cè)量方式
飛思卡爾單片機(jī)MC9S08DZ60[9]主控芯片具有性價(jià)比高、功耗低、性能強(qiáng)大等優(yōu)點(diǎn),已經(jīng)廣泛應(yīng)用于汽車控制和工業(yè)控制。選擇該芯片的最大優(yōu)勢(shì)在于其內(nèi)部具有MSCAN控制器,這就使得CAN控制器的設(shè)置和控制工作更加簡(jiǎn)化,省去了選用單獨(dú)CAN控制器的工作以及設(shè)計(jì)相應(yīng)的電路[10-11]。
MSCAN作為系統(tǒng)CAN控制器,內(nèi)置于芯片MC9S08DZ60中,其主要功能是初始化、報(bào)文的發(fā)送與接收,內(nèi)部由配置寄存器、報(bào)文濾波與緩沖、接收/發(fā)送引擎、低通濾波器等組成。該芯片具有支持CAN2.0A/B協(xié)議、可實(shí)現(xiàn)單獨(dú)信令傳輸與中斷等特點(diǎn)。當(dāng)主控芯片對(duì)CAN總線控制器進(jìn)行配置時(shí),可以通過設(shè)置MSCAN各寄存器來實(shí)現(xiàn)。
本文選用CTM1050T CAN收發(fā)器[12-13]作為CAN控制器和物理傳輸線路之間的接口,可實(shí)現(xiàn)報(bào)文的收發(fā)以及差分電平信號(hào)與邏輯電平信號(hào)的轉(zhuǎn)換。選擇該芯片的優(yōu)勢(shì)在于其自帶隔離功能,省去了外部隔離電路設(shè)計(jì),同時(shí)具有接口簡(jiǎn)單、通信速率高、環(huán)境適應(yīng)能力強(qiáng)等優(yōu)點(diǎn)。CAN收發(fā)器與控制器連接電路圖如圖4所示。
圖4 CAN收發(fā)器與控制器連接電路圖
由于CAN總線與上位機(jī)并不能直接通訊,因此需要配置相應(yīng)的CAN總線適配器,本文選用了基于USB接口的CAN總線分析儀[14]。其實(shí)物圖如圖5所示。該分析儀可使用USB2.0接口與上位機(jī)直接連接,并支持CAN2.0協(xié)議及雙向傳輸,連接簡(jiǎn)單方便,通信穩(wěn)定可靠,最高傳輸速率可以達(dá)到1 Mbit/s。通過上位機(jī)自編程,USBCAN分析儀可以實(shí)現(xiàn)CAN總線與上位機(jī)的數(shù)據(jù)通信[15],傳輸速率的調(diào)整以及收發(fā)模式的選擇,從而達(dá)到動(dòng)力電池狀態(tài)數(shù)據(jù)在線監(jiān)測(cè)與后期檢測(cè)診斷的目的。
圖5 CAN分析儀實(shí)物外觀圖
由CAN通訊網(wǎng)絡(luò)結(jié)構(gòu)可知,物理層和數(shù)據(jù)鏈路層已經(jīng)被ISO的標(biāo)準(zhǔn)所規(guī)定并且被硬件驅(qū)動(dòng)控制[16]。然而,為了便于使用者根據(jù)自己的需求設(shè)計(jì)適合自己的通訊協(xié)議,其應(yīng)用層并沒有規(guī)定具體的格式與內(nèi)容。因此,根據(jù)不同的對(duì)象及通訊要求需要使用者自己定義和編寫通訊內(nèi)容。基于本文通訊的特點(diǎn),采用了數(shù)據(jù)幀中具有11位ID號(hào)的標(biāo)準(zhǔn)幀格式,在CAN2.0B應(yīng)用層通信協(xié)議基礎(chǔ)上,設(shè)計(jì)了適用于本文監(jiān)測(cè)系統(tǒng)的CAN通訊協(xié)議。
CAN總線通信傳輸?shù)男畔⑹怯刹杉K采集的電池狀態(tài)信息,主要包括2部分:一是電池整體狀態(tài)信息,包括電池組的總電壓、總電流、電池溫度、絕緣電阻;二是電池模組狀態(tài)信息,包括每個(gè)模組的電壓、溫度。
根據(jù)CAN2.0B標(biāo)準(zhǔn)幀[17]中應(yīng)用層的規(guī)定,結(jié)合本文監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸消息種類和數(shù)量不多的特點(diǎn),為了提升通訊傳輸速率,采用了字節(jié)較少的標(biāo)準(zhǔn)幀格式,設(shè)計(jì)了適合本文監(jiān)測(cè)系統(tǒng)的幀結(jié)構(gòu)。其具體結(jié)構(gòu)如表1所示。
表1 本文幀結(jié)構(gòu)
由表(1)可知,標(biāo)準(zhǔn)幀字節(jié)1~3為信息段,字節(jié)4~11為數(shù)據(jù)段,每個(gè)字節(jié)為8位。其中,第1個(gè)字節(jié)是幀信息,包含幀格式、數(shù)據(jù)長(zhǎng)度等信息;第2~3個(gè)字節(jié)為仲裁段,其前11位為標(biāo)識(shí)符,包含數(shù)據(jù)的屬性和位置信息,還剩下5位可以保留備用。報(bào)文結(jié)構(gòu)中4~11字節(jié)共含有8個(gè)字節(jié),可用來存儲(chǔ)需要傳輸?shù)臄?shù)據(jù)信息。
根據(jù)CAN2.0B協(xié)議和本文系統(tǒng)傳輸需求,需要將11位標(biāo)準(zhǔn)標(biāo)識(shí)符分別定義為數(shù)據(jù)與位置屬性2部分。根據(jù)數(shù)據(jù)屬性與位置屬性,便可以確定每個(gè)報(bào)文傳輸?shù)氖请姵啬膫€(gè)位置的什么類型數(shù)據(jù)。其ID分配格式如表2所示。
表2 11位標(biāo)準(zhǔn)標(biāo)識(shí)符ID分配格式
11位標(biāo)識(shí)符中前5位定義為數(shù)據(jù)屬性,主要是辨識(shí)傳遞數(shù)據(jù)內(nèi)容,主要分為電池總體狀態(tài)、模組電池電壓、模組電池溫度;后6位定義為位置屬性,主要辨識(shí)的是數(shù)據(jù)位置,主要區(qū)分后面的數(shù)據(jù)來源于哪些位置。針對(duì)本文電池模組數(shù)量為8組,以及監(jiān)測(cè)系統(tǒng)需要傳輸?shù)碾姵乜傮w與模組信息,現(xiàn)將其數(shù)據(jù)屬性與位置屬性進(jìn)行具體分配,其ID分配內(nèi)容如表3所示。
表3 數(shù)據(jù)ID分配
在CAN總線傳輸中,實(shí)際物理量數(shù)據(jù)一般需要轉(zhuǎn)化為多位二進(jìn)制代碼進(jìn)行傳輸,因此傳輸?shù)臄?shù)據(jù)中每個(gè)二進(jìn)制值對(duì)應(yīng)著一個(gè)實(shí)際物理量值。為了提高監(jiān)測(cè)系統(tǒng)CAN通訊的利用率,本文采用了定點(diǎn)數(shù)的方式將實(shí)際物理量進(jìn)行表示。其具體的轉(zhuǎn)換公式如下:
實(shí)際物理量=比例因子×(定點(diǎn)數(shù)+偏移量)
為了實(shí)時(shí)監(jiān)測(cè)電池狀態(tài),本系統(tǒng)中需要監(jiān)測(cè)的信號(hào)包括電池總體狀態(tài)數(shù)據(jù)與每個(gè)模組的電壓、溫度信號(hào)。由于傳遞信號(hào)多為數(shù)據(jù)信號(hào),所以采用定時(shí)周期型發(fā)送方式,即按照固定的時(shí)間周期向總線上發(fā)送數(shù)據(jù)。下文分別給出了電池總體狀態(tài)、模組電池電壓、模組電池溫度具體報(bào)文設(shè)計(jì)樣例。
由于電池總體狀態(tài)中包含4個(gè)參數(shù),每個(gè)參數(shù)占2個(gè)字節(jié),考慮到每個(gè)標(biāo)準(zhǔn)幀數(shù)據(jù)段總共有8個(gè)字節(jié),綜合發(fā)送間隔,我們將電池總體狀態(tài)參數(shù)發(fā)送分為2組。第1組為電池總電壓、電池總電流,數(shù)據(jù)屬性為0x01,位置屬性為0x01,發(fā)送間隔為50 ms,占用4個(gè)字節(jié);第2組傳輸?shù)臄?shù)據(jù)為電池溫度、絕緣電阻,數(shù)據(jù)屬性為0x01,位置屬性為0x02,發(fā)送間隔為750 ms,也需要占用4個(gè)數(shù)據(jù)字節(jié)。下文以電池總體狀態(tài)第1組參數(shù)報(bào)文設(shè)計(jì)為例,列出了電池總電壓與總電流的報(bào)文設(shè)計(jì)的具體格式,如表4所示。
表4 電池總體狀態(tài)第1組參數(shù)報(bào)文設(shè)計(jì)
在電池模組報(bào)文中,定義模組電壓、模組溫度的數(shù)據(jù)屬性分別為0x02、0x03,位置屬性均為0x01~0x02,其發(fā)送方式仍為周期型,前者發(fā)送間隔為50 ms,模組溫度的發(fā)送間隔為750 ms。由于電池模組數(shù)量為8組,每個(gè)報(bào)文中8個(gè)數(shù)據(jù)字節(jié)需要被全部占據(jù),同時(shí)每個(gè)模組電池電壓、溫度數(shù)據(jù)都占據(jù)2個(gè)字節(jié),所以每組報(bào)文可以包含4組模組的電壓/溫度信息。下面以一個(gè)模組電壓報(bào)文設(shè)計(jì)為例,其具體報(bào)文設(shè)計(jì)格式如表5所示。
表5 電池模組電壓報(bào)文設(shè)計(jì)
上位機(jī)的設(shè)計(jì)[18]主要包含2個(gè)模塊,CAN收發(fā)模塊(即通過上位機(jī)編程,控制USBCAN分析儀從而實(shí)現(xiàn)對(duì)CAN信號(hào)的接收與發(fā)送)和數(shù)據(jù)解析與顯示模塊(即對(duì)接收的電池報(bào)文數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)換成實(shí)際物理量[19],并通過上位機(jī)進(jìn)行實(shí)時(shí)顯示及存儲(chǔ))。結(jié)合上述功能,本文基于LabVIEW對(duì)于上位機(jī)進(jìn)行了開發(fā)[20-21]。
在進(jìn)入LabVIEW程序后,首先需要選擇設(shè)備型號(hào)——USBCAN,再設(shè)置相應(yīng)的CAN參數(shù),例如通信速率、CAN通道等,然后打開設(shè)備,如果成功打開,就需要進(jìn)一步對(duì)于CAN收發(fā)進(jìn)行設(shè)置,例如幀ID、數(shù)據(jù)內(nèi)容等,若匹配成功,即可實(shí)現(xiàn)CAN數(shù)據(jù)的發(fā)送;同時(shí),CAN收發(fā)模塊通過設(shè)置發(fā)送采集指令,可以直接接收CAN總線中的數(shù)據(jù)。CAN收發(fā)模塊流程圖如圖6所示。
圖6 CAN收發(fā)模塊流程圖
由于接收到的CAN總線數(shù)據(jù)為十六進(jìn)制數(shù)據(jù),同時(shí)每個(gè)報(bào)文中有可能包含不同位置屬性和數(shù)據(jù)屬性電池狀態(tài)數(shù)據(jù),因此首先需要按照上文設(shè)計(jì)的報(bào)文格式對(duì)ID號(hào)進(jìn)行解析,得到該數(shù)據(jù)來源于哪個(gè)位置,數(shù)據(jù)屬性是屬于電池總體狀態(tài)數(shù)據(jù)、模組電壓數(shù)據(jù)還是模組溫度數(shù)據(jù);然后,根據(jù)上述的實(shí)際物理量與定點(diǎn)數(shù)的轉(zhuǎn)換關(guān)系,將報(bào)文中不同字節(jié)的電池狀態(tài)數(shù)據(jù)解析為十進(jìn)制數(shù)據(jù),并在LabVIEW界面進(jìn)行實(shí)時(shí)顯示。
為了使得解析后的模組數(shù)據(jù)在界面顯示得更加直觀以及快速地檢測(cè)診斷出模組之間的一致性,本文將電池中每個(gè)模組電壓與模組溫度數(shù)據(jù)在同一個(gè)界面中均通過柱狀圖進(jìn)行顯示。電池總體狀態(tài)數(shù)據(jù)顯示界面包括了電池總電壓、電池總電流、電池溫度、絕緣電阻信息。其LabVIEW顯示界面圖如圖7所示。
圖7 電池?cái)?shù)據(jù)顯示界面
為了驗(yàn)證本文設(shè)計(jì)的監(jiān)測(cè)系統(tǒng)的可行性,通過實(shí)驗(yàn)的方式進(jìn)行了驗(yàn)證。首先將實(shí)物進(jìn)行了連接,包括測(cè)試板以及USBCAN分析儀。
實(shí)物連接后,打開LabVIEW程序,接著選擇設(shè)備型號(hào)—USBCAN,點(diǎn)擊啟動(dòng)設(shè)備,并設(shè)置相應(yīng)的CAN參數(shù),通道選擇CAN1,CAN總線的波特率設(shè)置為250 Kbps,點(diǎn)擊打開設(shè)備,顯示成功打開設(shè)備。繼而,按照CAN協(xié)議規(guī)定,幀格式選擇標(biāo)準(zhǔn)幀,幀類型選擇數(shù)據(jù)幀,然后進(jìn)行數(shù)據(jù)的收發(fā)。下面以發(fā)送幀ID:0201為例進(jìn)行驗(yàn)證,數(shù)據(jù)接收界面如圖8所示。
圖8 LabVIEW數(shù)據(jù)接收界面
根據(jù)上述設(shè)計(jì)的報(bào)文格式可知,ID號(hào)0201表示的是1-4號(hào)模組電池電壓信息,再通過實(shí)際物理量與定位數(shù)的轉(zhuǎn)換關(guān)系,數(shù)據(jù)段中的01 4d 01 4e 01 50 01 51代表的是1~4號(hào)模組電壓值大小,分別為3.33 V、3.34 V、3.36 V、3.37 V。數(shù)據(jù)解析結(jié)果在LabVIEW顯示界面顯示如圖9所示。
圖9 數(shù)據(jù)解析結(jié)果界面
當(dāng)發(fā)送ID:0201后,上位機(jī)會(huì)接收到電池1~4號(hào)模組的電池電壓,通過解析后,在LabVIEW界面進(jìn)行顯示。由圖9可知,1~4組模組電壓成功通過柱狀圖顯示出來,并且4組電壓一致性較好。因此,通過該實(shí)驗(yàn)驗(yàn)證了CAN收發(fā)模塊與解析和顯示模塊上位機(jī)程序的可行性以及監(jiān)測(cè)系統(tǒng)的可實(shí)現(xiàn)性。
本文基于CAN總線設(shè)計(jì)了一套PHEV電池?cái)?shù)據(jù)監(jiān)測(cè)系統(tǒng),硬件部分主要包括數(shù)據(jù)采集模塊與數(shù)據(jù)傳輸模塊,軟件部分基于LabVIEW進(jìn)行了開發(fā),該系統(tǒng)不僅可以實(shí)時(shí)獲取電池的電壓、電流、電阻等特征參數(shù)并實(shí)時(shí)顯示,也為后期的電池檢測(cè)診斷提出了數(shù)據(jù)基礎(chǔ)。同時(shí),系統(tǒng)在CAN通信模塊中詳細(xì)規(guī)定了幀結(jié)構(gòu)和報(bào)文格式,并分析說明了報(bào)文內(nèi)容與電池各物理量之間的對(duì)應(yīng)關(guān)系。為了驗(yàn)證系統(tǒng)的實(shí)用性與可靠性,采用了一組電壓數(shù)據(jù)進(jìn)行測(cè)試,成功地實(shí)現(xiàn)了數(shù)據(jù)的收發(fā)與顯示,系統(tǒng)運(yùn)行良好,滿足設(shè)計(jì)要求。