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