版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計設(shè)計(shj)報告設(shè)計(shj)課題: 超聲波避障小車(xioch) 專業(yè)班級: 電子信息工程121班 學(xué)生姓名: 范東耀 指導(dǎo)教師: 蔡崗 設(shè)計時間: 2015年7月8日 贛南師范學(xué)院科技學(xué)院數(shù)學(xué)與信息科學(xué)系 超聲波避障小車一、設(shè)計任務(wù)(rn wu)與要求1.設(shè)計(shj)任務(wù):1、采用(ciyng)超聲波模塊實現(xiàn)小車自動避障功能。2、用LCD1602顯示當(dāng)前的障礙距離。2.擴(kuò)展部分: 測出當(dāng)前小車的行駛速度,并用LCD1602顯示當(dāng)前速度。二、方案設(shè)計與論證 1設(shè)計方案系統(tǒng)采用51單片機(jī)作為核心控制單元用于智能車系統(tǒng)的控制,驅(qū)動板則以L289N驅(qū)動芯片為核心,應(yīng)用超聲波模塊及
2、光電傳感器和LCD液晶模塊,成功的實現(xiàn)了小車的避障、測速和顯示功能這三大功能。在超聲波檢測到障礙物之后,主控芯片根據(jù)距離值控制電機(jī)的轉(zhuǎn)動,在與障礙物距離較大的情況下,快速前進(jìn),在與障礙物距離較小但未到達(dá)臨界轉(zhuǎn)彎方向值得時候,慢速前進(jìn)。在與障礙物距離較近時,小車轉(zhuǎn)彎,在與障礙物很近時,小車后退轉(zhuǎn)彎,來進(jìn)行避障。測速傳感器為光電測速傳感器,在單位時間內(nèi)計算脈沖的次數(shù),然后再進(jìn)行轉(zhuǎn)換和處理即得到所測量的速度。通過軟件pwm進(jìn)行調(diào)速。通過LCD1602顯示障礙距離及當(dāng)前的小車行駛速度。2 原理框圖簡要原理框圖如圖1所示。 圖1 系統(tǒng)原理框圖三、電路設(shè)計1 電路設(shè)計(1)超聲波測距模塊(m kui):超
3、聲波測距的原理是首先利用單片機(jī)輸出一個40kHz的觸發(fā)信號,把觸發(fā)信號通過TRIG管腳輸入(shr)到超聲波測距模塊,再由超聲波測距模塊的發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時單片機(jī)通過軟件開始計時,超聲波在空氣中傳播,途中碰到障礙物返回,超聲波測距模塊的接收器收到反射波后通過產(chǎn)生一個回應(yīng)信號并通過ECHO腳反饋給單片機(jī),此時單片機(jī)就立即停止計時。時序圖如圖1所示。由于超聲波在空氣中的傳播速度為340m/s,根據(jù)(gnj)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離,即:S=VT/2,通過單片機(jī)來算出距離。超聲波測距原理圖如圖2所示。圖2 超聲波測距原理(2)顯示模塊:系統(tǒng)采用L
4、CD1602顯示,它不僅節(jié)省了單片機(jī)的資源,相比較數(shù)碼管液晶顯示更加直觀、節(jié)能,同時可以直接顯示字母、數(shù)字、符號等,具有靈活易操作的特性。故采用LCD顯示。引腳功能(gngnng)說明:LCD1602采用標(biāo)準(zhǔn)(biozhn)的16腳(帶背光)接口,各引腳接口說明如表1所示:表1 LCD1602引腳說明(shumng)編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極(3)電機(jī)驅(qū)動模塊:本
5、系統(tǒng)采用由雙極性管組成的H橋電路(L298N)。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡單地實現(xiàn)轉(zhuǎn)速和方向的控制,電子開關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強(qiáng)的驅(qū)動能力。L298N有過電流保護(hù)功能,當(dāng)出現(xiàn)電機(jī)卡死時,可以保護(hù)電路和電機(jī)等。 驅(qū)動電機(jī)的運行,I/O端口狀態(tài)與電機(jī)制動對照表,如下表2所示。表2 I/O端口狀態(tài)與電機(jī)制動對照表IN1IN2IN3IN4EN1EN2轉(zhuǎn)速101011正轉(zhuǎn)010111反轉(zhuǎn)111111停止000011停止XXXX00停止(4)光耦傳感器光耦傳感器原理是傳感器
6、開孔圓盤(yun pn)的轉(zhuǎn)軸與減速電機(jī)轉(zhuǎn)軸相連,光源的光通過開孔盤的孔和縫隙反射到光敏元件上,開孔盤旋轉(zhuǎn)體轉(zhuǎn)一周,光敏元件上照到光的次數(shù)等于盤上的開孔數(shù),從而測出旋轉(zhuǎn)體旋轉(zhuǎn)速度。靈敏度較高,但容易受外界光源的影響。雖然光電傳感器受外界光源影響很大,但是它使用方便、安裝簡單,還有本設(shè)計要求的準(zhǔn)確度不是很高,因此就選擇了光耦測速傳感器。光耦測速傳感器的原理圖如圖3所示。圖3 光耦測速傳感器原理圖2 主要(zhyo)性能參數(shù)計算當(dāng)單片機(jī)的給一個20us的觸發(fā)信號給超聲波模塊時,TRIG由低電平轉(zhuǎn)換為高電平,TRIG=1,單片機(jī)開時計時,開啟中斷,并記錄時間為T1,接收換能器等待接收回波,ECHO持
7、續(xù)(chx)為高電平的時間為發(fā)射時間。換能器接收回波將超聲波轉(zhuǎn)換為電信號,送至單片機(jī),記錄時間為T2。超聲波發(fā)射的時間為:T2-T1,C為聲速,計算發(fā)射距離為: L = (T2-T1)*C/2 。速度的計算是通過小車輪胎(lnti)的周長除以測碼盤轉(zhuǎn)過孔的個數(shù),得出一個碼盤孔對應(yīng)的長度為1CM,通過定時器取1秒時間(shjin),1秒轉(zhuǎn)過的碼盤孔個數(shù)就是速度。3程序(chngx)流程圖本設(shè)計系統(tǒng)軟件由主程序定時子程序、電機(jī)驅(qū)動子程序中斷子程序、顯示子程序算法子程序構(gòu)成。主程序流程圖如圖4所示。定時器計數(shù)器初始化測當(dāng)前速度驅(qū)動電機(jī)轉(zhuǎn)向計算障礙距離打開中斷允許液晶顯示初始化定時器計數(shù)器初始化開始啟
8、動超聲波模塊收到回波信號圖4主程序流程圖四、電路(dinl)制作及調(diào)試1 實物圖通過以上(yshng)步驟,制作出實物圖。正面圖如圖5所示,反面圖如圖6所示。圖5 實物圖正面(zhngmin)圖6 實物圖反面2 電路調(diào)試測試在小車的調(diào)試的過程中,碰到的最大的問題就是程序有時會跑飛,起初我覺得出現(xiàn)問題的原因是有以下三點,第一,程序的編寫過于繁雜,數(shù)據(jù)處理和邏輯判斷太多,芯片處理不過來,第二,數(shù)據(jù)經(jīng)過處理后,傳送出去未來得及經(jīng)過處理就已經(jīng)改變了值,導(dǎo)致芯片來不及處理而跑飛,第三,數(shù)據(jù)的類型沒有定義(dngy)好,導(dǎo)致數(shù)據(jù)的值超過定義的類型的極限。經(jīng)過幾天的程序調(diào)試,我簡化了程序的編寫,在重要數(shù)據(jù)的
9、傳送過程中加入了延時函數(shù),保證數(shù)據(jù)有充足的傳送時間,并把各種參數(shù)定義的類型檢查了幾遍,結(jié)果并沒有解決程序跑飛的問題。最后我發(fā)現(xiàn)問題出在電源上,由于小車負(fù)載較多,電源帶載能力有限,導(dǎo)致芯片受到干擾而跑飛,我將耗電能力較強(qiáng)的直流電機(jī)的電源斷開,電源只給芯片和其他模塊供電,程序能夠良好的運行。最后我通過在程序中加入“看門狗”的程序,判斷程序是否跑飛,若程序跑飛,將軟件復(fù)位(f wi)。能有效的解決程序跑飛的問題。在做測速模塊時,發(fā)現(xiàn)單片機(jī)的資源不夠用,單片機(jī)只有兩個定時器,我在做超聲波測距時已經(jīng)用了一個定時器的計數(shù)模式做測距,小車的PWM調(diào)速用了一個定時器。而做測速還需要兩個定時器,一個定時器做計數(shù)
10、,計碼盤轉(zhuǎn)的圈數(shù),一個定時器定1秒的時間,從而可以算出當(dāng)前的小車速度。我通過(tnggu)學(xué)習(xí),了解了定時器復(fù)用,可以從PWM中的1MS定時做處理,取出1S的時間,用外部中斷計碼盤的圈數(shù),再通過數(shù)據(jù)處理,可以得出小車的速度。 3 元件清單元件清單如表3所示。表3 元件清單器件型號數(shù)量單價合計電阻10K 1M 1k各2個0.10.6電容0.1u 10u各1個0.30.6三極管90132個0.20.4超聲波模塊HC-SR041個3.83.8液晶顯示屏LCD16021個5.15.1電機(jī)驅(qū)動模塊L298N1個88測速傳感器光耦窄槽版2個3.63.6單片機(jī)89C521個3.63.6底盤輪胎電機(jī)1個28.
11、528.5合計1754.2元五 參考文獻(xiàn) 1潘永雄.沙河.電子線路CAD實用教程(第四版)M.西安電子科技大學(xué)出版社,2012.2高吉祥(jxing).電子技術(shù)基礎(chǔ)實驗(shyn)與課程設(shè)計(第二版)M.電子工業(yè)出版社,2005. 3王港元(n yun).電子設(shè)計制作基礎(chǔ)M.江西科學(xué)技術(shù)出版社,2011. 4彭介華.電子技術(shù)課程設(shè)計指導(dǎo)M.高等教育出版社,2009.5陳伯時.電力拖動自動控制系統(tǒng)M.機(jī)械工業(yè)出版社,2012. 贛南師范學(xué)院科技(kj)學(xué)院2014-2015學(xué)年第二(d r)學(xué)期期末考試單片機(jī)課程設(shè)計成績(chngj)評定表專業(yè): 電子信息工程 班級: 121班 學(xué)號: 1220
12、085110 姓名: 范東耀 課題名稱超聲波避障小車設(shè)計任務(wù)與要求1.設(shè)計任務(wù):1、采用超聲波模塊實現(xiàn)小車自動避障功能。2、用LCD1602顯示當(dāng)前的障礙距離。2.擴(kuò)展部分: 測出當(dāng)前小車的行駛速度,并用LCD1602顯示當(dāng)前速度。評分標(biāo)準(zhǔn)基本功能(50)焊接制作(10)程序設(shè)計(10)擴(kuò)展功能(20)個人發(fā)揮(10)總分(100)指導(dǎo)老師時間: 年 月 日#include #include #define uchar8 unsigned char#define uint16 unsigned int#define pwm_left 70 /設(shè)置(shzh)左右兩邊的PWM都為45sfr WD
13、T_CONTR = 0 xE1; /用sfr定義看門狗特殊(tsh)功能寄存器#define RX P3_1 /收#define TX P3_0 /發(fā)#define LCM_RW P2_5 /定義(dngy)LCD引腳#define LCM_RS P2_6#define LCM_E P2_7#define LCM_Data P0#define Busy 0 x80 /0124用于檢測LCM狀態(tài)字中的Busy標(biāo)識sbit tracking_right1 = P1 4; /右邊電機(jī)sbit tracking_right2 = P1 5;sbit tracking_left1 = P1 2;/左邊電
14、機(jī)sbit tracking_left2 = P1 3;sbit pwm2 = P1 7;uint16 count1=0,count2=0,F=0;uint16 tmp=0;void LCMInit(void);void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(v
15、oid);void Decode(unsigned char ScanCode);void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigned char ReadDataLCM(void);unsigned char ReadStatusLCM(void);unsigned char code email =juli;unsigned char code ASCII20 =0,1,2,3,4,5,6,7,8,9,.,-,M,m,/,s,S,=,V,c;unsigne
16、d char code A = sudu;static unsigned char DisNum = 0; /顯示用指針 unsigned int time=0; unsigned long S=0; bit flag =0; unsigned char disbuff4 = 0,0,0,0,; /超聲波距離值賦值進(jìn)來 unsigned char disbuffsudu4= 1,2,3,4,;/速度值賦值進(jìn)來void delayms(uint16 c)uint16 a,b;for(a=0;ac;a+)for(b=0;b113;b+);void turn_left() /左轉(zhuǎn)(zu zhun)函
17、數(shù)tracking_right1 = 1;tracking_right2 = 0;tracking_left1 = 0;tracking_left2 = 0;void big_left() /大左轉(zhuǎn)(zu zhun)函數(shù)tracking_right1 = 1;tracking_right2 = 0;tracking_left1 = 0;tracking_left2 = 1;void turn_right() /右轉(zhuǎn)函數(shù)(hnsh)tracking_right1 = 0;tracking_right2 = 0;tracking_left1 = 1;tracking_left2 = 0;void
18、go_straight() /直走函數(shù)tracking_right1 = 1;tracking_right2 = 0;tracking_left1 = 1;tracking_left2 = 0;void right_back()/右后退函數(shù)tracking_right1 = 0;tracking_right2 = 1;tracking_left1 = 0;tracking_left2 = 0;void left_back()/左后退函數(shù)tracking_right1 = 0;tracking_right2 = 0;tracking_left1 = 0;tracking_left2 = 1;vo
19、id tracking(S) /避障函數(shù)(hnsh) if(S15)&(S30) turn_right(); delayms(10); else go_straight();delayms(10);void Timer1Init(void) /pwmTMOD &= 0 x0F;/設(shè)置(shzh)定時器模式TMOD |= 0 x10;/設(shè)置(shzh)定時器模式TL1 = 0 x66;/設(shè)置定時初值TH1 = 0 xFC;/設(shè)置定時初值 ,定時1MSTF1 = 0;/清除TF0標(biāo)志TR1 = 1;/定時器0開始計時EA=1;/開總中斷 ET1=1;/開定時器1中斷void serve_T1()
20、interrupt 3 /pwm TL1 = 0 x66;/設(shè)置定時初值TH1 = 0 xFC;/設(shè)置定時初值count1+;if(+count2=(pwm_left) pwm2=1; else if(count20 x19) /若到達(dá)字串尾則退出if (X =900)|flag=1) /超出(choch)測量范圍顯示“-” flag=0; DisplayOneChar(9, 0, ASCII11); DisplayOneChar(10, 0, ASCII10);/顯示(xinsh)點 DisplayOneChar(11, 0, ASCII11); DisplayOneChar(12, 0,
21、ASCII11); DisplayOneChar(13, 0, ASCII12);/顯示M else disbuff0=S%1000/100;/先對1000取余,再對100取整 disbuff1=S%1000%100/10; disbuff2=S%1000%10%10; DisplayOneChar(9, 0, ASCIIdisbuff0); DisplayOneChar(10, 0, ASCII10);/顯示點 DisplayOneChar(11, 0, ASCIIdisbuff1); DisplayOneChar(12, 0, ASCIIdisbuff2); DisplayOneChar(13, 0, ASCII12);/顯示M void zd0() interrupt 1 /T0中斷用來計數(shù)器溢出,超過測距范圍 flag=1; /中斷溢出標(biāo)志 void StartModule() /啟動模塊 TX=1; /啟動一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_()
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版寫字間租賃合同樣本3篇
- 出小學(xué)數(shù)學(xué)試卷
- 二零二五年度電子商務(wù)平臺合作開店合同3篇
- 2025年度新能源項目光伏組件安裝勞務(wù)分包合同3篇
- 二零二五年度特色餐飲項目廚師團(tuán)隊勞務(wù)合作協(xié)議3篇
- 常熟初三上冊期末數(shù)學(xué)試卷
- 2024版現(xiàn)款購房一次性協(xié)議3篇
- 初三上冊試卷數(shù)學(xué)試卷
- 租賃房間改造方案
- 消防單位植樹活動方案
- 延繳人員繼續(xù)繳費申請表
- 家長會課件:六年級上學(xué)期家長會課件
- 2023固體礦產(chǎn)資源儲量核實報告編寫規(guī)范
- 消防安全每月防火檢查記錄
- 鋼結(jié)構(gòu)件運輸專項方案
- 2023新能源風(fēng)電集控中心建設(shè)規(guī)劃方案-簡版
- 四年級上冊美術(shù)說課稿及教學(xué)反思-3.7 媽媽的好幫手丨嶺南版
- HART-375手操器說明書
- 普通高中地理課程標(biāo)準(zhǔn)簡介課件
- 護(hù)理中長期發(fā)展規(guī)劃
- 《斑羚飛渡》閱讀檢測題(有答案)
評論
0/150
提交評論