基于單片機(jī)的多功能智能小車論文電路程序論_第1頁
基于單片機(jī)的多功能智能小車論文電路程序論_第2頁
基于單片機(jī)的多功能智能小車論文電路程序論_第3頁
基于單片機(jī)的多功能智能小車論文電路程序論_第4頁
基于單片機(jī)的多功能智能小車論文電路程序論_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、摘要:智能作為現(xiàn)代的新發(fā)明,是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個環(huán)境里自動的運作,不需要人為的管理,可應(yīng)用于科學(xué)勘探等等的用途。智能電動車就是其中的一個體現(xiàn)。本次設(shè)計的簡易智能電動車,采用STC89C52單片機(jī)作為小車的檢測和控制核心;采用金屬感應(yīng)器TL-Q5MC來檢測路上感應(yīng)到的鐵片,從而把反饋到的信號送單片機(jī),使單片機(jī)按照預(yù)定的工作模式控制小車在各區(qū)域按預(yù)定的速度行駛,并且單片機(jī)選擇的工作模式不同也可控制小車順著黑色膠布循跡行駛;采用紅外壁障測障礙物。采用1602LCD實時顯示小車行駛的時間,小車停止行駛后,顯示小車行駛時間以及硬幣的個數(shù)。本設(shè)計結(jié)構(gòu)簡單,較容易實現(xiàn),但具有高度

2、的智能化、人性化,一定程度體現(xiàn)了智能。關(guān)鍵詞:STC89C52 循跡 紅外壁障 金屬感應(yīng)器 1602LCD1. 設(shè)計任務(wù):設(shè)計并制作了一個智能電動車,其行駛路線滿足所需的要求。1.1 要求:1.1.1 基本要求:(1)分區(qū)控制:如(圖1)所示:(圖1)(1)電動車從出發(fā)區(qū)出發(fā)(車體不得超出出發(fā)區(qū)),沿引導(dǎo)黑線向終點區(qū)行駛,電動車行駛過程中不可脫離黑色引導(dǎo)線行駛。(2)電動車行駛過程中遇到轉(zhuǎn)角路口時發(fā)出聲光指示信息。(3)電動車在AB段駛過程中遇到引導(dǎo)線下有硬幣。電動車發(fā)出聲光指示信息并且停車2秒。(4)電動車到達(dá)終點后應(yīng)立即停車,但全程行駛時間不能大于90秒,行駛時間到達(dá)90秒時必須立即自動停

3、車。1.1.2 發(fā)揮部分:(1)進(jìn)一步提高B點到G點的行駛速度(電動車行駛過程中不可脫離黑色引導(dǎo)線行駛)。 (2)電動車在GH段行駛過程中如有豎直放置飲用水瓶電動車發(fā)出聲光指示信息。 (3)電動車在GH段行駛過程中如有倒置放置飲用水瓶電動車起動風(fēng)扇將其吹到。 (4)電動車進(jìn)入終點區(qū)域后,能進(jìn)一步準(zhǔn)確駛?cè)虢K點區(qū),要求電動車的車身完全進(jìn)入終點區(qū)到達(dá)終點區(qū)中心。停車后,能準(zhǔn)確顯示電動車全程行駛時間、路程以及遇到硬幣的數(shù)量和飲用水瓶的數(shù)量。2. 方案比較與選擇:2.1 主控系統(tǒng)模塊根據(jù)設(shè)計要求,我認(rèn)為此設(shè)計屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下:方案一

4、:選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進(jìn)行編寫開發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢。同時,CPLD的處理速度非???,而小車的行進(jìn)速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。方案二:采用單片機(jī)作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在

5、這一點上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢控制簡單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。針對本設(shè)計特點多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡I/O口和程序存儲器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了P89C51RA單片機(jī)作為本設(shè)計的主控裝置,51單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對于本設(shè)計也綽綽有余,更可貴的是51單片機(jī)價格非常低廉。在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動等諸多因素后,我們決

