智能小車設(shè)計報告.doc
《智能小車設(shè)計報告.doc》由會員分享,可在線閱讀,更多相關(guān)《智能小車設(shè)計報告.doc(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計報告課程名稱:專業(yè)綜合課程設(shè)計報告題目:智能小車設(shè)計學(xué)生姓名: 所在學(xué)院:信息科學(xué)與工程學(xué)院專業(yè)班級: 學(xué)生學(xué)號: 指導(dǎo)教師:廖亦凡20 15 年 7 月1日課程設(shè)計任務(wù)書報告題目智能小車設(shè)計完成時間2015.7.1學(xué)生姓名 專業(yè)班級 指導(dǎo)教師廖亦凡職稱副教授總體設(shè)計要求和技術(shù)要點參考選題一:智能小車設(shè)計1、內(nèi)容:選用單片機(jī)設(shè)計一個智能小車,要求能小車實現(xiàn)循跡、避障、遙控、聲控、光控等功能。2、要求:(1)作品要求:有完整的電路原理圖;用設(shè)計的硬件演示系統(tǒng)功能。(2)按湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計管理辦法要求提交課程設(shè)計報告。工作內(nèi)容及時間進(jìn)度安排第17周:周1-周3 :立
2、題、論證方案設(shè)計周4-周5 :硬件設(shè)計或仿真電路設(shè)計第18周:周1-周3 :軟件設(shè)計周4-周5 :驗收答辯課程設(shè)計成果1與設(shè)計內(nèi)容對應(yīng)的軟件程序、電路圖、通過實物設(shè)計的作品或通過仿真設(shè)計的仿真圖。2課程設(shè)計總結(jié)報告(所有項目均需按湖南涉外經(jīng)濟(jì)學(xué)院課程設(shè)計管理辦法要求提交課程設(shè)計報告)。摘要 STC89C52單片機(jī)是一款八位單片機(jī),他的易用性和多功能性受到了廣大使用者的好評。本系統(tǒng)以設(shè)計題目的要求為目的,采用STC89C52單片機(jī)為控制核心,利用超聲波傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時間、里程和速度,自動尋跡和尋光功能。整個系統(tǒng)的電路結(jié)構(gòu)
3、簡單,可靠性能高。實驗測試結(jié)果滿足要求,本文著重介紹了該系統(tǒng)的硬件設(shè)計方法及測試結(jié)果分析。在智能小車控制系統(tǒng)的設(shè)計中,以STC89C52為核心,用L293D驅(qū)動兩個直流電機(jī),當(dāng)產(chǎn)生信號驅(qū)動小車前進(jìn)時,是通過尋跡模塊里的紅外對管是否尋到黑線產(chǎn)生的電平信號通過LM393再返回到單片機(jī),單片機(jī)根據(jù)程序設(shè)計的要求做出相應(yīng)的判斷送給電機(jī)驅(qū)動模塊,讓小車來實現(xiàn)前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、停車等基本功能。尋白線時,外部環(huán)境光線的強(qiáng)弱對小車的運動會產(chǎn)生很大的影響,基于此原因,本實驗中的尋跡是指在白色地板上尋黑線。尋跡是指通過紅外發(fā)射管和接收管識別路徑。關(guān)鍵詞:智能小車、單片機(jī)、STC89C52、超聲波傳感器;目錄一、系
4、統(tǒng)設(shè)計11.基本要求1二、方案設(shè)計與論證12.1循跡模塊12.2避障模塊32.3電機(jī)控制模塊52.4遙控模塊8三、總原理圖101.總原理圖102.實物圖11四、結(jié)論與心得12五、參考文獻(xiàn)121、 系統(tǒng)設(shè)計1. 基本要求 (1)智能小車能在設(shè)計好的線路上自動循跡; (2)智能小車?yán)眉t外管進(jìn)行探測,遇到障礙開啟報警,實現(xiàn)避障功能; (3)使用遙控器對智能小車進(jìn)行控制,實現(xiàn)前后左右運動,并在數(shù)碼管上顯示相應(yīng)的數(shù)字; (4)采用聲控裝置,用拍手來控制小車的啟動與停止; (5)采用光敏二極管完成管控模塊。二、方案設(shè)計與論證根據(jù)基本要求確定方案,在現(xiàn)有的智能小車上,實現(xiàn)對車的速度,運動狀況進(jìn)行檢測,并將
5、測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后有單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對智能小車的智能控制。2.1循跡模塊 2.1.1循跡原理 本車紅外對管設(shè)計是紅外發(fā)射管一直發(fā)射信號,接收管時刻準(zhǔn)備接收信號。 兩對對著地的紅外管發(fā)射紅外信號,信號在白色的地面上反射回接收管,通過接收管把信號送回單片機(jī)進(jìn)行處理,完成相應(yīng)的動作。假如左右紅外發(fā)射管發(fā)射的紅外線對準(zhǔn)地面白色的區(qū)域,則紅外線被反射回來被接收管接收后轉(zhuǎn)變成電信號送至單片機(jī)的P3.5和P3.6。此時P3.5=P3.6=0,當(dāng)單片機(jī)信號檢測到此電平時,便會判斷出小車處于白色區(qū)域,這時小車就會沿直線行走,當(dāng)紅外發(fā)射管左邊對準(zhǔn)黑線(黑膠帶),右邊對準(zhǔn)白線(白色地面
6、)時,左邊的紅外線被黑線吸收,紅外線無法反射回,則左邊呈現(xiàn)高電平,即單片機(jī)檢測到P3.5=1(左邊)、P3.6=0,這時,小車便向左邊修正(左轉(zhuǎn)彎),使左邊傳感器重新回到白色區(qū)域。右轉(zhuǎn)彎過程與左轉(zhuǎn)彎相類似。2.1.2循跡控制電路圖1 循跡控制電路圖 2.1.3循跡流程圖 圖2 循跡程序流程 2.1.4循跡主要程序代碼18void main() while(1) /while(1);等待 通常使用在主函數(shù)的最后一條 定時器的后面 if(zuod=0&youd=0)/如果左右兩個傳感器沒有檢測到黑線 qian(); /直走 out=ZM1;if(zuod=1&youd=0)/如果左邊的傳感器檢測到
7、黑線 while(1) zuo(); out=ZM3;/左轉(zhuǎn) D1=0; / 蔽障 if(zuod=0) /一直左轉(zhuǎn)到傳感器檢測不到為止D1=1;break;/跳出循環(huán) if(youd=1&zuod=0) while(1) you(); out=ZM4; D2=0; if(youd=0) D2=1; break; /效果:沿著黑線轉(zhuǎn)圈2.2避障模塊2.2.1避障原理 避障電路由單片機(jī)、比較芯片L393、紅外發(fā)射對管等元器件構(gòu)成。電路工作過程如下:首先,比較芯片的2腳為基準(zhǔn)電壓輸入,該引腳通過電源串聯(lián)分壓,取得一個大約2.5V基準(zhǔn)電壓作為比較電壓。比較芯片的3腳為比較電壓的輸入端,該電壓取之反饋
8、回來的紅外信號。當(dāng)小車前進(jìn)過程中,前方無障礙,則紅外接收管的阻值會很大,從而輸出一個高電平(約5V)給比較芯片的3腳,這樣經(jīng)過比較芯片的比較,在比較芯片的2腳輸出一個高電平給單片機(jī)P3.7引腳。單片機(jī)根據(jù)接收到的電平就可以判別前方有無障礙。當(dāng)前方有障礙時V2的阻值會很小,輸出低電平給比較芯片的3腳,比較芯片從而輸出低電平給單片機(jī)P3.7。 2.2.2避障控制原理圖 圖3 避障控制電路2.2.3 避障程序流程框 圖4 避障報警程序流程圖 2.2.4避障主要程序代碼void main() while(1) if(zuod=0&youd=0)/如果左右兩個傳感器沒有檢測到黑線 qian();/直走
9、out=ZM1; if(qiand=0)/如果在直走的過程中遇見障礙物 delay(50);/延時判斷是否為干擾if(qiand=0)/不是干擾jiao=0;/蜂鳴器hou();/后退半秒out=ZM2;delay(500);you();/右轉(zhuǎn)200毫秒out=ZM4;delay(200);jiao=1;/取消報警if(zuod=1&youd=0)/如果左邊的傳感器檢測到黑線 while(1) zuo(); out=ZM3; /左轉(zhuǎn) D1=0; if(zuod=0) /一直左轉(zhuǎn)到傳感器檢測不到為止 D1=1; break;/跳出循環(huán)2.3電機(jī)控制模塊 2.3.1電機(jī)控制電路 圖5電機(jī)控制電路圖
10、 2.3.2 直流電機(jī)H橋驅(qū)動電路工作原理 圖6 直流電機(jī)H橋驅(qū)動電路工作原理 表2.1 電機(jī)控制狀態(tài)表輸入使能控制輸出電機(jī)狀態(tài)1A2AENA1Y2YDC01101電機(jī)正轉(zhuǎn)10110電機(jī)反轉(zhuǎn)11111電機(jī)剎車00100電機(jī)惰行XX0ZZ電機(jī)停轉(zhuǎn) 表2.2 智能小車運行狀態(tài)表輸入 使能控制小車狀態(tài)左電機(jī)右電機(jī)ENA1A2A3A4A101011前進(jìn)10101后退10011左轉(zhuǎn)彎01101右轉(zhuǎn)彎11111停止2.3.3電機(jī)控制程序流程圖圖7 電機(jī)控制程序流程圖2.3.4電機(jī)運行程序#include#define uint unsigned int#define uchar unsigned char
11、sbit left1=P00;sbit left2=P01;sbit right1=P02;sbit right2=P03;sbit SB1=P32;sbit SB2=P34;void delay(uint x)uchar i;while(x-)for(i=0;i123;i+);void qianjin()left1=0;left2=1;/左邊往前right1=0;right2=1;/右邊往前void houtui()left1=1;left2=0;/左邊往后right1=1;right2=0;/右邊往后void left()left1=1;left2=0;/左邊往后right1=0;righ
12、t2=1;/右邊往前void right()left1=0;left2=1;/左邊往前right1=1;right2=0;/右邊往后void tingzhi() left1=1;left2=1;right=1;right2=1;main() while(1) if(SB1=0) qianjin(); if(SB2=0) houtui(); 2.4遙控模塊 2.4.1遙控原理 紅外遙控的發(fā)射電路是采用紅外發(fā)光二極管來發(fā)出經(jīng)過調(diào)制的紅外光波;紅外接收電路由紅外接收二極管、三極管或硅光電池組成,它們將紅外發(fā)射器發(fā)射的紅外光轉(zhuǎn)換為相應(yīng)的電信號,再送后置放大器。把遙控程序下載到智能小車芯片上,利用紅外接
13、收頭接受遙控器發(fā)出的信號,對智能小車進(jìn)行前后左右的控制,并使用智能小車上面的數(shù)碼管,把控制小車各運行方向的數(shù)值顯示出來。 2.4.2遙控主要程序 #include #includetypedef unsigned int uint;typedef unsigned char uchar;uint IR_time;uchar code table=0 x9f,0 x24,0 x0d,0 x99,0 xff;/數(shù)碼管編碼uchar TIME33=0;/存放33個波形時間uchar Time_dat4=0;/存放4個解碼完成的數(shù)據(jù)sbit left0 = P00;sbit left1 = P01;s
14、bit right0 = P02;sbit right1 = P03;sbit fmq = P33;bit IR_ok;bit IR_chuli_ok; /將波形時間轉(zhuǎn)換成邏輯電平的標(biāo)志bit start; /標(biāo)志位,開始計時標(biāo)志位void qianjin() /前進(jìn)子函數(shù) left0 = 1; left1 = 0; right0 = 1; right1 = 0;void houtui()/后退子函數(shù) left0 = 0; left1 = 1; right0 = 0; right1 = 1;void youzhuan() /右轉(zhuǎn)子函數(shù) left0 = 1; left1 = 0; right0
15、= 0; right1 = 1;void zuozhuan() /左轉(zhuǎn)子函數(shù) left0 = 0; left1 = 1; right0 = 1; right1 = 0;void stop() /停止子函數(shù) left0 = 0; left1 = 0; right0 = 0; right1 = 0;void EX1_init(void) IT1 = 1; /外部中斷下降沿觸發(fā)EA = 1;EX1 = 1;void Time1_init(void) TMOD |= 0 x20;/定時器工作在方式2(8位自動重裝)TH1 = 0;TL1 = 0;ET1 = 1;TR1 = 1;void IR_chul
16、i(void) /將時間值轉(zhuǎn)化為邏輯電平(轉(zhuǎn)換成16進(jìn)制函數(shù))uchar i,j;uchar NUM = 1; /去除引導(dǎo)碼,因為引導(dǎo)碼存在數(shù)組下標(biāo)為0的位置,即第1位,數(shù)據(jù)從第2位開始)uchar HL_time; /定義一個時間變量,用于單個按鍵波形處理uchar byte = 0 x00; /定義一個字節(jié)變量,用于存儲轉(zhuǎn)換的16進(jìn)制數(shù)for(i=0;i4;i+) /表示4類數(shù)據(jù)(客戶碼、客戶反碼、數(shù)據(jù)碼、數(shù)據(jù)反碼)for(j=0;j 6) /(1.125+2.25)/2=1.687ms,277us*6=1.66ms,判斷為1,否則為0)byte |= 0 x80;else byte =
17、byte;if(j = 1; /因為最先處理低位數(shù)據(jù),所以要用右移方法,將低位移7次,回到本來位置)NUM+;Time_dati = byte;byte = 0 x00;if(Time_dat2 = Time_dat3) /比較數(shù)據(jù)碼與數(shù)據(jù)反碼是否相等,相等,表示處理成功。IR_chuli_ok = 1;/處理成功的標(biāo)志,void play(void)switch(Time_dat2)/ case 0 x0c:DataPort=dofly_DuanMa1;break;/1 顯示相應(yīng)的按鍵值 case 0 x18:qianjin();P2=table0;break;/2/ case 0 x5e:
18、;break;/3 case 0 x08:zuozhuan();P2=table2;break;/4/ case 0 x1c:;break;/5 case 0 x5a:youzhuan();P2=table3;break;/6/ case 0 x42:;break;/7 case 0 x52:houtui();P2=table1;break;/8/ case 0 x47:switc_h = switc_h;break;/9 default:break;/*遙控器1(?。┐a值: 遙控器2(大)碼值:45 46 4705 04 06 0744 40 4309 08 0a 0b07 15 090d
19、0c 0e 0f16 19 0d15 14 16 170c 18 5e19 18 1a 1b08 1c 5a11 10 12 1342 52 4a01 00 02 031d 1c 1e 1f*/void main()EX1_init();Time1_init();while(1)if(IR_ok)/ 按鍵的鍵值時間存儲完畢標(biāo)志IR_ok = 0;IR_chuli(); /將鍵值時間轉(zhuǎn)換成16進(jìn)制處理函數(shù)。if(IR_chuli_ok) IR_chuli_ok=0;play(); /調(diào)用符合鍵值的處理函數(shù)void EX1_(void) interrupt 2 /外部中斷 接收波形時間static
20、 uchar xx = 0; / 設(shè)置記錄波形的變量;計數(shù) 0 33(記錄34個波形的時間)if(!start) /第一個下降沿觸發(fā) 表示解碼開始start = 1;IR_time = 0; /將按鍵按下前的時間清除else if(start) /第二個下降沿到第33個下降沿 if(IR_time = 32) /剔除引導(dǎo)碼4*8=32(引導(dǎo)碼為9000US,在8.8MS與13.8MS之間認(rèn)為是引導(dǎo)碼)xx = 0;TIMExx = IR_time; /存儲按鍵碼值時間(引導(dǎo)碼存在數(shù)組的第一個位置,TIME為鍵值時間存儲數(shù)組)IR_time = 0; /每個碼時間不一樣/if(xx = 1)&(
21、TIME19) /連發(fā)碼處理,可以去掉/xx = 0; /TIME1 = 0;/ xx+;if(xx = 33)xx = 0;IR_ok = 1; /按鍵鍵值時間存儲完成的標(biāo)志,等于1表示完成start = 0; void Time1(void) interrupt 3 /定時器中斷IR_time+; /每經(jīng)過256*(12/11.0592)us觸發(fā)一次中斷(約277US)if(IR_time390) / 不要這條語句的話按一下,就是長按,長按處理,處理連發(fā)碼的時間參數(shù)(見PDF文檔,約108MS,相當(dāng)于長按有效,否則,按一下鍵,動的不明顯,277*390=108MS)IR_chuli_ok
22、= 0;/將標(biāo)志清零,停止判斷。stop(); /按鍵松開,電機(jī)停轉(zhuǎn)P2 = table4; /數(shù)碼管滅start = 0; /清零,方便下一次重新計數(shù)。 三、總原理圖 1.總原理圖 圖8 總原理2.實物圖圖9 實物圖表3.1 學(xué)生情況統(tǒng)計表序號姓名性別出生日期學(xué)號專業(yè)聯(lián)系電話備注1萬智亮男1994.0312430621817069電子信息工程15607484951四、結(jié)論與心得歷時一周月的設(shè)計過程中,我首先邊查資料,邊在實驗室焊接小車的線路板。在焊接過程中,我感覺到即使是一個簡單的電路,要想很輕松的焊好,也不是很容易的事情。有時是“虛焊”的原因,有時可能是阻值選錯。在焊接顯示電路時,我就錯將
23、15千歐的電阻焊成了1.5千歐。這使我深深感受到理論與實際間的差距。通過這樣的設(shè)計,提高了我的動手能力。每天在實驗室除了焊接線路板,還可以上機(jī)編程,使我軟件調(diào)試知識也提高了。本次畢業(yè)設(shè)計已經(jīng)告一段落。經(jīng)過自己不斷的搜索努力以及廖老師的耐心指導(dǎo)和熱情幫助,本設(shè)計已經(jīng)基本完成。在這段時間里,廖老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和熱忱的工作作風(fēng)令我十分欽佩,他的指導(dǎo)使我受益非淺。同時通過自己的不懈努力加細(xì)心琢磨最終完成本次課程設(shè)計,通過這次課程設(shè)計,使我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,并且檢驗了大學(xué)三年來的學(xué)習(xí)成果。雖然在這次設(shè)計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和
24、學(xué)習(xí)中繼續(xù)努力、不斷完善。這一個月的設(shè)計是對過去所學(xué)知識的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。由于自身水平有限,設(shè)計中一定存在很多不足之處,敬請老師批評與指正,在此深表感謝。五、參考文獻(xiàn)【1】林立,張俊亮.單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2013.【2】李廣弟,單片機(jī)基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001,5664【3】何希才,新型實用電子電路400例,電子工業(yè)出版社,2000年,6065【4】王東峰,王會良,董冠強(qiáng).單片機(jī)C語言應(yīng)用100例.北京:電子工業(yè)出版社,2009.【5】程繼紅,常健.傳感器原理及工程應(yīng)用(第四版).西安:西安電子科技大學(xué)出版社,2014.教師評語及設(shè)計成績教師評語:課程設(shè)計成績:指導(dǎo)教師:(簽名)日期:年月日
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《晏子使楚》優(yōu)秀課件 (3)
- 科室醫(yī)院年終總結(jié)課件
- 常用邏輯用語章末總結(jié)課件(人教A版選修1-1)免
- 新版PEP四年級英語上冊Unit3-My-Friends-B-Let’s-learn完美版-PPT
- 金融科技機(jī)遇
- 抗菌藥物合理使用專家講座
- 阿奇霉素在臨床中的應(yīng)用專家講座
- 納米抗菌蠶絲被介紹
- 男性盆部和會陰斷層解剖研究
- 部編選擇性必修二經(jīng)濟(jì)與社會生活-第九課世紀(jì)以來人類的經(jīng)濟(jì)與生活教學(xué)課件
- 春七年級數(shù)學(xué)下冊 82 整式乘法單項式與單項式相乘課件4 (新版)滬科版
- 部編人教版語文七年級下冊7.土地的誓言課件
- 手足口病
- 正壓通氣裝置課件
- 課件】食品分析與檢驗技術(shù)第二章