基于CAN總線的潛水電機智能監(jiān)控系統(tǒng)設(shè)計
2.信號采集模塊:用來檢測電機的運行狀態(tài),包括:鉑電阻溫度傳感器、電流互感器、電極式液位傳感器。分別用來檢測電機三相定子的溫度、三相主電流和電機腔內(nèi)的水位,可以有效地監(jiān)測潛水電機的過流、過熱、缺相、短路、滲漏等異?,F(xiàn)象。信號采集模塊以12位精度的ADC和多路模擬開關(guān)為核心,將傳感器采集到的模擬信號進(jìn)行調(diào)理后轉(zhuǎn)變?yōu)閿?shù)字信號并送入微控制器。MCU得到檢測信息后做出相應(yīng)的判斷,并送至不同的子程序進(jìn)行相應(yīng)的處理,如:把電機運行的溫度、電流等信息通過通信程序發(fā)送給監(jiān)控計算機;若出現(xiàn)電機內(nèi)腔水位過低、溫度過高、電流過大,則自動切斷本節(jié)點的電機、發(fā)出聲光報警信息,并把節(jié)點的停機信息通過CAN總線發(fā)送給監(jiān)控計算機。
3.電機控制模塊:MCU判斷電機定子溫度、電流、液位中的任一項值超出設(shè)定值范圍時,都會通過SSR(固態(tài)繼電器)觸發(fā)相應(yīng)的異常處理電路,使電機得到保護(hù)。
4.參數(shù)設(shè)置模塊:報警電流、報警溫度、停機電流、停機溫度、節(jié)點地址、波特率等信息通過參數(shù)設(shè)置模塊存儲于基于X25045的E2PROM中,實現(xiàn)節(jié)點工作參數(shù)現(xiàn)場設(shè)定功能。除了節(jié)點地址外,其它的參數(shù)也可以通過監(jiān)控計算機設(shè)置。
5.狀態(tài)顯示模塊:采用基于I2C總線的顯示技術(shù),通過LED數(shù)碼管實時顯示電機運行過程中定子的溫度和電流值。并可以在設(shè)置模式下顯示待定參數(shù)的當(dāng)前值。當(dāng)電機出現(xiàn)非正常停機時,發(fā)光二極管可以指示出故障的類型,方便檢查維護(hù)。
監(jiān)控節(jié)點的硬件部分除了以上介紹的之外,還有電源電路和看門狗電路。電源電路提供所需隔離電源,用于提高節(jié)點的可靠性和安全性;看門狗電路主要保證系統(tǒng)運行的穩(wěn)定性,在上電、掉電以及警戒情況下復(fù)位輸出。
監(jiān)控系統(tǒng)的軟件設(shè)計
從整個監(jiān)控系統(tǒng)的角度來看,該系統(tǒng)的軟件設(shè)計主要分為兩大部分:即監(jiān)控計算機應(yīng)用軟件設(shè)計和現(xiàn)場智能節(jié)點軟件設(shè)計。
監(jiān)控計算機的軟件設(shè)計
計算機監(jiān)控軟件主要分為用戶應(yīng)用層、數(shù)據(jù)分析處理層及硬件設(shè)備驅(qū)動層3個部分,其軟件設(shè)計流程如圖3所示。
硬件設(shè)備驅(qū)動層通過PC-CAN接口卡建立監(jiān)控計算與CAN總線的連接,并與智能節(jié)點進(jìn)行數(shù)據(jù)交換;數(shù)據(jù)分析處理層完成CAN總線數(shù)據(jù)的接收、分類、判斷、處理、發(fā)送、存取操作等任務(wù);用戶應(yīng)用層和用戶需求緊密相關(guān),它主要完成的任務(wù)是為用戶提供顯示各類信息的監(jiān)控界面,進(jìn)行人機交互,也就是通常所說的人機界面(HMI)設(shè)計。
監(jiān)控節(jié)點的軟件設(shè)計
潛水電機的現(xiàn)場控制與數(shù)據(jù)采集都是通過智能節(jié)點完成的,與節(jié)點的硬件設(shè)計相一致,智能監(jiān)控節(jié)點的軟件設(shè)計也遵循模塊化的設(shè)計原則,使控制軟件具有易讀、易擴展和易維護(hù)的優(yōu)點。通過C51語言編寫相應(yīng)的軟件模塊實現(xiàn)智能節(jié)點的各種功能。軟件的各功能模塊之間通過入口和出口參數(shù)相互聯(lián)系,組合靈活方便,減少了調(diào)試時間,縮短了開發(fā)周期。
監(jiān)控節(jié)點通信程序設(shè)計
智能監(jiān)控節(jié)點的通信采用CAN總線2.0A協(xié)議,通信模塊的軟件設(shè)計主要由初始化子程序、報文接收子程序、報文發(fā)送子程序3部分組成。其中初始化子程序是實現(xiàn)通信的關(guān)鍵,它主要用來完成CAN控制器工作方式的選擇,即對系統(tǒng)中的CAN控制器控制段中的寄存器進(jìn)行設(shè)置。初始化過程是在CAN控制器復(fù)位模式下完成的。
智能節(jié)點與監(jiān)控計算機之間的數(shù)據(jù)交換是通過發(fā)送程序和接收程序?qū)崿F(xiàn)的。報文發(fā)送時只需將電機的狀態(tài)數(shù)據(jù)送入SJA1000的發(fā)送緩沖區(qū)中,然后啟動發(fā)送請求。監(jiān)控節(jié)點采用定時中斷的方式主動向監(jiān)控計算機發(fā)送數(shù)據(jù)。這是利用了CAN總線可以采用多主機方式通信的特點。由于實時監(jiān)控功能由各個控制節(jié)點完成,而監(jiān)控計算機主要起到管理作用,所以采用了定時上傳數(shù)據(jù)的方法,而沒有實時上傳所有傳感器采集到的數(shù)據(jù),從而減輕了總線負(fù)擔(dān)。一個正在等待的報文會從存儲器復(fù)制到發(fā)送緩沖器后,置位命令寄存器TR標(biāo)志產(chǎn)生發(fā)送請求,發(fā)送過程由SJA1000獨立完成?;赟JA1000的報文接收有兩種方式:中斷方式和查詢方式。為了保證接收報文的準(zhǔn)確性,選擇實時性較高的中斷方式。在中斷方式下,如果SJA1000已接收一個報文,并且報文已通過驗收濾波器并放入接收FIFO,那么會產(chǎn)生一個接收中斷,通知微處理器有報文已經(jīng)接收。接收緩沖區(qū)用來存放CAN總線上發(fā)來的數(shù)據(jù),MCU讀取數(shù)據(jù)后,接收緩沖區(qū)將被清空,等待接收新的數(shù)據(jù)。
結(jié)語
本文采用CAN現(xiàn)場總線設(shè)計的潛水電機分布式智能監(jiān)控系統(tǒng)具有抗干擾能力強、網(wǎng)絡(luò)化管理程度高、人機界面友好等特點。開發(fā)過程中所提出的技術(shù)方案和實現(xiàn)方法可以在類似的工業(yè)底層監(jiān)控網(wǎng)絡(luò)系統(tǒng)及分布式監(jiān)控系統(tǒng)的設(shè)計中推廣應(yīng)用。
評論