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