超聲波測距課程設(shè)計(jì)_第1頁
超聲波測距課程設(shè)計(jì)_第2頁
超聲波測距課程設(shè)計(jì)_第3頁
超聲波測距課程設(shè)計(jì)_第4頁
超聲波測距課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄 前言前言 1 課題設(shè)計(jì)目的及意義- 1 1.1 設(shè)計(jì)的目的- 1 1.2 設(shè)計(jì)的意義- 1 1.3 課題設(shè)計(jì)的任務(wù)和要求- 1 正文正文 1 課程的方案設(shè)計(jì)- 2 1.1 系統(tǒng)整體方案- 2 1.2 系統(tǒng)整體方案的論證- 2 2 2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)- 2 2.1 51 系列單片機(jī)的功能特點(diǎn)及測距原理- 3 2.1.1 51 系列單片機(jī)的功能特點(diǎn)- 3 2.1.2 單片機(jī)實(shí)現(xiàn)測距原理 - 3 2.2 超聲波電路結(jié)構(gòu)- 4 2.3 超聲波測距系統(tǒng)的硬件電路設(shè)計(jì)- 4 2.4 pcb 版圖設(shè)計(jì)- 5 3 系統(tǒng)軟件的設(shè)計(jì)- 6 3.1 超聲波測距儀的算法設(shè)計(jì)- 7 3.2 主程序流程圖- 7

2、 3.3 單片機(jī)部分 c 語言程序- 8 3.4 超聲波測距部分 c 語言程序- 11 4 實(shí)物制作- 17 4.1 電路板焊接及連線圖- 17 4.2 實(shí)物調(diào)試效果圖- 18 4.3 焊接電路板時(shí)所遇問題- 19 5 總 結(jié)- 20 6 致謝- 20 附錄-20 前言 1 課題設(shè)計(jì)目的及意義 1.1 設(shè)計(jì)的目的 隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但就目 前技術(shù)水平來說,人們可以具體利用的測距技術(shù)還十分有限,因此,這是一個(gè)正在 蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波測距儀作為一種新 型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位

3、高 精度的方向發(fā)展,以滿足日益發(fā)展的社會(huì)需求,如聲納的發(fā)展趨勢基本為:研制具 有更高定位精度的被動(dòng)測距聲納,以滿足水中武器實(shí)施全隱蔽攻擊的需要;繼續(xù)發(fā) 展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實(shí)現(xiàn)超遠(yuǎn)程的被動(dòng)探測和識別;研制 更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識別問題;大力降低潛艇 自噪聲,改善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測距儀將與自動(dòng)化智 能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術(shù)進(jìn)步, 測距儀將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。在新 的世紀(jì)里,面貌一新的測距儀將發(fā)揮更大的作用。 1.2 設(shè)計(jì)的意義 查找與超聲波

4、測距有關(guān)的資料,通過對資料的理解開發(fā)設(shè)計(jì)一種簡單的單片機(jī) 超聲波測距裝置。設(shè)計(jì)完成后,制作 pcb 版圖,最后完成實(shí)物的連線。通過設(shè)計(jì)鞏 固對單片機(jī)知識的運(yùn)用,并加強(qiáng)自我動(dòng)手的能力。 1.3 課題設(shè)計(jì)的任務(wù)和要求 了解和掌握超聲波傳感器的原理、結(jié)構(gòu)、特性和使用方法,超聲波探測系統(tǒng)相 關(guān)產(chǎn)品及及其國內(nèi)外研究進(jìn)展情況,利用單片機(jī)、proteus 和 keil c51 工具設(shè)計(jì)出 一種相應(yīng)的探測識別系統(tǒng),制作實(shí)物并進(jìn)行測試。 1、了解和掌握該系統(tǒng)相關(guān)傳感器(3-5 種)的技術(shù)資料,包括其技術(shù)指標(biāo)、原 理圖、封裝形式、價(jià)格等; 2、查找系統(tǒng)相關(guān)產(chǎn)品(3-5 種)的技術(shù)資料,包括其技術(shù)指標(biāo)、原理圖、封裝

5、 形式、價(jià)格等; 3、查找與本系統(tǒng)相關(guān)論文(最近幾年) (3-5 篇) ; 4、選擇一種傳感器,利用單片機(jī)、proteus 和 keil c51 工具設(shè)計(jì)出一種相應(yīng) 的探測識別系統(tǒng),制作實(shí)物并進(jìn)行測試; 5、完成論文。 1 課程的方案設(shè)計(jì) 1.1 系統(tǒng)整體方案 由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波 經(jīng)常用于距離的測量。利用超聲波檢測距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡單, 并且在測量精度方面也能達(dá)到農(nóng)業(yè)生產(chǎn)等自動(dòng)化的使用要求。 超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械 方式產(chǎn)生超聲波。電氣方式包括壓電型、電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液