6、定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。2.2 電機(jī)驅(qū)動模塊方案一:采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的速度進(jìn)行調(diào)整,此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高。方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機(jī)電阻很小,但電流很大,分壓不僅回降低效率,而且實現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H型橋式電路(如圖2.

7、1)。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的PWM調(diào)速技術(shù)。現(xiàn)市面上有很多此種芯片,我選用了L298N(如圖2.2)。圖2.1 H橋式電路圖2.2 L298N2.3 循跡模塊方案一:采用簡易光電傳感器結(jié)合外圍電路探測,但實際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過程極易出現(xiàn)問題,而且容易因為 該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。方案二:采用四只

8、紅外對管(如圖2.3),分別置于小車車身前軌道的兩側(cè),根據(jù)兩只光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向,測試表明,只要合理安裝好四只光電開關(guān)的位置就可以很好的實現(xiàn)循跡的功能。方案三:采用三只紅外對管,一只置于軌道中間,兩只置于軌道外側(cè),當(dāng)小車脫離軌道時,即當(dāng)置于中間的一只光電開關(guān)脫離軌道時,等待外面任一只檢測到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開關(guān)重新檢測到黑線(即回到軌道)再恢復(fù)正向行駛。現(xiàn)場實測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩(wěn)定性都次與第二種方案。通過比較,我選取第二種方案來實現(xiàn)循跡。圖2.3 紅外對管3系統(tǒng)的具體設(shè)計與實現(xiàn):

9、根據(jù)設(shè)計任務(wù)要求,并且根據(jù)我們自己的需要而附加的功能,該電路的總體框圖可分為如下幾個基本的模塊:3.1 路面檢測模塊:采用鐵片感應(yīng)器TL-Q5MC來檢測路面上的鐵片從而給單片機(jī)中斷脈沖。原理圖接線如(圖4)所示:(圖4) 應(yīng)用一個金屬感應(yīng)器,安裝在車盤下,離地略小于或約四毫米。當(dāng)金屬傳感器檢測到硬幣時將對單片機(jī)發(fā)送中斷信號,單片機(jī)運行中斷,讓小車停下2秒,并顯示出硬幣的個數(shù)。3.2 LCD顯示模塊:采用1602LCD,由單片機(jī)的總線模式連接。為節(jié)約IO口的使用并且不影響LCD的功能,LCD數(shù)據(jù)的傳送是用595進(jìn)行數(shù)據(jù)傳送的,題目要求顯示出全過程所以的時間和檢測到硬幣的個數(shù)。還有題目要求在轉(zhuǎn)彎時

10、發(fā)出聲音,LCD顯示模塊和蜂鳴器模塊電路圖如下:LCD顯示模塊和蜂鳴器模塊電路圖3.3 紅外壁障模塊紅外避障傳感器/距離可調(diào)3-80cm簡介:這是一種集發(fā)射與接收于一體的光電傳感器。檢測距離可以根據(jù)要求進(jìn)行調(diào)節(jié)。該傳感器具有探測距離遠(yuǎn)、受可見光干擾小、價格便宜、易于裝配、使用方便等特點,可以廣泛應(yīng)用于機(jī)器人避障、流水線計件等眾多場合。原理:前方無障礙輸出高電平(1),有障礙輸出口(黃色)電平會從高電平變成低電平(0),工作原理已經(jīng)標(biāo)在圖上了。背面圖有一個電位器可以調(diào)節(jié)障礙的檢測距離。這樣就可以按題目要求的那樣檢測到瓶子是否倒立了,如果倒立就啟動電風(fēng)扇吹到瓶子。3.4 最小系統(tǒng)模塊: 該系統(tǒng)主要

