第3章 超聲波測距器的設計_第1頁
第3章 超聲波測距器的設計_第2頁
第3章 超聲波測距器的設計_第3頁
第3章 超聲波測距器的設計_第4頁
第3章 超聲波測距器的設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 超聲波測距器的設計3.1 功能要求由于超聲波具有指向性強、能量消耗緩慢,在介質(zhì)中傳播的距離較遠等特點,超聲波被經(jīng)常用于距離的測量。利用超聲波測量距離設計較方便,計算處理較簡單,而且在測量精度上也能達到日常使用的要求。本項目設計的超聲波測距器可應用于汽車倒車、建筑施工工地及一些工業(yè)現(xiàn)場的位置監(jiān)控,也可用于諸如液位、井深、管道長度、物體厚度等的測量。測量范圍為0.104.00m,測量精度為1cm,測量時與被測物體無直接接觸,能夠清晰、穩(wěn)定地顯示測量結(jié)果。設計的主要功能:在檢測范圍內(nèi),與障礙物的遠近,用五盞LED燈顯示說明。當測得的距離小于設定距離時,主控芯片將測得的數(shù)值與設定值進行比較處理

2、,然后控制蜂鳴器和LED報警,用5個發(fā)光二極管來顯示距離長短的趨勢。(1) 當被測距離大于等于100cm時,5個燈全亮,且不發(fā)聲。(2) 當被測距離小于100cm時,離障礙物的距離是否越來越近或越來越遠,來改變蜂鳴器發(fā)聲越來越快或越來越慢。當被測距離大于等于75cm小于100cm,亮4個燈;(3) 當被測距離大于等于50cm小于75cm,亮3個燈;(4) 當被測距離大于等于30cm小于50cm,亮2個燈;(5) 當被測距離小于30cm,亮1個燈,蜂鳴器急促報警。3.2 主要器件介紹超聲波傳感器1、超聲波的特性人類能聽到的聲音頻率范圍為:20Hz-20kHz,即為可聽聲波,超出此頻率范圍的聲音,

3、即20Hz以下頻率的聲音稱為低頻聲波,20kHz以上頻率的聲音稱為超聲波。當聲音的頻率高到超過人耳聽覺的頻率極限時,人們就會覺察不出周圍聲音的存在,因而稱這種高頻率的聲為“超”聲。超聲波是一種在彈性介質(zhì)中的機械振蕩,其頻率超過20kHz,分橫向振蕩和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。它有折射和反射現(xiàn)象,且在傳播過程中有衰減。超聲波的主要基本特性:(1) 波長波的傳播速度是用頻率乘以波長來表示。電磁波的傳播速度是3×108m/s,而聲波在空氣中的傳播速度很慢,約為344m/s (20時)。在這種比較低的傳播速度下,波長很短,這就意味著可以獲得較高的距離和

4、方向分辨率。正是由于這種較高的分辨率特性,才使我們有可能在進行測量時獲得很高的精確度。(2) 反射要探測某個物體是否存在,超聲波就能夠在該物體上得到反射。由于金屬、木材、混凝土、玻璃、橡膠和紙等可以反射近乎100的超聲波,因此我們可以很容易地發(fā)現(xiàn)這些物體。由于布、棉花、絨毛等可以吸收超聲波,因此很難利用超聲波探測到它們。同時,由于不規(guī)則反射,通??赡芎茈y探測到凹凸表面以及斜坡表面的物體,這些因素決定了超聲波的理想測試環(huán)境是在空曠的場所,并且測試物體必須反射超聲波。(3) 溫度效應聲波傳播的速度“c”可以用下列公式表示。c=331.5+0.607t (m/s)式中,t=溫度 ()也就是說,聲音傳

5、播速度隨周圍溫度的變化而有所不同。因此,要精確的測量與某個物體之間的距離時,始終檢查周圍溫度是十分必要的,尤其冬季室內(nèi)外溫差較大,對超聲波測距的精度影響很大,此時可用18B20作溫度補償來減小溫度變化所帶來的測量誤差,考慮到本設計的測試環(huán)境是在室內(nèi),而且超聲波主要是用于測距功能,對測量精度要求不高,所以關(guān)于溫度效應對系統(tǒng)的影響問題在這里不做深入的探討。(4) 衰減傳播到空氣中的超聲波強度隨距離的變化成比例地減弱,這是因為衍射現(xiàn)象所導致的在球形表面上的擴散損失,也是因為介質(zhì)吸收能量產(chǎn)生的吸收損失。超聲波的頻率越高,衰減率就越高,超聲波的傳播距離也就越短,由此可見超聲波的衰減特性直接影響了超聲波傳

