山東科技大學電子通信與物理學院 張玉帥 楊婷婷
?
基于51單片機的智能尋跡機器人系統設計
山東科技大學電子通信與物理學院 張玉帥 楊婷婷
【摘要】本文針對智能機器人如何在比較復雜的道路上實現自主行走,設計出了一種利用灰度傳感器和光電傳感器作為引導,借用通信中分時復用概念,以51單片機為核心的智能機器人系統。該系統的機器人利用51單片機和傳感器,價格低廉。該機器人通過識別以黑色長條為邊線和模擬障礙物,實現了在道路快速、準確行走,遇到障礙物尋找最佳路徑繞過的功能。經過適當改造之后具有多種用途。
【關鍵詞】PWM;分時復用;交叉足
隨著現代科技發展,智能設備走入人們日常生活已經成為一個趨勢。但是智能家居機器人因其造價較高,造成其售價較高,因此步入人們生活的步伐緩慢。
鑒于此,本設計提出了一種基于STC12C5A60S2單片機的機器人尋跡可行性方案設計,該方案在保證成本低廉的同時,又能夠快捷、準確和穩定地完成直行、轉彎、避障等一系列動作,滿足機器人在運動中所需要的基本要求。另外,該機器人系統是智能家居機器人的基礎和關鍵。
機器人的機械結構設計非常重要。由于本設計采用的是交叉足方式,所以采用了以下的結構設計。
本設計使用的交叉足是由兩個交叉的U型框組成,穩定相比窄足來說要高出一個等級,每個寬度約為10厘米。
考慮到使用金屬制作的U型框表面非常光滑,無法很好的在平常道路上行走。為了解決這個問題,我們先后用過紙、毛巾等摩擦力較大的東西粘在腳底,然而后來發現用紙太容易磨破,而毛巾摩擦力又大,對機器人的運動產生阻礙。最后,本方案選擇了生活中常用而且價格便宜的鼠標墊作為粘在腳底的東西。將鼠標墊較為光滑的正面與腳底粘住,而摩擦力較大的背面與地面接觸。經過測試,粘有鼠標墊的機器人走路情況良好。
腿部的設計主要是兩腿之間的距離。不要小看兩腿之間的距離,這距離也會影響機器人整體運動的效果。由于已知U型框的寬度約為10厘米,經過不斷的嘗試,本設計最后將兩腿之間的距離確定為12厘米,這樣走起來相對比較穩定,效果比較好。
本設計使用4個舵機,其中上面兩個舵機直立,下面兩個舵機平躺。在這種方式下,下面兩個舵機控制腳的上下運動,而通過上面兩個舵機則可以控制舵機的前進和轉彎。前進和轉彎的差別主要在于,前進時上面兩個舵機轉動角度在數值上相等,而轉彎時,上面兩個舵機轉動角度在數值上并不相等。
本設計使用一塊木板架在兩腿之間,然后將模塊放在木板之上。經過綜合考慮單片機核心控制模塊和中介模塊放置方式,本設計使用的木板尺寸是長為16.8cm,寬為9.9厘米,然后將中介模塊和單片機核心控制模塊并行放在木板之上。經過測試發現,使用木板之后的機器人非常牢固。同時,為了節省空間,我們將電池放置在木板之下,機器人的兩腿之間,利用粘布將其粘貼在木板之上,為了使粘貼更加牢固,我們又將其捆綁上膠帶加以固定。
本系統的硬件部分主要有單片機核心控制模塊、電池模塊、中介模塊、舵機運動模塊和傳感器模塊組成。
單片機核心控制模塊,采用國產的STC12C5A60S2單片機,功能較為強大。作為整個機器人的核心部分,主要是控制機器人的行走,負責根據傳感器傳遞來的信號,利用預先寫入的算法,控制舵機進行躲避或者繞行的措施。其主要由單片機、晶振電路、復位電路和在芯片引腳上接上拉電阻部分組成。一般情況下,使用的晶振是11.0592MHZ。本設計中所有定時器都基于此晶振來設計。
電池模塊,為整個機器人其它各個模塊的運行提供穩定的電源驅動。由于舵機需要至少6.6V的電壓,為此使用了一個標稱電壓為7.2V的可充電的鋰電池。
中介模塊是整個機器人承上啟下的一個模塊。這個模塊主要有以下功能:①負責接收來自單片機核心控制模塊的信號,然后轉接到舵機上;②負責轉接電池輸入電壓,為舵機提供合適電壓電源;③連接降壓模塊,為單片機和傳感器提供穩定的5V電壓。
舵機要求電壓為6V~7.4V,由于與電池標稱電壓一致,在中介模塊上只需要設計一個轉接插針即可。
傳感器反饋模塊、單片機核心控制模塊需要5V的電壓供電,本設計從電池連接一個LM7805三端穩壓器將電壓穩定到5V左右,然后并聯一個電容,使電壓穩壓,連接到多個排針,為以上兩個模塊供電。為了控制方便,本設計在電容和排針之間設置了一個開關。
舵機運動模塊,是該機器人的功能實現模塊。通過PWM占空比實現舵機的轉動,進而實現機器人的前進和轉向,這是機器人運動的關鍵。
傳感器反饋模塊,可以說是機器人的“眼睛”,它分為光電傳感器和灰度傳感器兩個部分。灰度傳感器主要檢測邊界黑線位置,為單片機核心控制模塊判斷是否調整機器人路線做出決定的依據;光電傳感器負責感知圓筒障礙物,同樣也為單片機核心控制模塊判斷機器人是否轉向做出決定的依據。
3.1運動算法設計與實現
機器人的運動可以分解為一個個簡單的步驟組成,而這個簡單的步驟是:左下舵機向上轉動一定角度,右下舵機向右轉動一定角度,左上和右上分別左轉和右轉相同的一定角度,使得機器人完成第一邁步動作。而后全部放下。右腳邁步動作與左腳邁步動作類似。
總體來說,本設計采用了“3+3”方式走法,即“左腳抬-->左腳邁-->左腳放”,然后“右腳抬-->右腳邁-->右腳放”,如此循環執行。減慢降低速度有利于提高穩定性,設置兩個灰度傳感器防止走出。其中,左腳的操作是通過單片機的定時器1來實現,右腳的操作是通過定時器0來實現的,最后通過中斷和定時器的分時復用實現整個機器人的運動。
舵機接收到來自單片機的信號后,信號進入調制芯片,獲得偏置電壓。由于其內部有一個基準電路,能夠產生一個寬度約為1.5ms,周期為20ms的基準信號。偏置電壓與基準信號相比較獲得一個電壓差。然后,電壓差輸出到電機驅動芯片,后者將決定舵機的旋轉方向和角度。
3.2傳感器算法設計及實現
傳感器作為機器人的“眼睛”,對機器人的運行非常重要。本設計選用了2個灰度傳感器和光電傳感器。
其實,無論是灰度傳感器還是光電傳感器,都可以看做是一個開關。灰度傳感器工作時,當檢測到是白色時,發回低電平(0)到單片機的I/O口,當檢測到是黑色時,發送高電平(1)到單片機的I/O口;光電傳感器工作的時候,當檢測到障礙物時候,會發送一個低電平(0)到單片機的I/O口。
本設計將左側灰度傳感器接到單片機的P3.4端口,右側灰度傳感器接到單片機的P3.3端口,光電傳感器接到P3.2端口。通過傳感器傳到單片機的高低電平,使單片機就當前的位置作出判斷,進而通過糾正方向的函數,實現機器人的方向糾正。
3.3總體效果實現
當機器人開始運動的時候,機器人將嚴格按照所指定的路線前進。由于舵機的設計誤差,可能會使機器人產生旋轉角度的誤差,造成其運動方向偏移,或者到達轉彎地點時,傳感器將自動將信號傳遞給單片機,單片機將做出修正機器人運動方向的指令,最終實現機器人按照較為合理的路線實現直行、轉彎和避障。
現代科技的發展使智能家居成為了可能。智能家居機器人將進
一步進入人們的日常生活,成為人們生活的一部分。本設計提出的機器人尋跡系統作為智能家居機器人的運動學基礎,充分考慮了智能家居機器人在現實應用中可能面臨的問題,并給出了解決方案,實現效果良好。可以說,本系統在未來將會有更深入的研究基礎。
參考文獻
[1]閻石.數字電子技術基礎[M].北京:高等教育出版社, 1998.
[2]郭天祥.51單片機C語言教程[M].哈爾濱:電子工業出版社,2009.
[3]李宏俊.以單片機為核心的溫室智能控制系統[J].電子元器件應用,2007,9(5):20-23.
[4]汪新浩.基于移動機器人的智能家居安防系統[J].電子世界,2015.13:81-88.
作者簡介:
張玉帥(1995—),山東萊蕪人,現就讀于山東科技大學電子通信與物理學院通信工程系。
楊婷婷(1997—),山東濟南人,現就讀于山東科技大學電子通信與物理學院通信工程系。