新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的紅外避障自動(dòng)車的實(shí)現(xiàn)

基于51單片機(jī)的紅外避障自動(dòng)車的實(shí)現(xiàn)

作者: 時(shí)間:2012-09-18 來源:網(wǎng)絡(luò) 收藏
最近學(xué)校放假三天,于是有了大段的時(shí)間,參考了自己學(xué)過的單片機(jī),模電等知識(shí),決定開始第一個(gè)正式電子制作——《基于的實(shí)現(xiàn)》。最終獲得了成功,整車調(diào)試達(dá)到了理想效果,實(shí)現(xiàn)了紅外避障功能。視頻以上傳到優(yōu)酷網(wǎng),視頻地址http://v.youku.com/v_show/id_XMTYzNDc4MjA4.html歡迎大家觀看,探討,提出意見和建議。

下面是一些基本資料:

—————————————————————小車參數(shù)——————————————————————————

障礙檢測(cè)方式:(探測(cè)模塊功耗7mA)

車模幾何尺寸:149 x 102 x 59 (mm)

車 模 輪 距:120 (mm)

測(cè) 障 精 度:75 cm

電 源 系 統(tǒng):4 x 1.5 v 干電池/4 x 1.2 v 充電電池及其穩(wěn)壓輸出

電機(jī):直流減速電機(jī),1~12V工作電壓,傳動(dòng)比:71.2:1

主 控 芯 片:STC89C52MCU

其 他 芯 片:LM7806 LM7805 STC11F01等

—————————————————————小組資料——————————————————————————

小組成員:

王太杰:0804211班,擅長于硬件,焊接技術(shù)強(qiáng),硬件知識(shí)充足,在本次制作中負(fù)責(zé)電機(jī)驅(qū)動(dòng)部分建與調(diào)試。

孫學(xué)軍:0904211班,擅長于編程,C語言功底扎實(shí),思路開闊,在本次制作中負(fù)責(zé)程序驅(qū)動(dòng)部分程序調(diào)試。

李相華:0804211班,在本次制作中負(fù)責(zé)電源部分。

小組優(yōu)勢(shì):

硬件與程序搭配協(xié)調(diào),每人負(fù)責(zé)各自模塊,只提供最終模塊接口,使隊(duì)友不必關(guān)注對(duì)方模塊內(nèi)部結(jié)構(gòu),只需將接口連接完成即可,大大減少了每人負(fù)責(zé)的內(nèi)容,提高了效率。

—————————————————————制作流程與時(shí)間———————————————————————

2010年4月3日(周六):

小組成員對(duì)各模塊電路進(jìn)行了選擇、優(yōu)化,并進(jìn)行了電路搭建、焊接,各模塊調(diào)試,確定模塊交互接口;主控程序思路成型,并編寫了測(cè)試程序,對(duì)軟硬件進(jìn)行了測(cè)試。最后各模塊交互,整體調(diào)試,主程序確定及細(xì)節(jié)敲定。

2010年4月4日(周日):

模塊交互,整體調(diào)試,主控程序細(xì)節(jié)修改;經(jīng)布局后各硬件模塊轉(zhuǎn)移至車體,最終焊接,整車成型。主控程序下載,調(diào)試,最終成功。

—————————————技術(shù)資料———————————————————

設(shè)計(jì)思路:

為便節(jié)省電機(jī)數(shù)量和電路復(fù)雜程度,紅外避障小車(以下簡(jiǎn)稱小車)采用前輪主動(dòng),后輪從動(dòng)原理。前輪采用雙電機(jī)驅(qū)動(dòng),利用差速法實(shí)現(xiàn)車身轉(zhuǎn)向。

檢測(cè)部分利用紅外發(fā)射管發(fā)射紅外光,遇障礙物后經(jīng)反射被紅外接受管接收,產(chǎn)生電平轉(zhuǎn)換,利用單片機(jī)I/O口檢測(cè)紅外檢測(cè)模塊電平輸出,以此判斷前方障礙物有無,檢測(cè)到障礙物后,經(jīng)單片機(jī)I/O口控制電機(jī)驅(qū)動(dòng)電路,經(jīng)由電機(jī)驅(qū)動(dòng)電路輸出不同電壓,產(chǎn)生差速,實(shí)現(xiàn)轉(zhuǎn)向,最終以達(dá)到避障的目標(biāo)。

電源模塊:

