引言
一般電源設(shè)備只能對電池組的整體輸出電壓和電流進(jìn)行測量,對于單塊電池不能進(jìn)行在線測量,。而電池組的失效又往往是從單塊電池失效開始的一種惡性循環(huán),,尤其對于使用時間較長但又不超過使用期限的電池組,單純依靠維護(hù)人員的日常維護(hù)很難發(fā)現(xiàn)問題,。因此,,對于單塊電池的運行參數(shù)進(jìn)行在線監(jiān)控,,及時發(fā)現(xiàn)問題就變得極為重要,。
單塊電池的損壞首先表現(xiàn)在端電壓在充電時過高而在放電時又迅速下降,,電池體溫升高,負(fù)載能力下降等異?,F(xiàn)象,。可以通過對電池的端電壓,、體溫等參數(shù)的在線測量及時發(fā)現(xiàn)故障電池,。
早期的蓄電池在線監(jiān)控采用集中監(jiān)控方法,或是基于RS-232(或RS-485)總線的分散采集,、集中監(jiān)控的分布式測量方法,。這些方法只能采用主從式系統(tǒng)結(jié)構(gòu),以輪詢方式收集數(shù)據(jù),。這是因為RS-232和RS-485總線只是一種純粹的物理接口,,不具有主動協(xié)調(diào)能力。CAN總線是一種多主機(jī)控制局域網(wǎng)標(biāo)準(zhǔn),,具有物理層和數(shù)據(jù)鏈路層的網(wǎng)絡(luò)協(xié)議,、多主節(jié)點、無損仲裁,、高可靠性及擴(kuò)充性能好等特點,。下面給出一種基于CAN總線的分布式蓄電池在線監(jiān)控系統(tǒng)。
圖1 分布式蓄電池在線監(jiān)控系統(tǒng)功能示意圖
圖2智能監(jiān)控節(jié)點結(jié)構(gòu)圖
圖3 CAN接口模塊原理圖
圖4 DS1820與單片機(jī)連接示意圖
系統(tǒng)組成
系統(tǒng)由上位機(jī),、RS-232-CAN接口和智能節(jié)點組成,,如圖1所示。
上位機(jī)由普通微機(jī)組成,,接收各節(jié)點的監(jiān)控數(shù)據(jù),,建立電池組運行數(shù)據(jù)庫,對采集到的電池數(shù)據(jù)進(jìn)行處理(如記錄電池的履歷,、采集數(shù)據(jù)的時間等)并以表格或圖形的方式輸出顯示,,對整個系統(tǒng)的運行狀況進(jìn)行管理等。
RS-232-CAN接口為CAN總線與上位機(jī)的接口,,完成CAN總線數(shù)據(jù)與RS-232接口的數(shù)據(jù)轉(zhuǎn)換,,對智能節(jié)點來的數(shù)據(jù)信息進(jìn)行緩存,對告警信號進(jìn)行告警以通知維護(hù)人員進(jìn)行處理,。
智能節(jié)點為智能型的監(jiān)控模塊,,實現(xiàn)對電池組內(nèi)(總電壓48V,單塊電壓12V或2V)的單塊電池端電壓,、體溫,、環(huán)境溫度進(jìn)行測量,。若超出工作范圍則進(jìn)行告警,并將監(jiān)測數(shù)據(jù)存儲,,定期上報監(jiān)控數(shù)據(jù),。超限告警信號及時上報,并可接受上位機(jī)的輪詢,。下面僅就智能節(jié)點給出詳細(xì)的設(shè)計方案,。
硬件組成
智能監(jiān)控節(jié)點以89C52為控制器,外圍模塊包括CAN接口模塊,、溫度測量模塊,、電壓測量模塊、告警模塊,、節(jié)點地址選擇和可選的存儲器模塊等,,如圖2所示。為充分利用89C52的接口資源,,除CAN接口模塊外其余模塊均采用串行接口器件,,這樣就減小了電路體積,降低了電路的硬件成本,。
CAN接口模塊
CAN總線協(xié)議及其特性見參考文獻(xiàn),。目前,具有CAN協(xié)議功能的芯片很多,,本設(shè)計選用常見的PHLIPLE公司的SJA1000獨立CAN控制器芯片和82C250 CAN接口驅(qū)動芯片,。為增強(qiáng)節(jié)點的抗干擾能力,SJA1000的TX0和RX0通過高速光耦6N137與82C250相連,,電路如圖3所示,。
電壓測量模塊
當(dāng)蓄電池是由4節(jié)12V電池串接而成時,其在線端電壓遠(yuǎn)高于ADC的允許輸入電壓,,所以對電壓的采集電路要進(jìn)行特別設(shè)計:將串連電池組的各節(jié)電池端電壓經(jīng)模擬開關(guān)分別引入分壓電路進(jìn)行分壓處理,,再經(jīng)電壓跟隨器進(jìn)行阻抗變換后送入ADC的差分輸入端,轉(zhuǎn)換后的電壓數(shù)字量輸出到單片機(jī)的PI口,。
ADC選用National Semiconductor的ADC0838,。 該器件是一種輸入端可編程、單端8通道/差分4通道,、8位串行ADC,,其數(shù)據(jù)輸入輸出口可以分時共用。
模擬開關(guān)選用MAXIM的MAX4613,。它是一種四路單刀單擲TTL/CMOS兼容的模擬開關(guān),,可單端供電(9~40V)也可雙端供電(±4.5~±20V),與電池組的連接 采用“浮地”方式:每個MAX4613控制兩節(jié)電池的選通,電源和地分別取兩節(jié)電池串連后的正極和負(fù)極,。由于MAX4613的S1,、S4和S2、S3的控制極性相反,,所以不能采用譯碼電路,,而由單片機(jī)的四個I/O口線經(jīng)光耦隔離后單獨驅(qū)動,以保證同時只有一路電池電壓接入后級的分壓電路,。另外,,其控制端采用CMOS電平(VL接V+)。
分壓電路采用三個相同的電阻,,分壓后的電壓約為4V左右。由于使用同一個分壓網(wǎng)絡(luò),,避免了由于分壓網(wǎng)絡(luò)的差異引起各路間的誤差,。同時模擬轉(zhuǎn)換器采用差分輸入從而減少了共模干擾和避免了“浮地”引起的電壓不兼容的問題。
如果對2V電池采樣,,可以用6個CD4052模擬開關(guān)控制各節(jié)電池的選通,,每個CD4052控制4節(jié)電池,由兩個I/O口線經(jīng)光耦隔離后驅(qū)動兩個地址選擇端,,另三個I/O口線經(jīng)74LS138譯碼后分別控制六個CD4052的使能端(INH),。
溫度測量模塊
溫度測量模塊采用美國DALLAS公司推出的DS18S20系列單總線數(shù)字溫度計,只需要一根導(dǎo)線就可將單片機(jī)和DS18S20連接起來,,如圖4所示,。每個I/O口線可以同時掛接多個DS18S20。
軟件的實現(xiàn)
軟件設(shè)計采用模塊化編程,,系統(tǒng)軟件主要分為主程序,、數(shù)據(jù)采集(電壓、溫度)處理程序和通訊程序,。
主程序為系統(tǒng)控制程序, 實現(xiàn)對系統(tǒng)進(jìn)行初始化(包括系統(tǒng)自檢,、讀取本節(jié)點地址、電池組電池電壓種類,、向上位機(jī)發(fā)送本節(jié)點的地址,、接收上位機(jī)發(fā)送的本節(jié)點的基準(zhǔn)電壓值和溫度值)和各模塊軟件的總體調(diào)度。
數(shù)據(jù)采集處理程序包括電壓采集和溫度采集,。由于DS18S20的溫度轉(zhuǎn)換時間較長(750ms),,所以每次采集先進(jìn)行溫度轉(zhuǎn)換、電壓采集,,再進(jìn)行溫度的采集,。溫度轉(zhuǎn)換和電壓采集同步進(jìn)行。每一輪采集后要將數(shù)據(jù)進(jìn)行處理,判斷是否超過限定值,。若正常則判斷是否采集了5次,,若不是則再次進(jìn)行采集。這是因為數(shù)據(jù)的變換是緩慢的,,如果正常就沒有必要每次都將數(shù)據(jù)上報,,以減少CAN總線上的數(shù)據(jù)量;若到了5次或數(shù)據(jù)超限,,則對數(shù)據(jù)打包上傳,,進(jìn)入CAN通信階段。
CAN通信程序負(fù)責(zé)將采集到的數(shù)據(jù)發(fā)送到CAN控制器,,再由CAN控制器負(fù)責(zé)將數(shù)據(jù)發(fā)送到CAN總線,。主要的子程序有:CAN初始化、CAN發(fā)送,、CAN接收,、ADC子程序,DS1820的復(fù)位,、啟動,、ROM的搜索、讀寫等,。其中CAN初始化,、發(fā)送和接收子程序、DS1820的復(fù)位,、啟動,、ROM搜索、讀寫等可參閱后面的參考文獻(xiàn),,ADC的轉(zhuǎn)換子程序詳見本刊網(wǎng)站,。
結(jié)語
分布式蓄電池智能監(jiān)測系統(tǒng)智能化程度高、測量準(zhǔn)確,、能及時發(fā)現(xiàn)蓄電池組存在的早期故障,。其智能監(jiān)控節(jié)點可以作為對一個臺站的多組電池實現(xiàn)分散采集、集中監(jiān)控的一個組成部分進(jìn)行聯(lián)網(wǎng)使用,,也可以作為開關(guān)電源的一個附屬部分與開關(guān)電源配套使用,。CAN接口可以用RS-232接口代替,以和現(xiàn)有的開關(guān)電源的控制主機(jī)聯(lián)接,,提高現(xiàn)有電源的性能,。