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