11、用到的是單片機(jī),所以主要的部分是最小系統(tǒng)圖,該最小系統(tǒng)如圖所示:最小系統(tǒng)電路圖3.5 驅(qū)動電機(jī)模塊電機(jī)驅(qū)動一般采用H橋式驅(qū)動電路,L298N內(nèi)部集成了H橋式驅(qū)動電路,從而可以采用L298N電路來驅(qū)動電機(jī)。通過單片機(jī)給予L298N電路PWM信號來控制小車的速度,起停。其引腳圖如3.2,驅(qū)動原理圖如圖3.3。圖3.2 L298N引腳圖圖3.3 電機(jī)驅(qū)動電路3.6 循跡模塊小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”黑線。筆者在該模塊中利用了簡單、應(yīng)用也比較普遍的檢測方法紅外探測法。紅外探測法,即利用紅外線在不同顏色

12、的物理表面具有不同的反射性質(zhì)的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號,再通過LM324作比較器來采集高低電平,從而實現(xiàn)信號的檢測。避障亦是此原理。電路圖如圖3.4和圖3.5。市面上有很多紅外傳感器,在這里我選用TCRT5000型光電對管。圖3.4循跡原理圖圖3.5比較器模塊4. 結(jié)束語:經(jīng)過這次的設(shè)計,讓我更明白了團(tuán)隊的重要性以及焊接技術(shù)的重要性,也讓我們對單片機(jī)編程的進(jìn)一步了解,為了這次設(shè)計我們找了查找了很多資料,包括一些對該設(shè)計元件的作用、工作電壓等資料的了解,

13、感謝百度和Google 公司。他們的搜索功能龐大、快捷又免費。讓我們很方便地搜索到了我們所需要的設(shè)計資料和豐富的知識。此次畢業(yè)設(shè)計是我大學(xué)學(xué)習(xí)中遇到過的時段最長、涉及內(nèi)容最廣、工作量最大的一次設(shè)計。用老師的一句話概括就是這次畢業(yè)設(shè)計相當(dāng),如是把以前的小課程設(shè)計綜合在一起的過程,只要把握住每個小課設(shè)的精華、環(huán)環(huán)緊扣、增強(qiáng)邏輯,那么這次的任務(wù)也就不難了。同時感謝老師對我們的指導(dǎo)和為我們理清思路從而使我們更快我完成設(shè)計。5程序和流程圖:按照預(yù)定的功能,系統(tǒng)實現(xiàn)預(yù)定的功能的程序流程圖如下所示:程序如下:#include <reg52.h>#include<intrins.h>#

14、define uchar unsigned char#define uint unsigned intsbit lcdrs=P00; /1602數(shù)據(jù)、命令端sbit lcden=P01; /1602液晶使能端 sbit SER_595=P02; /串行數(shù)據(jù)輸入 14腳SERsbit RCK_595=P03; /輸出鎖存器控制脈沖 12腳RCKsbit SCK_595=P04; /移位時鐘脈沖 11腳SCKsbit BEEP=P05;sbit in1=P10; /電機(jī)控制位sbit in2=P11; sbit en1=P12;sbit in3=P13;sbit in4=P14;sbit en2=

15、P15;sbit X1=P23;sbit X2=P22;sbit X3=P21;sbit X4=P20;sbit F1=P16;sbit F2=P17;sbit Y1=P06; /¥數(shù)sbit It0=P32;/外部中斷0 sbit It1=P33;/外部中斷1uchar num0=0,t0=0,t1=0,num1=0,y=0,d=0,p1=0,p2=0;void delay(uint z)uint x,y;for(x=0;x<z;x+)for(y=0;y<110;y+);void delay_s(uchar n)uchar i=0;for(i=n;i>0;i-)delay(

16、100);void beep()BEEP=0;delay(8);BEEP=1;void go_front()en2=1;en1=1;in1=1;in2=0;in3=1;in4=0;void go_back()en1=1;en2=1;in1=0;in2=1;in3=0;in4=1;void stop()en1=0;en2=0;in1=0;in2=0;in3=0;in4=0;void turn_left()en1=1;en2=1;in1=0;in2=1;in3=1;in4=0;void turn_right()en1=1;en2=1;in1=1;in2=0;in3=0;in4=1;void dis