6、哨和 氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率、和聲波特性各不相同,因而用途 也各不相同。目前在近距離測量方面常用的是壓電式超聲波換能器。根據(jù)設(shè)計(jì)要求 并綜合各方面因素,本文采用 at89c51 單片機(jī)作為控制器,用動(dòng)態(tài)掃描法實(shí)現(xiàn) led 數(shù)字顯示,超聲波驅(qū)動(dòng)信號用單片機(jī)的定時(shí)器。 1.2 系統(tǒng)整體方案的論證 超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算 出傳播距離。實(shí)用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一 端接收的直接波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射 波方式,適用于測距儀。此次設(shè)計(jì)采用反射波方式。 測距儀的分辨率取決于

7、對超聲波傳感器的選擇。超聲波傳感器是一種采用壓 電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時(shí)會(huì)有相當(dāng)?shù)?衰減,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時(shí)應(yīng) 選擇頻率高的傳感器,而長距離的測量時(shí)應(yīng)用低頻率的傳感器。 2 2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì) 硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢 測接收電路三部分。單片機(jī)采用 at89c51 或其兼容系列。采用 11mhz 高精度的晶 振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用 p3.0 端口輸出超聲波換能器 所需的 40khz 的方波信號,利用外中斷 0 口監(jiān)測超聲波接收電路輸出的返

8、回信號。 顯示電路采用簡單實(shí)用的 3 位共陰 led 數(shù)碼管,段碼用 74ls244 驅(qū)動(dòng),位碼用 pnp 三極管 8550 驅(qū)動(dòng)。 2.1 51 系列單片機(jī)的功能特點(diǎn)及測距原理 2.1.1 51 系列單片機(jī)的功能特點(diǎn) 5l 系列單片機(jī)中典型芯片(at89c51)采用 40 引腳雙列直插封裝(dip)形式, 內(nèi)部由 cpu,4kb 的 rom,256 b 的 ram,2 個(gè) 16b 的定時(shí)計(jì)數(shù)器 to 和 t1,4 個(gè) 8 b 的工o 端 i:ip0,p1,p2,p3,一個(gè)全雙功串行通信口等組成。特別是該系列 單片機(jī)片內(nèi)的 flash 可編程、可擦除只讀存儲(chǔ)器(eprom),使其在實(shí)際中有著十

9、分 廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。 5l 系列單片機(jī)提供以下功能:4 kb 存儲(chǔ)器;256 bram;32 條工o 線;2 個(gè) 16b 定時(shí)計(jì)數(shù)器;5 個(gè) 2 級中斷源;1 個(gè)全雙向的串行口以及時(shí)鐘電路。 空閑方式:cpu 停止工作,而讓 ram、定時(shí)計(jì)數(shù)器、串行口和中斷系統(tǒng)繼 續(xù)工作。 掉電方式:保存 ram 的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下 一次硬件復(fù)位。 5l 系列單片機(jī)為許多控制提供了高度靈活和低成本的解決辦法。充分利用他 的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)。 2.1.2 單片機(jī)實(shí)現(xiàn)測距原理 單片機(jī)發(fā)出超

10、聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回 波,從而測出發(fā)射和接收回波的時(shí)間差 tr,然后求出距離 sct2,式中的 c 為 超聲波波速。 限制該系統(tǒng)的最大可測距離存在 4 個(gè)因素:超聲波的幅度、反射的質(zhì)地、反 射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接 接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可 采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射接收的設(shè)計(jì)方法。由于超聲波屬 于聲波范圍,其波速 c 與溫度有關(guān)。 2.2 超聲波電路結(jié)構(gòu) 超聲波接收電路 2.3 超聲波測距系統(tǒng)的硬件電路設(shè)計(jì) 本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射

