??? 摘? 要: 為了更好地監(jiān)測動力電池組狀態(tài)參數(shù),易于電池管理,設(shè)計了動力電池狀態(tài)檢測與顯示系統(tǒng)。系統(tǒng)由多個電池單體檢測模塊組成,其核心是電池單體電壓采集電路;系統(tǒng)利用總線通信技術(shù)實現(xiàn)數(shù)據(jù)的傳輸與顯示。?
??? 關(guān)鍵詞: 動力電池組; 電池單體檢測; 總線通訊?
?
??? 蓄電池是電動汽車的主要動力源,其狀態(tài)好壞和壽命長短在很大程度上決定了整車性能的優(yōu)劣[1]。為保證車輛正??煽啃旭?,電池管理系統(tǒng)必須實時監(jiān)測電池電壓的數(shù)據(jù)。為了避免電池電壓不均衡帶來的局部電池過充/過放與電池工作溫度過高引起的安全問題,要求檢測系統(tǒng)必須對電池單體電壓和電池工作溫度進行精確測量,并對電池工作溫度進行實時控制[2]。因此,電池單體電壓與工作溫度的檢測及其在線監(jiān)測是電池管理系統(tǒng)的重要組成部分。?
1? 蓄電池狀態(tài)檢測與顯示系統(tǒng)組成?
??? 蓄電池狀態(tài)檢測與顯示系統(tǒng)是由多個電池單體檢測模塊組成的,利用總線技術(shù)實現(xiàn)數(shù)據(jù)的傳輸,通過CANUSB智能CAN接口卡將傳輸?shù)臄?shù)據(jù)在PC機上顯示出來。電池單體檢測模塊以內(nèi)嵌CAN控制器的AVR型單片機AT90CAN128為核心,外圍電路主要由電壓采集電路、溫度采集電路、風(fēng)扇控制電路以及CAN通信驅(qū)動電路等幾部分組成,如圖1所示。系統(tǒng)依靠核心器件AT90CAN128完成A/D轉(zhuǎn)換和數(shù)據(jù)處理功能,利用總線通信技術(shù)實現(xiàn)數(shù)據(jù)的傳輸與顯示。?
?

?
2 系統(tǒng)的硬件設(shè)計?
2.1 電池單體電壓采集電路設(shè)計?
??? 在車載環(huán)境下,電池單體電壓是進行電池管理的主要依據(jù)參數(shù)之一,因此電池單體電壓的采集電路是電池狀態(tài)檢測模塊電路的核心部分,這里通過一種帶有模擬開關(guān)的壓控恒流源電路加以實現(xiàn)[3],其原理如圖2所示。該電路利用差動放大電路對共模信號的抑制作用實現(xiàn)長串電池組電池單體電壓的測量,把被檢測的電壓差(即單體電池端電壓)轉(zhuǎn)換成電流的形式長距離傳輸而不受外界干擾,且傳輸精度高,適合于不同電壓級別的微機接口電路。這里尤其要指出的是多個電池串聯(lián)引起的共地干擾問題,在采集電壓時,每一組采集電路都共用電路板上的模擬地,即圖2中的US-端點全部與地相連,若不加場效應(yīng)管,被采集串聯(lián)電池組間的電壓差就會在整個前項采集電路內(nèi)形成不流經(jīng)運算放大器的回路。若假設(shè)電池單體檢測模塊要采集n塊電池單體電壓值,那么在上述循環(huán)回路內(nèi)勢必有電流i產(chǎn)生,并且總的流向為從采集電路1輸入正端流入,從采集電路n的輸入負(fù)端流出,也就是說會使電路1中的恒電流I1因正向疊加而變大,電路n中的恒電流因反向疊加而變小,中間各電路也相應(yīng)受不同程度影響。運用具有低導(dǎo)通內(nèi)阻的N溝道增強型場效應(yīng)管做模擬開關(guān)后,通過單片機I/O口來調(diào)節(jié)場效應(yīng)管的柵-源極電壓UGS值,進而控制漏-源極間的導(dǎo)通或關(guān)斷,通過合理控制場效應(yīng)管的關(guān)斷,就能保證任一時刻只有一組電路參與工作,從而從根本上避免了多個電池串聯(lián)引起的共地干擾問題。
?

?
??? 圖3所示為電池單體檢測模塊中電壓采集部分的結(jié)構(gòu)原理圖,其中a1~a8為電池單體電壓采集電路的輸出端,ADC0~ADC7為單片機AT90CAN128上對應(yīng)的A/D轉(zhuǎn)換接口,PB0~PB7分別控制場效應(yīng)管的導(dǎo)通與關(guān)斷以保證任一時刻只有一組電路參與工作,TXCAN、RXCAN和STB分別為CAN總線通信的相關(guān)引腳。不難看出,模塊就是將八組單體電壓采集電路置于同一塊電路板上設(shè)計而成的,再經(jīng)過A/D轉(zhuǎn)換和CAN串行總線通信即可完成數(shù)據(jù)采集、處理和傳輸。由此根據(jù)串聯(lián)電池組中的電池數(shù)量采用一個或多個電壓檢測模塊就實現(xiàn)了對其中每塊電池單體電壓的測量。
?

