本站小編為你精心準(zhǔn)備了管道機器人的通信系統(tǒng)剖析參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

測控主機向分機命令(此命令也可來處管理服務(wù)器),同時接收來自測控分機的狀態(tài)信息,通過運算,然后對分機下達(dá)精確的指示。測控分機收到命令后,通過執(zhí)行機構(gòu)控制機器人小車的運行、作出執(zhí)行任務(wù)所需的相關(guān)動作。傳感器向測控分機傳遞管道機器人的狀態(tài)信息。當(dāng)管道機器人在管道內(nèi)作業(yè)距離較遠(yuǎn)時,管道外的測控主機與機器人小車上的測控分機相距較遠(yuǎn),二者間的通信主要基于長距離串行通信模塊如RS485進行。這種通信方式需要獨立的串行通信線,因此測控主機與測控分機間的線纜內(nèi)除了包含電源線外還包括串行通信信號線。當(dāng)機器人行走距離遠(yuǎn)、管道轉(zhuǎn)彎較多時,線纜與管壁的摩擦力會變得很大,從而嚴(yán)重限制了機器人作業(yè)時的最大行走距離,同時使機器人的可靠性降低。為了克服上述缺點,本文將電源線載波技術(shù)用于管道機器人的通信系統(tǒng),線纜內(nèi)電源線與串行通信信號線共用,大大減輕了線纜的重量及線纜與管壁的摩擦力,提高了管道機器人的可靠性,增大了其作業(yè)時的最大行走距離。
載波芯片選擇
電源線載波通信是利用電源線作為信號的傳輸媒介,不需要單獨的信號線,將信號通過載波方式從電源線進行傳輸?shù)募夹g(shù)。為簡化應(yīng)用并提高載波通信的可靠性,國內(nèi)外許多公司開發(fā)了電源載波芯片。國內(nèi)科強電子技術(shù)公司開發(fā)的KQ-100F載波芯片模塊可用于低壓直流電源線載波,接收靈敏度好,性價比高。該芯片內(nèi)置RS232接口,可在多種傳輸速率下傳輸,在傳輸波特率9600bps下,傳輸距離保證為300m。由于采用該芯片進行載波通信,通信軟件的編程可按RS232方式進行,適宜于現(xiàn)有軟件的移植,因此本管道機器人通信系統(tǒng)采用KQ-100F芯片進行信號的載波通信。
硬件設(shè)計
采用Atmel公司的ATmega16A單片機與KQ-100E模塊連接,用半雙工通信方式進行串行通信。KQ-100E模塊負(fù)責(zé)將TTL電平信號轉(zhuǎn)換后調(diào)制到電源線上和從電源線上解調(diào)出TTL電平信號。
KQ-100E模塊的TX腳接單片機的TXD腳用于發(fā)送數(shù)據(jù),RX腳接單片機的RXD腳以接收數(shù)據(jù)。KQ-100E模塊的R/T腳為接收/發(fā)送控制端,接單片機的某一管腳。R/T為高時,模塊處于接收狀態(tài);R/T為低時,處于發(fā)送狀態(tài)。模塊內(nèi)有防過壓和防瞬變抑制電路,以防過電壓和雷電對模塊的損壞。VAA端為發(fā)送功率電源,VAA接不超過18V的直流穩(wěn)壓電源,具體電源電壓的高低視距離遠(yuǎn)近或干擾的大小而定。若距離遠(yuǎn)或干擾大VAA端接低壓,反之則接高壓。為了減輕VAA端所接電源對載波模塊的干擾,在該電源與模塊的VAA之間串接一只10mH的電感,在VAA與地之間接100pF的電容。
圖3給出了測控主機中載波部分的電路圖。24V直流電源由管道外的開關(guān)穩(wěn)壓電源提供,該電源變壓后給電路提供12V及5V的電源。測控分機載波部分的電路圖與此圖相似,KQ-100E模塊的C1、C2導(dǎo)線既為測控分機提供電源也是測控主機與測控分機之間的信號通道。測控分機載波部分的電路圖不再給出。
軟件設(shè)計
1通信協(xié)議
由于只有一個測控主機與一個測控分機,所以可以制定簡單有效的通信協(xié)議以滿足通信要求。采用數(shù)據(jù)包的形式組織數(shù)據(jù),以包為單位進行數(shù)據(jù)的對外發(fā)送。每個數(shù)據(jù)包都有固定的格式,由起始碼、長度碼、類型碼、數(shù)據(jù)、校驗碼、結(jié)束碼等組成。起始碼是每一包數(shù)據(jù)的引導(dǎo)頭,用0FFH、0AAH表示;長度碼是當(dāng)前數(shù)據(jù)包的總長度,占一個字節(jié)。數(shù)據(jù)包的類型有兩大類,分為命令信息包和應(yīng)答信息包,由類型碼來區(qū)分,占1個字節(jié)。當(dāng)發(fā)送方發(fā)出命令信息包后,必須在規(guī)定時間內(nèi)收到應(yīng)答信息包,否則重發(fā)。若類型碼為0FAH或0FBH,該數(shù)據(jù)包為應(yīng)答信息包,表示所接收的信息正確或錯誤。當(dāng)類型碼為0FAH、0FBH以外的字符時,表示該數(shù)據(jù)包為命令信息包,具體是什么命令可根據(jù)需要進行定義。校驗碼是數(shù)據(jù)包的校驗標(biāo)志,是本數(shù)據(jù)包數(shù)據(jù)部分的所有字節(jié)進行異或后的結(jié)果,用以檢驗數(shù)據(jù)包發(fā)送后的正確性。結(jié)束碼是每一包數(shù)據(jù)的結(jié)束標(biāo)志,用0FFH、0EEH表示。命令信息包的格式如表1所示。當(dāng)類型碼為應(yīng)答信息碼時,為應(yīng)答信息包,其格式與命令信息包相似,不再給出。
2通信流程
測控主機與測控分機都可以發(fā)送或接收數(shù)據(jù)。為了避免主機與分機同時發(fā)送數(shù)據(jù),當(dāng)發(fā)生沖突時(得不到對方響應(yīng)),測控分機暫停1個時間間隔(如10個指令周期)再發(fā)送,測控主機不用暫停直接重發(fā)。測控主機與測控分機的主程序首先要進行串行通信的初始化設(shè)置,數(shù)據(jù)包的發(fā)送通過調(diào)用發(fā)送子程序進行,而接收則通過單片機的中斷方式進行。在主程序中采用中斷方式接收數(shù)據(jù),可避免漏接數(shù)據(jù),同時當(dāng)沒有數(shù)據(jù)需要傳送時,正常運行程序的其他部分,從而提高了系統(tǒng)的實時響應(yīng)能力。當(dāng)沒有數(shù)據(jù)需要發(fā)送時,測控主機與測控分機的KQ-100E模塊的R/T端皆設(shè)置為高電平,模塊都處于接收狀態(tài)。當(dāng)一方要發(fā)送數(shù)據(jù)時,先置其R/T為低,串行輸出一個數(shù)據(jù)包,該數(shù)據(jù)包發(fā)送完畢后,發(fā)送方把本方模塊的R/T端置高,設(shè)為接收狀態(tài)。
測控分機的發(fā)送數(shù)據(jù)子程序流程如圖4所示,發(fā)送時先置KQ-100E模塊為發(fā)送模式,然后將待發(fā)送數(shù)據(jù)以數(shù)據(jù)包的形式進行發(fā)送,發(fā)送完后置KQ-100E模塊為接收模式,若在規(guī)定時間內(nèi)(不同的命令等待時間可不同)收不到應(yīng)答信息,延時50us重發(fā)。測控主機的發(fā)送數(shù)據(jù)子程序流程與測控分機的相似,不同之處是收不到應(yīng)答信息時直接重發(fā),其流程圖不再給出。測控主機與分機的接收數(shù)據(jù)中斷程序流程相同,如圖5所示。其中,接收方根據(jù)所收數(shù)據(jù)包的校驗碼正確與否,設(shè)置相應(yīng)的類型碼,連同發(fā)送方所要的數(shù)據(jù)打成一個數(shù)據(jù)包并回復(fù),然后返回主程序。若發(fā)送方所收應(yīng)答包的類型碼為0FBH,則再次調(diào)用發(fā)送子程序重發(fā)。
結(jié)論
由于無纜管道機器人在供電及通信上存在著明顯的缺點,很多場合下,管道機器人采用有纜方式。而有纜管道機器人當(dāng)在管道內(nèi)行走距離遠(yuǎn)、管道轉(zhuǎn)彎較多時,由于線纜長度增加、重量增大,線纜與管壁的摩擦力會變得很大,嚴(yán)重影響了管道機器人作業(yè)時的最大行走距離及其可靠性。本文將KQ-100E電源線載波調(diào)制解調(diào)模塊用于機器人的載波通信系統(tǒng),從而實現(xiàn)了線纜內(nèi)電源線與信號線的復(fù)用,設(shè)計了系統(tǒng)的硬件與軟件,完成了軟硬件測試,并在中央空調(diào)風(fēng)管清潔機器人系統(tǒng)中進行了應(yīng)用。應(yīng)用結(jié)果表明,該通信系統(tǒng)大大減輕了線纜與管壁的摩擦力,對增大有纜管道機器人的最大行走距離、提高其可靠性,具有非常顯著的作用。
作者:孫康嶺楊兆偉單位:泰山職業(yè)技術(shù)學(xué)院機電工程系