11、和對超聲波自發(fā)射至接收往返時(shí) 間的計(jì)時(shí),單片機(jī)選用 at89c51,經(jīng)濟(jì)易用,且片內(nèi)有 4k 的 rom,便于編程。 單片機(jī)發(fā)出 40khz 的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將 接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動(dòng)單片機(jī)中 斷程序,測得時(shí)間為 t,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送 led 顯示。 超聲波發(fā)射器 放大電路超聲波接收器 放大電路 鎖相環(huán) 檢波電路 定時(shí)器 單片機(jī) 控制 顯示器 單片機(jī)硬件原理圖單片機(jī)硬件原理圖 2.4 pcb 版圖設(shè)計(jì): pcbpcb 版圖(版圖(a a) pcbpcb 版圖(版圖(b b) 3 系統(tǒng)軟件的設(shè)計(jì) 超

12、聲波測距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷 程序及顯示子程序組成。我們知道 c 語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言 程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距儀的程序既 有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)) ,又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)) , 所以控制程序可采用 c 語言編程。 3.1 超聲波測距儀的算法設(shè)計(jì) 超聲波測距的原理為超聲波發(fā)生器 t 在某一時(shí)刻發(fā)出一個(gè)超聲波信號,當(dāng)這個(gè) 超聲波遇到被測物體后反射回來,就被超聲波接收器 r 所接收到。這樣只要計(jì)算出 從發(fā)出超聲波信號到接收到返回信號所用的時(shí)間,就可算出超聲波發(fā)生器與反射物 體的距

13、離。距離的計(jì)算公式為: d=s/2=(ct)/2 (1) 其中,d 為被測物與測距儀的距離,s 為聲波的來回的路程,c 為聲速,t 為聲波來 回所用的時(shí)間。 在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器 t0,利用定時(shí)器 的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí), 接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在 int0 或 int1 端產(chǎn)生一個(gè)中斷請求信號,單片 機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。 3.2 主程序流程圖 3.3 單片機(jī)部分 c 語言程序: #include #include #define uchar unsigned char

14、#define uint unsigned int sbit trig=p37; sbit echo=p32; uint t=0,s=0; bit flag=0; uchar timeh=0,timel=0,i=0; uchar buffer4=0,0,0,0; uchar code table10 = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /數(shù)碼 管 09 void delay_us()/20us 延遲 uchar x; for(x=0;x0;j-) for(y=110;y0;y-); void main()

15、 trig=0; /echo=0; tmod=0 x11;/定時(shí)器 0、1 為 16 位計(jì)數(shù)模式 th0=(65536-5000)/256; tl0=(65536-5000)%256; tr0=1;/啟動(dòng)定時(shí)器 0 it0=1;/下降沿觸發(fā) et0=1;/打開定時(shí)器 0 中斷 et1=1;/打開定時(shí)器 1 中斷 ex0=0;/關(guān)閉外部中斷 0 ea=1;/開總中斷 while(1) ea=0;/關(guān)總中斷 trig=1;/超聲波輸入端 delay_us(); /延遲 20us trig=0;/產(chǎn)生一個(gè) 20us 的脈沖 while(echo=0); /等待 echo 回波變成高電平 flag=0

16、;/清測量成功標(biāo)志; ea=1; ex0=1;/打開外部中斷 th1=0; tl1=0;/定時(shí)器 1 清零 tf1=0; tr1=1;/啟動(dòng)定時(shí)器 1 delay(20);/等待測量結(jié)果 tr1=0;/關(guān)閉定時(shí)器 1 ex0=0;/關(guān)閉外部中斷 0 if(flag) t=timeh*256+timel; /計(jì)算時(shí)間 s=t/58;/計(jì)算距離(厘米) buffer0=s/100; /百位 buffer1=s%100/10; /十位 buffer2=s%10;/個(gè)位 else s=0;/沒有,則清零; /*外部中斷 0,用做判斷回波電平*/ void exter() interrupt 0 tim

17、eh=th1; timel=tl1; flag=1; ex0=0; /*用定時(shí)器 0 做顯示*/ void timer0() interrupt 1 th0=(65536-5000)/256; tl0=(65536-5000)%256; switch(i) case 0:p1=tablebuffer0;p2=0 xfe;i=1;break; case 1:p1=tablebuffer1;p2=0 xfd;i=2;break; case 2:p1=tablebuffer2;p2=0 xfb;i=0;break; default:break; /*定時(shí)器 1 中斷,用做超聲波測距計(jì)時(shí)*/ void

18、 timer1() interrupt 3 th1=0; tl1=0; 3.4 超聲波測距部分 c 語言程序: /晶振=8m /mcu=stc10f04xe /p0.0-p0.6 共陽數(shù)碼管引腳 /trig = p10 /echo = p32 #include /包括一個(gè) 52 標(biāo)準(zhǔn)內(nèi)核的頭文件 #define uchar unsigned char /定義一下方便使用 #define uint unsigned int #define ulong unsigned long /* sfr clk_div = 0 x97; /為 stc 單片機(jī)定義,系統(tǒng)時(shí)鐘分頻 /為 stc 單片機(jī)的 io