?
2.2 單線式溫度采集與控制單元設(shè)計?
??? 電池單體檢測模塊中工作溫度的采集通過單總線數(shù)字式溫度傳感器DS18B20加以實現(xiàn)。DS18B20是美國DALLAS半導(dǎo)體公司生產(chǎn)的高性能數(shù)字式溫度傳感器,能將溫度感應(yīng)電路、A/D轉(zhuǎn)化電路、寄存器和接口電路集成在一個芯片中,從而實現(xiàn)直接數(shù)字化輸出和測試,并且有精度高(通過簡單的編程可實現(xiàn)9~12位的采集精度)、控制功能強、傳輸距離遠、抗干擾能力強、微型化、微功耗和使用方便等特點[4]。溫度采集電路如圖4所示。?
?

?
??? 單片機的PA4口經(jīng)過光耦、驅(qū)動器與DS18B20 的I/O端(DQ)相連,通過PA4口串行發(fā)送相關(guān)的DS18B20 控制命令,控制DS18B20 完成溫度的轉(zhuǎn)換和輸出;DS18B20 串行輸出的溫度值再經(jīng)驅(qū)動器、光耦由單片機的PA5口讀入。?
??? 溫度控制電路是單片機通過場效應(yīng)管與風(fēng)扇相連,當(dāng)采集的溫度高于設(shè)定的溫度值上限時,單片機通過控制場效應(yīng)管導(dǎo)通使風(fēng)扇打開;當(dāng)采集的溫度低于設(shè)定的溫度值下限時,單片機通過控制場效應(yīng)管關(guān)斷使風(fēng)扇關(guān)閉。它的控制電路比較簡單,這里不再給出。?
2.3 CAN串行通信總線的硬件設(shè)計?
??? 圖5為基于AT90CAN128單片機的CAN總線實現(xiàn)的硬件連接圖。?
?

?
??? 從圖中可以看出,電路主要由三部分組成:單片機AT90CAN128、高速光隔6N137和高速CAN總線收發(fā)器。單片機的PD4口通過光隔連接了CAN收發(fā)器,以控制收發(fā)器使能;單片機的TXCAN和RXCAN也分別通過光隔連接CAN收發(fā)器的TXD和RXD引腳,以進行數(shù)據(jù)交換。整個CAN通信接口電路就是把單片機的TTL電平經(jīng)過光電隔離后,再經(jīng)由CAN驅(qū)動器將其變?yōu)榉螩AN接口標(biāo)準(zhǔn)的差分信號發(fā)送出去,并利用TJA1040內(nèi)的接收器將總線上的差分信號轉(zhuǎn)化為TTL電平信號,再經(jīng)光電隔離后接收進來。?
??? 高速光隔6N137將微控制器與現(xiàn)場總線隔離,可以提高系統(tǒng)的抗干擾能力。CAN總線收發(fā)器采用了TJA1040,它與82C250芯片引腳完全兼容,是CAN 控制器與物理傳輸媒體之間的物理連接子層接口。?
3 系統(tǒng)的軟件設(shè)計?
??? 系統(tǒng)的軟件設(shè)計主要包括A/D轉(zhuǎn)換、溫度采集和CAN的發(fā)送程序,主程序流程如圖6所示。從流程圖中不難看出,主程序在系統(tǒng)初始化后就開啟定時器中斷,如無中斷發(fā)生,則在循環(huán)體里執(zhí)行電壓采集及其相應(yīng)的數(shù)據(jù)發(fā)送程序。一旦中斷發(fā)生,則執(zhí)行溫度采集及其相應(yīng)的數(shù)據(jù)發(fā)送程序,并判斷溫度值是否達到設(shè)定的溫度值上限,若達到則開啟風(fēng)扇,否則關(guān)閉風(fēng)扇。程序利用中斷從時序上保證了各項任務(wù)的有序進行、互不影響,故較為實用。?
?

