機(jī)器人設(shè)計說明書

上傳人:lis****211 文檔編號:52138105 上傳時間:2022-02-07 格式:DOC 頁數(shù):7 大?。?39.50KB
收藏 版權(quán)申訴 舉報 下載
機(jī)器人設(shè)計說明書_第1頁
第1頁 / 共7頁
機(jī)器人設(shè)計說明書_第2頁
第2頁 / 共7頁
機(jī)器人設(shè)計說明書_第3頁
第3頁 / 共7頁

本資源只提供3頁預(yù)覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

10 積分

下載資源

資源描述:

《機(jī)器人設(shè)計說明書》由會員分享,可在線閱讀,更多相關(guān)《機(jī)器人設(shè)計說明書(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、機(jī)器人一南方小子設(shè)計及功能說明 一. 機(jī)器人設(shè)計所需部件 我們制作的機(jī)器人所用到的部件: 一個L293D驅(qū)動模塊,四個直流電機(jī),四個紅外線反射傳感器,一塊AT89S52 單片機(jī),四個5.8cm小輪,一個萬向輪,一個12MHz的晶振,導(dǎo)線若干,電容 若干,芯片若干 其中: 直流電機(jī)1驅(qū)動輸出; 直流電機(jī)2驅(qū)動輸出; 直流電機(jī)3驅(qū)動輸出; 直流電機(jī)4驅(qū)動輸出; 5V尋跡ARM控制,可以方便的控制直流電機(jī)速度和方向 可以方便的控制 直流電機(jī)速度; 單片機(jī)有四組接口可以為接紅外避障接口。 二. 機(jī)器人系統(tǒng)硬件設(shè)計 1 ?電源模塊設(shè)計 根據(jù)材料我們選用兩節(jié)3.6V鋰電池作為輸

2、入電源,由于 52單片機(jī)要求輸 入電壓為+5V我們采用7805穩(wěn)壓后供電。 2. 驅(qū)動模塊設(shè)計 我們所用的驅(qū)動模塊為L293D驅(qū)動模塊, 可以 直接驅(qū)動4路3- 16V 直流電機(jī),并提供了 5V輸出接口(最低只 要6V),可以給5V單片機(jī)電路系統(tǒng)供電,支持3.3V MCU ARM控制, 可以方便的控制直流電機(jī)速度和方向 ,也可以控制2相步進(jìn)電機(jī),5線4 相步進(jìn)電機(jī)。驅(qū)動模塊使用兩個繼電器和四個三極管為主要部件構(gòu)成驅(qū)動電路。 可以分別控制四個電機(jī)正轉(zhuǎn)?反轉(zhuǎn)和停轉(zhuǎn)。其中四組信號線可以接入單片機(jī)。 3. 紅外線傳感模塊設(shè)計 紅外線傳感模塊主要有四個紅外對管,電阻和發(fā)光二極管組成;三個紅

3、外 線反射傳感器作為機(jī)器人的尋跡功能使用,另外一個作為機(jī)器人的探頭用以避 障探測;紅外對管由發(fā)射管和三極管組成,當(dāng)遇到黑線沒有反射時接收三極管 不導(dǎo)通,相應(yīng)輸出端輸出高電平,其他時刻接收三極管導(dǎo)通,輸出端被下拉為 低電平。其紅外探頭接口有三條線組成: 紅線:接4.5-5V 電源高電平 黃色線:信號線,接單片機(jī),輸出 TTL電平給單片機(jī),用以測量紅外光 值 黑線:GND OVt源低電平 4. 附加硬件設(shè)備設(shè)計 為了便于機(jī)器人更好越障和上坡,我們在機(jī)器人尾部附加設(shè)計一個萬向輪, 避免機(jī)器人在越障時后輪被卡在障礙物上以及防止機(jī)器人上坡時機(jī)器人后倒。 三. 機(jī)器人系統(tǒng)軟件設(shè)計 1. 電

4、機(jī)程序設(shè)計 直流電機(jī)驅(qū)動比較簡單,不像步電機(jī)那樣需要給高低電平脈沖直流電機(jī)只 要給高低電平就可以轉(zhuǎn)只要 PWM=即高電平,電機(jī)就可以轉(zhuǎn),DIROO/I則控制電 機(jī)的正反轉(zhuǎn)。 2.尋跡程序控制O1 尋跡其實是對模塊輸出端高低電平的讀取,只要實現(xiàn)四個 IO 口即可實現(xiàn)所 #defi ne Left_moto_go 左邊兩個電機(jī)向前走一 - #defi ne Left_moto_back 左邊兩個電機(jī)向后轉(zhuǎn) #defi ne Left_moto_Stop 左邊兩個電機(jī)停轉(zhuǎn) #defi ne Right_moto_go {P1_0=0,P1_ 1= 1,P1_2=0,P1_3=

5、1;} {P1_0=0,P1_ 仁 0,P1_2=0,P1_3=0;} // {P1_4=1,P1_5=0,P1_6=1,P1_7=0;} // // 有的尋跡讀取,當(dāng)讀到一時,表示相應(yīng)未知的紅外對管在黑線上。經(jīng)尋跡程序 控制可實現(xiàn)機(jī)器人沿S型路線行走。 尋跡程序: #i nclude //PWM輸出本尋跡小車不用 //PWM輸出本尋跡小車不用 #defi ne Left_moto_pwm #defi ne Right_moto_pwm #define Left_1_led P3_ P2_0 P2_1 _4 //P3_4 接四路尋跡模塊接口第

