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