楊婧芳+祁惠梅

摘要:本設計采用了比較先進的AT89S52為控制核心。ATMEL公司,AY89S51可以說是單片機領域的主流產品,通過構建智能機器人系統,培養設計并實現自動控制系統的能力。此設計所使用的移動機器人工程對象——機器人,兩個輪子作為機器人的兩條腿。它采用AT89S52單片機作為大腦,通過教學版安裝在機器人底盤上。運用反射式紅外傳感器來進行路徑檢測和速度監測模塊,機器人的大腦——單片機AT89S52基于這個傳感器的輸入控制伺服電機。基于連續旋轉伺服電機的移動機器人,使機器人通過編程自動完成相應的動作。
關鍵詞:單片機;移動機器人;設計
1機器人的構成及設計方案
1.1機器人的構成
機器人主要由八大部分組成,它們分別是單片機(主控制器)模塊、傳感器模塊、電機驅動模塊、紅外檢測模塊、電機驅動模塊、LCD顯示器模塊、電源、無焊錫面包板。他們之間互相協作,最終完成動作。
1.2系統設計任務
設計一個基于連續旋轉伺服電機的智能移動機器人,系統方案方框圖如圖1所示。
圖1系統方案方框圖
1.3系統的設計方案
移動機器人控制系統由單片機(主控制器)電路模塊、紅外檢則模塊、電機及驅動模塊、電源模塊、LCD模塊等部分組成。
2移動機器人的硬件設計
2.1移動機器人的硬件連接
機器人大腦需要連接電源來運行,同時也需要連接到PC(或筆記本電腦)以便編程和交互。
2.1.1串口的連接
機器人教學板通過串口電纜連接到PC或者筆記本電腦上以便于用戶交互。如果計算機有串行接口,直接使用串口連接電纜。將該串口線一端的串口連接到機器人教學板上,另一端連接到計算機的USB口上,并安裝對應的USB驅動程序。
2.1.2ISP下載線的連接
移動機器人程序通過連接到PC或者筆記本電腦的并口上的ISP下載線來下載到教學板上的單片機內。下載線一端連接到PC的并行接口上,另一端(小端)連接到教學板上的程序下載口上。
2.2傳感器檢測模塊
機器人使用紅外線二極管LED作為前燈。紅外線二極管發射紅外光線,如果機器人前面的障礙物,紅外線從物體反射回來,相當于機器人眼睛的紅外檢測(接受)器,檢測到反射回的紅外光線,并發出信號來表明檢測到從物體反射回紅外線。機器人的大腦———單片機AT89S52基于這個傳感器的輸入控制伺服電機。
2.3單片機模塊
2.3.1AT89S52單片機模塊
控制機器人伺服電機以不同速度運動是通過讓單片機的輸入/輸出(I/O)接口輸出不同的脈沖序列來實現的。51系列單片機有4個8位的并行I/O口:P0、P1、P2和P3。這4個接口既可以作為輸入,也可以作為輸出;也可按位方式(1位)使用。
2.3.2定時/計數器的運用
單片機AT89S52的定時/計數器可以分為定時器模式和計數器模式。其實這兩種模式沒有本質上的區別,均使用二進制的加一計數;當計數器的值計滿回零時能自動產生中斷的請求,以此來實現定時或者計數功能。他們的不同之處在于定時器使用單片機的時鐘來計數,而計數器使用的是外部信號。定時/計數器能產生更精確的延時,它的最小延時單位為1個機器周期。查閱資料可知,若晶振頻率為12MHz,則延時單位為1μs;若為11.0592MHz,則延時單位為1.08μs。
2.4LCD模塊
LCD1602有8個數據引腳(D0-D7)與AT89S52相連,用于接收指令和數據。AT89S52通過RS、RW和E這三個端口控制LCD模塊。
2.5無焊錫面包板
在面包板插座上插上元器件,比如電阻、LED、揚聲器和傳感器,就夠成了例程電路。元器件靠面包板插座彼此連接。在面包板上端有一條黑色的插座,上面標識著“Vcc”、“Vin”“GND”,稱之為電源端口,通過這些端口,可以給點路供電。“Vcc”指教準的+5V電壓,“Vin”指電池的正極,“GND”對應于教學板的接地端。左邊一條黑色的插座從上到下標識著P10,P11,P12,……,P37(共18個,部分端口并未標出)。通過這些插座,可以將搭建的電路與單片機連接起來。
3移動機器人軟件設計
在本次設計中,將反復用到3款軟件:KeiluVi-sion2IDE集成開發環境、SLISP下載軟件、串口調試軟件。
3.1.1KeiluVision2IDE集成開發環境
該軟件是德國KEIL公司出品的51系列單片機C語言集成開發系統。C語言在語法結構上更加靈活,功能更加強大。
3.2.2SLISP軟件下載工具
該軟件是廣州天河雙龍電子有限公司推出的一款ISP下載軟件,使用該軟件可以將可執行文件下載到機器人單片機上。該軟件的使用需要計算機有并行接口。
3.2.3串口天使軟件
此軟件用來顯示單片機與計算機的交互信息。在硬件上,計算機至少要有串行接口或USB接口來與單片機教學板的串口連接。
3.3光電檢測模塊設計
3.3.1光電檢測過程
光電檢測模塊的設計,使機器人能夠檢測地面上的白導線。光電檢測電路主要包括發射部分和接收部分。發射部分的波形調制采用調頻方式。由于LED的響應速度快,其工作頻率可以達到MHz或十MHz以上,檢測系統的調制頻率可以滿足幾十~幾百千赫的要求。光源驅動器負責將調制波形放大到足夠的功率以驅動光源發光。光源采用紅外發光二極管,工作頻率高,適用于方波調制的光發射。接收部分采用光敏二極管接收調制光,并將光信號轉換為電信號。這種電信號通常很弱,可以通過濾波和放大處理。調制信號的放大采用交流放大的形式,將調制光信號與背景光信號分離,為信號處理提供方便。在調制信號處理部分,對放大信號進行識別,判斷被檢測對象的特征。因此,此模塊的本質是將“交流”的、有用的調制光信號從“直流”的、無用的背景光信號中分離出來,從而達到抗干擾的目的。
3.3.2光電探頭
光電探頭安裝在機器人底盤前,安裝了5個檢測點。從理論上講,識別點越多,檢測越近,識別的準確性和可靠性就越高,但硬件成本和軟件復雜度也相應提高。該檢測系統保證了檢測的準確性,節省了硬件。發光二極管發出的調制光通過地面反射到光敏二極管。光電二極管產生的光電流與反射光的強度成線性關系。檢測到這一變化,可以確定測試點是否位于白導線之上,從而確定機器人和白導線的相對位置。。
4結論
在實踐過程中,熟悉以單片機為核心控制芯片,并采用C語言對AT89S52進行編程,使機器人實現以下4個基本移動任務:安裝傳感器以探測周邊環境;基于傳感器信息作出決策;控制機器人運動(通過操作帶動輪子旋轉的電機);與用戶交換信息。整個機器人系統的設計以單片機為核心,利用了多種電路模塊,將軟件和硬件相結合。本系統能實現如下功能:自動沿預設軌道行駛:機器人在行駛過程中,能夠自動檢測預先設好的軌道,實現直道和弧形軌道的前進。若有偏離,能夠自動糾正,返回到預設軌道上來。當機器人探測到前進方的障礙物時,可以自動報警調整,躲避障礙物,從無障礙區通過。機器人通過障礙區后,能夠自動循跡。機器人能夠自動跟隨另一個機器人行走,并能夠自動調節其距離,使其間距維持在固定數值。
參考文獻:
[1]丁易新.基于單片機的移動機器人路徑規劃模糊控制器設計[J].自動化與儀器儀表,2009,01:25-28.
[2]趙銀銀.基于C8051F340單片機的移動機器人避障系統設計[J].長春大學學報,2010,12:21-23.
[3]李昌杰.智能移動機器人控制系統設計研究[D].長安大學,2012.endprint