6、一 路輸出信號即中控板上面標(biāo)記為 OUT1 #define Left_2_led P3_5 //P3_5 接四路尋跡模塊接口第二 路輸出信號即中控板上面標(biāo)記為 OUT2 #define Right_1_led P3 1_6 //P3_6 接四路尋跡模塊接口第三 路輸出信號即中控板上面標(biāo)記為 OUT3 #define Right_2」ed P3_7 //P3_7 接四路尋跡模塊接口第四 路輸出信號即中控板上面標(biāo)記為 OUT4 {P1_0=1,P1_ 仁 0,P1_2=1,P1_3=0;} // 右邊兩個電機(jī)向前走 #d

7、efine Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;} // 右邊兩個電機(jī)向前走 #define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;} // 右邊兩個電機(jī)停轉(zhuǎn) 一 一 一 一 一 一 un sig ned char pwm_val_left =0; un sig ned char push_val_left =1;// 左電機(jī)占空比 10/40 un sig ned char pwm_val_right =0; un sig ned char push_val_right=1

8、;〃 右電機(jī)占空比 10/40 bit Right_moto_stop=1; bit Left_moto_stop =1; //延時函數(shù) void delay (un sig ned int k) { un sig ned int x,y; for(x=0;x

9、oid) { if(Left_moto_stop) { 一 一 if(pwm_val_left<=push_val_left) Left_moto_pwm=1; else Left_moto_pwm=O; if(pwm_val_left>=10) pwm_val_left=O; } 一 一 else Left_moto_pwm=0; } 一 一 void pwm_out_right_moto(void) { --- if(Right_moto_stop) { 一 一 if(pwm_val_right<=push_val_right) Right_moto_pwm=

10、1; else Right_moto_pwm=0; if(pwm_val_right>=10) pwm_val_right=0; } 一 一 else Right_moto_pwm=0; } 一 一 /*TIMER0中斷服務(wù)子函數(shù)*/ void timer。()in terrupt 1 using 2 { TH0=0XF8; //1Ms 定時 TL0=0X30; pwm_val_left++; pwm_val_right++; pwm_out_left_moto(); pwm_out_right_moto(); } --- /*--主函數(shù)--*/ void ma

11、in (void) { TMOD=0X01; TH0= 0XF8; //1ms 定時 TL0= 0X30; TR0= 1; ET0= 1; EA = 1; delay(100); run(); /*無限循環(huán)*/ while(1) //有信號為0沒有信號為1 if(Left_2_led==0&&Right_1 _led==0) run(); else //右邊檢測到黑線 { if(Right_1_led==1 &&Left_2 _led==0) { Left_moto_go; //左邊兩個電機(jī)正轉(zhuǎn) Right_moto_back; // 右邊兩個電機(jī)反轉(zhuǎn) }

12、 ~ 一 if(Left_2」ed==1 &&Right_1」ed==0) // 左邊檢測到黑線 { Right_moto_go; //右邊兩個電機(jī)正轉(zhuǎn) Left_moto_back; //左邊兩個電機(jī)反式開始轉(zhuǎn) 起 3. 避障部分主要有一個紅外探頭讀取,讀取后以脈沖形式傳入到控制系統(tǒng), 以控制機(jī)器人避開障礙物后尋跡返回原來路線繼續(xù)前進(jìn) 避障程序: 終 占 #in clude #define zho ng_1_led P0_2 〃P3_3 接四路尋跡模塊接口第二 路輸出信號即中控板上面標(biāo)記為 OUT2 #define Left_1_led

13、P0_0 //P3_4 接四路尋跡模塊接口第三 路輸出信號即中控板上面標(biāo)記為 0UT3 #defi ne Right_1」ed 路輸出信號即中控板上面標(biāo)記為 P0_3 OUT4 #define bi_1」ed P2_7 #defi ne Left_moto_go //左邊兩個電機(jī)向前走一 一 〃P3_5 接四路尋跡模塊接口第四 {P1_0=1,P1_ 1= 0,P1_2=1,P1_3=0;} #defi ne Left_moto_back 左邊兩個電機(jī)向后轉(zhuǎn) #defi ne Left_moto_Stop 左邊兩個電機(jī)停轉(zhuǎn) #defi ne Right_moto_

14、go 右邊兩個電機(jī)向前走 {P1_0=0,P1_ 1= 1,P1_2=0,P1_3=1;} {P1_0=0,P1_ 仁 0,P1_2=0,P1_3=0;} {P1_4=1,P1_5=0,P1_6=1,P1_7=0;} // // // #define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;} // 右邊兩個電機(jī)向后走一 一 一 一 一 一 #define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;} // 右邊兩個電機(jī)停轉(zhuǎn) 一 一 一 一 一 一 void run(v

15、 oid) { Left_moto_go ; // 左電機(jī)往前走 Right_moto_go ; // 右電機(jī)往前走 } void stop(void) { Left_moto_Stop ; // 左電機(jī)往前走 Right_moto_Stop; // 右電機(jī)往前走 } 一 一 //前速后退 void backr un(v oid) { Left_moto_back ; // 左電機(jī)往后走 Right_moto_back ; // 右電機(jī)往后走 } 一 一 //左轉(zhuǎn) void Leftr un(v oid) { Right_moto_Stop ; // 左電

16、機(jī)往前走 Left_moto_go ; // 右電機(jī)往前走 } //右轉(zhuǎn) void rightr un(v oid) { Right_moto_go ; // 左電機(jī)往前走 Left_moto_Stop ; // 右電機(jī)往前走 } /*--主函數(shù)--*/ void ma in (void) { stop(); while(1) { if(Left_1_led ==0&&Right_1_led==O&&zhong_1」ed==0) run(); if(Left_1_led ==1 &&Right_1_led==0) rightru n(); if( Right

17、_1_led==1 &&Left_1_led ==0) Leftru n(); if(zho ng_1_led==1) run(); if(bi_1」ed==0) { {un sig ned int x,y; for(x=0;x<10;x++) for(y=0;y<1000;y++) backr un(); } { un sig ned int x,y; for(x=0;x<20;x++) for(y=0;y<1000;y++) rightru n(); } { un sig ned int x,y; for(x=0;x<50;x++) for(y=0;y<1000;

18、y++) run(); } { un sig ned int x,y; for(x=0;x<20;x++) for(y=0;y<1000;y++) leftru n(); }} 拐右制控序程 }} 四. 機(jī)器人系統(tǒng)調(diào)試 1. 機(jī)器人系統(tǒng)硬件調(diào)試 系統(tǒng)硬件是否符合要求將直接將直接決定著整套系統(tǒng)的正常運行,是軟件 調(diào)試的基本條件,在本次硬件系統(tǒng)的調(diào)試是分模塊進(jìn)行的。先調(diào)試5V穩(wěn)壓電源, 電壓為4.98~5.01 ,在正常范圍內(nèi)。驅(qū)動模塊的調(diào)試選擇 5V和GND乍為高低電 平的I/O ,接一個電機(jī)在輸出端和 DIR,觀察電機(jī)轉(zhuǎn)動符合條件。 2. 機(jī)器人系統(tǒng)軟件調(diào)試 系統(tǒng)軟件是

