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