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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

14、define uchar unsigned char#define uint unsigned intsbit lcdrs=P00; /1602數據、命令端sbit lcden=P01; /1602液晶使能端 sbit SER_595=P02; /串行數據輸入 14腳SERsbit RCK_595=P03; /輸出鎖存器控制脈沖 12腳RCKsbit SCK_595=P04; /移位時鐘脈沖 11腳SCKsbit BEEP=P05;sbit in1=P10; /電機控制位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; /¥數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送數據到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寫指令和寫數據lcdrs=Lcdcs;/Lcdrs=0寫指令,Lcdrs=1寫數據display_595(Com_Date); /指令和數據delay(5);lcden=1;delay(5);lcden=0;void lcd160

18、2_init()/1602初始化函數lcden=0;write_1602(0,0x38); /設置8位顯示模式write_1602(0,0x0c); /0x0c開顯示,不顯示光標,不閃爍;write_1602(0,0x06); /指針加1模式,光標右移write_1602(0,0x01); /顯示清屏write_1602(0,0x0c);/光標顯示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+);/送字符串數據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)/三位數的處理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;/定義標志位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);/正立的瓶子數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);/倒立的瓶子數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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論