張勇

摘 要:機器人需要能夠感知外界環境,通過處理感知信息來控制其肢體。為了實現機器人在未知環境里,智能地工作,本設計以PLC為中心,設計爬行機器人如何采集周圍信息,并規劃和實現其行走。以機器人構架作為機器人最基本的結構,其包含驅動控制系統;再設計信息采集系統,用于采集機器人周圍環境的信息;最后設計以PLC為核心的機器人控制系統,實現機器人能通過PLC的輸入口,手動控制爬行機器人,也能讓機器人自動感知外界環境,對感知信號進行判斷后控制機器人行走。
關鍵詞:爬行機器人;信息周圍采集;行走
中圖分類號:TP231文獻標識碼:A 文章編號:1672-3791(2015)09(b)-0000-00
1 引言
由于電力系統的特殊性,需要許多智能機器人需要根據身處的環境,而執行不同的動作。在本系統里面就設計了信息采集系統,用于采集機器人周圍信息。為了讓機器人的肢體根據主控信號而執行對應動作,系統配置了機器人驅動系統。
本系統以PLC為控制中心對信息采集系統和機器人構架進行控制。
1.1 信息采集系統與PLC聯系的設計
PLC通過串口通信與信息采集系統取得聯系。信息采集系統是一個獨立的系統,信息采集系統自動地采集機器人周圍信號,有3路超聲波信號、有溫度、濕度、12路紅外傳感信號。并且把采集到的信息儲存起來,通過串口通信PLC可以查詢到采集到的信息。
1.2 機器人驅動系統與PLC聯系的設計
機器人驅動系統也是一個獨立的系統,機器人驅動系統反復讀取并口上的動作信號,這樣PLC就可以通過并口把指定動作信號傳送給機器人驅動系統,該系統根據信號的內容來發出18路PWM信號,進而驅動18個舵機,使其運動到指定的位置,每當執行完一次任務后,該系統會通過I/O口反饋一個信號。
2 系統的設計
2.1 PLC的I/O接線設計
本系統需要一個通信接口,8個數字量輸出及12個數字量輸入,所以選擇西門子PLC S7-224CN。該可編程控制器有一個RS485通信接口,有10個數字量輸入和14個數字量輸出,正適合本系統。
2.2 信息采集系統的設計
信息采集系統主要工作是采集機器人周圍信息。在本系統里面需要實現以下功能:
1)能采集機器人前方,左前方和右前方的障礙物信息。本系統運用3個超聲波測距模塊分別檢測這3個方向的障礙物的距離。
2)能檢測到機器人腳下是否有地面,以及機器人的腳的行進方向有避撞檢測。P0口作總線,配合INFFOO_OE和INFARO_OE這兩個鎖存器使能端實現12路紅外傳感器信號的采集。
3)能感知機器人所在環境的溫度和濕度。本設計測量溫度使用DS18B20,而測量濕度使用的是DHT11濕度傳感器。
4)能把采集信息顯示出來。這里使用LCD1602實現其顯示的功能。顯示器數據接口接到P0口,其控制端分別接LCD1602_RW、LCD1602_RS和 LCD1602_E。
5)還需要與PLC建立通信。PLC通信口使用RS485,這里也使用RS485模塊實現通信,這樣便于建立通信,另外利于添加其它采集模塊。具體運用RS485_RXD、RS485_TXD和RS485_COM這3個端口,另外LED_RS485用于驅動通信燈。
2.3 機器人驅動系統的設計
本系統運用AVR單片機。AVR較高性能、較低功耗的8位AVR微處理器,運行速度快才能生成穩定的PWM信號,利于舵機穩定運行,PWM信號的脈寬不穩定會直接導致舵機抖動。
舵機就是一種微型伺服型馬達。它在接收周期為20ms的PWM控制信號之后,根據PWM信號占空比,在閉環控制系統里面轉動到指定的角度,在本系統里應用到機器人的關節。最小系統里的M01至M18是接到18個舵機的信號端上。
AVR與PLC運用并口連接,實現PLC把步態指令寫入AVR單片機,通訊并口運用單片機上的PC口。另外AVR單片機完成上一次的任務回饋一個完成動作的高電平,該電平從Finish端口輸出。不用串口通信是因為并口傳輸速度極快,不像串口通信需要等待校驗,該系統和PLC控制中心是放到一起的。
3 程序設計
如圖2所示,是本設計的信息采集系統的主程序流程圖。系統的啟動先把顯示器初始化,在顯示一些在運行過程中不會改變的字符,稱之為模板,這樣就可以讓系統在運行過程中不需要重復寫不會變化的字符。接下來就是定義定時器T0和T1,T1在本系統的用于產生9.6kbp/s波特率,而T0是用來超聲波測距的定時用的。上面的各方面的初始化都做好了以后,就要進入循環了,在此之前一定要先把通信打開,否則系統能采集信息,但不能被查詢。
在循環體里面,就有以下幾大部分:
1) 3路超聲波測距的啟動、檢測回波、計算、存儲及其顯示。
2) DHT11模塊的濕度采集、換算、存儲和顯示。
3) 讀取DS18B20轉換出來的溫度值及計算、存儲和顯示。
4) 讀取12紅外線檢測及其顯示和步態的顯示。
4 結論
電力系統智能爬行機器人的設計,以PLC為中心的控制系統,能收集機器人周圍信息,又能控制機器人的動作。在信息采集部分,建立起以AVR單片機為核心的模塊,來實現能自行采集機器人周圍信息,又能讓PLC通過通信口查詢采集到的信息。在驅動機器人動作部分,以AVR單片機為中心的系統,通過并口接收到PLC動作指令后,自行按照程序驅動18路舵機轉動到指定位置,從而實現機器人的動作,完成了設計任務,同時在機器人如何采集周圍信息方面做了創新。
設計過程中最難以解決的通信問題已得以妥善處理,不足在于沒有使用準確率較高的CRC校驗。從AVR的編程到控制18路舵機按設計要求進行工作也是個難題,不過經過大量資料的查閱、篩選和提取,都迎刃而解,不足之處就是沒有運用LABVIEW來規劃步態,創造出更多的機器人動作。
參考文獻
[1] 龔志廣,孫維連,李新領, PLC與AT89C52單片機的串行通信及應用[M]微計算機信息,2006,22(10-2).
[2] 段華,趙東標,一種新的移動機器人動態避障方法[J],應用科學學報,2006,24(5) .