19、口設(shè)置地址定義 sfr p0m1 = 0x93; sfr p0m0 = 0x94; sfr p1m1 = 0x91; sfr p1m0 = 0x92; sfr p2m1 = 0x95; sfr p2m0 = 0x96; /* sbit trig = p10; /產(chǎn)生脈沖引腳 sbit echo = p32; /回波引腳 sbit test = p11; /測試用引腳 uchar code seg710=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/數(shù)碼 管 0-9 uint distance4; /測距接收緩沖區(qū) uc

20、har ge,shi,bai,temp,flag,outcomeh,outcomel,i; /自定義寄存器 bit succeed_flag; /測量成功標(biāo)志 /*函數(shù)聲明 void conversion(uint temp_data); void delay_20us(); /void pai_xu(); void main(void) / 主程序 uint distance_data,a,b; uchar cont_1; clk_div=0x03; /系統(tǒng)時(shí)鐘為 1/8 晶振(pdf-45 頁) p0m1 = 0; /將 io 口設(shè)置為推挽輸出 p1m1 = 0; p2m1 = 0; p0

21、m0 = 0xff; p1m0 = 0xff; p2m0 = 0xff; i=0; flag=0; test =0; trig=0; /首先拉低脈沖輸入引腳 tmod=0 x11; /定時(shí)器 0,定時(shí)器 1,16 位工作方式 tr0=1; /啟動(dòng)定時(shí)器 0 it0=0; /由高電平變低電平,觸發(fā)外部中斷 et0=1; /打開定時(shí)器 0 中斷 /et1=1; /打開定時(shí)器 1 中斷 ex0=0; /關(guān)閉外部中斷 ea=1; /打開總中斷 0 while(1) /程序循環(huán) ea=0; trig=1; delay_20us(); trig=0; /產(chǎn)生一個(gè) 20us 的脈沖,在 trig 引腳 wh

22、ile(echo=0); /等待 echo 回波引腳變高電平 succeed_flag=0; /清測量成功標(biāo)志 /* /外部中斷 0,用做判斷回波電平 into_() interrupt 0 / 外部中斷是 0 號 outcomeh =th1; /取出定時(shí)器的值 outcomel =tl1; /取出定時(shí)器的值 succeed_flag=1; /至成功測量的標(biāo)志 ex0=0; /關(guān)閉外部中斷 /* /定時(shí)器 0 中斷,用做顯示 timer0() interrupt 1 / 定時(shí)器 0 中斷是 1 號 th0=0 xfd; /寫入定時(shí)器 0 初始值 tl0=0 x77; switch(flag)

23、case 0 x00:p0=ge; p2=0 xfd;flag+;break; case 0 x01:p0=shi;p2=0 xfe;flag+;break; case 0 x02:p0=bai;p2=0 xfb;flag=0;break; /* /* /定時(shí)器 1 中斷,用做超聲波測距計(jì)時(shí) timer1() interrupt 3 / 定時(shí)器 0 中斷是 1 號 th1=0; tl1=0; */ /* /顯示數(shù)據(jù)轉(zhuǎn)換程序 void conversion(uint temp_data) uchar ge_data,shi_data,bai_data ; bai_data=temp_data/1

24、00 ; temp_data=temp_data%100; /取余運(yùn)算 shi_data=temp_data/10 ; temp_data=temp_data%10; /取余運(yùn)算 ge_data=temp_data; bai_data=seg7bai_data; shi_data=seg7shi_data; ge_data =seg7ge_data; ea=0; bai = bai_data; shi = shi_data; ge = ge_data ; ea=1; /* void delay_20us() uchar bt ; for(bt=0;btdistance1) t=distance

25、0;distance0=distance1;distance1=t; /*交換值 if(distance0distance2) t=distance2;distance2=distance0;distance0=t; /*交換值 if(distance1distance2) t=distance1;distance1=distance2;distance2=t; /*交換值 4 實(shí)物制作 4.1 電路板焊接及連線圖: 電路板正面元件擺放圖: 電路板背面連線圖: 4.2 實(shí)物調(diào)試效果圖 4.3 焊接電路板時(shí)所遇問題: 1、 對于焊槍的應(yīng)用不是特別嫻熟。 2、 連線時(shí)特別不舒服,可能是超聲波測距設(shè)計(jì)比較復(fù)雜的連線問題導(dǎo)致的。有的 線焊起來空間特別小。在連線的長短方面沒有選擇好。 3、 元件擺設(shè)方面存在很大問題,直接導(dǎo)致焊接時(shí)特別吃力

溫馨提示

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

評論

0/150

提交評論