17、play_595(uchar byte)/通過接595送數(shù)據(jù)到lcd1602 uchar i; for(i=0;i<8;i+)SCK_595=0;byte=byte<<1;SER_595=CY;SCK_595=1;RCK_595=0;RCK_595=1; void write_1602(uchar Lcdcs,uchar Com_Date)/1602寫指令和寫數(shù)據(jù)lcdrs=Lcdcs;/Lcdrs=0寫指令,Lcdrs=1寫數(shù)據(jù)display_595(Com_Date); /指令和數(shù)據(jù)delay(5);lcden=1;delay(5);lcden=0;void lcd160

18、2_init()/1602初始化函數(shù)lcden=0;write_1602(0,0x38); /設(shè)置8位顯示模式write_1602(0,0x0c); /0x0c開顯示,不顯示光標(biāo),不閃爍;write_1602(0,0x06); /指針加1模式,光標(biāo)右移write_1602(0,0x01); /顯示清屏write_1602(0,0x0c);/光標(biāo)顯示void displays(uchar row,uchar col,uchar *s)/row是行,col是列,*s為字符串if(row=1)write_1602(0,0x80+col-1);/第一行elsewrite_1602(0,0xc0+col

19、-1);/第二行while(*s)write_1602(1,*s+);/送字符串?dāng)?shù)據(jù)void displayc(uchar row,uchar col,uchar date)if(row=1)write_1602(0,0x80+col-1);/第一行elsewrite_1602(0,0xc0+col-1);/第二行write_1602(1,0x30+date);void displayz(uchar row,uchar col,uchar date)/三位數(shù)的處理displayc(row,col,date/100);displayc(row,col+1,date%100/10);display

20、c(row,col+2,date%10);void Noway()uchar f1,f2,f3,f4;/定義標(biāo)志位if(X1=1) f1=1;/循跡1else f1=0; if(X2=1) f2=1;/循跡2else f2=0;if(X3=1) f3=1;/循跡3else f3=0;if(X4=1) f4=1;/循跡4else f4=0;if(f1=1|f2=1)&&(f3=0|f4=0)turn_left();if(f1=0|f2=0)&&(f3=1|f4=1)turn_right();if(f1=1&&f2=1&&f3=0&a

21、mp;&f4=0)turn_left();beep();if(f1=0&&f2=0&&f3=1&&f4=1)turn_right();beep();if(f1=1&&f2=1&&f3=1&&f4=0)turn_left();if(f1=0&&f2=1&&f3=1&&f4=1)turn_right();if(f1=1&&f2=1&&f3=0&&f4=1)turn_left();if(f1=1&

22、;&f2=0&&f3=1&&f4=1)turn_right();if(f1=0&&f2=0&&f3=0&&f4=0)go_front();if(f1=0&&f2=1&&f3=1&&f4=0)go_front();if(f1=1&&f2=0&&f3=0&&f4=1)go_front();if(f1=1&&f2=1&&f3=1&&f4=1)stop();void pin

23、gzi()uchar f1,f2;if(F1=0) f1=1;/上面的壁障else f1=0; if(F2=0) f2=1;/下面的壁障else f2=0;if(f1=1&&f2=1)/檢測正立的瓶子It1=0;if(It1=0)p1+;if(p1=10)p1=0;displayc(1,5,p1);/正立的瓶子數(shù)if(f1=1&&f2=0)go_front();if(f1=0&&f2=1)/檢測倒立的瓶子It1=0;if(It1=0)p2+;if(p1=10)p1=0;displayc(1,8,p2);/倒立的瓶子數(shù)if(f1=0&&f2=0)go_front();void Money()if(Y1=0)if(Y1=0)beep(); /蜂鳴器響

溫馨提示

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

評論

0/150

提交評論