考慮到小車行駛的靈活性,我們拋棄了采用交流電的方案。在制作調(diào)試過程中,我們采取了4節(jié)1.5V5號(hào)南孚電池,經(jīng)電池盒串聯(lián)后可獲得5.9~6.5V穩(wěn)定電壓輸出,直接給電機(jī)驅(qū)動(dòng)電路供電。但考慮到工作電壓為4.5V~5.5V,且其對(duì)工作電壓要求比較嚴(yán)格。對(duì)此,我們?cè)O(shè)想采取基于LM7805穩(wěn)壓芯片的穩(wěn)壓芯片輸出5V恒定電壓。電源電路圖見附件,由于在制作中手頭只有一片LM7806,于是我們?cè)谳敵龆舜?lián)了一個(gè)IN4007二極管,產(chǎn)生0.7V壓降,最終獲得5.2V~5.3V穩(wěn)定電壓輸出,給單片機(jī)供電。以提高系統(tǒng)穩(wěn)定性。

在最終整車成型時(shí)我們采用了5V穩(wěn)壓二極管穩(wěn)定電壓,原因有二:一是降低了電源電路功耗,二是降低了制作成本??紤]到一次性干電池的不可利用性,我們?cè)谡嚦尚蜁r(shí)采用了4節(jié)可充電電池經(jīng)電池盒串聯(lián)的方案,以降低后續(xù)制作成本??紤]到電壓輸出端的單一性,我們考慮采用10V穩(wěn)壓管另做一路電源輸出,為電機(jī)提供工作電壓,在一定程度上可提高電機(jī)功率,提高整車運(yùn)行速度。

電機(jī)驅(qū)動(dòng)模塊:

考慮到電機(jī)驅(qū)動(dòng)集成芯片的價(jià)格比較高(18~30元/片),我們舍棄了采用電機(jī)驅(qū)動(dòng)芯片驅(qū)動(dòng)的方案,轉(zhuǎn)而尋求分立元件模擬電路驅(qū)動(dòng),經(jīng)最終選擇我們采取了利用雙三極管控制開關(guān)電路,利用三極管的反應(yīng)靈敏性,并將其一端接在MCU的I/O口上,可以通過控制I/O口輸出0、1脈沖數(shù)量比來控制三極管開關(guān),以達(dá)到控制輸出電壓的目的。驅(qū)動(dòng)電路圖見附件。

主控程序:

為了降低程序復(fù)雜性,我們使用了3個(gè)I/O口,一個(gè)I/O口用來接收紅外部分電平轉(zhuǎn)換,檢測(cè)障礙物,另外兩個(gè)I/O口端接電機(jī)驅(qū)動(dòng)電路,用程序使其產(chǎn)生0、1脈沖數(shù)量比來控制驅(qū)動(dòng)電路開關(guān)。最終實(shí)現(xiàn)速度差以實(shí)現(xiàn)轉(zhuǎn)向避障。

主控程序如下:
/* *****************************
程序開發(fā)環(huán)境Keil uVision3
語言:C
編寫者:孫學(xué)軍
時(shí)間:2010/04/04
***************************** */



/* *****************************
主程序及注釋如下:

***************************** */
#includereg52.h> //添加函數(shù)庫
#define uint unsigned int //宏定義
#define uchar unsigned char //宏定義
sbit s=P3^5;      //定義紅外避障檢測(cè)端口
sbit m1=P3^4;     //定義電機(jī)M1電平輸出端口
sbit m2=P3^6;     //定義電機(jī)M2電平輸出端口
void delay_ms(uint z); //聲明延時(shí)函數(shù)


main()         //主函數(shù)
{
uint i=0;       //初始值設(shè)定
m1=1;
m2=1;
while(1)        //無限循環(huán)
{
if(s==0)      //S=0表示前方有障礙物 進(jìn)行轉(zhuǎn)向
{
for(i=0;i5;i++)
{
m1=0;
m2=1;
delay_ms(15);    //狀態(tài)保持15ms
m1=1;
m2=1;
delay_ms(5);    //狀態(tài)保持5ms
}
}
if(s==1)     //S=1表示前方無障礙物 直線行駛
{
m1=1;
m2=1;
delay_ms(10);    //狀態(tài)保持10ms
}
}
}



void delay_ms(uint z) //延時(shí)函數(shù) 循環(huán)嵌套原理
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

/* *****************************

程序結(jié)束,經(jīng)測(cè)試程序符合硬件,功能達(dá)到預(yù)期目標(biāo)。

***************************** */


————————————————————功能擴(kuò)展——————————————————————————

1:本車人機(jī)交互性不強(qiáng),車體速度無顯示、障礙物有無顯示不明顯,無轉(zhuǎn)向燈提示
預(yù)期可以增加速度測(cè)量以及液晶或數(shù)碼管顯示模塊,顯示模塊可以附在車體本身,也可以單獨(dú)成模塊,利用無線傳輸將數(shù)據(jù)從車體發(fā)送到終端顯示。

2:增加自動(dòng)循跡功能

3:增加自動(dòng)剎車功能

4:遙控功能

————————————————————完畢————————————————————————————

歡迎探討,大家共同學(xué)習(xí)進(jìn)步,歡迎高手指點(diǎn)!

燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