《智能循跡避障機器人論文打印特制材料》由會員分享,可在線閱讀,更多相關(guān)《智能循跡避障機器人論文打印特制材料(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
智能循跡避障機器人
設(shè)計論文
院系班級:
學 號:
姓 名:
指導教師(職稱):
完成時間:
智能循跡避障機器人
摘 要:利用紅外對管檢測黑線與障礙物,并以STC89C52單片機為控制芯片控制機器人小車的速度及轉(zhuǎn)向,從而實現(xiàn)自動循跡避障的功能。其中小車
2、驅(qū)動由L298N驅(qū)動電路完成,速度由單片機輸出的PWM波控制。
關(guān)鍵詞:智能;STC89C52單片機; L298N;紅外對管
1.機器人小車的構(gòu)成
它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、CPU。機器人要實現(xiàn)自動避障功能,還可以擴展循跡等功能,感知導引線和障礙物??梢詫崿F(xiàn)小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避?;谏鲜鲆?,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當。智能小車的執(zhí)行部分,是由直流電機來充當?shù)?,主要控制小車的行進方向和速度。單片機驅(qū)動直流
3、電機由軟件模擬PWM輸出調(diào)制,需要占用單片機資源,難以精確調(diào)速,但單片機型號的選擇余地較大。
2.機器人小車功能
機器人要實現(xiàn)自動導引功能和避障功能,要感知導引線和障礙物,感知導引線相當給機器人一個視覺功能。
3.1主板設(shè)計框圖如圖3.1
Stc89c52
循跡紅外對管
時鐘電路
復(fù)位電路
報警電路
電機驅(qū)動
避障紅外對管
圖3.1 主板設(shè)計框圖
3.2驅(qū)動電路
電機驅(qū)動一般采用H橋式驅(qū)動電路,L298N內(nèi)部集成了H橋式驅(qū)動電路,從而可以采用L298N電路來驅(qū)動電機。通過單片機給予L298N電路PWM信號來控制小車的速度,起停。其引
4、腳圖如3.2,驅(qū)動原理圖如圖3.3。
圖3.2 L298N引腳圖
圖3.3 電機驅(qū)動電路
3.3信號檢測模塊
小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強弱來判斷“道路”—黑線。筆者在該模塊中利用了簡單、應(yīng)用也比較普遍的檢測方法——紅外探測法。
紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號,再通
5、過LM324作比較器來采集高低電平,從而實現(xiàn)信號的檢測。避障亦是此原理。電路圖如圖3.4。
市面上有很多紅外傳感器,在這里我選用TCRT5000型光電對管。
圖3.4循跡原理圖
3.4主控電路
本模塊主要是對采集信號進行分析,同時給出PWM波控制電機速度,起停。以及再檢測到障礙報警等作用。其電路圖如圖5。
圖3.5 主控電路
4.1主程啟動
循跡
是否檢測到停止線
停止
是否檢測到障礙
N
Y
避障
Y
N
序框圖:
4.2電機驅(qū)動程序
void goahead()
{
s1=1;
s2=0;
s3=1;
s4=0;
}
voi
6、d goback()
{
s1=0;
s2=1;
s3=0;
s4=1;
}
void turnleft()
{
s3=1;
s4=0;
}
void 開始
前進
掃描I/O口,是否檢測到黑線
Y
左邊 右邊
左轉(zhuǎn)
右轉(zhuǎn)
N
turnright()
{
s1=1;
s2=0;
}
void stop()
{
en1=0;
en2=0;
}
4.3循跡模塊
循跡框圖:
循跡程序:
void xunji()
{
if((left_red==1)&(right_red==1))
{
en1=1;
en2=1;
go
7、ahead();
delay(150);
en1=0;
en2=0;
delay(50);
}
else if((left_red==0)&(right_red==1))
{
en1=0;
en2=1;
P0_0=!P0_0;
turnleft();
delay(150);
en1=1;
en2=0;
delay(50);
}
else if((left_red==1)&(right_red==0))
{
en1=1;
en2=0;
P0_1=!P0_1;
turnright();
delay(150);
en1=0;開始
后退
8、一點,報警
后退
左轉(zhuǎn)
前進
右轉(zhuǎn)
Y
左轉(zhuǎn)
是否檢測到障礙
前進
N
en2=1;
delay(50);
}
else
{
stop();
}
}
4.4避障模塊
避障框圖:
避障程序:
void bizhang()
{
en1=1;
en2=1;
goback();
mid_red=0;
baojing();
goback();
for(i=0;i<8;i++)
{
en1=1;
en2=1;
delay(150);
en1=0;
en2=0;
delay(50);
}
stop();
9、
delay(10);
turnleft();
for(i=0;i<11;i++)
{
en1=0;
en2=1;
delay(130);
en2=0;
delay(50);
}
stop();
delay(10);
goahead();
for(i=0;i<22;i++)
{
en1=1;
en2=1;
delay(130);
en1=0;
en2=0;
delay(50);
}
stop();
delay(10);
turnright();
for(i=0;i<18;i++)
{
en1=1;
e
10、n2=0;
delay(130);
en1=0;
delay(50);
}
xun: if((left_red==1)&(right_red==0))
{
loop: turnleft();
en1=0;
en2=1;
delay(30);
turnright();
en1=1;
delay(50);
en1=0;
delay(50);
en2=0;
delay(50);
if((left_red==1)&(right_red==1))
{
;
}
else
{
goto loop;
}
}
else
{
en1=1;
en2=1;
11、
goahead();
delay(80);
en1=0;
en2=0;
delay(50);
goto xun;
}
}
參考文獻
[1]郭惠,吳迅.單片機C語言程序設(shè)計完全自學手冊[M].電子工業(yè)出版社,2008.10:1-200.
[2]王東鋒,王會良,董冠強. 單片機C語言應(yīng)用100例[M]. 電子工業(yè)出版社,2009.3:145-300.
[3]韓毅,楊天. 基于HCS12單片機的智能尋跡模型車的設(shè)計與實現(xiàn)[J].學術(shù)期刊,2008,29(18):1535-1955.
[4] 王曉明. 電動機的單片機控制[J]. 學術(shù)期刊,2002,13(15):1322-1755.
11
clb借鑒