6、感器有效距離。(5) 靈敏度特性靈敏度是表示聲音接收級的單位,使用下列公式予以表示。靈敏度= 20log E/P (dB)式中,“E”為所產(chǎn)生的電壓 (Vrms),“P”為輸入聲壓(bar),超聲波傳感器的靈敏度直接影響著系統(tǒng)測距范圍。當頻率在40kHz時傳感器所對應的靈敏度最高。2、 超聲波傳感器完成產(chǎn)生超聲波和接收超聲波這種功能的裝置就是超聲波傳感器,習慣上稱為超聲換能器,或者超聲波探頭。超聲波傳感器主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多用作探測方面。它有許多不同的結(jié)構(gòu),可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、蘭姆波探頭(蘭姆波)、雙探頭

7、(一個探頭反射、一個探頭接收)等。超聲傳感器的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。由于晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能都是不同的,我們使用前必須預先了解清楚該探頭的性能參數(shù)。超聲波傳感器的主要性能指標包括:(1)工作頻率。工作頻率就是壓電晶片的共振頻率。當加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。(2)工作溫度。由于壓電材料的居里點一般比較高,特別是診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不失效。醫(yī)療用的超聲探頭的溫度比較高,需要單獨的制冷設備。(3)靈敏度。主要取決于

8、制造晶片本身。機電耦合系數(shù)大,靈敏度高。超聲波為直線傳播方式,頻率越高,繞射能力越弱,但反射能力越強。為此,利用超聲波的這種性能就可制成超聲波傳感器。另外,超聲波在空氣中的傳播速度較慢,為340m/s,這就使得超聲波傳感器使用變得非常簡便。我們選用壓電式超聲波傳感器。它的探頭常用材料是壓電晶體和壓電陶瓷,是利用壓電材料的壓電效應來進行工作的。逆壓電效應將高頻電振動轉(zhuǎn)換成高頻機械振動,從而產(chǎn)生超聲波,可作為發(fā)射探頭;而利用正壓電效應,將超聲振動波轉(zhuǎn)換成電信號,可作為接收探頭。為了研究和利用超聲波,人們已經(jīng)設計和制成了許多種超聲波發(fā)生器??傮w上講,超聲波發(fā)生器大體可以分為兩大類:一類是用電氣方式產(chǎn)

9、生超聲波,一類是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如圖3.1所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。圖3.1 超聲波

10、傳感器結(jié)構(gòu)3.3硬件電路設計硬件電路主要分超聲波發(fā)射接收器、單片機控制電路、顯示電路和報警電路四部分。超聲波測距器用STC89C52單片機作為核心控制單元,當測得的距離小于設定距離時,主控芯片將測得的數(shù)值與設定值進行比較處理,然后控制蜂鳴器和LED報警。設計框圖如圖3.2所示。超聲波接收模塊超聲波發(fā)射模塊STC89C52電源LED燈 蜂鳴器障 礙 物按鍵圖3.2 系統(tǒng)設計方框圖 3.3.1 超聲波模塊超聲波模塊采用現(xiàn)成的HC-SR04超聲波模塊,該模塊可提供 2cm-400cm 的非接觸式距離感測功能,測距精度可達高到3mm。模塊包括超聲波發(fā)射器、接收器與控制電路?;竟ぷ髟恚翰捎?IO口T

11、RIG 觸發(fā)測距,給至少10s的高電平信號;模塊自動發(fā)送 8 個40kHz的方波,自動檢測是否有信號返回;有信號返回,通過IO口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間*聲速(340m/s)/2。實物如圖3.3所示。其中VCC供5V電源,GND為地線,TRIG觸發(fā)控制信號輸入,ECHO回響信號輸出等四支線。圖3.3 超聲波模塊實物圖超聲波探測模塊HC-SR04的使用方法如下:IO口觸發(fā),給TRIG口至少10us的高電平,啟動測量;模塊自動發(fā)送8個40kHz的方波,自動檢測是否有信號返回;有信號返回,通過IO口ECHO輸出一個高電平,高電平持續(xù)

12、的時間就是超聲波從發(fā)射到返回的時間,測試距離=(高電平時間*340)/ 2,單位為m.程序中測試功能主要由兩個函數(shù)完成。3.3.2 單片機系統(tǒng)及顯示電路單片機與顯示系統(tǒng)電路原理圖如圖3.4所示。圖中VCC為5V的工作電源,5個發(fā)光二極管(D1D5)顯示被測距離長短的趨勢。當大于等于100cm,5個發(fā)光二極管全亮,且不發(fā)聲。距離小于100cm時開始報警,離障礙物的距離越近報警聲越急促。當被測距離大于等于75cm小于100cm時,4個發(fā)光二極管亮;當被測距離大于等于50cm小于75cm,3個發(fā)光二極管亮;當被測距離大于等于30cm小于50cm時,2個發(fā)光二極管亮;當被測距離小于30cm,1個發(fā)光二

