機(jī)器人設(shè)計說明書
《機(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
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 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會全文PPT
- 2025年寒假安全教育班會全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專題PPT
- 主播直播培訓(xùn)提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機(jī)關(guān)工委2024年度年終黨建工作總結(jié)述職匯報
- 心肺復(fù)蘇培訓(xùn)(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學(xué)生活介紹
- XX單位2024年終專題組織生活會理論學(xué)習(xí)理論學(xué)習(xí)強(qiáng)黨性凝心聚力建新功
- 2024年XX單位個人述職述廉報告
- 一文解讀2025中央經(jīng)濟(jì)工作會議精神(使社會信心有效提振經(jīng)濟(jì)明顯回升)
- 2025職業(yè)生涯規(guī)劃報告自我評估職業(yè)探索目標(biāo)設(shè)定發(fā)展策略
- 2024年度XX縣縣委書記個人述職報告及2025年工作計劃
- 寒假計劃中學(xué)生寒假計劃安排表(規(guī)劃好寒假的每個階段)
- 中央經(jīng)濟(jì)工作會議九大看點學(xué)思想強(qiáng)黨性重實踐建新功