




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 機器人原理與制作實驗指導書華中科技大學文華學院機器人實驗室實驗一 熟悉機器人與C51單片機硬件軟件一、實驗目的1、掌握寶貝車機器人用C51教學板與計算機硬件連接; 2、熟悉及掌握C51系列單片機Keil uVision IDE(集成開發環境)軟件、ISP下載軟件及串口調試終端的使用方法。二、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源。Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟件。三、實驗內容和步驟單片機控制的寶貝車機器人通過串并口通信交互由硬件系統與軟件系統相互結合組成的一個完整的智能控制系統。單片機必須與外圍設備及軟件組
2、成一個完整的應用系統(如圖1.1)。1、熟悉寶貝車機器人的結構組成(如圖1.2):小車底板、車輪、教學板、伺服電機、電池盒。這是寶貝車機器人的硬件系統,它的微控制器(MCU)是由Atmel公司生產與51系列兼容的8位AT89S52單片機。 圖1.1單片機應用系統圖 圖1.2采用C51單片機的機器人2、教學板指方便單片機與電源、ISP下載線、串口線以及各種傳感器和電機的連接制作的一個電路板(如圖1.3)。將寶貝車機器人與計算機硬件連接,并連接到電源。l 連接單片機教學板ISP接口到計算機,以便程序下載;l 連接單片機教學板串行接口到計算機,以便調試和交互;l 連接機器人到電池或者是供電電源。(2
3、)ISP下載線圖1.3 C51單片機教學板串行接口;ISP接口;電源接口;三位開關;綠色LED電源指示燈;AT89S52單片機;“Reset”按鈕;面包板;專用電機控制接口插座3、運用C語言編程,運用編譯器編譯生成可執行文件并下載到單片機,用串口調試軟件查看單片機輸出信息。建立用戶文件夾,方便管理程序,拷入編譯所需頭文件。進入編程系統(Keil uVision2 IDE):1)新建項目工程(*.uv2):ProjectNew Project,命名,保存在新建立的用戶文件夾內;選擇單片機生產公司及類型:Atmel、AT89S52。2)新建C程序文件:FileNew;編輯好程序,保存為*.c的文件
4、。注意程序關鍵字的拼寫,英文標點,字母的大小寫等。3)添加C程序到項目工程:Source Group 1右鍵單擊Add Files to Group Source。Source Group 1前面出現+號,單擊它出現剛才添加的C程序文件名,單擊此C文件,Keil會自動識別關鍵字,并以不同的顏色提示用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。4)生成執行文件十六進制目標代碼文件(*.hex):Target 1 右鍵單擊Option for targetTarget 1Output選中“Create Hex Fi:”連接編譯生成可執行文件*.hex。編譯要求沒有錯誤產生,允許出現警告。
5、進入下載系統(SL ISP):1)參數選擇:并口LPT1;下載速度選擇TURBO模式;單片機型號:AT89S52;2)選擇執行文件:Flash*.hex;3)單擊“編程”進行下載。注意:要將ISP下載線連接計算機和機器人教學板,電源接好,開關撥到“1”檔位置,給教學板通電。從執行文件下載到單片機的那個時刻開始,程序就開始運行。單片機向計算機發送信息。可利用串口調試軟件查看單片機輸出信息,“Reset”按鈕可讓下載到單片機內的程序重新運行一次。4、做完實驗斷開電源,將開關撥到“0”檔,系統在不使用時沒有消耗電能,電池可以用的更久。拆卸串并口線還原。四、實驗程序1、教材程序HelloRoBot.c
6、。2、利用while循環與delay_nms( )函數(毫秒級的延時)編程:每秒發送一個信息(內容為英文自己定),通過串口顯示在計算機上。delay_nms( )函數在BoeBot.h頭文件中有定義。即#include< Boebot.h>,編譯時系統講根據頭文件自動將延時函數插入到程序中。五、實驗報告要求1、按要求:每秒發送一個信息(內容為英文自己定),通過串口顯示在計算機上,進行程序設計。2、程序調試心得。3、觀察到的程序運行效果并加以分析。六、思考題1、什么是單片機?2、MCS51、8051、C51、AT89S52之間是什么關系?3、寶貝車機器人采用的AT89S52單片機的特
7、點是什么?4、#include<uart.h>頭文件的作用是什么? 5、程序HelloRoBot.c中while(1);的作用是什么?注:實驗操作現場檢查。實驗二 C51接口與伺服電機控制一、實驗目的1、理解和掌握C51單片機的輸入輸出接口的特性; 2、理解機器人伺服電機PWM調速原理, C語言編程輸出脈沖序列控制機器人輪子運動。二、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源、螺絲刀、紅色發光二極管2個和470電阻2個。Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟件。三、實驗內容和步驟1、用C51單片機的P1口的位
8、輸出高低電平控制LED發光二極管的閃爍。看教材附錄C,關于面包板及LED的介紹。面包板上共有18行插座,通過中間槽分為兩列。每一行由5個插座組成,這5個插座在面包板上是電氣相連的,如將兩根導線分別插入五口插座行的任意兩個插座中,它們都是電氣相連的。“GND”對應于教學板的接地端,“Vcc”指校準的+5V電壓。發光二極管(如圖2.1)是單向導電的電子管,長腳為正極,短腳為負極,必須連接正確,否則不能正常工作。通過5mA左右即可發光,電流越大,其亮度越強,但若電流過大,會燒毀二極管。給發光二極管串聯一個電阻的目的是限制通過發光二極管的電流不要太大。 圖2.1 LED零件圖 圖2.2發光二極管與I/
9、O腳P1_0的連接色環電阻為五色,用五條色環表示電阻的阻值大小。黑0 棕1 紅2 橙3 黃4 綠5 藍6 紫7 灰8 白9 金、銀表示誤差具體如下:l 第一條色環:阻值的第一位數字;l 第二條色環:阻值的第二位數字;l 第三條色環:阻值的第三未數字;l 第四條色環:阻值乘數的10的冪數;l 第五條色環:誤差(常見是棕色,誤差為1%)。由此,470電阻為黃紫黑黑棕。參考教材一個發光二極管閃爍的LED電路搭建(如圖2.2)及程序HighLowLed.c。注意,在教學底板上搭建電路時要斷開電源。教材有程序是兩個LED同時閃爍,要求修改程序讓兩個LED交替亮或者滅,也可以改變延時函數參數n的值,改變L
10、ED閃爍頻率。【拓展訓練】實現4個或更多LED流水燈控制,對應流水燈從全滅到一個一個亮或者對應流水燈從全亮到一個一個滅。編程方法與兩個LED閃爍類似,接入的LED二極管繼續接在面包板左側其他的端口位上。注意,程序控制各引腳輸出高低電平要與所接的端口要一一對應起來。2、兩伺服電機調零。在操作之前,先確認一下機器人兩個伺服電機的電源控制線(如圖2.3)是否已經正確的連接到C51單片機教學板的兩個專用電機控制接口上。P1_1引腳控制左邊電機,P1_0引腳控制右邊電機,在電路板上我們分別采用W、R、B來表示信號線、電源線和地,電機控制線顏色與教學板接口對應字母一致(白紅黑對應WRB)。圖2.3伺服電機
11、實物圖 圖2.4 電壓“占空比”與平均電壓關系電機調速應用PWM(脈寬調制)基本原理,通過控制固定電壓的直流電源開關頻率改變負載兩端的電壓。在PWM驅動控制的調整系統中,按一個固定的頻率來接通和斷開電源,并根據需要改變一個周期內“接通”和“斷開”時間的長短。通過改變直流電機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉速。如圖2.4,在脈沖作用下,當電機通電時,速度增加;電機斷電時,速度逐漸減少。只要按一定規律,改變通、斷電的時間,即可讓電機轉速得到控制。高電平持續的時間控制電機轉速,即脈沖寬度控制連續旋轉電機速度和方向。將時間間隔為20ms,脈寬為1.5ms的一系列脈沖稱為零
12、點標定信號,電機轉速為零,機器人輪子靜止不動。如果電機沒有進行零點標定,機器人輪子會轉動,如圖2.5所示,用螺絲刀輕輕調節馬達上的電位器,直到馬達停止轉動。如電機已經完成了零點調節,不會轉動。但是損壞了或有缺陷的電機有時也不轉動。繼續檢測:l 當高電平持續時間為1.3ms時,電機順時針全速旋轉;l 當高電平持續時間為1.7ms時,電機逆時針全速旋轉;l 當高電平持續時間為1.3ms1.5ms之間時,電機順時針旋轉;l 當高電平持續時間為1.5ms1.7ms之間時,電機逆時針旋轉。 圖2.5.1經過孔把螺絲刀插入電位器 圖2.5.2輕輕的旋轉螺絲刀調節電位器3、測試電機,改變脈沖寬度控制機器人運
13、動速度和方向。如圖2.6,定義機器人的前、后、左、右四個方向。例程中使用printf函數是為了起提示作用,若覺得串口線影響機器人的運動,可以不用此函數。將程序下載到單片機,關閉機器人電源開關,斷開ISP下載線,將開關撥到“2”檔,觀察寶貝車運動情況。圖2.6 機器人及其前進方向的定義四、實驗程序1、教材有程序是兩個LED同時閃爍及一個LED閃爍(程序HighLowLed.c),要求修改程序讓兩個LED交替閃爍,也可以改變延時函數參數n的值,改變LED閃爍頻率。*編程實現4個或更多LED流水燈控制,對應流水燈從全滅到一個一個亮或者對應流水燈從全亮到一個一個滅。2、編程實現兩伺服電機調零,可以分別
14、調零,也可一起調零。教材有代碼實現右輪調零,注意編程的完整性。3、驗證BothServosThreeSeconds.c是否向前進3s,后退3s。并根據此程序按照實驗報告要求編程。五、實驗報告要求1、編程及電路原理圖實現兩個LED交替閃爍,觀察到的運行效果并加以分析,程序調試心得。有興趣的同學還可以完成4個或更多LED流水燈控制,對應流水燈從全滅到一個一個亮或者對應流水燈從全亮到一個一個滅。要求編程及電路原理圖,觀察到的運行效果并加以分析,程序調試心得。2、編程實現兩伺服電機調零,可以分別調零,也可一起調零,觀察到的運行效果并加以分析,程序調試心得。3、控制兩個電機的delay_nus函數的參數
15、n有不同的組合,各種組合的運動狀況填寫下表。P1_1P1_0描述運動狀況17001300全速,P1_1電機逆時針,P1_0電機順時針1300170017001700130013001500170015001300130015001700150015001500兩個電機都靜止六、思考題1、LED閃爍的工作原理,即引腳輸出高低電平信號,發光二極管會滅或者亮的原因是什么?2、LED閃爍的實驗中,逐漸減小延時函數參數n的值,還能看到LED閃爍嗎?為什么?3、LED閃爍的實驗中,分別將開關撥到“1”與“2”,看實驗現象有什么區別?分析原因。4、將電機調零的程序下載到單片機,開關撥到 “2”,按“Rese
16、t”按鈕,輪子仍轉動,不能完全停下來,試分析有哪些原因造成的? 5、編程給與P1_1連接的左輪發出脈寬為1.7ms,與P1_0連接的右輪發出脈寬1.3ms,觀察到寶貝車后退,分析是什么原因引起的?注:實驗操作現場檢查。實驗三 C語言函數與機器人巡航控制一、實驗目的1、掌握對單片機編程使機器人做基本的巡航動作:向前,向后,左轉,右轉和原地旋轉。通過測試機器人脈沖數與機器人運動距離的關系,實現機器人的精確動作。 2、掌握編寫程序時機器人由突然啟動或停止變為逐步加速或減速運動。3、寫一些執行基本巡航動作的函數,每一個函數都能夠被多次調用。4、將復雜巡航運動記錄在數組中,編寫程序執行這些巡航運動。二、
17、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源。Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟件。三、實驗內容和步驟1、驗證教材程序ForwardLeftRightBackward.c看機器人是否向前、左轉、右轉及向后走。如果寶貝車向前運動的過程輕微向左或右偏移,不是一條直線。結果就是左輪與右輪程序上是以全速行駛,實際輸出有速度差,要么左輪速度太慢,要么右輪速度太慢。讓輪子加速不太實際,但是減小輪子的速度就可以解決問題電機速度是脈沖寬度即程序中延時函數delay_nus的參數n決定的。n越接近1500,電機轉速越慢。要重復試驗得到一
18、個比較準確的輸出。將確定好的沿直線運動的參數更新到程序ForwardLeftRightBackward.c中相應的值。利用for循環控制電機的運行時間,由小車運動形式決定輸出距離或角度。例程中for循環的循環次數為65,小車運行時間為1.5s,運行距離減半。for循環的循環次數為26,電機的運行時間決定小車旋轉的角度。調整for循環的循環次數得到非常接近你想要的旋轉角度。由于每個小車的情況不一樣,在向左轉與右轉中for循環的循環次數增加或減少電機的轉角,使寶貝車旋轉期望的角度,例如旋轉90度。如果發現一個值使旋轉超過90°,而另一個使旋轉小于90°,嘗試選擇一個使其旋轉更多
19、的值,然后稍微減小電機速度。測試一下你的小車要循環多少次才能旋轉90度。在轉彎半徑較大時,可以采用一個電機增速另一個電機減速的方法轉彎。由于小車結構的影響,這種方法轉彎較慢,轉彎半徑較大,效果受運動速度的影響大。在需要轉彎半徑較小時,可以采用一個電機轉動,而另一個靜止的方法。兩個電機等速反向轉動可以實現原地轉彎。測試寶貝車速度。將寶貝車放在尺子旁邊,確保輪子接觸的地面與尺子的0厘米對齊在一條線上,按復位鍵重新運行程序,讓寶貝車向前走1秒鐘,測量從出發點到機器人停下來所接觸的地面距離,測量結果就是以厘米/s為單位的。2、將加速或減速與基本巡航動作結合起來,使機器人的每一個動作都能夠勻加速或勻減速
20、。參考教材程序StartAndStopWithRamping.c及相似代碼更改ForwardLeftRightBackward.c。3、教材程序MovementsWithFuntions.c、MovementsWithOneFuntion.c運行結果與ForwardLeftRightBackward.c產生的效果是相同的,用函數調用簡化運動程序。修改MovementsWithOneFuntion.c使機器人走一個正方形。4、驗證程序NavigationWithSwitch.c是否走了一個矩形。使用數組或調用函數編寫程序,使機器人按你的想法運動,實現較為復雜的運動。【拓展訓練】編程使履帶坦克機器
21、人、相撲機器人、爬蟲機器人巡航控制。四、實驗程序1、驗證教材程序ForwardLeftRightBackward.c。2、編程反復測試一下小車要循環多少次才能旋轉精確的90度。3、編程測試寶貝車速度,測量結果就是以厘米/s為單位的。4、參考教材程序StartAndStopWithRamping.c及相似代碼,更改ForwardLeftRightBackward.c,使機器人的每一個動作都能夠勻加速或勻減速。5、修改MovementsWithOneFuntion.c使機器人走一個正方形。6、使用數組或調用函數編寫程序,使機器人按你的想法運動,實現較為復雜的運動。五、實驗報告要求1、程序設計小車要
22、循環多少次才能旋轉精確的90度,觀察到的運行效果并加以分析,程序調試心得。2、更改ForwardLeftRightBackward.c,使機器人的每一個動作都能夠勻加速或勻減速。寫出程序,觀察到的運行效果并加以分析,程序調試心得。3、修改MovementsWithOneFuntion.c使機器人走一個正方形。寫出程序,觀察到的運行效果并加以分析,程序調試心得。4、使用數組或調用函數編寫程序,使機器人按你的想法運動,實現較為復雜的運動。寫出程序,觀察到的運行效果并加以分析,程序調試心得。六、思考題1、在程序ForwardLeftRightBackward.c中,向左轉與右轉的for循環的循環次數
23、為26,這是什么意思?程序運行效果是怎樣的?2、機器人完成各種巡航動作的過程中,每次啟動和停止時,動作太快,幾乎傾倒,為什么會這樣呢?采用什么方法可以解決這種問題?3、讓小車實現轉彎的方法有哪些?注:實驗操作現場檢查。實驗四 C51接口與觸覺導航一、實驗目的1、接觸型傳感器作為輸入反饋與C51單片機的編程實現。 2、編程使機器人基于胡須導航,條件判斷語句的嵌套與機器人的人工智能決策的編程使機器人逃離進入墻角死區。二、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源、安裝機器人胡須,所需硬件如圖4.1。元件清單: (1) 胡須狀金屬絲2根; (2) 平頭M3x22盤頭螺
24、釘2個; (3) 13mm圓形立柱2個;(4) M3尼龍墊圈2個; (5) 3-pin公-公接頭2個;(6) 220電阻2個; (7) 10k電阻2個。 圖4.1 胡須硬件Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟件。三、實驗內容和步驟1、通過布置恰當的電路,在機器人前端安裝并測試一個稱為胡須的觸覺開關,對C51單片機編程來監視觸覺開關的狀態。安裝并測試機器人胡須見圖4.2。確定兩條胡須比較靠近,但又不接觸面包板上的3-pin頭,推薦保持3mm的距離。參考接線圖4.3,搭建胡須電路。色環電阻你會讀嗎?(提示:棕紅橙黃綠,藍紫灰白黑)220電阻(紅紅黑黑棕)
25、,10k電阻(棕黑黑紅棕)。注意:右邊胡須狀態信息輸入是通過P1口的第4引腳完成,左邊胡須狀態信息輸入是通過P2口的第3引腳完成。也可以接其他引腳,注意電路與程序要匹配。圖4.2 安裝機器人胡須 圖4.3 胡須電路示意圖 圖4.4是實際的參考接線圖,安裝好的觸覺胡須的機器人如圖4.5。 圖4.4 胡須接線圖 圖4.5安裝好觸覺胡須的機器人單片機AT89S52的四個端口P0、P1、P2和P3是可以按位來操作,從低到高依次為第0口、第1口第7口,書寫分別為PX.0、PX.1、PX.7(X取0到3)。P1&0x10:取P1.4P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.
26、00x1000010000P2&0x08:取P2.3P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.00x0800001000P1&0x10和P2&0x08分別提取了P1.4和P2.3的值,屏蔽了其他位。測試胡須源程序TestWhiskers.c。要用到調試終端,當程序運行時要確保串口已經接好。弄清哪條胡須是左胡須,哪條是右胡須。當胡須沒有被碰到,使引腳電壓為5V,胡須狀態為1;當胡須被碰到時,使引腳電壓為0V,胡須狀態為0。2、通過胡須導航。機器人行走時,如果有胡須被觸動,意味著碰到了什么。嘗試讓寶貝車向前行走,當在其路線上遇到障礙物時,它將后退、旋
27、轉并向另一個方向行走以避開障礙物。具體程序RoamingWithWhiskers.c。可以調整Left _Turn()和Right_Turn ()子程序中for循環的循環次數增加或減少電機的轉角,使寶貝車旋轉期望的角度。在空間比較狹小的地方,可以調整程序Backward()中for循環的循環次數來減少后退的距離。3、基于人工智能決策的編程使機器人逃離進入墻角死區。編程使機器人逃離進入墻角死區。當寶貝車進入墻角時,左胡須觸墻,于是它倒退,右轉。當小車再向前行走,右胡須觸墻,于是再倒退,左轉。然后它又前進又會碰到左墻,再次碰到右墻等,直到有人把它從困境中解救出來。使用含ifelse嵌套語句用于探測
28、連續的、交替出現的胡須觸動。編程使寶貝車在行走時,輪流觸動它的胡須,胡須在經過四次觸動之后,寶貝車會進行后退、旋轉180°離開墻角。具體程序EscapingCorners.c。嘗試增加或減小變量counter的數值,觀察機器人在正常行走過程中是否有任何不同。【拓展訓練】觸覺導航機器人走迷宮競賽。四、實驗報告要求1、搭建觸覺導航電路,測試胡須源程序TestWhiskers.c。畫出胡須電路示意圖,觀察到的運行效果并加以分析,程序調試心得。2、程序RoamingWithWhiskers.c觸覺導航的實現,說明胡須機器人怎樣行走。3、程序EscapingCorners.c是如何工作的。五、
29、思考題1、觸覺導航的原理是什么?通過胡須導航時如何避開障礙物?2、語句Return(P1&0x10)?1:0的意義是什么?試作圖說明。3、語句if(P1_4state()=0)&&( P2_3state()=0)Backward();Left_Turn();Left_Turn(); 的含義是什么?4、在胡須導航程序中函數Forward()有變動,只發送一個脈沖,然后返回,這樣的好處是什么?5、是否有且只有一根胡須被觸動,如何通過獲取左、右胡須的狀態作出判斷?寫出具體的判斷語句。注:實驗操作現場檢查。實驗五 C51接口與紅外線導航一、實驗目的1、掌握紅外傳感器作為輸入反饋
30、與單片機的編程實現,讓機器人的C51單片機可以收發紅外光信號。 2、使用紅外線發射和接收器件探測道路,編程實現高性能的IR導航和邊沿探測。二、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源。所需元件:(1) 兩個紅外檢測器,如圖5.1; (2) 兩個IR LED,如圖5.2; (3) 四個470電阻 (黃紫黑黑棕);(4) 兩個9013三極管,如圖5.3。 圖5.1紅外檢測器 圖5.2紅外線二極管LED發射器 圖5.3.1 三極管9013管腳圖 圖5.3.2 三極管9013結構圖及符號圖Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟
31、件。三、實驗內容和步驟使用紅外光來照射機器人前進的路線,確定何時有光線從被探測目標反射回來,通過檢測反射回來的紅外光可以確定前方是否有物體。機器人使用紅外線二極管LED發射紅外光線,紅外檢測器相當于眼睛,檢測到反射回來的紅外光線,并發出信號來表明檢測到從物體反射回紅外線,如圖5.4。紅外線(IR)接收/檢測器有內置的光濾波器,除了需要檢測980nm波長的紅外線外,幾乎不允許其他光通過。紅外檢測器還有一個電子濾波器,只允許大約38.5kHz的電信號通過。圖5.4 用紅外探測障礙物 1、搭建并測試IR發射和探測器對,如圖5.5。注意斷開主板和電機的電源。圖5.5左側和右側IR組電路原理圖圖5.6.
32、1 左右IR組實物參考圖圖5.6.2 左右IR組電路搭建實物參考圖本任務中,發送持續1ms的 38.5kHz的紅外光,如果紅外光被小車路徑上的物體反射回來,紅外檢測器將給微控制器發送一個信號,讓它知道已經檢測到反射回的紅外光。當沒有IR信號返回時,探測器的輸出狀態為高電平。當它探測到被物體反射的38.5kHz的紅外信號時,它的輸出為低電平。放一個物體,比如手或一張紙,距離IR組大約1英寸。驗證當你放一個物體在IR組前時,調試終端是否會顯示0,當你將物體移開時,它是否顯示1。程序TestLeftIrPair.c僅驗證左邊IR組,要改寫程序驗證右邊IR組。或者可以同時驗證兩邊的IR組,需要改寫程序
33、與之匹配。如果調試終端顯示的不是預料的值,檢查電路和輸入的程序。如果你總是得到0,甚至當沒有物體在機器人前面時也是0,可能是附近的物體反射了紅外線。機器人前面的桌面是常見的始作俑者。調整紅外發射器的角度,使IR LED和探測器不會受桌面等物體的影響。如果機器人前面沒有物體時絕大多數時間讀數是1,但是偶爾是0,這可能是附近的熒光燈的干擾。關掉附近的熒光燈,重新測試。注意:保持寶貝車機器人與串口電纜的連接,因為你將用調式終端來測試你的IR組。2、IR檢測器探測和避開障礙物IR檢測器的輸出與觸須的輸出非常相象。沒有檢測到物體時,輸出為高電平,檢測到物體時,輸出為低電平。采取與胡須相同的導航策略。3、
34、高性能的IR導航,在每個脈沖之間采樣以避免碰撞。在觸須導航里使用的預編程機動動作很好,但是在使用IR LED和探測器時會造成不必要的遲鈍。發送脈沖給電機之前檢查障礙物,寶貝車持續使用電機驅動脈沖和探測,直到它繞開障礙物,然后它會繼續發送向前行走的脈沖,這樣可以大大改善寶貝車的行走性能。4、用絕緣帶模擬桌子的邊沿,邊沿探測編程。圖5.7 俯視的IR組 圖5.8 模擬桌面邊沿的絕緣帶邊寶貝車在桌子上行走,IR檢測器向下監測桌子表面。只要兩個IR探測器測到桌面,寶貝車向前行走。如果有一邊的IR探測器沒有發現桌面(即發現邊沿),寶貝車會向另一個方向轉動。四、實驗報告要求1、程序TestLeftIrPa
35、ir.c僅驗證左側IR組電路搭接是否正確,驗證右側IR組電路搭接是否正確可以參考程序TestLeftIrPair.c更改相應的引腳。需要改寫程序要求同時驗證兩側的IR組,注意引腳要與左側右側IR組電路原理圖匹配。采用空函數產生延時的程序片斷替代延時函數delay_nus(13)。畫出左側右側IR組電路原理圖,觀察到的運行效果并加以分析,程序調試心得及如何排錯的方法。 2、高性能的IR導航,觀察到的運行效果并加以分析,程序調試心得。3、邊沿探測,觀察到的運行效果并加以分析,程序調試心得。五、思考題1、三極管9013的工作原理及在IR組中的作用。2、紅外線導航的原理是什么?通過紅外線導航時如何避開
36、障礙物?3、dowhile語句與while語句的聯系與區別。高性能的IR導航程序FastIrRoaming.c中dowhile語句是否可以替換while語句呢?4、邊沿探測的原理是什么?躲避障礙物與在桌面行走而不走到桌邊兩個實驗卻使用同樣IR組電路原理圖進行探測,分析一下其中的核心道理。注:實驗操作現場檢查。實驗六 C51定時器與機器人的距離檢測一、實驗目的1、掌握定時/計數器的應用及編程實現。 2、機器人紅外測距及跟隨策略的實現。二、實驗設備及軟件寶貝車機器人、ISP下載線、串行接口、并行接口、計算機、電源。Keil uVision2 IDE集成開發環境、SL ISP下載軟件、串口調試軟件。
37、三、實驗內容及步驟1、單片機AT89S52的定時/計數器提供更精確的時間。具體見教材。搭建LED的測試電路如圖6.1。程序TimeApplication.c與P1_0連接的LED每隔0.4ms閃爍一次。由于LED燈閃爍頻率過快,人的視覺反應不夠快。為了可以看見LED燈閃爍,改程序使得LED每隔130ms閃爍一次。同時搭接兩個LED燈,一個用delay_num(65)控制,一個用定時器控制延時。圖6.1 LED的測試電路2、機器人用紅外發射頻率掃描進行編程做距離探測。用同前面一樣的IR LED/探測電路來探測距離。選擇5個不同頻率,然后從最高靈敏度到最低靈敏度進行測試。首先嘗試最高靈敏度頻率,如
38、果物體被探測到了,就讓僅次于它的高靈敏度頻率測試,觀察是否可以探測到。依賴于探測器不能再檢測到物體的紅外線頻率,就可以推斷物體的大概位置。舉例說明如圖6.1機器人如何用紅外發射頻率做距離測試。在這個例子中,目標物體在區域3。也就是說,發送35700Hz和38460Hz頻率能發現物體,發送29370Hz、31230Hz以及33050Hz頻率就不能發現物體。如果你移動物體到區域2,那么發送33050Hz、35700Hz以及38460Hz可以發現物體,發送29370Hz和31230Hz頻率不能發現物體。圖6.1 頻率和探測區域運行程序時,在機器人前端放一張紙或卡片對兩個IR LED/探測器做距離探測,改
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國中鹽榨菜絲行業市場發展前景及發展趨勢與投資戰略研究報告
- 中國飼料用魚粉行業市場前景預測及投資戰略研究報告
- 2025年 達州市大竹縣鄉村職業經理人招聘筆試試題附答案
- 中國遠程協作辦公行業市場深度研究及投資戰略規劃報告
- 花葉項目投資可行性研究分析報告(2024-2030版)
- 紅外防水攝像機外殼項目投資可行性研究分析報告(2024-2030版)
- 中國有線數字電視增值業務行業市場深度調查評估及投資方向研究報告
- 中國鐵路車輛設備行業發展運行現狀及發展趨勢預測報告
- 鈦封頭行業深度研究分析報告(2024-2030版)
- 北京消防培訓課件
- 高墩柱墩身施工方案
- 2023年甘肅蘭州大學網絡與繼續教育學院人員招聘2人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 肝內膽管結石詳解
- 發電機勵磁系統檢修與維護
- 2023-2024學年福建省泉州市小學語文六年級期末自測模擬試卷
- GB 29541-2013熱泵熱水機(器)能效限定值及能效等級
- 控規用地代碼
- 2023年上杭縣社區工作者招聘考試筆試題庫及答案解析
- 2021年曹楊二中自招數學試卷
- 新能源汽車底盤檢修全套課件
- 幼兒園大班數學口算練習題可打印
評論
0/150
提交評論