13、極管亮,蜂鳴器急促報警。 圖3.4 單片機與顯示系統(tǒng)電路原理圖 3.3.3聲音報警電路用一個蜂鳴器和三極管8550、電阻接到單片機的P2.3引腳上,構(gòu)成聲音報警電路,其中三極管的放大作用就是:集電極電流受基極電流的控制(假設電源能夠提供給集電極足夠大的電流的話),并且基極電流很小的變化,會引起集電極電流很大的變化,且變化滿足一定的比例關(guān)系:集電極電流的變化量是基極電流變 化量的倍,即電流變化被放大了倍,所以我們把叫做三極管的放大倍數(shù)(一般遠大于1,例如幾十,幾百)。如果我們將一個變化的小信號加到基極跟發(fā)射極之間,這就會引起基極電流Ib的變化,Ib的變化被放大后,導致了Ic很大的變化。如果集電極

14、電流Ic是流過一個電阻R(蜂鳴器相當于電阻R)的,那么根據(jù)電壓計算公式 U=R*I 可以算得,這電阻上電壓就會發(fā)生很大的變化。我們將這個電阻上的電壓取出來,就得到了放大后的電壓信號了。如圖3.5示為聲音報警電路:圖3.5 聲音報警電路圖3.4 系統(tǒng)的程序設計3.4.1 測距分析最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時計數(shù)器開始計時,超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計時。 由于超聲波也是一種聲波,其聲速v與空氣溫度有關(guān),一般來說,溫度每升高1,聲速增加0.6m/s。表3.1列出了幾種溫度

15、下的聲速關(guān)系:表3.1 超聲波波速與溫度的關(guān)系表溫度()-30-20-100102030100聲速(m/s)313319325323338344349386在使用時,如果傳播介質(zhì)溫度變化不大,則可近似認為超聲波速度在傳播的過程中是基本不變的。如果對測距精度要求很高,則應通過溫度補償?shù)姆椒▽y量結(jié)果加以數(shù)值校正。聲速確定后,只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距儀的基本原理。如圖3.6所示: t超聲波發(fā)射 障礙物 S H 超聲波接收圖3.6 超聲波的測距原理 3-1 3-2式中:L-兩探頭之間中心距離的一半.又知道超聲波傳播的距離為: 3-3式中:v超聲波在介質(zhì)中的傳播速度;

16、t超聲波從發(fā)射到接收所需要的時間.將3-2、3-3代入3-1中得: 3-4其中,超聲波的傳播速度v在一定的溫度下是一個常數(shù)(例如在溫度T=30度時,V=349m/s);當需要測量的距離H遠遠大于L時,則4-4變?yōu)? 3-5所以,只要需要測量出超聲波傳播的時間t,就可以得出測量的距離H.超聲波在空氣中的傳播速度一般為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物面的距離H,即:H=340t/2。 3.4.2 主程序主程序流程圖如圖3.7所示。首先設計上電時讓蜂鳴器叫一聲,目的是提示已開機。等待1ms后執(zhí)行任務。隨后是對系統(tǒng)環(huán)境初始化:設置單片機IO口P0、P1、P2、P3為高電

17、平;設置EA=1,開啟總中斷;設置TMOD = 0x11,使定時器0和定時器1工作方式為方式1;設置TR0=1和TR1=1,允許定時器0和定時器1定時計數(shù);設置ET0=0,關(guān)閉定時器0的中斷;設置ET1=1,開啟定時器1的中斷。設置完畢后,發(fā)射超聲波信號,待檢測到超聲波信號時,執(zhí)行測距報警。 開 始系統(tǒng)初始化發(fā)送超聲波準備接受超聲波信號信號轉(zhuǎn)換成可計算的物理量對于相應的設定值做出相應的警報或者是保持不變結(jié) 束開機叫一聲圖3.7 主程序流程圖3.4.3 超聲波測距程序單片機發(fā)送端c_send(P3.2口)向TRIG(觸發(fā)信號輸入)發(fā)送10s的高電平觸發(fā),這時發(fā)射超聲波,也關(guān)閉了定時器0并且把定時