19、使用模塊化編程的,首先完成單元功能模塊的調(diào)試 ,然后對多 個模塊整合進(jìn)行系統(tǒng)的調(diào)試。 聯(lián)機(jī)調(diào)試是最重要的一部分,同時也是本系統(tǒng)成功的關(guān)鍵,有前面的硬件 調(diào)試和軟件的分開調(diào)試,系統(tǒng)的聯(lián)合調(diào)試也就顯得迎刃而解。 五?功能說明 通過以上軟硬件的設(shè)計和調(diào)試之后,我們所制作出來的機(jī)器人基本上擁有尋 跡,避障,越障,上下坡等功能。 1. 尋跡功能 機(jī)器人的尋跡功能是我們在機(jī)器人能在直線行走的程序的基礎(chǔ)上進(jìn)行尋跡 程序設(shè)計的,通過通過尋黑或?qū)ぐ椎某绦蛟O(shè)計即可實現(xiàn)機(jī)器人沿黑跡或白跡行 走的功能。 2. 避障功能 機(jī)器人的避障功能主要是通過紅外線傳感器檢測到障礙物信號以脈沖的形 式傳送到控制系統(tǒng)控制機(jī)器人行走方向,避開障礙物。 3. 越障功能 為了使機(jī)器人能越過障礙物,我們在機(jī)器人的尾部安裝一個萬向輪是器人在越 障是時的助推力,避免機(jī)器人在越障時后倒。 參考文獻(xiàn): 吳黎明 第一版 《單片機(jī)原理及應(yīng)用技術(shù)》 譚浩強(qiáng) 第二版 《C程序設(shè)計》 《單片機(jī) C語言入門教程》 《傳感器檢測技術(shù)與應(yīng)用》 隊名:南方小子

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!