摘要:介紹了基于CAN總線的分布式潛水電機監控系統,分析了系統的構成及實現方法,簡述了控制節點、CAN/RS232接口的通信流程。
關鍵詞:CAN總線 潛水電機 分布式系統 RS232總線
1.概述
潛水電機是潛水電泵的重要組成部分,廣泛應用于農田灌溉,礦山排水,湖區水利,及其他工農業給排水領域。潛水電機工作環境復雜,加上某些潛水電機的制造工藝特殊等諸多方面原因,使其較一般的電機更容易發生故障,如過載,過熱,滲水,漏水,短路缺相等。目前國內已有多家公司開發出針對個體潛水電機的智能電子保護裝置,雖然可以達到保護電機的目的,但無法實現集中管理,有明顯的局限性。本系統是基于CAN現場總線技術,實現了分散監控和集中管理功能。下面從系統的硬件結構、監控計算機軟件的設計、系統的通信流程等幾個方面來論述本系統的性能、結構及實現方法。
2.系統的硬件設計
2.1系統的整體結構
如圖1所示,本電機監控系統是由位于監控中心的監控計算機、CAN/RS232轉換卡,和位于潛水電機工作現場的控制節點構成。分布在現場的控制節點可以獨立對電機實現監控保護功能,監控中心可以通過CAN網和各個節點之間通信,實現集中管理功能。從而形成了分散監控和集中管理于一體的分布式監控結構。
2.2控制節點結構
圖2為控制節點結構圖,硬件設計上采用了模塊化結構,由微控制器、通信模塊、傳感器組、數據采集模塊、強電控制模塊、顯示模塊組成。根據具體情況可以只選用其中的一部分模塊。例如:可以去掉顯示模塊和現場設置模塊,利用監控計算機實現顯示和參數設置的功能。在單機運行時,可以不用通信模塊。下面簡述各個組成部分的結構與功能。
傳感器組:用來檢測電機的運行情況,由鉑電阻溫度傳感器、電流互感器、電極式液位傳感器組成。分別用來檢測電機三相定子的溫度、三相主電流、和電機腔內的水位,從而可以有效的監測潛水電機的過流、過溫、缺相、短路、滲漏等異常現象。鉑電阻和電極式液位傳感器的抗干擾性能力強,適合在惡劣環境下工作。
數據采集模塊:以12位精度的A/D和多路模擬開關為核心,將傳感器采集到的模擬信號轉變為數字信號送入微控制器。
強電控制模塊:定子溫度、液位、電流中的任一項值超出正常范圍時,都會觸發相應的異常處理電路。
顯示模塊:采用的是基于I2C總線的顯示技術,顯示當前電機定子的三相溫度和三相電流值。在設置模式下顯示待設置參數的數值。
現場設置模塊:采用的是基于8255的鍵盤和基于X25045的E2PROM,實現現場設定工作參數的功能。X25045存儲了報警電流、停機電流、報警溫度、停機溫度、站地址等信息。這些參數都可以通過鍵盤設置。除了站地址外,其它的參數也可以通過監控計算機設置。另外X25045還用作看門狗,當系統出現故障時,在超時周期后復位系統。利用X25045低VCC檢測電路,可以保護系統,使之免受低電壓狀況的影響。
2.3CAN/RS232接口卡結構
圖3為CAN/RS232接口卡結構圖,實現監控主機和CAN網絡之間的通信。它將控制節點發送上來的數據轉換成RS232協議格式送向主機,并將主機發送下來的數據轉換成CAN協議格式送向控制節點。
3.監控計算機系統軟件的設計
計算機系統軟件完成對整個系統的管理功能、和部分監控功能。采用的是基于VC++的MFC窗口編程和基于API的RS232串口通信協議,提供了直觀、易懂的圖形界面。實現的功能有:1、顯示各個節點工作情況;2、可以廣播設置所有節點的工作參數,也可以設置某個具體節點;3、當電機出現異常時可以給出錯誤參考,方便維修;4、對于工作過程中新加入或退出的泵站,系統可以自動檢測;5、可以把當天的工作情況記錄到一個以日期命名的文件中,方便管理。
4.系統的通信流程
4.1 CAN總線概述
CAN現場總線是一種開放式實時系統,有3層網絡結構——物理層、數據鏈路層和應用層。CAN總線是以報文為單位進行信息傳送的,可采用多主機方式,網絡上的任意節點都可以主動發送信息。廢除了傳統的地址編碼,采用通信數據塊進行編碼。強大的總線仲裁功能保證了數據傳輸的可靠性,避免了總線沖突。CAN總線具有良好的可靠性、實時性、抗干擾能力。在5Kbps的通信速率下,理論上的通信距離可以達到10000米。由于這些優點,CAN已經廣泛的應用在測控系統中。
4.2簡述控制節點的通信流程
本系統的CAN總線通信硬件接口電路主要由單片機89C52和CAN控制器SJA1000、6N137高速光隔、CAN收發器82C250組成(參見圖3)。89C52完成CAN協議的應用層功能,SJA1000完成物理層和數據鏈路層的功能。82C250提供了對總線差動發送和接受數據的功能,有效地提高了總線的抗干擾能力,實現了保護總線、降低射頻干擾等功能。6N137隔離控制電路和收發器電路,進一步提高了系統的抗干擾能力。通信介質為帶屏蔽的雙絞線,在兩個網絡終端須加120的電阻作為線路匹配。
本系統中,CAN總線通信的軟件部分由C51語言編寫,應用CAN2.0A協議,主要由初始化、發送數據、接受數據三個部分組成。其中初始化部分是實現通信的關鍵,其步驟主要有:進入復位模式->初始化驗受代碼寄存器(ACR)、屏蔽代碼寄存器(AMR)、總線定時寄存器(BTR)、輸出控制寄存器(OCR)->清除復位模式->初始化控制寄存器、命令寄存器。其中ACR、 AMR、 BTR、 OCR只能在復位模式下訪問。發送數據和接受數據部分根據具體情況編寫。
控制節點的通信流程如圖4所示。
從圖4可以看出系統采用了每個節點定時主動向監控計算機主動發送數據的方法。這是利用了CAN總線可以采用多主機方式通信的特點。由于實時監控功能是由各個控制節點完成,而監控計算機主要起到管理功能,所以采用了定時上傳數據的方法,而沒有實時上傳所有傳感器采集到的數據,從而減輕了總線負擔。這也是分布式控制方法相對于集中控制方法的一個優點。
4.3簡述CAN/232通信流程
圖5為CAN/RS232轉換卡的簡要通信流程,應用以上通信流程快速準確的實現了CAN總線協議和RS232協議的轉換。
5.總結
本系統經過現場調試,在20k的傳輸速率下,1500米的傳輸距離中可以保證數據的可靠性。很好的實現了對潛水電機的監控及管理功能。實驗證明CAN總線具有優越的性能,且技術成熟,其應用前景廣闊。