18、器0清零,保證定時器0準確計數(shù),由于采用的是12MHz的晶振,計數(shù)器每計一個數(shù)就是1s。然后單片機發(fā)送端c_recive(P3.3口)等待,待檢測到EHCO(回響信號輸出)為高電平時,開啟定時器0定時計數(shù),讀取高電平持續(xù)時間,并比較是否大于40ms,如果大于40ms,就關(guān)閉定時器0,反之,就計算出距離,再關(guān)閉定時器0。超聲波發(fā)射探測流程如圖3.8所示:IO口向TRIG發(fā)送10s的高電平觸發(fā)關(guān)閉定時器0檢測ECHO是否有高電平產(chǎn)生?開定時器0計數(shù)40ms?通過時間計算出距離YNNY定時器0清零關(guān)閉定時器0讀出高電平持續(xù)的時間等待下次發(fā)射超聲波檢測ECHO是否有高電平產(chǎn)生?NY圖3.8 超聲波發(fā)射

19、探測流程圖3.4.4 報警程序報警工作流程如圖3.9所示:開總中斷設置定時器0和定時器1的工作方式為1關(guān)定時器0中斷,開定時器1的中斷定時器1設置為2ms中斷一次,中斷150次為一個周期,時間為300ms定時器1中斷中較離障礙物的距離是否越來越近或越來越遠越近蜂鳴器發(fā)聲頻率越快,越遠蜂鳴器發(fā)聲頻率越快求得距離在測距過程后得到的30cm?50cm?75cm?100cm?亮一個燈亮兩個燈亮三個燈亮四個燈亮五個燈,蜂鳴器不發(fā)聲NNNNYYYY圖3.9 報警程序流程圖定時器1設TH1=(65536-2000)/256,TL1=(65536-2000)%256,即設置為2ms中斷一次,中斷150次為一個

20、周期,即300ms,就是一個周期執(zhí)行一次超聲波發(fā)射探測流程,為了使超聲波模塊能測的得距離更加準確。然后來比較超聲波探頭離障礙物的距離是否大于等于100cm:(1)小于100cm時,通過定時器1的中斷計的次數(shù)來比較離障礙物的距離,是否越來越近或越來越遠,來改變蜂鳴器發(fā)聲越來越快或越來越近;大于等于75cm小于100cm,亮4個燈,P1 = 0xf0;大于等于50cm小于75cm,亮3個燈,P1 = 0xf8;大于等于30cm小于50cm,亮2個燈,P1 = 0xfc;小于30cm,亮1個燈,P1 = 0xfe,并且急促報警。(2) 大于等于100cm時,beep=1,P1 = 0xe0,蜂鳴器不

21、發(fā)聲,亮5個燈。3.4.5系統(tǒng)的參考程序#include <reg52.h> /調(diào)用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量范圍0255#define uint unsigned int /無符號整型 宏定義變量范圍065535#include <intrins.h>sbit c_send = P32;/超聲波發(fā)射sbit c_recive = P33;/超聲波接收sbit beep = P23; /蜂鳴器IO口定義bit flag_300ms ;long distance; /距離uint set_d; /距離uc

22、har flag_csb_juli; /超聲波超出量程uint flag_time0; /用來保存定時器0的時間/*5個LED指示燈*/sbit led1 = P10;sbit led2 = P11;sbit led3 = P12;sbit led4 = P13;sbit led5 = P14;/*1ms延時函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);/*小延時函數(shù)*/void delay()_nop_(); /執(zhí)行一條_nop_()指令就是1us_nop_(); _nop_(); _nop

23、_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*超聲波測距程序*/void send_wave()c_send = 1; /10us的高電平觸發(fā) delay();c_send = 0; TH0 = 0; /給定時器0清零TL0 = 0;TR0 = 0; /關(guān)定時器0定時while(!c_recive); /當c_recive為零時等待TR0=1;while(c_recive) /當c_recive為1計數(shù)并等待flag_time0 = TH0 * 256 + TL0; if(flag_time0 > 40000)

24、/當超聲波超過測量范圍時,TR0 = 0;flag_csb_juli = 2;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0; /關(guān)定時器0定時distance =flag_time0; /讀出定時器0的時間distance *= 0.017; /距離 = 速度 * 時間;0.017cm/uS = (34000cm/1000000uS) / 2 /*定時器0、定時器1初始化*/void time_init() EA = 1; /開總中斷TMOD = 0X11; /定時器0、定時器1工作方式1ET0 = 0; /關(guān)定時器0中斷 TR0 = 1; /允許定時器0定時ET1 = 1; /開定時器1中斷 TR1 = 1; /允許定時器1定時/*報警函數(shù)*/void clock_l() /下限報警函數(shù) 距離超近 聲音超快static uchar value,value1;if(distance <= 100)value +; /消除實際距離在設定距離左右變化時的干擾if(value >= 2)value1 +;if(value1 &

溫馨提示

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

評論

0/150

提交評論