?
3.1 CAN總線節(jié)點的軟件設(shè)計?
??? 在電池單體檢測模塊中,CAN總線節(jié)點的軟件設(shè)計主要包括CAN控制器的初始化和數(shù)據(jù)的發(fā)送程序。對內(nèi)嵌于單片機AT90CAN128的CAN控制器,其初始化主要包括波特率參數(shù)設(shè)置、接收代碼寄存器和接收屏蔽寄存器的設(shè)置以及使能允許寄存器的設(shè)置等,其主要程序清單如下:?
????CANGCON=0x80;//進入復(fù)位模式并且復(fù)位MOb?
??? while(CANGSTA&0x04);?
??? CANGIE=0x00; ?? //禁止CAN的所有中斷?
??? CANEN1=0x00; ?? //使能MOb0,MOb1?
??? CANEN2=0x03;??? ?
??? CANIE2=0x00;? ? //MOb中斷禁止?
??? CANIE1=0x00; ?
??? CANBT1=0x00; ?? //波特率參數(shù)設(shè)置,設(shè)為1M?
??? CANBT2=0x04;?
??? CANBT3=0x13;?
??? CANTCON=0x00;?
??? CANPAGE=Volt_MOB; ? //指定消息的Mob頁?
??? CANCDMOB=0x18; //禁止?fàn)顟B(tài),CAN2.0B協(xié)議,8位數(shù)據(jù)長度?
??? CANIDT1=0x00;? ???? //初始化接收碼寄存器?
??? CANIDT2=0x00;?
??? CANIDT3=0x01;?
??? CANIDT4=0x08;?
??? CANIDM1=0xff;? ???? //初始化接收屏蔽寄存器?
??? CANIDM2=0xff;?
??? CANIDM3=0xff;?
??? CANIDM4=0xff;?
??? CANGCON=0x02; ????? ???//初始化完成,進入操作模式
??? while(!(CANGSTA&0x04)); ??? //等待,直到CAN控制器使能標(biāo)志位置1?
??? 這里尤其要指出的是,在AT90CAN128單片機中驗收屏蔽寄存器的設(shè)計邏輯與其他CAN控制器驗收屏蔽寄存器設(shè)計邏輯剛好相反。在AT90CAN128單片機內(nèi)嵌的CAN控制器中,對所有驗收屏蔽寄存器為1的位,僅當(dāng)接收碼寄存器和CAN信息幀對應(yīng)位相對應(yīng)的驗收才能通過;而對所有驗收屏蔽寄存器為0的位,接收碼寄存器對應(yīng)位的驗收濾波功能被屏蔽[5]。?
3.2? 單線式多點溫度采集的軟件設(shè)計?
??? 溫度傳感器DS18B20遵循1-WIRE網(wǎng)絡(luò)通信協(xié)議,該協(xié)議是分時定義的,有嚴(yán)格的時隙要求。單片機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:初始化、ROM操作指令和存儲器操作指令??刂七^程為:啟動DS18B20,采用默認(rèn)的12位轉(zhuǎn)換精度開始溫度值轉(zhuǎn)換,讀出轉(zhuǎn)換值。由于本系統(tǒng)多個DS18B20在一條總線上,為了識別不同的器件,本文采用先將DS18B20逐個與主機掛接,讀出其序列號后,再將讀出序列號的各個DS18B20掛在一條總線上與系統(tǒng)相連接。這樣單片機的一個I/O口就可以控制多個DS18B20,節(jié)省了單片機內(nèi)部資源。?
4 試驗設(shè)計與驗證?
??? 為了驗證電池單體檢測模塊的工作性能,采用直流穩(wěn)壓電源代替鋰離子電池,通過改變直流穩(wěn)壓源電壓值模擬鋰離子電池電壓變化情況。圖7為以電池輸入電壓3.6V為基準(zhǔn)、先逐漸增大電池輸入電壓后逐漸減小電池輸入電壓,電池單體檢測模塊所得到的電壓值與理論值的誤差曲線圖,其誤差均保持在0.02V范圍內(nèi)。因此,整體上能夠滿足設(shè)計和使用方面的要求。?
?

?
??? 通過試驗驗證,整個動力電池檢測與顯示系統(tǒng)表現(xiàn)出了良好的穩(wěn)定性和精確性。其中,電池單體檢測模塊中電壓采集部分采用帶有模擬開關(guān)的壓控恒流源電路,該電路將電壓信號轉(zhuǎn)換成電流信號,大大提高了抗干擾性能,使其能夠滿足電動車輛的使用要求。此外該檢測模塊具有結(jié)構(gòu)簡單、工作穩(wěn)定、傳輸距離遠等優(yōu)點。利用內(nèi)嵌于單片機內(nèi)的CAN控制器,接口電路簡單、可靠、并具有良好的工作穩(wěn)定性。?
參考文獻?
[1]?朱正.動力電池組分布式管理系統(tǒng)設(shè)計及實車試驗[D].北京:北京理工大學(xué),2006. ?
[2]?張彩萍,張承寧.電動車輛動力電池組電壓采集電路設(shè)計[J].電氣應(yīng)用,2007,26(12):91-93.?
[3]?童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第3版)[M].北京:高等教育出版社,2000.?
[4]?高云紅.數(shù)字溫度傳感器在多點溫度測量系統(tǒng)中的應(yīng)用[J].沈陽航空工業(yè)學(xué)院學(xué)報,2006,23(2):61-63.?
[5]?ATMEL Corporation. AT90CAN128 [EB/OL].http://www.atmel. com. Rev. 4250-CAN-04/ 05.
