第一篇:智能避障小車(chē)試驗(yàn)報(bào)告與總結(jié)
智能避障小車(chē)試驗(yàn)報(bào)告與
總結(jié)
專(zhuān)業(yè)班級(jí):12自動(dòng)化-3 姓 名:李昆倫 學(xué) 號(hào):1216306058
隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感覺(jué)傳感器種類(lèi)越來(lái)越多,其中視覺(jué)傳感器成為自動(dòng)行走和駕駛的重要部件。視覺(jué)的典型應(yīng)用領(lǐng)域?yàn)樽灾魇街悄軐?dǎo)航系統(tǒng),對(duì)于視覺(jué)的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達(dá),而基于圖像的理解技術(shù)還很落后,機(jī)器視覺(jué)需要通過(guò)大量的運(yùn)算也只能識(shí)別一些結(jié)構(gòu)化環(huán)境簡(jiǎn)單的目標(biāo)。視覺(jué)傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動(dòng)聚焦。但CCD傳感器的價(jià)格、體積和使用方式上并不占優(yōu)勢(shì),因此在不要求清晰圖像只需要粗略感覺(jué)的系統(tǒng)中考慮使用接近覺(jué)傳感器是一種實(shí)用有效的方法。
STC12C5A60S2/AD/PWM系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專(zhuān)用復(fù)位電路,2路PWM,8路速10位A/D轉(zhuǎn)換(250K/S),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。我們采用的就是STC12C5A60S2這種單片機(jī)。
避障系統(tǒng)可以采用反射式光電開(kāi)關(guān)或者超聲波傳感器對(duì)前方的障礙物進(jìn)行檢測(cè),前者結(jié)構(gòu)簡(jiǎn)單,應(yīng)用方便靈活,但不能獲知障礙物與小車(chē)間的具體距離;后者結(jié)構(gòu)復(fù)雜,但可以測(cè)得障礙物與小車(chē)間的直線距離。本系統(tǒng)采用反射式光電開(kāi)關(guān)E3F-DS10C4來(lái)檢測(cè)障礙物。E3F-DS10C4是漫反射式光電開(kāi)關(guān),NPN三線輸出方式,三線分別為電源線、輸出線、地線。它的靈敏度也可以調(diào)節(jié),檢測(cè)距離比較遠(yuǎn),可以達(dá)到20cm。
紅外發(fā)射管,發(fā)射50hz調(diào)制的38k信號(hào)。當(dāng)遇到障礙物時(shí),發(fā)生漫反射,紅外接收頭接收到這一信號(hào)時(shí),輸出端輸出50hz的信號(hào)。判斷這一信號(hào),即可判斷,遇到了障礙物。
避障傳感器基本原理,利用物體的反射性質(zhì)。在一定范圍內(nèi),如果沒(méi)有障礙物,發(fā)射出去紅外線,因?yàn)閭鞑ゾ嚯x越遠(yuǎn)而逐漸減弱,最后消失,或者反射回來(lái)的光很弱時(shí),輸出端呈低電平光電開(kāi)關(guān)的檢測(cè)不受外界干擾。如果有障礙物,紅外線遇到障礙物,被反射到達(dá)傳感器接收頭,則輸出端呈高電平。傳感器檢測(cè)到這一信號(hào),就可以確認(rèn)正前方有障礙物,并送給單片機(jī),單片機(jī)進(jìn)行一系列的處理分析,協(xié)調(diào)小車(chē)兩輪工作。紅外避障基本原理大致就是如此。
利用紅外傳感器進(jìn)行“前進(jìn)-倒退-轉(zhuǎn)向”避障,在車(chē)的頭部安裝光電開(kāi)關(guān)小車(chē)采用左右輪分別驅(qū)動(dòng)小車(chē)進(jìn)入障礙區(qū)后,在距離障礙物10cm到20cm的地方就可以檢測(cè)到前面有障礙物(改變光電開(kāi)關(guān)的靈敏度可改變最遠(yuǎn)檢測(cè)距離),然后小車(chē)剎車(chē)停止,并調(diào)整角度,車(chē)頭右偏一個(gè)角度,其方法是小車(chē)在前進(jìn)制動(dòng)過(guò)程中,先制動(dòng)右輪,這樣左輪轉(zhuǎn)動(dòng)快,使小車(chē)右轉(zhuǎn),并制動(dòng)停止,隨后小車(chē)加速后退,然后制動(dòng),在制動(dòng)過(guò)程中,先制動(dòng)右輪,左邊快而使車(chē)頭左偏,小車(chē)再前進(jìn),檢測(cè)前方是否有障礙物。如此循環(huán),就可以繞開(kāi)障礙物。前進(jìn)停止和后退停止之間的距離約為30cm,只要小車(chē)前進(jìn)時(shí)剎車(chē)行程小于傳感器檢測(cè)到障礙物的最大距離,就可以肯定小車(chē)車(chē)頭碰不到障礙物。調(diào)整適當(dāng)?shù)膭x車(chē)行程和傳感器的靈敏度,便可實(shí)現(xiàn)這個(gè)條件。單片機(jī)電路:
電機(jī)驅(qū)動(dòng)電路:
電源電路:
紅外傳感電路:
之后附上小車(chē)實(shí)物照片: 采用二輪驅(qū)動(dòng),后面一個(gè)萬(wàn)向輪方便轉(zhuǎn)向,減少阻力。電源采用3.7v鋰電池供電。
至于程序輸入,如圖電源指示燈旁邊有個(gè)插口,可以連接數(shù)據(jù)線,安裝的驅(qū)動(dòng)是PL2303Vista_Installer,燒寫(xiě)軟件我采用的是stc-isp-15xx-v6.67D,至于程序則是在同學(xué)們的幫助下參考網(wǎng)上的改編的。程序有如下:
#include“STC12C5A60S2.h” #include
void delay(unsigned int n){ unsigned char i, j,k;for(k=0;k<=n;k++){ _nop_();_nop_();i = 20;j = 10;do {
while(--j);} while(--i);} } void beep(void){ unsigned char i;for(i=0;i<3;i++){ BUZZ=~BUZZ;delay(10);} BUZZ=1;} void gogogo(void){ IN1=1;IN2=0;IN3=1;IN4=0;} void backbackback(void){ IN1=0;IN2=1;IN3=0;IN4=1;} void stop(void){ IN1=0;IN2=0;IN3=0;IN4=0;} void turnleft(void){ IN1=0;IN2=1;IN3=1;IN4=0;} void turnright(void){ IN1=1;IN2=0;IN3=0;IN4=1;} void main(void){ while(1){ if(bleft==0&&bright==1){ turnright();delay(3);stop();delay(3);} if(bleft==1&&bright==0){ turnleft();delay(3);stop();delay(3);} if(bleft==0&&bright==0){ gogogo();delay(3);stop();delay(3);} if(bleft==1&&bright==1){ turnright();delay(3);stop();delay(3);} } } 在焊接過(guò)程中,也出線了很多錯(cuò)誤,再?lài)?yán)重的一次是單片機(jī)底座引腳有一個(gè)沒(méi)有焊好,然后用萬(wàn)用表連接了多次才發(fā)現(xiàn),然后用一根小鐵絲從下面穿上去再用錫焊牢固。特別要注意的是色環(huán)電阻的識(shí)別計(jì)算方法,在這就不詳細(xì)介紹了。最難的莫過(guò)于程序的調(diào)試和小車(chē)的機(jī)械方面布局幾輪驅(qū)動(dòng)一類(lèi)的問(wèn)題。總之,通過(guò)這次動(dòng)手制作小車(chē),我從中也學(xué)到了很多平時(shí)不知道的東西。以后有機(jī)會(huì),會(huì)繼續(xù)加強(qiáng)這方面的動(dòng)手學(xué)習(xí)能力。
第二篇:自動(dòng)避障小車(chē)技術(shù)報(bào)告2
自動(dòng)避障小車(chē)
技術(shù)報(bào)告
學(xué)
校:樂(lè)山師范學(xué)院成員:鄭素仙
朱平
吳志 指導(dǎo)老師:張九華
前言
設(shè)計(jì)背景:在科學(xué)探索和緊急搶險(xiǎn)中經(jīng)常會(huì)遇到對(duì)與一些危險(xiǎn)或人類(lèi)不能直接到達(dá)的地域的探測(cè),這些就需要用機(jī)器人來(lái)完成。而在機(jī)器人在復(fù)雜地形中行進(jìn)時(shí)自動(dòng)避障是一項(xiàng)必不可少也是最基本的功能。因此,自動(dòng)避障系統(tǒng)的研發(fā)就應(yīng)運(yùn)而生。
我們的自動(dòng)避障小車(chē)就是基于這一系統(tǒng)開(kāi)發(fā)而成的。隨著科技的發(fā)展,對(duì)于未知空間和人類(lèi)所不能直接到達(dá)的地域的探索逐步成為熱門(mén),這就使機(jī)器人的自動(dòng)避障有了重大的意義。我們的自動(dòng)避障小車(chē)就是自動(dòng)避障機(jī)器人中的一類(lèi)。自動(dòng)避障小車(chē)可以作為地域探索機(jī)器人和緊急搶險(xiǎn)機(jī)器人的運(yùn)動(dòng)系統(tǒng),讓機(jī)器人在行進(jìn)中自動(dòng)避過(guò)障礙物。
目錄
一、設(shè)計(jì)目標(biāo):.........................................................4
二、方案設(shè)計(jì):.........................................................4
2.1直流調(diào)速系統(tǒng).................................................4 2.2檢測(cè)系統(tǒng).....................................................5 三 硬件設(shè)計(jì).............................................................6 3.1、SPCE061A單片機(jī)最小系統(tǒng).....................................6
3.1.1.SPCE061A時(shí)鐘電路...........................................................................................8
3.1.2.PLL鎖相環(huán)...........................................................................................................9 3.1.3.看門(mén)狗Watchdog..................................................................................................9 3.1.4.低電壓復(fù)位(LVR).........................................................................................10 3.1.5.I/O端口..............................................................................................................10 3.1.6.時(shí)基與定時(shí)器.....................................................................................................11 3.1.7.SPCE061A的定時(shí)器/計(jì)數(shù)器............................................................................11 3.1.8.ADC、DAC........................................................................................................12 3.2、超聲波傳感器..............................................12 四 軟件設(shè)計(jì)...........................................................16 4.1軟件設(shè)計(jì)各模塊..............................................16 4.2速度控制....................................................17 4.3障礙物檢測(cè)..................................................17 4.4看門(mén)狗......................................................17 4.5基頻中斷....................................................18 4.6程序設(shè)計(jì)流程圖..............................................19 五:測(cè)試數(shù)據(jù)、測(cè)試結(jié)果分析及結(jié)論.......................................19 程序附錄...............................................................21 1.主程序:....................................................21 2.中斷程序....................................................24
3、測(cè)距程序....................................................28
一、設(shè)計(jì)目標(biāo):
1.小車(chē)從無(wú)障礙地區(qū)啟動(dòng)前進(jìn),感應(yīng)前進(jìn)路線上的障礙物后,能自動(dòng)避開(kāi)障礙物。
2.根據(jù)障礙物的位置選擇下一步行進(jìn)方向,選擇左拐還是右拐,若障礙物在左邊則自動(dòng)右拐,若障礙物在右邊則左拐,若障礙物在正前方可任意選擇左拐或者是右拐,以達(dá)到避開(kāi)障礙物的目的。
3.通過(guò)利用單片機(jī)內(nèi)時(shí)鐘源的控制設(shè)定左拐和右拐的時(shí)間,從而能持續(xù)前進(jìn)。
4.為達(dá)到速度的可控性,需設(shè)置兩個(gè)獨(dú)立按鍵對(duì)小車(chē)進(jìn)行控速。
二、方案設(shè)計(jì):
根據(jù)設(shè)計(jì)要求,確定如下方案:在現(xiàn)有玩具電動(dòng)車(chē)的基礎(chǔ)上,加裝超聲波傳感器,實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)行狀況的實(shí)時(shí)測(cè)量,并將測(cè)量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測(cè)的各種數(shù)據(jù)實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的智能控制。
這種方案能實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿足對(duì)系統(tǒng)的各項(xiàng)要求。
2.1直流調(diào)速系統(tǒng)
采用脈寬調(diào)速系統(tǒng)
脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡(jiǎn)稱(chēng)PWM變換器。
脈寬調(diào)速也可通過(guò)單片機(jī)控制繼電器的閉合來(lái)實(shí)現(xiàn),但是驅(qū)動(dòng)能力有限。為順利實(shí)現(xiàn)電動(dòng)小汽車(chē)的前行與倒車(chē),本設(shè)計(jì)采用了可逆PWM變換器??赡鍼WM變換器主電路的結(jié)構(gòu)式有H型、T型等類(lèi)型。我們?cè)谠O(shè)計(jì)中采用了常用的雙極式H型變換器,它是由4個(gè)三極電力晶體管和4個(gè)續(xù)流二極管組成的橋式電路。如附錄一:
2.2檢測(cè)系統(tǒng)
檢測(cè)系統(tǒng)主要實(shí)現(xiàn)紅外傳感器,超聲波傳感,光電傳感器對(duì)車(chē)的運(yùn)行進(jìn)行實(shí)時(shí)測(cè)量,即利用這種傳感器對(duì)電動(dòng)車(chē)的避障、位置、行車(chē)狀態(tài)進(jìn)行測(cè)量。行車(chē)開(kāi)始、結(jié)束及超聲波檢測(cè):
在車(chē)的開(kāi)始和結(jié)束階段,都是用紅外式的光電傳感器,當(dāng)按下此光電開(kāi)頭,小車(chē)就開(kāi)始行駛,在完成任務(wù)后,再按下此開(kāi)關(guān),小車(chē)就停止前進(jìn)。在前進(jìn)的過(guò)程中不斷的發(fā)送超聲波,并對(duì)接到的進(jìn)行處理計(jì)算。如果處理得到的結(jié)果是發(fā)現(xiàn)前面的障礙時(shí),再行進(jìn)一次距離的處理,當(dāng)距離小是40CM時(shí),讓小車(chē)倒退一段時(shí)間,再進(jìn)行避障處理,如果距離大于40CM,就直接進(jìn)避障處理。
三 硬件設(shè)計(jì)
3.1、SPCE061A單片機(jī)最小系統(tǒng)
我們用的是凌陽(yáng)的SPCE061A單片機(jī)最小系統(tǒng)其概述如下: SPCE061A 是繼μ’nSP?系列產(chǎn)品SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使μ’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCE500A相比,以μ’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。
性能
16位μ’nSP?微處理器;
工作電壓(CPU)VDD為2.4~3.6V(I/O)VDDH為2.4~5.5V ;
CPU時(shí)鐘:0.32MHz~49.152MHz ;
內(nèi)置2K字SRAM;
內(nèi)置32K FLASH;
可編程音頻處理;
晶體振蕩器;
系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2μA@3.6V;
2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);
2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
32位通用可編程輸入/輸出端口;
14個(gè)中斷源可來(lái)自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;
具備觸鍵喚醒的功能;
使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù);
鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);
32768Hz實(shí)時(shí)時(shí)鐘;
7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;
具備串行設(shè)備接口;
具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;
內(nèi)置在線仿真電路ICE(In-Circuit Emulator)接口;
具有保密能力;
具有WatchDog功能;
16位μ’nSP?微處理器硬件結(jié)構(gòu)圖
ICE_ENICE_SCKICE_SDA16位微控制器u'nSPFLASH雙16位定時(shí)器/計(jì)數(shù)器時(shí)基中斷控制+ICERAMVCPXI/RXO鎖相環(huán)振蕩器CPU時(shí)鐘實(shí)時(shí)時(shí)鐘7通道10位ADC單通道ADC+AGCMIC_IN低電壓監(jiān)測(cè)/低電壓復(fù)位Watchdog串行異步通訊接口IOB7(RXD)IOB10(TXD)雙通道10位DAC串行輸入輸出接口IOB0(SCK)IOB1(SDA)AUD1AUD232管腳通用輸入輸出端口IOA150 3.1.1.SPCE061A時(shí)鐘電路
SPCE061A時(shí)鐘電路采用晶體振蕩器。下圖為SPCE061A時(shí)鐘電路的接線圖。外接晶振采用32768Hz。
3.1.2.PLL鎖相環(huán)
PLL電路的作用是將系統(tǒng)提供的實(shí)時(shí)時(shí)鐘的基頻(32768Hz)進(jìn)行倍頻,輸出系統(tǒng)時(shí)鐘Fosc
32768Hz晶振鎖相環(huán)(PLL)系統(tǒng)時(shí)鐘發(fā)生器頻率:20.48M,24.576M,32.768M,40.96M,49.152Mb7b6b5Fosc(默認(rèn)值24.576MHz)系統(tǒng)時(shí)鐘選頻P_SystemClock單元的第7,6,5位
3.1.3.看門(mén)狗Watchdog SPCE061A的清狗周期為0.75S;清看門(mén)狗操作寄存器:P_Watchdog_Clear(0x7012H)清狗操作:在每個(gè)0.75S的清狗周期里P_Watchdog_Clear寫(xiě)入0x0001。
3.1.4.低電壓復(fù)位(LVR)
通過(guò)某種方式,使單片機(jī)內(nèi)存各寄存器的值變?yōu)槌跏嫉牟僮鞣Q(chēng)為復(fù)位。SPCE061A的復(fù)位方式為低電壓復(fù)位。
3.1.5.I/O端口 OA口:
IOA0~IOA6:7路普通AD輸入端口,IOA0~IOA7:觸鍵喚醒功能
IOB口:
外部中斷輸入,串行接口、PWM輸出等復(fù)用端口
3.1.6.時(shí)基與定時(shí)器
時(shí)基信號(hào)可提供常用的、現(xiàn)成的頻率信號(hào),完成部分定時(shí)器的功能
時(shí)間基準(zhǔn)信號(hào)部分時(shí)基選頻時(shí)基中斷32768Hz RTCPLL倍頻定時(shí)器/計(jì)數(shù)器Fosc時(shí)鐘源 3.1.7.SPCE061A的定時(shí)器/計(jì)數(shù)器
遞增計(jì)數(shù)方式,自動(dòng)重載定時(shí)器/計(jì)數(shù)器初始值,輸出4位可調(diào)脈寬比PWM信號(hào),溢出頻率/2的方波輸出,多種時(shí)鐘源 11
輸入。
3.1.8.ADC、DAC SPCE061A的特色是其強(qiáng)大靈活的語(yǔ)音功能;而單片機(jī)對(duì)語(yǔ)音處理的支持,除了其處理能力外,還有片內(nèi)集成的ADC、DAC;特別是集成有AGC電路的MIC通道。ADC轉(zhuǎn)換過(guò)程:
啟動(dòng)自動(dòng)方式 RDY=0SAR = 10 0000 0000BDAC0輸出Vdac0與Vin逐次比較比較結(jié)束,RDY=1結(jié)果存入結(jié)果寄存器等待讀取結(jié)果寄存器
3.2、超聲波傳感器
1.基本特性與參數(shù)指標(biāo)
超聲波傳感器諧振頻率:40KHz; 模組傳感器工作電壓:4.5V~9V 模組接口電壓:4.5V~5.5V 2.主要功能
三種測(cè)距模式選擇跳線J1(短距、中距、可調(diào)距):
短距:20cm~100cm左右(根據(jù)被測(cè)物表面材料決定),精度1cm;
中距:70cm~400cm左右(根據(jù)被測(cè)物表面材料決定); 可調(diào):范圍由可調(diào)節(jié)參數(shù)確定,當(dāng)調(diào)節(jié)在合適的值時(shí),最遠(yuǎn)測(cè)距700cm左右; 3.結(jié)構(gòu)示意圖
一般應(yīng)用時(shí),只需要用兩條10PIN排線把J5與SPCE061A的IOB口低八位連接,J4與IOB口高八位連接,同時(shí)設(shè)置好J1、J2跳線就完成硬件的連接了。不同測(cè)距模式的選擇只需改變測(cè)距模式跳線J1的連接方法即可。模組工作的性能與被測(cè)物表面材料有很大關(guān)系,如毛料、布料對(duì)超聲波的反射率很小,會(huì)嚴(yán)重影響測(cè)量結(jié)果 實(shí)物圖: 13
J1為選擇工作模式,J2選擇電源接口 4.電路原理圖介紹:
超聲波諧振頻率調(diào)理電路
由單片機(jī)產(chǎn)生40KHz的方波,并通過(guò)模組接口(J4)送到模組的CD4049,而后面的CD4049則對(duì)40KHz頻率信號(hào)進(jìn)行調(diào)理,以使超聲波傳感器產(chǎn)生諧振。
超聲波回波接收處理電路
超聲波接收處理部分電路前級(jí)采用NE5532構(gòu)成10000倍放大器,對(duì)接收信號(hào)進(jìn)行放大;后級(jí)采用LM311比較器對(duì)接收信號(hào)進(jìn)行調(diào)整,比較電壓為L(zhǎng)M311的3管腳的輸入,可由J1跳線選擇不同的比較電壓以選擇不同的測(cè)距模式。
測(cè)距程序流程圖
超聲波測(cè)距的功能函數(shù)流程圖如圖。用戶只需進(jìn)行六次測(cè)距操作,這六次的測(cè)量結(jié)果需要經(jīng)過(guò)處理后才可得到最終的測(cè)距返回值,然后將返回值化成距離。
四
軟件設(shè)計(jì)
4.1軟件設(shè)計(jì)各模塊
void RunTime2Hz(void);設(shè)置2HZ基頻中斷向量函數(shù)。
void OffTime2Hz(void);清2HZ基頻中斷向量函數(shù)。void Clear_WatchDog(void);清看門(mén)狗函數(shù)
unsigned int SP_GetCh(void);取鍵值函數(shù) void delay2s(int timer)可調(diào)的延遲函數(shù)
4.2速度控制
速度控制用TIMERA的PWM輸出控制,當(dāng)它前進(jìn)時(shí)設(shè)PWM為12/16,當(dāng)它轉(zhuǎn)彎時(shí)設(shè)為8/16。其代碼為:*P_TimerA_Ctrl=0x0333;*P_TimerA_Data=0xff9f;
4.3障礙物檢測(cè)
用TIMERB的TONT輸出給超聲波提供出射頻率,并給它延遲一段時(shí)間,發(fā)射完時(shí),清TIMERB,讓它工作在計(jì)時(shí)方式,當(dāng)計(jì)到10000時(shí)!沒(méi)有收到回波,則說(shuō)明前在無(wú)障礙。如果有收到回波則說(shuō)明有障礙。
4.4看門(mén)狗
看門(mén)狗只要一定時(shí)間給其喂狗,就可以保證程序不會(huì)跑飛,跑飛就會(huì)自動(dòng)復(fù)位。其代碼就只有一句: *P_Watchdog_Clear = 0x0001;
4.5基頻中斷
采用2HZ的基頻中斷,實(shí)現(xiàn)實(shí)時(shí)控制;一次中斷,中斷時(shí)間為0。5S,其代碼如下:
[P_INT_Ctrl] = r1;
INT IRQ;
//開(kāi)中斷
4.6程序設(shè)計(jì)流程圖
五:測(cè)試數(shù)據(jù)、測(cè)試結(jié)果分析及結(jié)論
測(cè)試方法與儀器: 1.測(cè)試儀器
測(cè)試儀器包括數(shù)字萬(wàn)用表、信號(hào)發(fā)生器、示波器、直流穩(wěn)壓電源等。
2.測(cè)試方法
數(shù)字萬(wàn)用表主要用來(lái)測(cè)試各個(gè)IO口的狀態(tài);
信號(hào)發(fā)生器與示波器用于測(cè)試超聲波傳感器信號(hào)的接收與傳輸;
試驗(yàn)測(cè)試能不能完成固定避障。
結(jié)論:
經(jīng)過(guò)了我們的努力,我們基本上能完上避障的功能!當(dāng)然我們之后還有很長(zhǎng)的路要走,在之后我們會(huì)自己做一個(gè)最小系統(tǒng),此次我們更側(cè)重于軟件方面的設(shè)計(jì)。同時(shí)我們還要設(shè)計(jì)更多的外圍電路,實(shí)現(xiàn)更多的功能。其中包括:紅外光電檢測(cè)用來(lái)檢測(cè)旁邊的物體;還有紅外遙控器,用來(lái)控制小車(chē)的運(yùn)行與停止;再加一個(gè)顯示器,用來(lái)顯示路程和時(shí)間等等。
附錄一:
程序附錄:
程序設(shè)計(jì)中包括:主程序,測(cè)距程序,中斷程序組成;
1.主程序:
#include “SPCE061A.h” #include “ceju.h”
unsigned char INTflag;
//定時(shí)標(biāo)識(shí)
unsigned int sum;
//2hz 計(jì)數(shù)器
1次為0。5秒 void RunTime2Hz(void);void OffTime2Hz(void);void Clear_WatchDog(void);void delay2s(int timer)
//設(shè)置基頻為2HZ的中斷,就是一次定時(shí)0。5S {
sum=timer;RunTime2Hz();
//運(yùn)行中斷
while(!INTflag)
{
Clear_WatchDog();//清看門(mén)狗
}
INTflag = 0;
OffTime2Hz();
//結(jié)束中斷
} void delay2s(int timer);int main(void){ unsigned int Back_data;
*P_IOB_Dir=0x1f00;
IOB,IOB8~12同向輸出
*P_IOB_Attrib=0x1f00;*P_IOB_Data=0x0000;INTflag = 0;Clear_WatchDog();
while(1){
*P_TimerA_Ctrl=0x0373;
*P_TimerA_Data=0xff9f;
這14/16
Back_data = measure_Times(0);if(Back_data==0)
//裝距離 //
初
始
化
//清看門(mén)狗
//設(shè)前進(jìn)PWM
//測(cè)距
//判斷是否為0,為0則為前進(jìn)
{
*P_TimerA_Ctrl=0x0373;
*P_TimerA_Data=0xff9f;
}
else if(Back_data<=40)
40CM,小于則進(jìn)行倒車(chē)
{
*P_TimerA_Ctrl=0x006;
*P_IOB_Data=0x1000;
delay2s(0);
*P_IOB_Data=0x0100;
delay2s(3);
}
else if(Back_data<=100)
1M,小于則進(jìn)行避障
{
*P_TimerA_Ctrl=0x0333;
*P_IOB_Data=0x0400;
delay2s(1);
*P_IOB_Data=0x0800;
delay2s(1);
//判斷是否小于
//倒車(chē)
//前進(jìn) //判斷是否小于//左轉(zhuǎn)
//右轉(zhuǎn) 23
*P_IOB_Data=0x0400;
//左轉(zhuǎn)
delay2s(1);*P_TimerA_Ctrl=0x006;
//停止PWM運(yùn)行
*P_IOB_Data=0x0000;
//停車(chē)
while(1)
{;}
}
else
Clear_WatchDog();
}
}
2.中斷程序: #include “SPCE061A.h” #include “ceju.h”
void IRQ3(void)__attribute__((ISR));
void IRQ3(void){ *P_INT_Clear = 0x0100;
//
//IRQ中斷服務(wù)程序 24
EXT1_IRQ_ult();
//調(diào)用超聲波測(cè)距的外部中斷服務(wù)程序 }
.TEXT.include SPCE061A.inc;.external _sum;.external _INTflag;.public _IRQ5;_IRQ5:
push r1,r4 to [sp];
r1 =0x0008;
test r1,[P_INT_Ctrl];
jnz L_4Hz;
r1 = 0x0004;
[P_INT_Clear] = r1;
r1 = [_sum]
r1 += 1;
//定時(shí)3秒的中斷程序
// Timer A FIQ entrence
//清中斷
//取時(shí)基信號(hào)量
cmp r1,4;
je loop0;
[_sum]=r1
//保存時(shí)基信號(hào)量
pop r1,r4 from [sp];
reti;
loop0:
r1 = 0x0001;
[_INTflag] = r1;
r1 = 0
[_sum] = r1 pop r1,r4 from [sp];
reti;
L_4Hz:
r1 = 0x0008;
[P_INT_Clear] = r1;
pop r1,r4 from [sp];reti;
//設(shè)置中斷標(biāo)識(shí)
//清中斷 26
.external _sum;.include SPCE061A.inc;.CODE.public _Clear_WatchDog;_Clear_WatchDog:.PROC
R1=0x0001;
[P_Watchdog_Clear]=R1;
//清看門(mén)狗
retf;.ENDP
.public _RunTime2Hz;//初始化中斷為2HZ定時(shí)中斷源_RunTime2Hz:
.proc r1 = 0x0004;
[P_INT_Ctrl] = r1;
INT IRQ;
//開(kāi)中斷
retf.endp;
.public _OffTime2Hz;_OffTime2Hz:.proc
r1 = [P_INT_Ctrl]
r1 &= 0xfffb;
[P_INT_Ctrl] = r1;
r1 = 0x0000
[_sum] = r1;
retf;.endp;
3、測(cè)距程序
#include “SPCE061A.h” #define LONG_SEND_TIMER 40KHz信號(hào)發(fā)射時(shí)長(zhǎng)
#define LONG_SEND_TIMER2 測(cè)距時(shí)的40KHz信號(hào)發(fā)射時(shí)長(zhǎng)#define LONG_WAIT_DELAY 的防余波干擾延時(shí)時(shí)長(zhǎng)
#define LONG_WAIT_DELAY2 測(cè)距時(shí)的防余波干擾延時(shí)時(shí)長(zhǎng)
1000 3000
600 1500
//中距測(cè)距時(shí)的//中距測(cè)距的補(bǔ)充
//中距測(cè)距
//中距測(cè)距的補(bǔ)充
#define LONG_RES_ADD 補(bǔ)償值
0x00B0 //中距測(cè)距的結(jié)果#define LONG_RES_ADD2 充測(cè)距時(shí)的結(jié)果補(bǔ)償值
#define LOW_SEND_TIMER 40KHz信號(hào)發(fā)射時(shí)長(zhǎng) #define LOW_SEND_TIMER2
0x0220 //中距測(cè)距的補(bǔ)
250
//短距測(cè)距時(shí)的 1000 //短距測(cè)距的補(bǔ)充測(cè)距時(shí)的40KHz信號(hào)發(fā)射時(shí)長(zhǎng) #define LOW_WAIT_DELAY 余波干擾延時(shí)時(shí)長(zhǎng)
#define LOW_WAIT_DELAY2
400
//短距測(cè)距
180
//短距測(cè)距的防的補(bǔ)充測(cè)距時(shí)的防余波干擾延時(shí)時(shí)長(zhǎng) #define LOW_RES_ADD 果補(bǔ)償值
#define LOW_RES_ADD2 測(cè)距時(shí)的結(jié)果補(bǔ)償值
unsigned int Counter_buf;
//超聲波測(cè)距當(dāng)中,用于0x00B0
//短距測(cè)距的補(bǔ)充
0x0034
//短距測(cè)距的結(jié)保存TimerB計(jì)數(shù)的變量,相當(dāng)于時(shí)長(zhǎng) unsigned int EXT1_IRQ_flag=0;
//外部中斷標(biāo)志變量,用于EXT1的IRQ中斷程序和測(cè)距程序同步
void Delay_ult(unsigned int timers){ unsigned int i;for(i=0;i __asm(“nop”);} } unsigned int Resoult_ult(unsigned int Counter){ unsigned int uiTemp;unsigned long ulTemp;ulTemp =(unsigned long)Counter*33500;度,以厘米為單位 ulTemp = ulTemp/196608; ulTemp = ulTemp>>1; //除二 uiTemp =(unsigned int)ulTemp;return uiTemp;} unsigned int measure2_ult(unsigned int type);unsigned int measure_ult(unsigned int type) 聲波測(cè)距模組的測(cè)距程序,完成一次測(cè)距 //計(jì)算距離 //*以聲音的速 // 超30 { unsigned int Exit_flag = 1;unsigned int uiTemp;unsigned int uiResoult;unsigned int uiSend_Timer,uiWait_Timer,uiRes_Add;unsigned int uiSystem_Clock;uiSystem_Clock = *P_SystemClock;//將當(dāng)前的系統(tǒng)時(shí)鐘設(shè)置暫時(shí)保存起來(lái) *P_SystemClock = 0x0088; //將系統(tǒng)時(shí)鐘設(shè)置為49MHz,分頻比為1,強(qiáng)振模式 if(type) //根據(jù)type即測(cè)距類(lèi)型,選擇不同的測(cè)距參數(shù) { } else { uiSend_Timer = LOW_SEND_TIMER;uiWait_Timer = LOW_WAIT_DELAY;uiRes_Add = LOW_RES_ADD; uiSend_Timer = LONG_SEND_TIMER;uiWait_Timer = LONG_WAIT_DELAY;uiRes_Add = LONG_RES_ADD; } *P_TimerB_Data = 0xfed2;*P_TimerB_Ctrl = 0x03c0; //發(fā)40KHz的信號(hào)觸發(fā)超聲波傳感器 率 while(*P_TimerB_Data //TrB 工作在192KHz頻 //等待發(fā)送 //關(guān)定時(shí)器B 再打開(kāi)TimerA的計(jì)數(shù)(來(lái)源于EXT1) 斷 *P_INT_Ctrl = *P_INT_Ctrl_New|0x0100;*P_INT_Clear = 0xffff;__asm(“IRQ ON”); //清除中斷發(fā)生標(biāo)志 //打開(kāi)總中斷使能 //TimerA的溢出中斷{ } *P_INT_Clear = 0x0100; //開(kāi)中斷前先清中 //以避開(kāi)余波的干擾 *P_Watchdog_Clear = 0x0001;EXT1_IRQ_flag = 0;的標(biāo)志變量置0 while(Exit_flag) { if(EXT1_IRQ_flag==1) //當(dāng)該變量在timerA的FIQ中斷中被置1時(shí)表示接收到了回波 { Exit_flag = 0; //退出標(biāo)示 Counter_buf = Counter_buf+uiRes_Add;//計(jì)數(shù)值加上一定的調(diào)整數(shù)據(jù) uiResoult = Resoult_ult(Counter_buf);//對(duì)計(jì)數(shù)值進(jìn)行處理,得出距離值 } if(*P_TimerB_Data>10000) //如計(jì)數(shù)值大于10000,表示超時(shí) { Exit_flag = 0; uiResoult = measure2_ult(type);//再進(jìn)行一次補(bǔ)充的測(cè)距,將會(huì)加長(zhǎng)40KHz信號(hào)發(fā)射的量 } } *P_TimerB_Ctrl = 0x0006;//停止定時(shí)器B uiTemp = *P_TimerB_Data;*P_Watchdog_Clear = 0x0001;*P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部 中斷 置 } void EXT1_IRQ_ult(void) //超聲波測(cè)距模組的測(cè)距程序的EXT1中斷服務(wù)程序 { Counter_buf = *P_TimerB_Data;*P_TimerB_Ctrl = 0x0006; return uiResoult;__asm(“IRQ OFF”); *P_SystemClock = uiSystem_Clock;//恢復(fù)系統(tǒng)時(shí)鐘的設(shè) //關(guān)掉總中斷 *P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部中斷 *P_INT_Clear = 0xffff;EXT1_IRQ_flag = 1; //清除中斷發(fā)生標(biāo)志 //通知測(cè)距程序,外部中斷已發(fā)生 } unsigned int measure2_ult(unsigned int type) //補(bǔ)充進(jìn)行一次遠(yuǎn)距的測(cè)量,以保證能夠獲取測(cè)量結(jié)果 { unsigned int Exit_flag = 1; unsigned int uiResoult;unsigned int uiSend_Timer,uiWait_Timer,uiRes_Add;*P_TimerB_Ctrl = 0x0006; *P_INT_Ctrl = *P_INT_Ctrl_New&(~0x0100);//關(guān)掉外部中斷 __asm(“IRQ OFF”); //關(guān)掉總中斷 //清除掉中斷發(fā)生標(biāo)志 *P_INT_Clear = 0xffff; if(type) //根據(jù)type即測(cè)距類(lèi)型,選擇不同的測(cè)距參數(shù) { } else { } uiSend_Timer = LONG_SEND_TIMER2;uiWait_Timer = LONG_WAIT_DELAY2;uiRes_Add = LONG_RES_ADD2;uiSend_Timer = LOW_SEND_TIMER2;uiWait_Timer = LOW_WAIT_DELAY2;uiRes_Add = LOW_RES_ADD2; *P_TimerB_Data = 0xfed2;*P_TimerB_Ctrl = 0x03c0;Delay_ult(uiSend_Timer);*P_TimerB_Ctrl = 0x0006;*P_TimerB_Data = 0x0000;*P_TimerB_Ctrl = 0x0001; while(*P_TimerB_Data *P_INT_Ctrl = *P_INT_Ctrl_New|0x0100;//打開(kāi)外部中斷 *P_INT_Clear = 0xffff;__asm(“IRQ ON”); EXT1_IRQ_flag = 0; //TimerA的溢出中斷 //清除中斷發(fā)生標(biāo)志 //打開(kāi)總中斷使能 { } *P_Watchdog_Clear = 0x0001;的標(biāo)志變量置0 while(Exit_flag){ if(EXT1_IRQ_flag==1) //當(dāng)該變量在timerA的FIQ中斷中被置1時(shí)表示接收到了回波 { Exit_flag = 0; //exit Counter_buf = Counter_buf+uiRes_Add;//計(jì)數(shù)值加上一定的調(diào)整數(shù)據(jù) uiResoult = Resoult_ult(Counter_buf);//對(duì)計(jì)數(shù)值進(jìn)行處理,得出距離值 } if(*P_TimerB_Data>10000) //如計(jì)數(shù)值大于10000,表示超時(shí) } unsigned int measure_Times(unsigned int type) //組合進(jìn)行共6次的測(cè)距程序,包括對(duì)6次測(cè)量結(jié)果的取平均值處理 { } { } Exit_flag = 0;uiResoult = 0; *P_TimerB_Ctrl = 0x0006;return uiResoult;unsigned int uiResoult=0,uiMeasure_Index=0,i;unsigned int uiTemp_buf[6],uiTemp; unsigned int uiSystem_Clock; for(;uiMeasure_Index<6;uiMeasure_Index++){ //循環(huán)進(jìn)行四次測(cè)量 //進(jìn)行一次測(cè)uiTemp = measure_ult(type); 量,測(cè)量類(lèi)型由type決定 if(uiMeasure_Index==0) //如果為本次測(cè)量的第一次測(cè)距,則直接保存在緩沖區(qū)第一個(gè)單元 uiTemp_buf[0] = uiTemp; else { //否,則對(duì)結(jié)果進(jìn)行比較,進(jìn)行排序,從大到小排 i = uiMeasure_Index;while(i){ if(uiTemp>uiTemp_buf[i-1]){ } else { //以下為排序的代碼 uiTemp_buf[i] = uiTemp_buf[i-1];uiTemp_buf[i-1] = uiTemp; } } } uiTemp_buf[i] = uiTemp;break; //退出排序 i--; //兩次測(cè)量之間的延時(shí)等待,利用以下代碼軟仿真時(shí)的cycles數(shù)結(jié)合設(shè)置的CPUCLK進(jìn)行計(jì)算,大概72ms uiSystem_Clock = *P_SystemClock; //將之前的系統(tǒng)時(shí)鐘的設(shè)置用變量保存 *P_SystemClock = 0x000b; // 設(shè) 置 為24.576MHz 分頻比為8 for(i=0;i<5;i++){ } *P_SystemClock = uiSystem_Clock; //恢復(fù)系統(tǒng)時(shí)鐘Delay_ult(1000); //調(diào)用延時(shí)程序 *P_Watchdog_Clear = 0x0001;設(shè)置 } //此處延時(shí)結(jié)束 //對(duì)6次測(cè)距的結(jié)果進(jìn)行處理 if(uiTemp_buf[5]==0){ //如果緩沖區(qū)中的最小的測(cè)距值為0,則采用中間4個(gè)數(shù)據(jù)進(jìn)行平均 uiResoult = uiTemp_buf[1]+uiTemp_buf[2]+uiTemp_buf[3]+uiTemp_buf[4]; } else { //否則就取后5個(gè)數(shù)據(jù)uiResoult = uiResoult/4;進(jìn)行平均 uiResoult = uiTemp_buf[1]+uiTemp_buf[2]+uiTemp_buf[3]+uiTemp_buf[4]+uiTemp_buf[5]; } } return uiResoult;uiResoult = uiResoult/5;40 論文編碼:TP39 Capital Normal University 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) ——機(jī)器人機(jī)械設(shè)計(jì)模塊 Design and Implementation of Mobile Robot Based on Behavior Design —— Robot Mechanical Solutions 論文作者: 張倩穎 院 系: 信息工程學(xué)院 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào): 1111000055 指導(dǎo)老師: 徐敏 完成日期: 2015年 4月 25日 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 摘要 本文簡(jiǎn)要介紹了基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)----一種基于Arduino新型集成開(kāi)發(fā)環(huán)境的超聲波避障小車(chē)的工作原理。其中包括對(duì)小車(chē)的執(zhí)行組件、搭建結(jié)構(gòu)、傳感器、Arduino單片機(jī)軟件編程及試驗(yàn)結(jié)果的介紹。 本方案以Arduino單片機(jī)為控制核心,基于蝙蝠超聲波測(cè)距的原理,利用超聲波傳感器,檢測(cè)小車(chē)前方障礙物的距離,然后把數(shù)據(jù)傳送給單片機(jī)。當(dāng)超聲波檢測(cè)到距離小車(chē)前方25CM有障礙物時(shí)單片機(jī)就發(fā)出指令讓小車(chē)左轉(zhuǎn)一定角度,然后停止行進(jìn)繼續(xù)探測(cè).如果前方25CM沒(méi)有障礙物則直行,否則繼續(xù)左轉(zhuǎn)一定角度。如此通過(guò)超聲波不斷的循環(huán)檢測(cè)周邊環(huán)境的情況進(jìn)行自動(dòng)避障。 本系統(tǒng)在硬件設(shè)計(jì)方面,以Arduino單片機(jī)為控制核心,以超聲波傳感器檢測(cè)前方障礙物,從而自動(dòng)避障。在軟件方面,利用Arduino語(yǔ)言進(jìn)行編程,通過(guò)軟件編程來(lái)控制小車(chē)運(yùn)轉(zhuǎn)。該系統(tǒng)在驅(qū)動(dòng)方面采用L298N驅(qū)動(dòng)2個(gè)直流電機(jī)帶動(dòng)小車(chē)運(yùn)行。并且,用PWM系統(tǒng)調(diào)速,控制小車(chē)前進(jìn)的速度。實(shí)現(xiàn)小車(chē)根據(jù)外部環(huán)境,做出前進(jìn)、后退和轉(zhuǎn)向等動(dòng)作,從而完成避障的功能,本設(shè)計(jì)具有有一定的實(shí)用價(jià)值。 關(guān)鍵詞:Arduino單片機(jī);超聲波傳感器;避障 I 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) ABSTRACT This paper describes the design of mobile robot behavior-based design and implement----A new ultrasound-based integrated development environment Arduino obstacle avoidance car works.These include the implementation of car components, building structures, sensors, Arduino microcontroller software programming and test results presentation.The program to Arduino microcontroller core, based on the principle of ultrasonic distance measurement bats using ultrasonic sensors to detect obstacles in front from the car, and then transmits the data to the microcontroller.When the ultrasonic distance in front of the car detects obstacles 25CM SCM issued a directive to make the car turn left on an angle, then continue probing stop traveling.If there is no obstacle in front of the 25CM straight, turn left or continue certain angle.So the case of the ultrasonic continuous loop through the surrounding environment to automatically detect avoidance.The system hardware design to Arduino microcontroller core, with ultrasonic sensors detect obstacles in front, so that automatic obstacle avoidance.On the software side, the use of Arduino programming language to control the car running through software programming.The system uses the driver side L298N drive two DC motors drive the car running.And, with the PWM system speed, speed control car forward.Realize the car according to the external environment, made forward, backward, and steering movements, thus completing the obstacle avoidance function, the design has a certain practical value.Key words: Arduino;ultrasonic sensors;obstacle avoidance II 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 第一章 緒論....................................................................................................................................1 1.1 論文的選題背景...................................................................................................................1 1.2 Arduino單片機(jī)概述.............................................................................................................2 1.3 Arduino機(jī)器人發(fā)展現(xiàn)狀.....................................................................................................3 1.4 Arduino智能避障機(jī)器人研究意義和目的.........................................................................4 1.5項(xiàng)目主要研究?jī)?nèi)容...............................................................................................................5 第二章 避障小車(chē)機(jī)器人的總體設(shè)計(jì)............................................................................................6 2.1設(shè)計(jì)原理與方法...................................................................................................................6 2.2硬件設(shè)計(jì)...............................................................................................................................6 2.3 軟件設(shè)計(jì)...............................................................................................................................7 2.3.1 Arduino語(yǔ)言..................................................................................................................7 2.3.2 Arduino IDE....................................................................................................................8 2.4 實(shí)驗(yàn)前期準(zhǔn)備.....................................................................................................................10 第三章 硬件模塊..........................................................................................................................12 3.1 各模塊的的基本性能.........................................................................................................12 3.1.1 單片機(jī)模塊...................................................................................................................12 3.1.2 電機(jī)、電機(jī)驅(qū)動(dòng)模塊...................................................................................................12 3.1.3避障模塊......................................................................................................................14 3.1.4電源模塊......................................................................................................................15 3.2 小車(chē)的基本搭建.................................................................................................................15 3.3連線.....................................................................................................................................17 3.3.1電機(jī)的連線..................................................................................................................17 3.3.2舵機(jī)的連線..................................................................................................................18 3.3.3超聲波的連線..............................................................................................................19 3.3.4 Arduino超聲波小車(chē)總體連線圖:.............................................................................20 III 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 第四章 軟件模塊..........................................................................................................................21 4.1 軟件設(shè)計(jì)思路.....................................................................................................................21 4.2 電機(jī)前進(jìn)模塊.....................................................................................................................22 4.2 電機(jī)后退模塊.....................................................................................................................22 4.3 電機(jī)停止工作模塊.............................................................................................................23 4.4 電機(jī)左轉(zhuǎn)模塊.....................................................................................................................23 4.5 電機(jī)右轉(zhuǎn)模塊.....................................................................................................................24 4.6 防卡死模塊.........................................................................................................................25 第五章 實(shí)驗(yàn)及結(jié)果分析..............................................................................................................26 5.1預(yù)期目標(biāo).............................................................................................................................26 5.2遇到的問(wèn)題和解決方法.....................................................................................................26 5.3 硬件的調(diào)試與整合.............................................................................................................27 5.3.1調(diào)試思路......................................................................................................................27 5.3.2調(diào)試超聲波模塊..........................................................................................................27 5.3.3電機(jī)調(diào)試......................................................................................................................28 5.4 心得體會(huì).............................................................................................................................28 第六章 設(shè)想與展望......................................................................................................................30 參考文獻(xiàn).......................................................................................................................................31 致謝...............................................................................................................................................32 附錄...............................................................................................................................................33 超聲波智能避障車(chē)程序(ARDUINO)...................................................................................33 IV 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 第一章 緒論 1.1 論文的選題背景 隨著現(xiàn)代計(jì)算機(jī)技術(shù)的不斷發(fā)展和普及,機(jī)器人的發(fā)展已經(jīng)遍及近年來(lái)機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。小到智能玩具,大到機(jī)械、電子、冶金、交通、宇航、國(guó)防等各個(gè)領(lǐng)域。人們將計(jì)算機(jī)技術(shù)更加廣闊的運(yùn)用的人類(lèi)生活中,制造能替代人勞動(dòng)的機(jī)器一直是人類(lèi)的夢(mèng)想,并一直在為之努力。在我們的生活里,有很多的機(jī)器人,如圖1.1所示,這兩種機(jī)器人分別是掃地機(jī)器人和滅火機(jī)器人。他們?cè)谖覀兊纳钪蟹浅3R?jiàn)也很實(shí)用,他們的特點(diǎn)就是無(wú)需人們的控制,能夠自行運(yùn)動(dòng)完成他們的任務(wù)。那么這就需要一個(gè)非常必要的基礎(chǔ)功能,那就是能夠感知并躲避前方的障礙物。 因此,在本次的設(shè)計(jì)中,我們將設(shè)計(jì)出一個(gè)能夠避障機(jī)器人,在具有這個(gè)基本功能的基礎(chǔ)上,我們就可以為他附加更多的功能,賦予它更多的實(shí)用價(jià)值。選用Arduino單片機(jī)作為控制核心,使用仿生超聲波技術(shù)傳感器進(jìn)行避障的實(shí)現(xiàn)。“智能避障機(jī)器人”作為現(xiàn)代社會(huì)的新產(chǎn)物,也是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個(gè)特定的環(huán)境里自動(dòng)的運(yùn)作,無(wú)需人為管理,便可以完成預(yù)期所要達(dá)到的或是更高的目標(biāo)。 圖1.1 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 1.2 Arduino單片機(jī)概述 Arduino,是一個(gè)基于開(kāi)放原始碼的軟硬件平臺(tái),構(gòu)建于開(kāi)放原始碼simple I/O介面版,并且具有使用類(lèi)似Java,C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境。它包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接和Arduino電路板;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中的程序開(kāi)發(fā)環(huán)境。你只要在IDE中編寫(xiě)程序代碼,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了。 Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序,編譯成二進(jìn)制文件,收錄進(jìn)微控制器。對(duì)Arduino的編程是利用Arduino編程語(yǔ)言(基于 Wiring)和Arduino開(kāi)發(fā)環(huán)境(based on Processing)來(lái)實(shí)現(xiàn)的?;贏rduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信(比如 Flash, Processing, MaxMSP)來(lái)實(shí)現(xiàn)??梢宰约簞?dòng)手制作,也可以購(gòu)買(mǎi)成品套裝;Arduino所使用到的軟件都可以免費(fèi)下載.硬件參考設(shè)計(jì)(CAD 文件)也是遵循availableopen-source協(xié)議, 你可以非常自由地根據(jù)你自己的要求去修改他們.Arduino可以使用開(kāi)發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進(jìn)馬達(dá)或其他輸出裝置。Arduino也可以獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝通的接口,例如說(shuō):flash、processing、Max/MSP、VVVV或其他互動(dòng)軟件…。Arduino開(kāi)發(fā)IDE接口基于開(kāi)放源代碼原,可以讓您免費(fèi)下載使用開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。 其主要特點(diǎn)如下: 1)開(kāi)放源代碼的電路圖設(shè)計(jì),程序開(kāi)發(fā)接口免費(fèi)下載,也可依個(gè)人需求自己修改。2)使用低價(jià)格的微處理控制器(AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。 3)Arduino支持ISP在線燒,可以將新的“bootloader”固件燒入AVR芯片。有了bootloader之后,可以通過(guò)串口或者USB to Rs232線更新固件。 4)可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達(dá),…等)5)支持多種互動(dòng)程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 6)應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo)、鍵盤(pán)、CCD等輸入的裝置的互動(dòng)內(nèi)容,可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。 我們?yōu)槭裁匆褂肁rduino?有很多的單片機(jī)和單片機(jī)平臺(tái)都適合用做交互式系統(tǒng)的設(shè)計(jì)。例如:Parallax Basic Stamp,Netmedia’s BX-24,Phidgets,MIT’s Handyboard和其它等等提供類(lèi)似功能的。所有這些工具,你都不需要去關(guān)心單片機(jī)編程繁瑣的細(xì)節(jié),提供給你的是一套容易使用的工具包。Arduino同樣也簡(jiǎn)化了同單片機(jī)工作的流程,但同其它系統(tǒng)相比Arduino在很多地方更具有優(yōu)越性,特別適合老師,學(xué)生和一些業(yè)余愛(ài)好者們使用:和其它平臺(tái)相比,Arduino板算是相當(dāng)便宜了。最便宜的Arduino版本可以自己動(dòng)手制作,即使是組裝好的成品,其價(jià)格也不會(huì)超過(guò)200元。而且Arduino軟件可以跨平臺(tái)運(yùn)行在Windows,Macintosh OSX,和Linux操作系統(tǒng)。而大部分其它的單片機(jī)系統(tǒng)都只能運(yùn)行在Windows上。另外,它具有簡(jiǎn)易的編程環(huán)境。初學(xué)者很容易就能學(xué)會(huì)使用Arduino編程環(huán)境,同時(shí)它又能為高級(jí)用戶提供足夠多的高級(jí)應(yīng)用。對(duì)于老師們來(lái)說(shuō),一般都能很方便的使用Processing 編程環(huán)境,所以如果學(xué)生學(xué)習(xí)過(guò)使用Processing 編程環(huán)境的話,那他們?cè)谑褂肁rduino開(kāi)發(fā)環(huán)境的時(shí)候就會(huì)覺(jué)得很相似很熟悉。 軟件開(kāi)源并可擴(kuò)展-Arduino軟件是開(kāi)源的,對(duì)于有經(jīng)驗(yàn)的程序員可以對(duì)其進(jìn)行擴(kuò)展。Arduino編程語(yǔ)言可以通過(guò)C++庫(kù)進(jìn)行擴(kuò)展,如果有人想去了解技術(shù)上的細(xì)節(jié),可以跳過(guò)Arduino語(yǔ)言而直接使用AVR C 編程語(yǔ)言(因?yàn)锳rduino語(yǔ)言實(shí)際上是基于AVR C的)。類(lèi)似的,如果你需要的話,你也可以直接往你的Arduino程序中添加AVR-C 代碼。 Arduino基于AVR平臺(tái),對(duì)AVR庫(kù)進(jìn)行了二次編譯封裝,把端口都打包好了,寄存器啦、地址指針之類(lèi)的基本不用管。大大降低了軟件開(kāi)發(fā)難度,適宜非專(zhuān)業(yè)愛(ài)好者使用。優(yōu)點(diǎn)和缺點(diǎn)并存,因?yàn)槭嵌尉幾g封裝,代碼不如直接使用AVR代碼編寫(xiě)精練,代碼執(zhí)行效率與代碼體積都弱于AVR直接編譯。 1.3 Arduino機(jī)器人發(fā)展現(xiàn)狀 我國(guó)目前的發(fā)展現(xiàn)狀是研制中的智能移動(dòng)機(jī)器人智能水平并不高,只能說(shuō)是智能移動(dòng)機(jī)器人的初級(jí)階段。智能移動(dòng)機(jī)器人研究中當(dāng)前的核心問(wèn)題有兩方面:一方面是,提高智能移動(dòng)機(jī)器人的自主性,這是就智能移動(dòng)機(jī)器人與人的關(guān)系而言,即希望智能 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 移動(dòng)機(jī)器人進(jìn)一步獨(dú)立于人,具有更為友善的人機(jī)界面。從長(zhǎng)遠(yuǎn)來(lái)說(shuō),希望操作人員只要給出要完成的任務(wù),而機(jī)器能自動(dòng)形成完成該任務(wù)的步驟,并自動(dòng)完成它。另一方面是,提高智能移動(dòng)機(jī)器人的適應(yīng)性,提高智能移動(dòng)機(jī)器人適應(yīng)環(huán)境變化的能力,這是就智能移動(dòng)機(jī)器人與環(huán)境的關(guān)系而言,希望加強(qiáng)它們之間的交互關(guān)系。 智能移動(dòng)機(jī)器人涉及到許多關(guān)鍵技術(shù),這些技術(shù)關(guān)系到智能移動(dòng)機(jī)器人的智能性的高低。這些關(guān)鍵技術(shù)主要有以下幾個(gè)方面:多傳感信息耦合技術(shù),多傳感器信息融合就是指綜合來(lái)自多個(gè)傳感器的感知數(shù)據(jù),以產(chǎn)生更可靠、更準(zhǔn)確或更全面的信息,經(jīng)過(guò)融合的多傳感器系統(tǒng)能夠更加完善、精確地反映檢測(cè)對(duì)象的特性,消除信息的不確定性,提高信息的可靠性;導(dǎo)航和定位技術(shù),在自主移動(dòng)機(jī)器人導(dǎo)航中,無(wú)論是局部實(shí)時(shí)避障還是全局規(guī)劃,都需要精確知道機(jī)器人或障礙物的當(dāng)前狀態(tài)及位置,以完成導(dǎo)航、避障及路徑規(guī)劃等任務(wù);路徑規(guī)劃技術(shù),最優(yōu)路徑規(guī)劃就是依據(jù)某個(gè)或某些優(yōu)化準(zhǔn)則,在機(jī)器人工作空間中找到一條從起始狀態(tài)到目標(biāo)狀態(tài)、可以避開(kāi)障礙物的最優(yōu)路徑;機(jī)器人視覺(jué)技術(shù),機(jī)器人視覺(jué)系統(tǒng)的工作包括圖像的獲取、圖像的處理和分析、輸出和顯示,核心任務(wù)是特征提取、圖像分割和圖像辨識(shí);智能控制技術(shù),智能控制方法提高了機(jī)器人的速度及精度;人機(jī)接口技術(shù),人機(jī)接口技術(shù)是研究如何使人方便自然地與計(jì)算機(jī)交流。 在各國(guó)的智能移動(dòng)機(jī)器人發(fā)展中,美國(guó)的智能移動(dòng)機(jī)器人技術(shù)在國(guó)際上一直處于領(lǐng)先地位,其技術(shù)全面、先進(jìn),適應(yīng)性也很強(qiáng),性能可靠、功能全面、精確度高,其視覺(jué)、觸覺(jué)等人工智能技術(shù)已在航天、汽車(chē)工業(yè)中廣泛應(yīng)用。日本由于一系列扶植政策,各類(lèi)機(jī)器人包括智能移動(dòng)機(jī)器人的發(fā)展迅速。歐洲各國(guó)在智能移動(dòng)機(jī)器人的研究和應(yīng)用方面在世界上處于公認(rèn)的領(lǐng)先地位。中國(guó)起步較晚,而后進(jìn)入了大力發(fā)展的時(shí)期,以期以機(jī)器人為媒介物推動(dòng)整個(gè)制造業(yè)的改變,推動(dòng)整個(gè)高技術(shù)產(chǎn)業(yè)的壯大 1.4 Arduino智能避障機(jī)器人研究意義和目的 機(jī)器人的感覺(jué)傳感器種類(lèi)非常多,其中視覺(jué)傳感器成為研制自動(dòng)行走和駕駛機(jī)器人的重要部件。機(jī)器人要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個(gè)視覺(jué)功能。本設(shè)計(jì)以超聲波作為智能車(chē)避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車(chē)智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車(chē)的智能化是汽車(chē)產(chǎn)業(yè)發(fā)展必然的,在這種情況下研究超聲波在智能車(chē)避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)我國(guó)未來(lái)智能汽車(chē)的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。 本設(shè)計(jì)主要體現(xiàn)多功能小車(chē)的智能避障功能,本設(shè)計(jì)中的理論方案、分析方法及特色與創(chuàng)新點(diǎn)等可以為自動(dòng)運(yùn)輸機(jī)器人、采礦勘探機(jī)器人、家用自動(dòng)清潔機(jī)器人等自動(dòng)半自動(dòng)機(jī)器人的設(shè)計(jì)與普及有一定的參考意義。同時(shí)小車(chē)可以作為玩具的發(fā)展對(duì)象,為中國(guó)玩具市場(chǎng)技術(shù)含量的缺乏進(jìn)行一定的彌補(bǔ),實(shí)現(xiàn)經(jīng)濟(jì)收益,形成商業(yè)價(jià)值。我們所設(shè)計(jì)的智能移動(dòng)機(jī)器人利用超聲波能夠在路面上順利躲避障礙物,從而在導(dǎo)盲和輔助人類(lèi)行動(dòng)方面也有著重要意義。 1.5項(xiàng)目主要研究?jī)?nèi)容 本設(shè)計(jì)題目為《基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)》是以Arduino單片機(jī)為控制核心,主要研究小車(chē)的避障功能。利用超聲波傳感器檢測(cè)道路上的障礙,然后把數(shù)據(jù)傳送給單片機(jī),當(dāng)超聲波檢測(cè)到距離小車(chē)前方有障礙物時(shí)單片機(jī)就發(fā)出指令讓小車(chē)左轉(zhuǎn)一定角度,然后停止運(yùn)行繼續(xù)探測(cè).如果前方?jīng)]有障礙物就直走,否則繼續(xù)左轉(zhuǎn)一定角度。如此通過(guò)超聲波不斷的循環(huán)檢測(cè)周邊環(huán)境的情況進(jìn)行自動(dòng)避障。該功能的小車(chē)能夠?qū)崿F(xiàn)在無(wú)人操作的情況下在比較寬闊平坦的環(huán)境中避開(kāi)障礙物。當(dāng)機(jī)器人在行走過(guò)程中遇到前方障礙時(shí),能夠根據(jù)有效范圍內(nèi)的距離作出相應(yīng)處理,由單片機(jī)軟件發(fā)出轉(zhuǎn)彎、直行、后退指令,避免機(jī)器與障礙物相撞。 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 第二章 避障小車(chē)機(jī)器人的總體設(shè)計(jì) 2.1設(shè)計(jì)原理與方法 本設(shè)計(jì)中直流電機(jī)PWM控制系統(tǒng)的主要功能包括實(shí)現(xiàn)對(duì)直流電機(jī)的加速、減速,并且可以調(diào)整電機(jī)的轉(zhuǎn)速,能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制。主體電路:即直流電機(jī)PWM 控制模塊。這部分電路主要由AT89S52 單片機(jī)的 I/O 端口、定時(shí)計(jì)數(shù)器、外部中斷擴(kuò)展等控制直流電機(jī)的加速、減速以及電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),并且可以調(diào)整電機(jī)的轉(zhuǎn)速,能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制。其間是通過(guò) AT89S52 單片機(jī)產(chǎn)生脈寬可調(diào)的脈沖信號(hào)并輸入到L298 驅(qū)動(dòng)芯片來(lái)控制直流電機(jī)工作的。該直流電機(jī)PWM 控制系統(tǒng)由以下電路模塊組成:設(shè)計(jì)控制部分:主要由AT89S52 單片機(jī)的外部中斷擴(kuò)展電路組成。直流電機(jī)PWM控制實(shí)現(xiàn)部分主要由一些二極管、電機(jī)和L298 直流電機(jī)驅(qū)動(dòng)模塊組成。智能小車(chē)采用后輪驅(qū)動(dòng),兩個(gè)后輪各用一個(gè)電機(jī),前輪是萬(wàn)象輪,起到支撐和轉(zhuǎn)向的作用。 2.2硬件設(shè)計(jì) 本小車(chē)的硬件部分分為幾個(gè)模塊:超聲波傳感器、Arduino單片機(jī)、電源、兩個(gè)直流電動(dòng)機(jī)、電機(jī)驅(qū)動(dòng)板、車(chē)身。電源連接在Arduino單片機(jī)上給整個(gè)小車(chē)供電。小車(chē)以Arduino單片機(jī)為核心,連接電機(jī)驅(qū)動(dòng)板控制兩個(gè)直流電動(dòng)機(jī)的運(yùn)轉(zhuǎn),從而實(shí)現(xiàn)小車(chē)的前進(jìn)。將超聲波傳感器安置在車(chē)身的最前端,用于探測(cè)前方是否有障礙物。當(dāng)超聲波傳感器遇到障礙物,將反饋提供到單片機(jī)里從而做出向左旋轉(zhuǎn)的反應(yīng),再次檢測(cè)前方是否有障礙物,若有障礙物則繼續(xù)旋轉(zhuǎn),沒(méi)有障礙物則電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī)前進(jìn),從而實(shí)現(xiàn)整個(gè)小車(chē)的避障功能。硬件框架圖如圖2.1。 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 圖2.1 硬件設(shè)計(jì)框架 2.3 軟件設(shè)計(jì) 2.3.1 Arduino語(yǔ)言 Arduino語(yǔ)言具有如下特點(diǎn): 1、開(kāi)放源代碼的電路圖設(shè)計(jì),程序開(kāi)發(fā)接口免費(fèi)下載,也可依需求自己修改。 2、使用低價(jià)格的微處理控制器(AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。 3、Arduino支持ISP在線燒,可以將新的“bootloader”固件燒入AVR芯片。有了bootloader之后,可以通過(guò)串口或者USB to Rs232線更新固件。 4、可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達(dá),?等) 5、支持多種互動(dòng)程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。 6、應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo)、鍵盤(pán)、CCD等輸入的裝置的互動(dòng)內(nèi)容,可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。Arduino的功能: 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) Arduino可以讓我們快速使用與Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider等軟件結(jié)合,作出互動(dòng)作品。Arduino可以使用現(xiàn)有的電子元件例如開(kāi)關(guān)或者傳感器或者其他控制器件、LED、步進(jìn)馬達(dá)或其他輸出裝置。Arduino也可以獨(dú)立運(yùn)行,并與軟件進(jìn)行交互,例如:Macromedia Flash, Processing,Max/MSP, Pure Data,VVVV或其他互動(dòng)軟件,Arduino的IDE界面基于開(kāi)放源代碼,可以讓我們免費(fèi)下載使用,開(kāi)發(fā)出更多令人驚艷的互動(dòng)作品。 Arduino可使用ICSP線上燒入器,將「bootloader」燒入新的IC晶片;可依據(jù)官方電路圖,簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超聲波,熱敏電阻,光敏電阻,伺服馬達(dá)等);支援多樣的互動(dòng)程序例如: Macromedia Flash、Max/Msp、VVVV、PD、C、Processing等;使用低價(jià)格的微處理控制器(ATMEGA 8-168);USB接口,不需外接電源。另外有提供9V直流電源輸入;在應(yīng)用方面,利用Arduino,突破以往只能使用鼠標(biāo),鍵盤(pán),CCD等輸入的裝置進(jìn)行互動(dòng)內(nèi)容的設(shè)計(jì),可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。 2.3.2 Arduino IDE 如圖2.3這是運(yùn)行界面。Arduino語(yǔ)言是一種類(lèi)c的語(yǔ)言。在這個(gè)界面里有我們編程時(shí)最常用的東西。當(dāng)我們把鼠標(biāo)放在上面就會(huì)在右側(cè)出現(xiàn)按鍵的功能。 圖2.3 Arduino IDE運(yùn)行界面 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 圖2.4就是upload上傳功能。最右邊的圖標(biāo)是我們需要熟知的串口監(jiān)視器,快捷鍵是:Ctrl+Shift+M。點(diǎn)這個(gè)圖標(biāo)有用的前提是插上了串口設(shè)備,當(dāng)然Arduino插在USB上也可以,因?yàn)榘迳系腁tmega16U2就是USB轉(zhuǎn)串口的功能。 圖2.4 upload 上傳功能 如圖2.5這就是串口監(jiān)視器的運(yùn)行畫(huà)面相對(duì)于網(wǎng)上流傳的眾多串口調(diào)試軟件,它的功能可以說(shuō)較為簡(jiǎn)單。右下角是波特率,波特率接收端和發(fā)射端要相同,要不然收到的會(huì)是亂碼。 圖2.5 串口監(jiān)視器 如果電腦沒(méi)找到串口或者驅(qū)動(dòng)沒(méi)裝好,就會(huì)有如圖2.6的提示。serial port的意思是串行通訊接口。 圖2.6 Arduino IDE的菜單欄中有很多選項(xiàng),例如“文件”“編輯”等英文界面。其中Sketch是草圖的意思,在Arduino IDE中,每個(gè)Arduino程序都稱(chēng)為sketch,他是一個(gè) 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 可以上傳進(jìn)Arduino Board中的程序包,當(dāng)然經(jīng)過(guò)編譯以后他就不是代碼包了。Tools里面第一項(xiàng),自動(dòng)格式,當(dāng)你把一段從網(wǎng)上下載的源代碼放到sketch里面,會(huì)有一些縮進(jìn)的亂碼,這時(shí),Auto Format就起到了很好的作用。 當(dāng)我們編寫(xiě)好程序后,點(diǎn)擊Update,IDE會(huì)自動(dòng)編譯,上傳。如果程序有錯(cuò)誤,就會(huì)有如圖2.7的顯示,標(biāo)出了行號(hào)。修改程序后就可以繼續(xù)編譯上傳了。 圖2.7 2.4 實(shí)驗(yàn)前期準(zhǔn)備 搭建小車(chē)的零件清單如下: 1.減速電機(jī) 2個(gè) 2.優(yōu)質(zhì)輪胎2個(gè) 3.電機(jī)固定件2個(gè) 4.萬(wàn)向輪1個(gè) 5.100*150*2.6MM有機(jī)玻璃板 2片 6.L298N電機(jī)驅(qū)動(dòng)板1個(gè) 7.ARDUINO 328給力板 1個(gè) 8.云臺(tái) 1個(gè) 9.舵機(jī) 1個(gè) 10.超聲波模塊1個(gè) 11.迷你面包板1個(gè) 12.6節(jié)5號(hào)電池盒一個(gè) 13.杜邦線 12條 14.1米長(zhǎng)USB線1條 15.銅柱 35MM長(zhǎng) 3個(gè) 12MM 4個(gè) 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 16.3MM螺絲螺母若干 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 第三章 硬件模塊 3.1 各模塊的的基本性能 3.1.1 單片機(jī)模塊 本設(shè)計(jì)采用Atmel Atmega328微處理控制器。其性能為:Digital I/O 數(shù)字輸入/輸出端共 0~13。Analog I/O 模擬輸入/輸出端共 0~5。支持ISP下載功能。輸入電壓:接上電腦USB時(shí)無(wú)須外部供電,外部供電7V~12V 直流電壓輸入。輸出電壓:5V 直流電壓輸出和3.3V 直流電壓輸出。 圖3.1 Arduino單片機(jī)實(shí)物圖 3.1.2 電機(jī)、電機(jī)驅(qū)動(dòng)模塊 本設(shè)計(jì)采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動(dòng)能力。而且L298N有過(guò)電流保護(hù) 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 功能,當(dāng)出現(xiàn)電機(jī)卡死時(shí),可以保護(hù)電路和電機(jī)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。 圖 3.2 L298N引腳圖 圖3.3 L298N電路原理圖 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 圖3.4 L298N實(shí)物圖 3.1.3避障模塊 本設(shè)計(jì)采用HC-SR04超聲波測(cè)距模塊,該原件可提供2CM-400CM的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器,接收器和控制電路。 基本工作原理:(1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào);(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;(3)有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2; 圖3.5避障模塊實(shí)物圖 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 3.1.4電源模塊 本設(shè)計(jì)采用的電源為車(chē)載電源。為保證電源工作可靠,單片機(jī)系統(tǒng)與動(dòng)力伺服系統(tǒng)的電源采用了大功率、大容量的蓄電池;而傳感器的工作電源則采用了小巧輕便的干電池。 圖3.6 電源模塊實(shí)物圖 3.2 小車(chē)的基本搭建 舵機(jī),云臺(tái)和超聲波的連接步驟如下圖: 1.如圖3.7準(zhǔn)備好云臺(tái)舵機(jī)超聲波安裝所需配件。 圖3.7 2.圖3.8取出舵機(jī)配件之一“十字膠體”將十字剪成四邊對(duì)等的長(zhǎng)度,打磨成寬度一樣。 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 圖3.8 3.將2*8mm的和1.2*5mm的螺絲安裝到十字的第二個(gè)孔,裝到云臺(tái)底座上。在云臺(tái)底部的螺絲位套上螺母,并用熱熔膠固定如圖3.9。 圖3.9 4.將舵機(jī)裝上云臺(tái)的兩個(gè)邊翼,并用螺絲緊固如圖3.10。 圖3.10 5.將裝好的舵機(jī)放進(jìn)固定好的十字膠體調(diào)整好方向后,從舵機(jī)組件包里取出2*6mm的螺絲安裝到舵機(jī)固定孔中。完成云臺(tái)安裝后用扎帶將超聲波模塊固定在云臺(tái)前端如圖3.11。 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 圖3.11 6.將6mm銅柱裝在云臺(tái)底座安裝孔并將裝好的云臺(tái)組件直接安裝到小車(chē)底盤(pán)上,小車(chē)搭建成品如圖3.12。 圖3.12 小車(chē)搭建成品 3.3連線 3.3.1電機(jī)的連線 L298N的供電處理: 用6節(jié)5號(hào)電池盒取一路電源給L298N電機(jī)驅(qū)動(dòng)模塊供電,另一路給ARDUINO主板供電給L298N電機(jī)驅(qū)動(dòng)模塊供電的電源+極接L298N的VMS接口,電源的-接L298N的GND接口,L298N板上的+5V接口放空不接。電機(jī)一接L298N的MOTOA,電機(jī)二接L298N的MOTOB。 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 圖3.13 電機(jī)的連線 3.3.2舵機(jī)的連線 首先設(shè)置函數(shù):myservo.attach(5);// 定義伺服馬達(dá)輸出第5腳位。 舵機(jī)需要連接的有三條線,分別是+,-,信號(hào)。三條線均直接連接到Arduino板上。 接線方法:將+5V接到J5位,-位接到J6位,信號(hào)位接到J4位PWM口的第五腳。 連線方式如圖3.14所示: 圖3.14舵機(jī)的連線 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 3.3.3超聲波的連線 超聲波傳感器有四個(gè)腳,如圖3.15所示: 四個(gè)引腳的功能分別是: 1:VCC 接+5V。2:TRIQ 信號(hào)輸入。3:ECHO信號(hào)輸出。4:GND 接地。 圖3.15超聲波的引腳示意圖 超聲波模塊四個(gè)引腳直接與Arduino單片機(jī)連接,接線方法如圖3.16所示: 圖3.16超聲波與Arduino單片機(jī)接線 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 3.3.4 Arduino超聲波小車(chē)總體連線圖: 電機(jī)A和電機(jī)B將正負(fù)兩端接在L298N電機(jī)驅(qū)動(dòng)板上,若正負(fù)兩級(jí)接反則車(chē)輪反轉(zhuǎn)。電機(jī)驅(qū)動(dòng)板、舵機(jī)、超聲波模塊直接與Arduino核心控制板相連,電源模塊分別給電機(jī)驅(qū)動(dòng)板和Arduino板供電。 圖3.17 Arduino超聲波小車(chē)總體連線圖 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 第四章 軟件模塊 4.1 軟件設(shè)計(jì)思路 在軟件設(shè)計(jì)方面,采用Arduino語(yǔ)言編程,編寫(xiě)程序流程圖4.1 圖4.1 軟件編譯流程圖 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 4.2 電機(jī)前進(jìn)模塊 在定義好各個(gè)引腳之后,進(jìn)入主程序的編寫(xiě)部分。我在程序控制模塊里主要編寫(xiě)的是電機(jī)的控制函數(shù)。本程序中提及的digitalWrite函數(shù)的作用是設(shè)置引腳的輸出的電壓為高電平或低電平。該函數(shù)也是一個(gè)無(wú)返回值的函數(shù),函數(shù)有兩個(gè)參數(shù)pin和value,pin參數(shù)表示所要設(shè)置的引腳,value參數(shù)表示輸出的電壓HIGH(高電平)或LOW(低電平)。 首先定義為advance前進(jìn)函數(shù): void advance(int a){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為低電平,即不給電: digitalWrite(pinRB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平: digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為低電平: digitalWrite(pinLB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平: digitalWrite(pinLF,HIGH);定義延時(shí),即將前進(jìn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(a * 100);延時(shí) } 4.2 電機(jī)后退模塊 將函數(shù)定義為back后退函數(shù) void back(int g)//后退 { 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平: digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為低電平: digitalWrite(pinRF,LOW); 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平: digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為低電平: digitalWrite(pinLF,LOW);定義延時(shí),即將電機(jī)的后退動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(g * 100);} 4.3 電機(jī)停止工作模塊 將函數(shù)定義為stopp停止函數(shù) void stopp(int f){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平: digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的停止動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(f * 100);} 4.4 電機(jī)左轉(zhuǎn)模塊 將函數(shù)定義為left左轉(zhuǎn)函數(shù) void left(int c){ 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為高電平 digitalWrite(pinRB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平 digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為低電平 digitalWrite(pinLB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平 digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的左轉(zhuǎn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(c * 100);} 4.5 電機(jī)右轉(zhuǎn)模塊 將函數(shù)定義為right右轉(zhuǎn)函數(shù) void right(int b){ 編寫(xiě)模擬信號(hào),定義馬達(dá)右后動(dòng)作為低電平 digitalWrite(pinRB,LOW);編寫(xiě)模擬信號(hào),定義馬達(dá)右前動(dòng)作為高電平 digitalWrite(pinRF,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左后動(dòng)作為高電平 digitalWrite(pinLB,HIGH);編寫(xiě)模擬信號(hào),定義馬達(dá)左前動(dòng)作為高電平 digitalWrite(pinLF,HIGH);定義延時(shí),即將電機(jī)的右轉(zhuǎn)動(dòng)作保持一段時(shí)間,直到開(kāi)始執(zhí)行下一程序。delay(b * 100);} 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 4.6 防卡死模塊 該模塊為防止避障小車(chē)卡死的編譯,即當(dāng)小車(chē)發(fā)生與障礙物距離過(guò)近的情況而無(wú)法轉(zhuǎn)彎時(shí),該程序會(huì)指引小車(chē)向后倒退,倒退一定距離后左轉(zhuǎn)前進(jìn),若仍有障礙物則繼續(xù)倒退,若無(wú)障礙物則左轉(zhuǎn)后直行。即可防止車(chē)在行進(jìn)途中卡在死巷里。 if(directionn == 2)//假如directionn(方向)= 2(倒車(chē)){ back(8);// 倒退(車(chē))turnL(2);//些微向左方移動(dòng)(防止卡在死巷里)Serial.print(“ Reverse ”);//顯示方向(倒退)} 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 第五章 實(shí)驗(yàn)及結(jié)果分析 5.1預(yù)期目標(biāo) 總體來(lái)說(shuō)本次試驗(yàn)達(dá)到預(yù)期目標(biāo)。 (1)在車(chē)前方?jīng)]有障礙物時(shí),小車(chē)沿直線向前走。 (2)在車(chē)前方有障礙物時(shí),小車(chē)能避開(kāi)障礙物,避障方法如下:超聲波檢測(cè)到障礙物后,先向左邊旋轉(zhuǎn),檢測(cè)。如果旋轉(zhuǎn)后前面沒(méi)有檢測(cè)障礙物,則沿直線向前走;如果旋轉(zhuǎn)后檢測(cè)到前方仍有障礙物,則繼續(xù)旋轉(zhuǎn),如果前面沒(méi)有障礙物,則沿直線向前行走; 但是該超聲波避障小車(chē)還存在著許多的不足,比如說(shuō)只能對(duì)正前方一定角度內(nèi)進(jìn)行探測(cè),使用的是一路超聲波而不是多路超聲波探測(cè),并且為了簡(jiǎn)化,默認(rèn)的只是向同一個(gè)方向轉(zhuǎn)彎等,這些都是有待進(jìn)一步發(fā)展和提高的。 5.2遇到的問(wèn)題和解決方法 在此之前我們并沒(méi)有制作過(guò)任何智能的機(jī)器人。初定避障小車(chē)這個(gè)題目時(shí),最初我們采用樂(lè)高機(jī)器人搭建了一個(gè)循跡避障的機(jī)器人,由于操作較為簡(jiǎn)單,后來(lái)我們決定嘗試采用Arduino芯片,利用超聲波傳感器搭建出一臺(tái)智能的避障小車(chē)。最初我們對(duì)硬件的原理不夠明白,不知道采用哪些原件,課程設(shè)計(jì)指導(dǎo)書(shū)上介紹的也并不詳細(xì),因此我們利用大量時(shí)間去圖書(shū)館查閱了許多資料,對(duì)其電機(jī)驅(qū)動(dòng)、Arduino控制板以及超聲波傳感器的引腳、電路設(shè)計(jì)等各方面都做了近一步的了解之后才開(kāi)始進(jìn)行小車(chē)的搭建。 在選擇硬件設(shè)施上,我們也花了很大功夫。在最初我們?cè)O(shè)計(jì)了兩個(gè)驅(qū)動(dòng)方案的選擇。一個(gè)是采用ULN2003驅(qū)動(dòng),它是由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,一般用于高速大功率驅(qū)動(dòng)電路。另個(gè)一就是采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動(dòng)能力。此驅(qū)動(dòng)板體積小,重量輕,而且它有一個(gè)外加的續(xù)流二極管,可以防止電機(jī)線圈在斷電時(shí)的方向電勢(shì)損壞芯片,同時(shí)也也安裝有散熱 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 片能使芯片溫度降低,盡量防止他自動(dòng)斷電,讓驅(qū)動(dòng)性能更加穩(wěn)定。板子設(shè)有兩個(gè)電流反饋檢測(cè)接口、內(nèi)邏輯取電選擇端、4個(gè)上拉電阻選擇端、2路直流電機(jī)接口、控制電機(jī)方向指向燈等等。這個(gè)板子不僅適用于智能程控小車(chē)、輪式機(jī)器人等,還可以配合各種控制器使用。因此經(jīng)過(guò)一番對(duì)比和考慮,最終我們選擇了L298N電機(jī)驅(qū)動(dòng)板。在超聲波的選擇上我們也出現(xiàn)了分期,本設(shè)計(jì)最終采用的是HC-SR04超聲波測(cè)距模塊。而最初我們選擇的事紅外傳感裝置。之所以最終沒(méi)有選擇紅外線傳感,是因?yàn)榧t外線對(duì)使用環(huán)境有較高的要求,當(dāng)遇上淺色或是深色的家居物品它無(wú)法反射回來(lái),會(huì)造成機(jī)器人無(wú)法正常避障。而這款HC-SR04則采用仿生超聲波技術(shù),類(lèi)似鯨魚(yú),蝙蝠采用聲波來(lái)偵測(cè)判斷障礙物以及及空間方位,該超聲波避障模塊包括超聲波發(fā)射器,接收器和控制電路,靈敏度較高,但技術(shù)成本也較高。 在搭建方面,我們完成程序的編譯通電之后,小車(chē)發(fā)生了原地旋轉(zhuǎn)的現(xiàn)象,經(jīng)過(guò)觀察,我們發(fā)現(xiàn)小車(chē)在感應(yīng)障礙物方面并沒(méi)有問(wèn)題。問(wèn)題出現(xiàn)在左側(cè)輪前轉(zhuǎn),而右側(cè)輪后轉(zhuǎn)。所以我們將控制右側(cè)車(chē)輪的電機(jī)的接線進(jìn)行改接,這個(gè)問(wèn)題便得以解決。 在軟硬件調(diào)試方面,我們也遇到了一些問(wèn)題。首先是避障小車(chē)的旋轉(zhuǎn)角度不夠,也許是因?yàn)榈孛婺Σ亮Φ年P(guān)系,小車(chē)的旋轉(zhuǎn)角度并達(dá)不到我們所設(shè)定的左轉(zhuǎn)九十度。后來(lái)我們又將程序進(jìn)行改進(jìn),設(shè)置的旋轉(zhuǎn)角度比九十度多一些,小車(chē)就可正常避障了。還有一個(gè)問(wèn)題就是小車(chē)在遇到障礙物之后的反應(yīng)速度并不是很快,需要障礙物在前面平行持續(xù)1,2秒才可以做出轉(zhuǎn)向的判斷,這個(gè)延遲反應(yīng)也經(jīng)常造成小車(chē)和障礙物發(fā)生碰撞,這也是我們遇到的最大問(wèn)題,在這個(gè)問(wèn)題上我們做了很多程序上的調(diào)試,但終究達(dá)不到很理想的效果,在后續(xù)的試驗(yàn)中,我們準(zhǔn)備嘗試換一個(gè)感測(cè)避障模塊進(jìn)行嘗試改進(jìn)。 5.3 硬件的調(diào)試與整合 5.3.1調(diào)試思路 本設(shè)計(jì)的智能避障小車(chē),難點(diǎn)重點(diǎn)有兩大模塊。分別是:L298驅(qū)動(dòng)模塊和超聲波測(cè)距模塊。我們?cè)谡{(diào)試的時(shí)候我們把兩大模塊分別調(diào)試,最后再把所有模塊和硬件組合起來(lái)再進(jìn)行最后的整機(jī)調(diào)試這樣一個(gè)調(diào)試的思路。 5.3.2調(diào)試超聲波模塊 超聲波模塊一共有四個(gè)腳,一個(gè)是VCC,一個(gè)是GND,還有兩個(gè)分別是超聲波的發(fā)射和接收引腳。連接電路時(shí)候只需引出四根插線,分別連接到89S52的對(duì)應(yīng)引腳,燒制好 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 測(cè)試程序,測(cè)試結(jié)果圖如5.2.2。本設(shè)計(jì)四根插線分別連接到VCC,GND,還有發(fā)射和接收引腳分別為:P3.0和P3.2。 5.3.3電機(jī)調(diào)試 在電機(jī)驅(qū)動(dòng)板上。有EA,I1,I2,EB,I3,I4六個(gè)端子用于控制電機(jī)。EA,EB為兩路電機(jī)的控制使能,通過(guò)PWM可以控制電機(jī)轉(zhuǎn)速,高電平有效。我們完成程序的編譯通電之后,小車(chē)發(fā)生了不停地旋轉(zhuǎn)的現(xiàn)象,我們觀察到小車(chē)在感應(yīng)障礙物方面并沒(méi)有問(wèn)題。問(wèn)題出現(xiàn)在左側(cè)輪前轉(zhuǎn),而右側(cè)輪后轉(zhuǎn)。所以我們將控制右側(cè)車(chē)輪的電機(jī)的接線進(jìn)行修改,這個(gè)問(wèn)題便得以解決。 圖5.1電機(jī)驅(qū)動(dòng)板的引腳及其功能 5.4 心得體會(huì) 通過(guò)這次的項(xiàng)目實(shí)訓(xùn),我學(xué)習(xí)到了很多的電子知識(shí),提高了我對(duì)于陌生硬件的學(xué)習(xí)能力。超聲波傳感器在此之前我沒(méi)有接觸過(guò),對(duì)我來(lái)說(shuō)非常的陌生,從一無(wú)所知慢慢查資料到能夠熟練應(yīng)用,讓我知道了面對(duì)新的硬件應(yīng)該怎么學(xué)習(xí),在以后的工作學(xué)習(xí)中,我一定會(huì)遇到非常多的不熟悉的硬件,我相信,通過(guò)不斷地鍛煉積累,學(xué)習(xí)能力會(huì)進(jìn)一步提高。這次實(shí)訓(xùn)同時(shí)還加強(qiáng)了我實(shí)踐動(dòng)手能力,特別培養(yǎng)了出現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的能力,我相信這些能力的提高對(duì)我以后在從事任何工作都將會(huì)有極大的幫助。 這次的項(xiàng)目實(shí)訓(xùn)讓我感觸最深的是:作為電子愛(ài)好者,電子制作中不管遇到什么問(wèn)題和困境都要有一顆平靜的心和堅(jiān)持不懈的精神,一顆浮躁的心是不會(huì)到達(dá)成功的彼岸。這次課程設(shè)計(jì),給我更多的是一種模塊化的思想,將系統(tǒng)按我們所需的功能和系統(tǒng)所能提供的功能進(jìn)行模塊化的分類(lèi),將會(huì)使我們的工作變得一目了然,非常清晰。比如說(shuō)這次我選的避障小車(chē),可以分成超聲波測(cè)速模塊,電機(jī)驅(qū)動(dòng)模塊,單片機(jī)核心模塊三個(gè),首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 三個(gè)部分各司其職,無(wú)論從硬件上還是軟件上,都能夠比較清晰地將他們的功能區(qū)分開(kāi),從而有利于硬件的連接和程序的編寫(xiě)。 從以后工作來(lái)看,這種模塊化處理問(wèn)題的方式將會(huì)更加的有用,在公司和以后得科研項(xiàng)目中,系統(tǒng)一定是越來(lái)越復(fù)雜,不可能一個(gè)人完成所有的任務(wù),一定是一個(gè)團(tuán)隊(duì)來(lái)做這些系統(tǒng)的設(shè)計(jì),所以模塊化之后,能夠?qū)⑷蝿?wù)分配給每個(gè)人,最后大家還能夠很好的綜合到一起,大大的縮短了開(kāi)發(fā)周期。這次的畢設(shè)實(shí)踐學(xué)習(xí)讓我受益匪淺。 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 第六章 設(shè)想與展望 隨著科技的迅猛發(fā)展,智能已經(jīng)成為了現(xiàn)在的高科技的熱詞,智能機(jī)器人可以解決無(wú)數(shù)人類(lèi)無(wú)法或者是很難解決的難題。本智能小車(chē)系統(tǒng)最誘人的前景就是可用于未來(lái)的智能汽車(chē)上了,當(dāng)駕駛員因疏忽或打瞌睡時(shí)這樣的智能汽車(chē)的設(shè)計(jì)就能體現(xiàn)出它的作用。如果汽車(chē)偏離車(chē)道或距障礙物小于安全距離時(shí),汽車(chē)就會(huì)發(fā)出警報(bào),提醒駕駛員注意,如果駕駛員沒(méi)有及時(shí)作出反應(yīng),汽車(chē)就會(huì)自動(dòng)減速或??坑诼愤叄@樣就大大增大了駕車(chē)的安全系數(shù),想的再長(zhǎng)遠(yuǎn)一點(diǎn),這個(gè)避障功能可以作為無(wú)人駕駛機(jī)動(dòng)的一個(gè)基本功能。無(wú)人駕駛的機(jī)動(dòng)車(chē)行駛在路上,擁有定位和導(dǎo)航的功能后就可以將人或物品送到我們所需要送到的位置。這樣智能機(jī)器人的應(yīng)用,就大大的減少了人力和物力,并且方便了更多不會(huì)駕駛機(jī)動(dòng)車(chē)的市民。 這樣的避障小車(chē)還可以用于月球探測(cè)等的無(wú)人探月車(chē),幫助我們傳達(dá)月球上更多的信息,讓我們更加的了解月球,為將來(lái)登月做好充分準(zhǔn)備。這樣的小車(chē)在科學(xué)考察探測(cè)車(chē)上也有廣闊的應(yīng)用前景,在科學(xué)考察中,有很多危險(xiǎn)且人們無(wú)法涉足的地方,這時(shí),智能科學(xué)考察車(chē)就能夠派上用場(chǎng),在它上面裝上攝像機(jī),代替人們進(jìn)行許多無(wú)法進(jìn)行的工作。智能車(chē)的應(yīng)用減少了人們的工作危險(xiǎn)系數(shù),解決了惡劣環(huán)境下勘探的需求,實(shí)現(xiàn)了即是沒(méi)有人操作應(yīng)用機(jī)器也能很好的完成工作,這項(xiàng)研發(fā)可謂是一舉多得。 在未來(lái)的社會(huì)中智能也是大勢(shì)所趨,而智能車(chē)作為智能機(jī)器人中一類(lèi)必不可少的組成部分。最近幾年發(fā)展更是迅速,各個(gè)國(guó)家更是投入大量資金。它廣泛涉及人工智能、計(jì)算機(jī)視覺(jué)、自動(dòng)控制、精密儀器、傳感和信息等一系列學(xué)科的創(chuàng)新研究,其研究成果可廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)藥、軍事、航空、信息技術(shù)等實(shí)際領(lǐng)域,智能機(jī)器人的發(fā)展水平可反映出一個(gè)國(guó)家的高科技水平和綜合國(guó)力,是國(guó)家綜合國(guó)力強(qiáng)大的標(biāo)志,也是人類(lèi)文明進(jìn)步的標(biāo)志。在我們未來(lái)的工作與生活中,會(huì)越來(lái)越多的需要機(jī)器人代替人力來(lái)工作和完成一些難度較大或較為費(fèi)力的任務(wù),對(duì)這些實(shí)用的機(jī)器人的需求也會(huì)越來(lái)越大。因此,機(jī)器人研發(fā)的前景是不可估量的。 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 參考文獻(xiàn) [1] 袁新娜,與紅英編著.超聲波傳感器在智能小車(chē)避障系統(tǒng)中的應(yīng)用.[A]中北大學(xué)(2009)08-0085-04 [2] 邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M].北京.清華大學(xué)出社.2004 [3] 王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京.北京航空航天大學(xué)出版社.2002 [4] 臧杰,閻巖.汽車(chē)構(gòu)造[M].北京.機(jī)械工業(yè)出版社.2005 哈爾濱工業(yè)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū) [5] 安鵬,馬偉.S12單片機(jī)模塊應(yīng)用及程序調(diào)試[J].電子產(chǎn)品世界.2006.第211期. 162-163 [6] 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京.高等教育出版社.2000 [7] 沈長(zhǎng)生.常用電子元器件使用一讀通[M].北京.人民郵電出版社.2004 [8] 宗光華.機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐[M].北京.北京航空航天大學(xué)出社.2004 [9] 張偉等.Protel DXP高級(jí)應(yīng)用[M].北京.人民郵電出版社.2002 [10] 張文春.汽車(chē)?yán)碚揫M].北京.機(jī)械工業(yè)出版社.2005 [11] 江海波,王卓然,耿德根編著.深入淺出AVR單片機(jī).中國(guó)電力出版社,2008.31 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) 致謝 歷時(shí)三個(gè)月的畢業(yè)設(shè)計(jì)已經(jīng)告一段落。在我和我組成員張碩的共同努力下,本避障小車(chē)的任務(wù)已經(jīng)基本完成。在這段時(shí)間里,非常感謝在遇到困難時(shí)我的同學(xué)們所給予的支持和鼓勵(lì),給我提供專(zhuān)業(yè)的意見(jiàn)和建議。還有和我同組的同學(xué)張碩,我們共同查閱資料,克服許多在選擇小車(chē)部件、小車(chē)搭建和編程上的種種困難。也正是這次畢業(yè)設(shè)計(jì)使我深刻地認(rèn)識(shí)到學(xué)好專(zhuān)業(yè)知識(shí)的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)四年的學(xué)習(xí)成果。我更明白了團(tuán)隊(duì)合作的重要性。兩個(gè)人不僅有兩個(gè)大腦和更多的主意和知識(shí),最重要的事能夠在遇到困難時(shí)可以相互鼓勵(lì)學(xué)習(xí),互相分擔(dān)。也正是這種團(tuán)結(jié)合作的精神促使了我們這次畢設(shè)任務(wù)的圓滿成功。 這三個(gè)月的設(shè)計(jì)是對(duì)過(guò)去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過(guò)程,為今后的發(fā)展打下了良好的基礎(chǔ)。也非常感謝指導(dǎo)老師徐老師的支持和指導(dǎo),每次我給徐老師發(fā)郵件她都會(huì)認(rèn)真的給我批改,指出我的不足。也正是因?yàn)樵诶蠋煹闹笇?dǎo)下我的論文進(jìn)行不斷的改正,才有機(jī)會(huì)變得越來(lái)越好。 由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處。雖然這次的畢業(yè)設(shè)計(jì)對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練,但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。敬請(qǐng)各位老師批評(píng)指正。 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 附錄 超聲波智能避障車(chē)程序(ARDUINO) L = 左 R = 右 F = 前 B = 后 */ #include int pinRB=10;// 定義10腳位右后 int pinRF=11;// 定義11腳位右前 int inputPin = A0;// 定義超音波信號(hào)接收腳位 int outputPin =A1;// 定義超音波信號(hào)發(fā)射腳位 int Fspeedd = 0;// 前速 int Rspeedd = 0;// 右速 int Lspeedd = 0;// 左速 int directionn = 0;// 前=8 后=2 左=4 右=6 Servo myservo;// 設(shè) myservo int delay_time = 250;// 伺服馬達(dá)轉(zhuǎn)向后的穩(wěn)定時(shí)間 int Fgo = 8;// 前進(jìn) int Rgo = 6;// 右轉(zhuǎn) int Lgo = 4;// 左轉(zhuǎn) int Bgo = 2;// 倒車(chē) 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) void setup(){ Serial.begin(9600);// 定義馬達(dá)輸出腳位 pinMode(pinLB,OUTPUT);// 腳位 8(PWM)pinMode(pinLF,OUTPUT);// 腳位 9(PWM)pinMode(pinRB,OUTPUT);// 腳位 10(PWM)pinMode(pinRF,OUTPUT);// 腳位 11(PWM) pinMode(inputPin, INPUT);// 定義超音波輸入腳位 pinMode(outputPin, OUTPUT);// 定義超音波輸出腳位 myservo.attach(5);// 定義伺服馬達(dá)輸出第5腳位(PWM)} void advance(int a)// 前進(jìn) { digitalWrite(pinRB,LOW);// 使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);// 使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(a * 100);}(電機(jī)前進(jìn)函數(shù)) void right(int b)//右轉(zhuǎn)(單輪){ digitalWrite(pinRB,LOW);//使馬達(dá)(右后)動(dòng)作右后方的引腳的低電頻 digitalWrite(pinRF,HIGH);右前引腳高電頻 digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH);delay(b * 100);} 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 void left(int c)//左轉(zhuǎn)(單輪){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(c * 100);}(high高頻是向前 low低頻向后)void turnR(int d)//右轉(zhuǎn)(雙輪){ digitalWrite(pinRB,LOW);//使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,LOW);//使馬達(dá)(左前)動(dòng)作 delay(d * 100);} void turnL(int e)//左轉(zhuǎn)(雙輪){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,LOW);//使馬達(dá)(右前)動(dòng)作 digitalWrite(pinLB,LOW);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,HIGH);delay(e * 100);} void stopp(int f)//停止 { digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH); 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) delay(f * 100);} void back(int g)//后退 { digitalWrite(pinRB,HIGH);//使馬達(dá)(右后)動(dòng)作 digitalWrite(pinRF,LOW);digitalWrite(pinLB,HIGH);//使馬達(dá)(左后)動(dòng)作 digitalWrite(pinLF,LOW);delay(g * 100);} void detection()//測(cè)量3個(gè)角度(0.90.179){ intdelay_time = 250;// 伺服馬達(dá)轉(zhuǎn)向后的穩(wěn)定時(shí)間 ask_pin_F();// 讀取前方距離 if(Fspeedd< 10)// 假如前方距離小于10公分 { stopp(1);// 清除輸出資料 back(2);// 后退 0.2秒 } if(Fspeedd< 25)// 假如前方距離小于25公分 { stopp(1);// 清除輸出資料 ask_pin_L();// 讀取左方距離 delay(delay_time);// 等待伺服馬達(dá)穩(wěn)定 ask_pin_R();// 讀取右方距離 delay(delay_time);// 等待伺服馬達(dá)穩(wěn)定 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 if(Lspeedd>Rspeedd)//假如左邊距離大于右邊距離 { directionn = Rgo;//向右走 } if(Lspeedd<= Rspeedd)//假如左邊距離小于或等于右邊距離 { directionn = Lgo;//向左走 } if(Lspeedd< 10 &&Rspeedd< 10)//假如左邊距離和右邊距離皆小于10公分 { directionn = Bgo;//向后走 } } else //加如前方不小于(大于)25公分 { directionn = Fgo;//向前走 } } void ask_pin_F()// 量出前方距離 { myservo.write(90);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) float Fdistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間 Fdistance= Fdistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“F distance:”);//輸出距離(單位:公分)Serial.println(Fdistance);//顯示距離 Fspeedd = Fdistance;// 將距離讀入Fspeedd(前速)} void ask_pin_L()// 量出左邊距離 { myservo.write(5);delay(delay_time);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓 float Ldistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間 Ldistance= Ldistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“L distance:”);//輸出距離(單位:公分)Serial.println(Ldistance);//顯示距離 Lspeedd = Ldistance;// 將距離讀入Lspeedd(左速)} void ask_pin_R()// 量出右邊距離 { myservo.write(177);delay(delay_time);digitalWrite(outputPin, LOW);// 讓超聲波發(fā)射低電壓2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 讓超聲波發(fā)射高電壓10μs,這里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 維持超聲波發(fā)射低電壓 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 float Rdistance = pulseIn(inputPin, HIGH);// 讀差相差時(shí)間 Rdistance= Rdistance/5.8/10;// 將時(shí)間轉(zhuǎn)為距離距離(單位:公分)Serial.print(“R distance:”);//輸出距離(單位:公分)Serial.println(Rdistance);//顯示距離 Rspeedd = Rdistance;// 將距離讀入Rspeedd(右速)} void loop(){ myservo.write(90);//讓伺服馬達(dá)回歸預(yù)備位置準(zhǔn)備下一次的測(cè)量 detection();//測(cè)量角度并且判斷要往哪一方向移動(dòng) if(、n == 2)//假如directionn(方向)= 2(倒車(chē)){ back(8);// 倒退(車(chē))turnL(2);//些微向左方移動(dòng)(防止卡在死巷里)Serial.print(“ Reverse ”);//顯示方向(倒退)} if(directionn == 6)//假如directionn(方向)= 6(右轉(zhuǎn)){ back(1);turnR(6);// 右轉(zhuǎn) Serial.print(“ Right ”);//顯示方向(左轉(zhuǎn))} if(directionn == 4)//假如directionn(方向)= 4(左轉(zhuǎn)){ back(1);turnL(6);// 左轉(zhuǎn) Serial.print(“ Left ”);//顯示方向(右轉(zhuǎn))} 基于行為設(shè)計(jì)的移動(dòng)機(jī)器人設(shè)計(jì)與實(shí)現(xiàn) if(directionn == 8)//假如directionn(方向)= 8(前進(jìn)){ advance(1);// 正常前進(jìn) Serial.print(“ Advance ”);//顯示方向(前進(jìn))Serial.print(“ ”);} 首都師范大學(xué)本科畢業(yè)設(shè)計(jì)論文 外文翻譯 INTELLIGENT VEHICLE Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines.One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death.If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020.In fact, the U.S.Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion.When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic.Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management.Thus was born the intelligent transportation system(ITS).Starting in the late 1990s, ITS systems were developed and deployed.In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems.As the world energy crisis, and the war and the energy consumption of oil--and are full of energy, in one day, someday it will disappear without a trace.Oil is not in resources.So in oil consumption must be clean before finding a replacement.With the development of science and technology the progress of the society, people invented the electric car.Electric cars will become the most ideal of transportation.In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age.The electronic control technology in the car on a wide range of 1 外文翻譯 applications, the application of the electronic device, cars, and electronic technology not only to improve and enhance the quality and the traditional automobile electrical performance, but also improve the automobile fuel economy, performance, reliability and emissions purification.Widely used in automobile electronic products not only reduces the cost and reduce the complexity of the maintenance.From the fuel injection engine ignition devices, air control and emission control and fault diagnosis to the body auxiliary devices are generally used in electronic control technology, auto development mainly electromechanical integration.Widely used in automotive electronic control ignition system mainly electronic control fuel injection system, electronic control ignition system, electronic control automatic transmission, electronic control(ABS/ASR)control system, electronic control suspension system, electronic control power steering system, vehicle dynamic control system, the airbag systems, active belt system, electronic control system and the automatic air-conditioning and GPS navigation system etc.With the system response, the use function of quick car, high reliability, guarantees of engine power and reduce fuel consumption and emission regulations meet standards.The car is essential to modern traffic tools.And electric cars bring us infinite joy will give us the physical and mental relaxation.Take for example, automatic transmission in road, can not on the clutch, can achieve automatic shift and engine flameout, not so effective improve the driving convenience lighten the fatigue strength.Automatic transmission consists mainly of hydraulic torque converter, gear transmission, pump, hydraulic control system, electronic control system and oil cooling system, etc.The electronic control of suspension is mainly used to cushion the impact of the body and the road to reduce vibration that car getting smooth-going and stability.When the vehicle in the car when the road uneven road can according to automatically adjust the height.When the car ratio of height, low set to gas or oil cylinder filling or oil.If is opposite, gas or diarrhea.To ensure and improve the level of driving cars driving stability.Variable force power steering system can significantly change the driver for the work efficiency and the state, so widely used 外文翻譯 in electric cars.VDC to vehicle performance has important function it can according to the need of active braking to change the wheels of the car, car motions of state and optimum control performance, and increased automobile adhesion, controlling and stability.Besides these, appear beyond 4WS 4WD electric cars can greatly improve the performance of the value and ascending simultaneously.ABS braking distance is reduced and can keep turning skills effectively improve the stability of the directions simultaneously reduce tyre wear.The airbag appear in large programs protected the driver and passenger's safety, and greatly reduce automobile in collision of drivers and passengers in the buffer, to protect the safety of life.Intelligent electronic technology in the bus to promote safe driving and that the other functions.The realization of automatic driving through various sensors.Except some smart cars equipped with multiple outside sensors can fully perception of information and traffic facilities and to judge whether the vehicles and drivers in danger, has the independent pathfinding, navigation, avoid bump, no parking fees etc.Function.Effectively improve the safe transport of manipulation, reduce the pilot fatigue, improve passenger comfort.Of course battery electric vehicle is the key, the electric car battery mainly has: the use of lead-acid batteries, nickel cadmium battery, the battery, sodium sulfide sodium sulfide lithium battery, the battery, the battery, the flywheel zinc-air fuel cell and solar battery, the battery.In many kind of cells, the fuel cell is by far the most want to solve the problem of energy shortage car.Fuel cells have high pollution characteristics, different from other battery, the battery, need not only external constantly supply of fuel and electricity can continuously steadily.Fuel cell vehicles(FCEV)can be matched with the car engine performance and fuel economy and emission in the aspects of superior internal-combustion vehicles.Along with the computer and electronic product constantly upgrading electric car, open class in mature technology and perfected, that drive more safe, convenient and flexible, comfortable.Electric cars with traditional to compete in the market, the car will was electric cars and intelligent car replaced.This is the question that day 外文翻譯 after timing will come.ABS, GPS, and various new 4WD 4WS, electronic products and the modern era, excellent performance auto tacit understanding is tie-in, bring us unparalleled precision driving comfort and safety of driving.The hardware and software of the intelligent vehicle are designed based on AVR.This system could set the route in advance.The vehicle could communicate with the PC vianRF401 and could run safely with the help of ultra sound detection and infrared measuring circuit.Neural network self-study is used to improve the intelligence of the vehicle.The performance of servo systems will determine the property of the robot.Based on AVRseries MCU,the velocity servo system for driving motor is created in this paper,including a discrete PIregulator which will work out a PWM control signal with applying the skill of integral separation.The velocities of motors will be controlled real-time with the speed sampling frequency set for 2KHz by using the AVR-GCC compiler software development.Compared to the servo system development based on the 51 Series MCU,the system here has these advantages of simpler peripheral circuit and faster data processing.The experiments demonstrate that,the mobile robot runs stably and smoothly by the control of AVR units,and that the design proposal especially benefits the development of intelligent mobile robots,also can be widely used in the development of other smart devices and product lines.A new design of contest robot control system based on AVR Atmega8 was put forward.According to the character of contest robot , the main control unit , motor drive unit , sense detection unit and LCD display unit were introduced.Furthermore the servo driver system based on MCBL3006S , the line t racker sensor system and the obstacle avoidance sensor system were presented in detail.Finally the performance shows that the control system is open,simple,easy programming,intelligent and efficiency.Avoidance rules of intelligent vehicle obstacle are intro ducted.Through the collection of infrared sensor formation,the rules use diode D1 to launch and diode D2 to receive infrared signals.Infrared transmitter signal without a dedicated circuit 外文翻譯 comes directly from the MCU clock frequency, which not only simplifier the circuit and debugging, but also make the circuit stability and anti-jamming capability greatly enhanced.After the experimental verification,the system runs reliably meet the design requirements.A smart car control system of the path information identified based on CCD camera was introduced.The hardware structure and scheme were designed.The control strategy of s teering mechanism was presented.The smart car not only can identify the road precisely, but also have ant-interference performance, and small steady state error.This article designed smart car system,includes the aspects of the sensor information acquisition and processing, motor drive, control algorithm and control strategy etc.Using laser sensor to collect the road information which can feedback to the micro-controller control system,then making analytical processing combined with the software.With velocity feedback and PID control algorithms to control steering engine and the speed of smart car.Verified by actual operation, this method makes smart car travel stably and reliably,and its average speed to reach 2.6m /s, and get a satisfied results.By the aid of the professional know ledge of control, patter n recognition, sensor technology, aut omotive electronics, electricity, computer, machinery and so on, an intelligent vehicle system is designed with PID control algorithm,CCD detection system and HC9SDG128 MCU.Code Warrior IDE integrated development programming environment is taken as a basic softy are platform that can automatically deal with the traffic and image pro cessing, and then adjust the moving direction along the scheduled or bit by t he aid of a CCD camera.The system has many advantages, such as high reliability , high stability, good speed ability and scalability.Based on the research background of the Free-Scale smart car competition,a smart track following car is designed.In the car, the photo electricity sensor is used to check the path and obtain the information of racing road, and calculate the error 外文翻譯 between the car and the black line.The fuzzy control is used to control the velocity of the car.The experiments show that the smart car based on the fuzzy control has high accuracy on the judgment of the path, stability and velocity control.外文翻譯 智能車(chē) 我們的社會(huì)充斥著各種各樣的“機(jī)器智能“。在過(guò)去的世紀(jì),我們目睹越來(lái)越多日常生活中的“苦差事“被機(jī)器設(shè)備解決,如洗衣機(jī)。 然而,一個(gè)既枯燥又危險(xiǎn)的保留區(qū)域就是日常駕駛汽車(chē)。2002年,120萬(wàn)人死于交通事故,這是所有全球2.1%死亡,死因排名第11。如果這種趨勢(shì)繼續(xù)下去,估計(jì)從2020年起每一年死于道路交通統(tǒng)(ITS)。20世紀(jì)90年代中后期開(kāi)始,它的系統(tǒng)進(jìn)行了開(kāi)發(fā)和部署。在發(fā)達(dá)國(guó)事故的人將達(dá)到850萬(wàn)人。事實(shí)上,美國(guó)交通部估計(jì)交通事故的整體社會(huì)成本每年超過(guò)2300億美元。 數(shù)百或數(shù)千輛車(chē)共享相同的道路時(shí),就導(dǎo)致了大家都熟悉的交通擠塞。交通擠塞破壞了我們的生活質(zhì)量就像空氣污染損害公眾健康。1990年左右,公路運(yùn)輸?shù)膶?zhuān)業(yè)人士開(kāi)始申請(qǐng)讓他們?cè)诮煌ê偷缆饭芾?。于是誕生了智能交通系家,旅客今天能夠獲得旅行條件的信息,無(wú)論是駕駛自己的車(chē)或乘坐公共交通系統(tǒng)。 隨著世界能源危機(jī)的持續(xù),以及戰(zhàn)爭(zhēng)和能源-----石油的消耗及汽車(chē)飽有量的增加,能源在一天一天下降,終有一天它會(huì)消失的無(wú)影無(wú)蹤。石油不是在生資源。所以必須在石油耗凈之前找到一種代替品。隨著科技的發(fā)展社會(huì)的進(jìn)步,有人發(fā)明了電動(dòng)汽車(chē)。電動(dòng)汽車(chē)將成為人們最為理想的交通工具。 世界在各各方面的發(fā)展都取得豐碩成果,尤其是隨著汽車(chē)電子技術(shù)和計(jì)算機(jī)以及發(fā)展迅速的信息時(shí)代。電子控制技術(shù)在汽車(chē)上得到了廣泛應(yīng)用,汽車(chē)上應(yīng)用的電子裝置越來(lái)越豐富,電子技術(shù)不僅用來(lái)改善和提高傳統(tǒng)汽車(chē)電器的質(zhì)量和性能,而且還提高了汽車(chē)的動(dòng)力性、燃油經(jīng)濟(jì)性、可靠性以及廢氣排放的凈化性。汽車(chē)上廣泛使用電子產(chǎn)品不僅降低了成本,并且減少維護(hù)的復(fù)雜性。從發(fā)動(dòng)機(jī)的燃油噴射點(diǎn)火裝置、進(jìn)氣控制、廢氣排放控制、故障自診斷到車(chē)身輔助裝置都普遍采用了電子控制技術(shù),可以說(shuō)今后汽車(chē)發(fā)展主要以機(jī)電一體化。汽車(chē)上廣泛采用的電子控制點(diǎn)火系統(tǒng)主要有電子控制燃油噴射系統(tǒng)、電子控制點(diǎn)火系統(tǒng)、電子控制自動(dòng)變速器、電子控制防滑(ABS/ASR)控制系統(tǒng)、電子控制懸架系統(tǒng)、電子控制動(dòng)力轉(zhuǎn)向系統(tǒng)、車(chē)輛動(dòng)力學(xué)控制系統(tǒng)、安全氣囊系統(tǒng)、主動(dòng)安全帶系統(tǒng)、電子控制自動(dòng)空調(diào)系統(tǒng)、導(dǎo)航系統(tǒng)還有GPS等。有了這些系 外文翻譯 統(tǒng)汽車(chē)響應(yīng)敏捷,使用功能強(qiáng),可靠性高,既保證發(fā)動(dòng)機(jī)動(dòng)力又降低燃油的消耗,而且又滿足排放法規(guī)的標(biāo)準(zhǔn)。 汽車(chē)是現(xiàn)代人必不可少的交通工具。而電動(dòng)汽車(chē)給我們帶來(lái)無(wú)限樂(lè)趣外還能給我們勞累一天的身心得以放松。就拿自動(dòng)變速器來(lái)說(shuō)吧,汽車(chē)在行駛時(shí),可以不踩離合器踏板,就可以實(shí)現(xiàn)自動(dòng)換檔而發(fā)動(dòng)機(jī)不會(huì)熄火,這樣有效的提高駕駛方便性減輕駕駛員的疲勞強(qiáng)度。自動(dòng)變速器主要由液力變矩器、齒輪變速器、油泵、液壓控制系統(tǒng)、電子控制系統(tǒng)、油冷卻系統(tǒng)等組成。電子控制的懸架主要是用來(lái)緩沖路面對(duì)車(chē)身的沖擊力以及減少振動(dòng)保證汽車(chē)平順性和操縱穩(wěn)定性。當(dāng)汽車(chē)行駛在不平坦的道路時(shí)汽車(chē)能能根據(jù)底盤(pán)和路面高度自動(dòng)調(diào)整。當(dāng)車(chē)高比設(shè)置的高度低時(shí),就向氣室或油缸充氣或充油。如果是相反,就放氣或?yàn)a油。從而保證汽車(chē)的水平行駛,提高行駛穩(wěn)定性??勺兞?dòng)力轉(zhuǎn)向系統(tǒng)因能顯著改變駕駛員的工作效率和狀態(tài),所以在電動(dòng)汽車(chē)上廣泛使用。VDC對(duì)汽車(chē)性能有著至關(guān)重要的作用它能根據(jù)需要主動(dòng)對(duì)車(chē)輪進(jìn)行制動(dòng)來(lái)改變汽車(chē)的運(yùn)動(dòng)狀態(tài),使汽車(chē)達(dá)到最佳的行駛狀態(tài)和操縱性能,并增加了汽車(chē)的附著性,控制性和穩(wěn)定性。除了這些之外4WS、4WD的出現(xiàn)大大提高了電動(dòng)汽車(chē)的價(jià)值與性能同步提升。ABS具有減少制動(dòng)距離并能保持轉(zhuǎn)向操作能力有效提高行駛方向的穩(wěn)定性同時(shí)減少輪胎的磨損。安全氣囊的出現(xiàn)在很大程序上保護(hù)了駕駛員和乘客的安全,大大降低汽車(chē)在碰撞時(shí)對(duì)駕駛員和乘客的緩沖,以過(guò)到保護(hù)生命安全的目的。 智能電子技術(shù)在汽車(chē)上得以推廣使得汽車(chē)在安全行駛和其它功能更上一層樓。通過(guò)各種傳感器實(shí)現(xiàn)自動(dòng)駕駛。除些之外智能汽車(chē)裝備有多種傳感器能充分感知交通設(shè)施及環(huán)境的信息并能隨時(shí)判斷車(chē)輛及駕駛員是否處于危險(xiǎn)之中,具備自主尋路、導(dǎo)航、避撞、不停車(chē)收費(fèi)等功能。有效提高運(yùn)輸過(guò)程中的安全,減少駕駛員的操縱疲勞度,提高乘客的舒適度。當(dāng)然蓄電池是電動(dòng)汽車(chē)的關(guān)鍵,電動(dòng)汽車(chē)用的蓄電池主要有:鉛酸蓄電池、鎳鎘蓄電池、鈉硫蓄電池、鈉硫蓄電池、鋰電池、鋅―空氣電池、飛輪電池、燃料電池和太陽(yáng)能電池等。在諸多種電池中,燃料電池是迄今為止最有希望解決汽車(chē)能源短缺問(wèn)題的動(dòng)力源。燃料電池具有高效無(wú)污染的特性,不同于其他蓄電池,其不需要充電,只要外部不斷地供給燃料,就能連續(xù)穩(wěn)定地發(fā)電。燃料電池汽車(chē)(FCEV)具有可與內(nèi)燃機(jī)汽車(chē)媲美的動(dòng)力性能,在排放、燃油經(jīng)濟(jì)性方面明顯優(yōu)于內(nèi)燃機(jī)車(chē)輛。 外文翻譯 隨著計(jì)算機(jī)和電子產(chǎn)品不斷開(kāi)級(jí)換代,電動(dòng)汽車(chē)技術(shù)也在日趨成熟與完善,使得駕駛更安全、方便、靈活、舒適。電動(dòng)汽車(chē)真正能夠與傳統(tǒng)的燃油汽車(chē)相競(jìng)爭(zhēng),今后汽車(chē)市場(chǎng)終會(huì)被電動(dòng)汽車(chē)和智能汽車(chē)所取代。這只是時(shí)間性的問(wèn)題這一天終究會(huì)來(lái)到的。ABS、GPS、4WS、4WD以及各種新時(shí)代的電子產(chǎn)品與現(xiàn)代高性能汽車(chē)默契組合、絕妙搭配,帶給我們無(wú)與倫比的精準(zhǔn)駕駛舒適性和行駛安全性。 以AVR 單片機(jī)為核心, 提出了一種智能探測(cè)小車(chē)的軟硬件設(shè)計(jì)方案。系統(tǒng)可以預(yù)先設(shè)定小車(chē)的行走路線, 能夠?qū)崿F(xiàn)小車(chē)與計(jì)算機(jī)之間的無(wú)線通訊, 通過(guò)超聲測(cè)物和紅外測(cè)障電路使小車(chē)安全行走。另外, 系統(tǒng)通過(guò)JTAG 接口在線調(diào)試程序。軟件設(shè)計(jì)中采用神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí), 大大增強(qiáng)了小車(chē)的智能化.執(zhí)行元件的伺服系統(tǒng)性能將決定機(jī)器人的性能。基于AVR 系列單片機(jī),并應(yīng)用積分分離技術(shù),設(shè)計(jì)離散PI 調(diào)節(jié)器,輸出PWM 控制信號(hào),建立驅(qū)動(dòng)電機(jī)的速度伺服控制系統(tǒng)。使用AVR - GCC 編譯軟件開(kāi)發(fā)伺服系統(tǒng)軟件,設(shè)定速度采樣頻率為2KHz,實(shí)現(xiàn)對(duì)電機(jī)速度的實(shí)時(shí)控制。與基于51 系列單片機(jī)開(kāi)發(fā)的伺服系統(tǒng)相比,本系統(tǒng)所需的外圍電路更簡(jiǎn)單,數(shù)據(jù)處理速度更快。實(shí)現(xiàn)了機(jī)器人響應(yīng)快速,移動(dòng)平穩(wěn)。該伺服系統(tǒng)的開(kāi)發(fā)尤其適用于智能移動(dòng)機(jī)器人,還可以廣泛應(yīng)用于其它智能設(shè)備和生產(chǎn)線。 提出了一種基于AVR 單片機(jī)Atmega8 為核心控制器的比賽機(jī)器人控制系統(tǒng),通過(guò)比賽機(jī)器人的特征分析,闡述了構(gòu)成控制系統(tǒng)所需的主控單元、電機(jī)驅(qū)動(dòng)單元、傳感檢測(cè)單元及LCD 顯示單元,其中詳細(xì)分析了以MCBL3006S 為核心的伺服電機(jī)驅(qū)動(dòng)單元,以及關(guān)系比賽機(jī)器人基本功能實(shí)現(xiàn)的循線傳感系統(tǒng)及避障傳感系統(tǒng),并給出部分程序。最后通過(guò)實(shí)踐表明,該控制系統(tǒng)開(kāi)放性好、結(jié)構(gòu)簡(jiǎn)單、編程容易、智能并高效。 智能車(chē)的避障規(guī)則,通過(guò)對(duì)紅外傳感器的信息進(jìn)行采集,使用二極管D1 發(fā)射紅外線,二極管D2 接收紅外信號(hào)。紅外線發(fā)射部分不設(shè)專(zhuān)門(mén)的信號(hào)發(fā)生電路,直接從單片機(jī)實(shí)現(xiàn)時(shí)鐘頻率,既簡(jiǎn)化了線路和調(diào)試工作,又能使電路的穩(wěn)定性和抗干擾能力大大加強(qiáng)。經(jīng)實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)運(yùn)行可靠,達(dá)到了設(shè)計(jì)要求。 介紹一種基于CCD 攝像頭的路徑識(shí)別的智能車(chē)控制系統(tǒng), 設(shè)計(jì)了硬件結(jié)構(gòu)與方案, 提出了轉(zhuǎn)向機(jī)構(gòu)的控制策略, 該智能車(chē)能準(zhǔn)確實(shí)現(xiàn)自主尋跡, 具備抗干擾性極強(qiáng), 穩(wěn)態(tài)誤差小等特點(diǎn)。 外文翻譯 智能車(chē)系統(tǒng),包括傳感器信息采集與處理、電機(jī)驅(qū)動(dòng)、控制算法及控制策略等方面。采用激光傳感器采集道路信息并反饋給單片機(jī)控制系統(tǒng),通過(guò)軟件進(jìn)行相關(guān)分析處理,通過(guò)速度反饋和PID 算法控制舵機(jī)轉(zhuǎn)向和智能車(chē)速度。通過(guò)實(shí)際運(yùn)行驗(yàn)證,本方法使智能車(chē)運(yùn)行穩(wěn)定、可靠,其平均速度達(dá)到2.6m/s,得到比較理想的效果。 為了綜合利用控制、模式識(shí)別、傳感器技術(shù)、汽車(chē)電子、電氣、計(jì)算機(jī)、機(jī)械等專(zhuān)業(yè)領(lǐng)域知識(shí), 設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于PID 控制算法, CCD 檢測(cè)系統(tǒng), 并采用H C9SDG128 單片機(jī)作為主控芯片的智能車(chē)系統(tǒng)。該系統(tǒng)使用Codewar rio r IDE 集成開(kāi)發(fā)環(huán)境作為程序設(shè)計(jì)的基本軟件平臺(tái), 能利用攝像頭自動(dòng)識(shí)別路況, 進(jìn)行圖像處理, 進(jìn)而調(diào)整方向沿預(yù)定軌道前行, 具有很強(qiáng)的可靠性、穩(wěn)定性、快速性、擴(kuò)展性。 以“飛思卡爾”杯智能車(chē)大賽為研究背景,開(kāi)發(fā)了一種智能循跡小車(chē)。該小車(chē)采用光電傳感器檢測(cè)路徑,獲得賽道信息,求出小車(chē)與黑線間的偏差,采用模糊控制對(duì)小車(chē)的速度進(jìn)行控制,使小車(chē)能夠自動(dòng)跟隨直道和彎道。實(shí)踐表明,采用模糊控制的智能小車(chē)在路徑識(shí)別的精準(zhǔn)度,穩(wěn)定性,及速度控制上具有明顯優(yōu)勢(shì)。 (畢業(yè)論文)智能超聲波避障小車(chē)的設(shè)計(jì)與制作 江陰職業(yè)技術(shù)學(xué)院 項(xiàng)目設(shè)計(jì)報(bào)告 項(xiàng)目超聲波避障小車(chē)的設(shè)計(jì)與制作 專(zhuān) 業(yè) 學(xué)生姓名 班 級(jí) 學(xué) 號(hào) 指導(dǎo)教師 完成日期 摘 要 智能小車(chē)是一種能夠通過(guò)編程手段完成特定任務(wù)的小型化機(jī)器人它具有制作成本低廉電路結(jié)構(gòu)簡(jiǎn)單程序調(diào)試方便等優(yōu)點(diǎn)由于具有很強(qiáng)的趣味性智能小車(chē)深受廣大機(jī)器人愛(ài)好者以及高校學(xué)生的喜愛(ài) 本論文介紹的是具有自動(dòng)避障功能的智能小車(chē)的設(shè)計(jì)與制作以下簡(jiǎn)稱(chēng)智能小車(chē)論文對(duì)智能小車(chē)的方案選擇設(shè)計(jì)思路以及軟硬件的功能和工作原理進(jìn)行了詳細(xì)的分析和論述經(jīng)實(shí)踐驗(yàn)收測(cè)試該智能小車(chē)的電路結(jié)構(gòu)簡(jiǎn)單調(diào)試方便系統(tǒng)反映快速靈活設(shè)計(jì)方案正確可行各項(xiàng)指標(biāo)穩(wěn)定可靠 Abstract Smart cars can be programmed to perform a specific task means the miniaturization of robot it has to make cost is low circuit simple structure convenient program test Because of it has strong interest intelligent robot car favored by the majority of the university students enthusiasts and love This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production hereinafter referred to as the smart car the thesis to the intelligence of the car scheme selection design idea and the implementation of hardware and software function and working principle of a detailed analysis and discusses After practice acceptance test this intelligent car circuit structure is simple convenient debug fast flexible system reflect correct and feasible design scheme each index is steady and reliable 目 錄 摘 要 I Abstract II 目 錄 III 第一章 緒論 1 11項(xiàng)目研究背景及意義 1 12項(xiàng)目主要研究?jī)?nèi)容 1 13設(shè)計(jì)思路 1 14應(yīng)用場(chǎng)合和功能 2 第二章 總體方案 3 21總體方案概述 3 22 總體電路原理圖 3 第三章 各模塊功能介紹 4 31障礙物測(cè)距系統(tǒng) 4 32顯示模塊 5 33驅(qū)動(dòng)模塊 10 34電源模塊 12 第四章 軟件設(shè)計(jì) 13 41 程序設(shè)計(jì)流程圖 13 42 關(guān)鍵程序設(shè)計(jì) 14 第五章 系統(tǒng)調(diào)試 17 51 調(diào)試的思路 17 52 各模塊的調(diào)試 17 53 調(diào)試心得 19 第六章 結(jié)論與展望 61 結(jié)論 20 62 展望 20 致 謝 21 參考資料 22 附錄 23 1元器件清單 23 2樣機(jī)實(shí)物照片 24 3電路原理圖 25 相關(guān)程序 26 第一章 緒論 11項(xiàng)目研究背景及意義 智能作為現(xiàn)代社會(huì)的新產(chǎn)物是以后的發(fā)展方向他可以按照預(yù)先設(shè)定的 模式在一個(gè)特定的環(huán)境里自動(dòng)的運(yùn)作無(wú)需人為管理便可以完成預(yù)期所要達(dá) 到的或是更高的目標(biāo)本設(shè)計(jì)主要體現(xiàn)多功能小車(chē)的智能模式設(shè)計(jì)中的理論 方案分析方法及特色與創(chuàng)新點(diǎn)等可以為自動(dòng)運(yùn)輸機(jī)器人采礦勘探機(jī)器人 家用自動(dòng)清潔機(jī)器人等自動(dòng)半自動(dòng)機(jī)器人的設(shè)計(jì)與普及有一定的參考意義同 時(shí)小車(chē)可以作為玩具的發(fā)展對(duì)象為中國(guó)玩具市場(chǎng)技術(shù)含量的缺乏進(jìn)行一定的 彌補(bǔ)實(shí)現(xiàn)經(jīng)濟(jì)收益形成商業(yè)價(jià)值 超聲波作為智能車(chē)避障的一種重要手段以其避障實(shí)現(xiàn)方便計(jì)算簡(jiǎn)單 易于做到實(shí)時(shí)控制測(cè)量精度也能達(dá)到實(shí)用的要求在未來(lái)汽車(chē)智能化進(jìn)程中 必將得到廣泛應(yīng)用我國(guó)作為一個(gè)世界大國(guó)在高科技領(lǐng)域也必須占據(jù)一席之 地未來(lái)汽車(chē)的智能化是汽車(chē)產(chǎn)業(yè)發(fā)展必然的在這種情況下研究超聲波在智 能車(chē)避障上的應(yīng)用具有深遠(yuǎn)意義這將對(duì)我國(guó)未來(lái)智能汽車(chē)的研究在世界高科 技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用 本智能小車(chē)系統(tǒng)最誘人的前景就是可用于未來(lái)的智能汽車(chē)上了當(dāng)駕駛員 因疏忽或打瞌睡時(shí)這樣的智能汽車(chē)的設(shè)計(jì)就能體現(xiàn)出它的作用如果汽車(chē)偏離 車(chē)道或距障礙物小于安全距離時(shí)汽車(chē)就會(huì)發(fā)出警報(bào)提醒駕駛員注意如果 駕駛員沒(méi)有及時(shí)作出反應(yīng)汽車(chē)就會(huì)自動(dòng)減速或停靠于路邊 這樣的小車(chē)還可以用于月球探測(cè)等的無(wú)人探月車(chē)幫助我們傳達(dá)月球上更 多的信息讓我們更加的了解月球?yàn)閷?lái)登月做好充分準(zhǔn)備 這樣的小車(chē)在科學(xué)考察探測(cè)車(chē)上也有廣闊的應(yīng)用前景在科學(xué)考察中有 很多危險(xiǎn)且人們無(wú)法涉足的地方這時(shí)智能科學(xué)考察車(chē)就能夠派上用場(chǎng)在 它上面裝上攝像機(jī)代替人們進(jìn)行許多無(wú)法進(jìn)行的工作 12項(xiàng)目主要研究?jī)?nèi)容 本設(shè)計(jì)題目為智能避障小車(chē)設(shè)計(jì)主要研究小車(chē)的避障功能小車(chē)遇到障礙物時(shí)當(dāng)距離障礙物大于40cmPWM信號(hào)自增驅(qū)動(dòng)電機(jī)加速小車(chē)加速前進(jìn)當(dāng)小于30cm時(shí)PWM信號(hào)自減驅(qū)動(dòng)電機(jī)減速小車(chē)減速前進(jìn)并且小車(chē)采取相應(yīng)的避障措施這里探測(cè)裝置必不可少因?yàn)槌暡ㄔ诰嚯x檢測(cè)方面的較準(zhǔn)確定位所以采用超聲波傳感器作為探測(cè)裝置由于超聲波遇到障礙物時(shí)發(fā)生像光一樣的反射和散射在經(jīng)過(guò)多次發(fā)射之后再回到超聲波檢測(cè)端口會(huì)產(chǎn)生較嚴(yán)重的路程差從而影響對(duì)距離的檢測(cè)進(jìn)而影響對(duì)障礙物的較準(zhǔn)確定位通過(guò)軟件內(nèi)部校準(zhǔn)優(yōu)化消除外部物理?xiàng)l件造成的誤差從而達(dá)到對(duì)障礙物的較準(zhǔn)確定位 13設(shè)計(jì)思路 直流電機(jī)PWM控制系統(tǒng)的主要功能包括實(shí)現(xiàn)對(duì)直流電機(jī)的加速減速并且可以調(diào)整電機(jī)的轉(zhuǎn)速能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制主體電路即直流電機(jī) PWM 控制模塊這部分電路主要由 AT89S52 單片機(jī) 的 IO 端口定時(shí)計(jì)數(shù)器外部中斷擴(kuò)展等控制直流電機(jī)的加速減速以及轉(zhuǎn)彎并且可以調(diào)整電機(jī)的轉(zhuǎn)速能夠很方便的實(shí)現(xiàn)電機(jī)的智能控制 其間是通過(guò) AT89S52 單片機(jī)產(chǎn)生脈寬可調(diào)的脈沖信號(hào)并輸入到 L298 驅(qū)動(dòng)芯片來(lái) 控制直流電機(jī)工作的該直流電機(jī) PWM 控制系統(tǒng)由以下電路模塊組成設(shè)計(jì)控制部分 主要由 AT89S52 單片機(jī)的外部中斷擴(kuò)展電路組成直流電機(jī)PWM控制實(shí)現(xiàn)部分主要由電機(jī)和 L298 直流電機(jī)驅(qū)動(dòng)模塊組成設(shè)計(jì)顯示部分LCD 數(shù)碼顯示部分實(shí)現(xiàn)對(duì)超聲波測(cè)的距離的實(shí)時(shí)顯示 14應(yīng)用場(chǎng)合和功能 應(yīng)用場(chǎng)合智能小車(chē)是一種能夠通過(guò)編程手段完成特定任務(wù)的小型化機(jī)器人它具有制作成本低廉電路結(jié)構(gòu)簡(jiǎn)單程序調(diào)試方便等優(yōu)點(diǎn)由于具有很強(qiáng)的趣味性智能小車(chē)深受廣大機(jī)器人愛(ài)好者以及高校學(xué)生的喜愛(ài)同時(shí)在玩具的應(yīng)用上深受小朋友的青睞 功能本小車(chē)使用AT89S52單片機(jī)作為主控芯片它通過(guò)超聲波測(cè)距來(lái)獲取小車(chē)距離障礙物的距離并且用LED顯示出來(lái)當(dāng)小車(chē)與障礙物的距離大于40cm時(shí)小車(chē)會(huì)沿直線前進(jìn)當(dāng)小車(chē)與障礙物的距離小于30cm時(shí)小車(chē)轉(zhuǎn)彎以避開(kāi)障礙物并且此時(shí)蜂鳴器報(bào)警在避開(kāi)障礙物后小車(chē)會(huì)沿直線前進(jìn) 第二章 總體方案 21總體方案概述 本小車(chē)使用AT89S52單片機(jī)作為主控芯片它通過(guò)超聲波測(cè)距來(lái)獲取小車(chē)距離障礙物的距離并且用LCD顯示出來(lái)當(dāng)小車(chē)與障礙物的距離大于40cm時(shí)小車(chē)會(huì)沿直線前進(jìn)當(dāng)小車(chē)與障礙物的距離小于30cm時(shí)小車(chē)轉(zhuǎn)彎以避開(kāi)障礙物并且此時(shí)蜂鳴器報(bào)警在避開(kāi)障礙物后小車(chē)會(huì)沿直線前進(jìn)簡(jiǎn)要框圖如圖2-1 圖 21簡(jiǎn)要框圖 總體電路原理圖 第三章 各模塊功能介紹 31障礙物測(cè)距系統(tǒng) 方案一超聲波視覺(jué) 優(yōu)點(diǎn)價(jià)格合理夜間不受影響易于多目標(biāo)測(cè)量和分類(lèi)分辨率好缺點(diǎn)測(cè)量范圍小對(duì)天氣變化敏感不能直接測(cè)量距離算法復(fù)雜處理速度慢 方案二激光雷達(dá)MMW雷達(dá) 優(yōu)點(diǎn)夜間不受影響不受燈光天氣影響缺點(diǎn)對(duì)水灰塵燈光敏感價(jià)格貴 探測(cè)障礙的最簡(jiǎn)單的方法是使用超聲波傳感器它是利用向目標(biāo)發(fā)射超聲波脈沖計(jì)算其往返時(shí)間來(lái)判定距離的算法簡(jiǎn)單價(jià)格合理所以我們選擇超聲波傳感器 超聲波測(cè)距原理 首先利用單片機(jī)輸出一個(gè)40kHz的觸發(fā)信號(hào)把觸發(fā)信號(hào)通過(guò)TRIG管腳輸入到超聲波測(cè)距模塊再由超聲波測(cè)距模塊的發(fā)射器向某一方向發(fā)射超聲波在發(fā)射時(shí)刻的同時(shí)單片機(jī)通過(guò)軟件開(kāi)始計(jì)時(shí)超聲波在空氣中傳播途中碰到障礙物返回超聲波測(cè)距模塊的接收器收到反射波后通過(guò)產(chǎn)生一個(gè)回應(yīng)信號(hào)并通過(guò)ECHO腳反饋給單片機(jī)此時(shí)單片機(jī)就立即停止計(jì)時(shí)時(shí)序圖如圖1所示由于超聲波在空氣中的傳播速度為340ms根據(jù)計(jì)時(shí)器記錄的時(shí)間t就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離即S VT2通過(guò)單片機(jī)來(lái)算出距離 圖31超聲波測(cè)距原理 32顯示模塊 方案一用LCD顯示 優(yōu)點(diǎn)輻射小顯示內(nèi)容多 低耗能散熱小顯示的畫(huà)面穩(wěn)定不閃爍缺點(diǎn)不適合做圖圖像還原不好有可視范圍限制 方案二用LED顯示 優(yōu)點(diǎn)亮度高成本低缺點(diǎn)不能顯示漢字顯示內(nèi)容較少 對(duì)于本課題的要求我們選擇LCD實(shí)現(xiàn)功能顯示內(nèi)容多低功耗顯示畫(huà)面穩(wěn)定不閃爍硬件電路設(shè)計(jì)簡(jiǎn)單 字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母數(shù)字符號(hào)等點(diǎn)陣式LCD目前常用161162202和402行等的模塊下面以長(zhǎng)沙太陽(yáng)人電子有限公司的1602字符型液晶顯示器為例介紹其用法一般1602字符型液晶顯示器實(shí)物如圖 圖 3211602字符型液晶顯示器1602LCD主要技術(shù)參數(shù) 顯示容量16×2個(gè)字符 芯片工作電壓4555V 工作電流20mA 50V 模塊最佳工作電壓50V字符尺寸295×435 W×H mm 引腳功能說(shuō)明1602LCD采用標(biāo)準(zhǔn)的14腳無(wú)背光或16腳帶背光接口各引腳接口說(shuō)明如表所示編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明VSS 電源地 9 D2 數(shù)據(jù)VDD 電源正極 10 D3 數(shù)據(jù)VL 液晶顯示偏壓 11 D4 數(shù)據(jù)RS 數(shù)據(jù)命令選擇 12 D5 數(shù)據(jù)RW 讀寫(xiě)選擇 13 D6 數(shù)據(jù) 6 E 使能信號(hào) 14 D7 數(shù)據(jù)D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 表-2-1引腳接口說(shuō)明表 第1腳VSS為地電源 第2腳VDD接5V正電源 第3腳VL為液晶顯示器對(duì)比度調(diào)整端接正電源時(shí)對(duì)比度最弱接地時(shí)對(duì)比度最高對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生鬼影使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度 第4腳RS為寄存器選擇高電平時(shí)選擇數(shù)據(jù)寄存器低電平時(shí)選擇指令寄存器 第5腳RW為讀寫(xiě)信號(hào)線高電平時(shí)進(jìn)行讀操作低電平時(shí)進(jìn)行寫(xiě)操作當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào)當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù) 第6腳E端為使能端當(dāng)E端由高電平跳變成低電平時(shí)液晶模塊執(zhí)行命令 第7~14腳D0~D7為8位雙向數(shù)據(jù)線 第15腳背光源正極 第16腳背光源負(fù)極 1602LCD的指令說(shuō)明及時(shí)序1602液晶模塊內(nèi)部的控制器共有11條控制指令如表-2-2所示序號(hào) 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 置輸入模式 0 0 0 0 0 0 0 1 ID S 4 顯示開(kāi)關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標(biāo)或字符移位 0 0 0 0 0 1 SC RL 置功能 0 0 0 0 1 DL N F 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址讀忙標(biāo)志或地址 0 1 BF 計(jì)數(shù)器地址寫(xiě)數(shù)到CGRAM或DDRAM 1 0 要寫(xiě)的數(shù)據(jù)內(nèi)容 11 從CGRAM或DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 表-2-2控制命令表 1602液晶模塊的讀寫(xiě)操作屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的說(shuō)明1為高電平0為低電平 指令1清顯示指令碼01H光標(biāo)復(fù)位到地址00H位置 指令2光標(biāo)復(fù)位光標(biāo)返回到地址00H 指令3光標(biāo)和顯示模式設(shè)置 ID光標(biāo)移動(dòng)方向高電平右移低電平左移 S屏幕上所有文字是否左移或者右移高電平表示有效低電平則無(wú)效 指令4顯示開(kāi)關(guān)控制 D控制整體顯示的開(kāi)與關(guān)高電平表示開(kāi)顯示低電平表示關(guān)顯示 C控制光標(biāo)的開(kāi)與關(guān)高電平表示有光標(biāo)低電平表示無(wú)光標(biāo) B控制光標(biāo)是否閃爍高電平閃爍低電平不閃爍 指令5光標(biāo)或顯示移位 SC高電平時(shí)移動(dòng)顯示的文字低電平時(shí)移動(dòng)光標(biāo) 指令6功能設(shè)置命令 DL高電平時(shí)為4位總線低電平時(shí)為8位總線 N低電平時(shí)為單行顯示高電平時(shí)雙行顯示 F 低電平時(shí)顯示5x7的點(diǎn)陣字符高電平時(shí)顯示5x10的點(diǎn)陣字符 指令7字符發(fā)生器RAM地址設(shè)置 指令8DDRAM地址設(shè)置 指令9讀忙信號(hào)和光標(biāo)地址 BF為忙標(biāo)志位高電平表示忙此時(shí)模塊不能接收命令或者數(shù)據(jù)如果為低電平表示不忙 指令10寫(xiě)數(shù)據(jù) 指令11讀數(shù)據(jù) 與HD44780相兼容的芯片時(shí)序表如下讀狀態(tài) 輸入 RS LRW HE H 輸出 D0D7 狀態(tài)字 寫(xiě)指令 輸入 RS LRW LD0D7 指令碼E 高脈沖 輸出 無(wú) 讀數(shù)據(jù) 輸入 RS HRW HE H 輸出 D0D7 數(shù)據(jù) 寫(xiě)數(shù)據(jù) 輸入 RS HRW LD0D7 數(shù)據(jù)E 高脈沖 輸出 無(wú) 表-2-3基本操作時(shí)序表 讀寫(xiě)操作時(shí)序如圖和所示 圖 322 讀操作時(shí)序 圖 323 寫(xiě)操作時(shí)序 33驅(qū)動(dòng)模塊 方案一采用ULN2003驅(qū)動(dòng)它是由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力一般用于高速大功率驅(qū)動(dòng)電路所以我們不采用這個(gè)方案 方案二采用由雙極性管組成的H橋電路L298N用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài)精確調(diào)整電機(jī)轉(zhuǎn)速這種電路由于工作在管子的飽和截止模式下則效率非常高H橋電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制電子開(kāi)關(guān)的速度很快穩(wěn)定性也很高而且它有更強(qiáng)的驅(qū)動(dòng)能力L298N有過(guò)電流保護(hù)功能當(dāng)出現(xiàn)電機(jī)卡死時(shí)可以保護(hù)電路和電機(jī)等 L298N有過(guò)電流保護(hù)功能當(dāng)出現(xiàn)電機(jī)卡死時(shí)可以保護(hù)電路和電機(jī) 等所以我們選擇L298N 下圖為L(zhǎng)298內(nèi)部圖 圖33L298內(nèi)部原理圖 L298各引腳功能如下表 引腳 功能 SEN1SEN2 分別為兩個(gè)H橋的電流反饋腳不用時(shí)可以接地 23 1Y11Y2 輸出端與對(duì)應(yīng)輸入端IN1IN2同邏輯 4 VS 驅(qū)動(dòng)電壓最小值需比輸入的低電平電壓高25V 57 IN1IN2 輸入端TTL電平兼容 611 EN1EN2 使能端低電平禁止輸出GND 地 9 VSS 邏輯電源457V 1012 IN3IN4 輸入端TTL電平兼容 1314 2Y12Y2 輸出端與對(duì)應(yīng)輸入端IN3IN4同邏輯 表3-3-1 封裝引腳及功能 驅(qū)動(dòng)電機(jī)的運(yùn)行IO端口狀態(tài)與電機(jī)制動(dòng)對(duì)照表如下 IN1 IN2 IN3 IN4 EN1 EN2 轉(zhuǎn)速0 1 0 1 1 正轉(zhuǎn) 0 1 0 1 1 1 反轉(zhuǎn)1 1 1 1 1 停止 0 0 0 0 1 1 停止 X X X X 0 0 停止 表3-3-2 IO端口狀態(tài)與電機(jī)制動(dòng)對(duì)照表 34電源模塊 我們選擇采用5v的獨(dú)立的穩(wěn)壓電源 優(yōu)點(diǎn)穩(wěn)定可靠且有各種成熟電路可供選用 缺點(diǎn)各模塊都采用獨(dú)立電源會(huì)使系統(tǒng)復(fù)雜且可能影響電路電平綜合電源模塊的缺優(yōu)點(diǎn)和電路的實(shí)際需求我們采用了兩塊獨(dú)立穩(wěn)壓電源一塊給小車(chē)的電機(jī)驅(qū)動(dòng)供電一塊給小車(chē)的芯片供電這樣彌補(bǔ)了單個(gè)獨(dú)立電源供電出現(xiàn)電力不足的情況 第四章 軟件設(shè)計(jì) 41 程序設(shè)計(jì)流程圖 本設(shè)計(jì)系統(tǒng)軟件采用模塊化結(jié)構(gòu)由主程序、定時(shí)子程序電機(jī)驅(qū)動(dòng)子程序、中斷子程序顯示子程序、算法子程序構(gòu)成主程序流程圖如圖41所示 圖 41主程序流程圖 關(guān)鍵程序設(shè)計(jì) PWM產(chǎn)生程序設(shè)計(jì) void Timer2 void interrupt 5 TF2 0 RCAP2H 0x0fe RCAP2L 0x33 click if click 100 click 0 if click ZK1 PWM1 1 else PWM1 0 if click ZK2 PWM2 1 else PWM2 0 2超聲波的發(fā)射與接受程序設(shè)計(jì) void zd3 interrupt 3 TH1 0x0f8 TL1 0x30 timer if timer 200 timer 0 TX 1 _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ TX 0 31602的初始化程序的設(shè)計(jì) void ini_lcd1602 write_lcd1602 0x380 delay 1 write_lcd1602 0x0c0 delay 1 write_lcd1602 0x060 delay 1 write_lcd1602 0x010 delay 1 41602的寫(xiě)程序的設(shè)計(jì) void write_lcd1602 uchar cmduchar i lcd_mang rs i rw 0 e 0 _nop_ _nop_ e 1 _nop_ _nop_ P0 cmd _nop_ _nop_ _nop_ _nop_ e 0 51602的判忙程序的設(shè)計(jì) void lcd_mang rs 0 rw 1 e 1 _nop_ _nop_ _nop_ _nop_ while P00x80 e 0 第五章 系統(tǒng)調(diào)試 51 調(diào)試的思路 本設(shè)計(jì)的智能避障小車(chē)一共分為四大模塊分別是L298驅(qū)動(dòng)模塊超聲波測(cè)距模塊LCD顯示模塊以及蜂鳴器報(bào)警模塊調(diào)試的時(shí)候我們可以把四大模塊分別調(diào)試最后再把所有模塊組合起來(lái)再進(jìn)行最后的整機(jī)調(diào)試這樣一個(gè)調(diào)試的思路 各模塊的調(diào)試 521 LCD的調(diào)試首先根據(jù)電路圖將顯示模塊焊好再用萬(wàn)用表檢查電路是否出現(xiàn)短路一切都正常的情況下將LCD測(cè)試程序燒到芯片中觀察LCD的顯示是否正確如圖521一開(kāi)始可能什么都不顯示這個(gè)時(shí)候我們只需調(diào)整LCD 3腳的變阻器阻值即可 圖 521LCD測(cè)試圖 522 超聲波的調(diào)試 超聲波模塊一共有四個(gè)腳一個(gè)是VCC一個(gè)是GND還有兩個(gè)分別是超聲波的發(fā)射和接收引腳連接電路時(shí)候只需引出四根插線分別連接到89S52的對(duì)應(yīng)引腳燒制好測(cè)試程序測(cè)試結(jié)果圖如522本設(shè)計(jì)四根插線分別連接到VCCGND還有發(fā)射和接收引腳分別為P30和P32口 圖 522超聲波測(cè)試圖 523 蜂鳴器報(bào)警調(diào)試 蜂鳴器的連接很簡(jiǎn)單只需用一個(gè)PNP管來(lái)做驅(qū)動(dòng)當(dāng)?shù)碗娖降絹?lái)時(shí)蜂鳴器發(fā)出聲音當(dāng)高電平到來(lái)時(shí)沒(méi)有聲音本設(shè)計(jì)中蜂鳴器連接到P34口如圖523所示 圖523蜂鳴器報(bào)警電路 調(diào)試心得 通過(guò)系統(tǒng)的調(diào)試我們可以學(xué)到更多的知識(shí)我們也可以發(fā)現(xiàn)仿真和實(shí)物調(diào)試不同的地方程序設(shè)計(jì)的結(jié)果可能往往和實(shí)物調(diào)試出的結(jié)果不一樣這就需要我們?nèi)ニ伎既フ遄萌ジ倪M(jìn)以達(dá)到預(yù)期效果通過(guò)程序和硬件的調(diào)試我們可以更深刻的理解各功能模塊之間的聯(lián)系也可以明白各調(diào)試的步驟 在調(diào)試的過(guò)程中我也遇到許多問(wèn)題例如我在宿舍調(diào)試好小車(chē)之后帶到班級(jí)時(shí)候在插上電源試圖讓小車(chē)跑起來(lái)時(shí)候發(fā)現(xiàn)超聲波模塊失去了作用LCD不再顯示數(shù)據(jù)了后來(lái)我用電腦USB口供電發(fā)現(xiàn)也不可以檢查了許久才發(fā)現(xiàn)是超聲波模塊上的電源線和地線的兩根插線出現(xiàn)了斷路換線之后LCD正常顯示數(shù)值小車(chē)正常行駛整個(gè)調(diào)試過(guò)程需要硬件和軟件結(jié)合起來(lái)調(diào)試要仔細(xì)檢查電路認(rèn)真思考程序 硬件部分調(diào)試的步驟 檢查原理圖連接是否正確用萬(wàn)用表檢查是否有虛焊引腳短路現(xiàn)象檢查原理圖與上引腳是否一致680歐的電阻焊成了68千歐這使我深深感受到理論與實(shí)際間的差距在調(diào)試過(guò)程中發(fā)現(xiàn)插上編程器后不能燒制程序通過(guò)檢查電路發(fā)現(xiàn)AT89S52芯片的使能端沒(méi)有接VCC改好之后重新燒制發(fā)現(xiàn)還是不可以通過(guò)再次檢查發(fā)現(xiàn)是共陰管的驅(qū)動(dòng)芯片74LS245的引腳出現(xiàn)焊接錯(cuò)誤通過(guò)這些調(diào)試提高了我檢查電路的能力以及鞏固了電路圖的知識(shí)通過(guò)這樣的設(shè)計(jì)提高了我的動(dòng)手能力每天在實(shí)驗(yàn)室除了焊接線路板還可以上機(jī)編程使我軟件調(diào)試知識(shí)也提高了本設(shè)計(jì)采用的是89S52單片機(jī)這主要是因?yàn)樵搯纹瑱C(jī)的穩(wěn)定性比較好還可以采用其它系列的單片機(jī)比如采用陵陽(yáng)單片機(jī)就可以簡(jiǎn)化編程但其穩(wěn)定性不是很好 展望 1在本課題的基礎(chǔ)上我們可以在小車(chē)的底座下面裝一個(gè)吸塵裝置這樣就可以在小車(chē)行駛的過(guò)程中吸除一些預(yù)先放好的小紙屑 2設(shè)計(jì)出兩輛小車(chē)一輛小車(chē)放在另一輛的前面當(dāng)前面一輛小車(chē)起動(dòng)時(shí)候后面一輛小車(chē)也起動(dòng)前面一輛小車(chē)轉(zhuǎn)彎的時(shí)候后面一輛也跟著轉(zhuǎn)彎前面一輛小車(chē)停止時(shí)后面一輛也跟著停止 致 謝 歷時(shí)三個(gè)月的畢業(yè)設(shè)計(jì)已經(jīng)告一段落經(jīng)過(guò)自己不斷的搜索努力以及白老師的耐心指導(dǎo)和熱情幫助本設(shè)計(jì)已經(jīng)基本完成在這段時(shí)間里白老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和熱忱的工作作風(fēng)令我十分欽佩他的指導(dǎo)使我受益非淺 通過(guò)這次畢業(yè)設(shè)計(jì)使我深刻地認(rèn)識(shí)到學(xué)好專(zhuān)業(yè)知識(shí)的重要性也理解了理論聯(lián)系實(shí)際的含義并且檢驗(yàn)了大學(xué)四年的學(xué)習(xí)成果雖然在這次設(shè)計(jì)中對(duì)于知識(shí)的運(yùn)用和銜接還不夠熟練但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力不斷完善這三個(gè)月的設(shè)計(jì)是對(duì)過(guò)去所學(xué)知識(shí)的系統(tǒng)提高和擴(kuò)充的過(guò)程為今后的發(fā)展打下了良好的基礎(chǔ) 由于自身水平有限設(shè)計(jì)中一定存在很多不足之處敬請(qǐng)各位老師批評(píng)指正 參考資料 趙負(fù)圖傳感器集成電路手冊(cè)第一版化學(xué)工業(yè)出版社2004590~591 2李華MCS-51系列單片機(jī)實(shí)用接口技術(shù)第三版北京1997年 3張紅潤(rùn)實(shí)用自動(dòng)控制成都科技大學(xué)出版社1990年1月 4康華光電子技術(shù)基礎(chǔ)北京高等教育出版社1983年10月 5潘新民微型計(jì)算機(jī)控制技術(shù)北京人民郵電技術(shù)出版社1988年3月 6趙依軍單片機(jī)微型接口技術(shù)北京人民郵電技術(shù)出版社1989年3月 7李廣弟單片機(jī)基礎(chǔ)北京北京航空航天大學(xué)出版社2001 8胡漢才單片機(jī)原理及其接口技術(shù)北京清華大學(xué)出版社1996 9王毅單片機(jī)器件應(yīng)用手冊(cè)北京人民郵電出版社1995 附錄 1元器件清單 序號(hào) 元件名稱(chēng) 數(shù)量 參數(shù)AT89S52單片機(jī) 超聲波模塊 1 L298n 1 智能避障小車(chē)底盤(pán)蜂鳴器LCD液晶屏 2樣機(jī)實(shí)物照片 3電路原理圖 相關(guān)程序 include include define uchar unsigned char define uint unsigned int unsigned char i sbit rs P26 定義引腳 sbit rw P25 sbit e P27 sbit TX P30 觸發(fā)信號(hào)引腳 sbit FM P34 sbit PWM1 P36 pwm信號(hào)輸出 sbit PWM2 P37 static char click 0 unsigned char ZK1ZK2 unsigned int time 0 unsigned int timer 0 unsigned long S bit flag 0 unsigned char code ASCII[19] 0123456789-MJU LI static unsigned char DisNum 0 顯示用指針 unsigned long S 0 unsigned char disbuff[11] 0 void Conut void time TH0256TL0 TH0 0 TL0 0 S time17 100 disbuff[0] 13 disbuff[1] 14 disbuff[2] 15 disbuff[3] 16 disbuff[4] 17 disbuff[5] 18 disbuff[6] S1000100 disbuff[7] 10 disbuff[8] S100010010 disbuff[9] S100010 10 disbuff[10] 12 void delay_1 void 誤差 0us unsigned char ab for b 215b 0b--for a 45a 0a-- void delay uchar a uchar i while a-- for i 0i 250i _nop_ _nop_ _nop_ _nop_ 判忙 void lcd_mang rs 0 rw 1 e 1 _nop_ _nop_ _nop_ _nop_ while P00x80 e 0 1602的寫(xiě) void write_lcd1602 uchar cmduchar i 當(dāng)i為0的時(shí)候?yàn)橄?602寫(xiě)指令為1寫(xiě)數(shù)據(jù) lcd_mang rs i rw 0 e 0 _nop_ _nop_ e 1 _nop_ _nop_ P0 cmd _nop_ _nop_ _nop_ _nop_ e 0 1602的初始化 void ini_lcd1602 write_lcd1602 0x380 delay 1 write_lcd1602 0x0c0 delay 1 write_lcd1602 0x060 delay 1 write_lcd1602 0x010 delay 1 void Timer2Interrupt RCAP2H 0x0fe RCAP2L 0x33 ET2 1 T2定時(shí)器中斷 EA 1 總中斷 TR2 1 T2定時(shí)器 允許打開(kāi)啟動(dòng)void zd0 interrupt 1 flag 1 void zd3 interrupt 3 800MS啟動(dòng)模塊 TH1 0x0f8 TL1 0x30 timer if timer 200 timer 0 TX 1 800MS _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ T1中斷用來(lái)掃描數(shù)碼管和計(jì)啟動(dòng)一次模塊 _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ TX 0 void Timer2 void interrupt 5 TF2 0 T2定時(shí)器發(fā)生溢出中斷時(shí)需要用戶自己清除溢出標(biāo)記 RCAP2H 0x0fe RCAP2L 0x33 恢復(fù)定時(shí)器初始值 click if click 100 click 0 if click ZK1 PWM1 1 else PWM1 0 if click ZK2 PWM2 1 else PWM2 0 主函數(shù) void main TMOD 0x19 設(shè)T0為方式1GATE 1 TH0 0 TL0 0 TH1 0x0f8 2MS定時(shí) TL1 0x30 ET0 1 允許T0中斷 ET1 1 允許T1中斷 TR1 1 開(kāi)啟定時(shí)器 Timer2Interrupt EA 1 開(kāi)啟總中斷 ZK1 20 ZK2 20 ini_lcd1602 while 1 while INT0 0 當(dāng)RX為零時(shí)等待 TR0 1 while INT0 1 當(dāng)RX為1計(jì)數(shù)并等待 TR0 0 關(guān)閉計(jì)數(shù) Conut 計(jì)算 if S 40 控制加速 FM 1 P1 0xaf ZK1 ZK1-5 ZK2 ZK2-5 else if S 30 控制轉(zhuǎn)向 FM 0 ZK1 ZK15 ZK2 ZK25 P1 0X8F delay_1 if ZK1 99 ZK1 1 if ZK1 1 ZK1 10 if ZK2 99 ZK2 1 if ZK2 1 ZK2 10 write_lcd1602 0x800 for i 0i 10i write_lcd1602 ASCII[disbuff[i]]1-31-第三篇:基于Arduino單片機(jī)避障小車(chē)機(jī)器人畢業(yè)論文
第四篇:智能避障機(jī)器人設(shè)計(jì)外文翻譯
第五篇:(畢業(yè)論文)智能超聲波避障小車(chē)的設(shè)計(jì)與制作(可編輯)