超聲波
人們可以聽到的聲音的頻率為20Hz~2KHz,也就是可聽聲波,超出此頻率范圍的聲音,20Hz以下的聲音稱為低頻聲波,20KHz以上的聲音稱為超聲波(Ultrasound),一般說話的頻率范圍是10Hz-8KHz。超聲波方向性好,穿透能力強,易于獲得較集中的聲能,在水中傳播距離遠,超聲波因其頻率下限大約等于人的聽覺上限而得名。
超聲波頻率分布
超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。超聲波在介質(zhì)中傳播的波形取決于介質(zhì)可以承受何種作用力以及如何對介質(zhì)激發(fā)超聲波。
通常有如下三種:
(1)縱波波型當(dāng)介質(zhì)中質(zhì)點振動方向與超聲波的傳播方向一致時,此超聲波為縱波波型。任何固體介質(zhì)當(dāng)其體積發(fā)生交替變化時均能產(chǎn)生縱波。在工業(yè)中應(yīng)用主要采用縱向振蕩。(2)橫波波型當(dāng)介質(zhì)中質(zhì)點的振動方向與超聲波的傳播方向相垂直時,此種超聲波為橫波波型。由于固體介質(zhì)除了能承受體積變形外,還能承受切變變形,因此,當(dāng)其有剪切力交替作用于固體介質(zhì)時均能產(chǎn)生橫波。橫波只能在固體介質(zhì)中傳播。(3)表面波波型是沿著固體表面?zhèn)鞑サ木哂锌v波和橫波的雙重性質(zhì)的波。表面波可以看成是由平行于表面的縱波和垂直于表面的橫波合成, 振動質(zhì)點的軌跡為一橢圓,在距表面1/4波長深處振幅最強,隨著深度的增加很快衰減,實際上離表面一個波長以上的地方,質(zhì)點振動的振幅已經(jīng)很微弱了。 另外,超聲波也有折射和反射現(xiàn)象,并且在傳播過程中有衰減。在空氣中傳播超聲波,其頻率較低,,一般為幾十KHz,而在固體、液體中則頻率可用得較高。在空氣中衰減較快,而在液體及固體中傳播,衰減較小,傳播較遠。 利用超聲波的特性,可做成各種超聲傳感器,配上不同的電路,制成各種超聲測量儀器及裝置,可用于測距、測速、清洗、焊接、碎石、殺菌消毒等,并在通訊、醫(yī)療、家電、軍事、工業(yè)、農(nóng)業(yè)等各方面得到廣泛應(yīng)用。 能夠產(chǎn)生超聲波的方法很多,常用的有壓電效應(yīng)方法、磁致伸縮效應(yīng)方法、靜電效應(yīng)方法和電磁效應(yīng)方法等。當(dāng)給壓電晶片兩極施加一個電壓短脈沖時, 由于逆壓電效應(yīng),晶片將發(fā)生彈性形變而產(chǎn)生彈性振蕩。振蕩頻率與晶片的厚度和聲速有關(guān), 適當(dāng)選擇晶片的厚度可以得到超聲頻率范圍的彈性波, 即超聲波。此種方式發(fā)射出的是一個超聲波波包,通常稱為脈沖波。超聲波測距超聲波測距系統(tǒng)主要應(yīng)用于汽車的倒車雷達、及機器人自動避障行走、建筑施工工地以及一些工業(yè)現(xiàn)場例如:液位、井深、管道長度等場合。 目前有兩種常用的超聲波測距方案。一種是基于單片機或者嵌入式設(shè)備的超聲波測距系統(tǒng),一種是基于CPLD(Complex Programmable Logic Device)的超聲波測距系統(tǒng)。
如圖1所示,實驗采用第一種方案,利用嵌入式設(shè)備編程產(chǎn)生頻率為40KHz的方波,經(jīng)過發(fā)射驅(qū)動電路放大,使超聲波傳感器發(fā)射端震蕩,發(fā)射超聲波。超聲波經(jīng)發(fā)射物反射回來,由傳感器接收端接收,再經(jīng)過接收電路放大、整形。以嵌入式微核心的超聲波測距系統(tǒng)通過嵌入式設(shè)備記錄超聲波發(fā)射的時間和反射波的時間。當(dāng)收到超聲波的反射波時,接收電路輸出端產(chǎn)生一個跳變。通過定時器計數(shù),計算時間差,就可以計算出相應(yīng)的距離。
圖1 超聲波測距原理超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。首先,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為C=340m/s,根據(jù)計時器記錄的時間T秒,就可以計算出發(fā)射點距障礙物的距離L,即:L= C×T /2 。這就是所謂的時間差測距法。
由于超聲波也是一種聲波,其聲速 C 與溫度有關(guān),表1列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大,則可認為聲速是基本不變的。如果測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒右孕U?/p>
表1 超聲波波速與溫度的關(guān)系由于超聲波易于定向發(fā)射、方向性好、強度易控制、與被測量物體不需要直接接觸的優(yōu)點,是作為倒車距離測量的理想選擇。超聲波傳感器超聲波為直線傳播,頻率越高,繞射能力越弱,但反射能力越強,為此,利用超聲波的這種性質(zhì)就可以制成超聲波傳感器。另外,超聲波在空氣中的傳播速度較慢,這就使得超聲波傳感器的使用變得簡單。 超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的激勵下發(fā)生振動產(chǎn)生的,它具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點。超聲波對液體、固體的穿透本領(lǐng)很大,尤其是在陽光不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質(zhì)或分界面會產(chǎn)生顯著反射形成反射成回波,碰到活動物體能產(chǎn)生多普勒效應(yīng)。因此超聲波檢測廣泛應(yīng)用在工業(yè)、國防、生物醫(yī)學(xué)等方面以超聲波作為檢測手段,必須產(chǎn)生超聲波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲換能器,或者超聲探頭。 超聲波傳感器主要由雙壓電晶片振子、圓錐共振板和電極等部分構(gòu)成。兩電極間加上一定的電壓時壓電晶片就會被壓縮產(chǎn)生機械形變,撤去電壓后壓電晶片恢復(fù)原狀。若在兩極間按照一定的頻率加上電壓,則壓電晶片也會保持一定的頻率振動。經(jīng)試驗測得此型號壓電晶片的固有頻率為38.4 KHz,則在兩極外加頻率為40 KHz的方波脈沖信號,此時壓電晶片產(chǎn)生共振,向外發(fā)射出超聲波。同理,沒有外加脈沖信號的超聲波傳感器在共振板接收到超聲波時也會產(chǎn)生共振,在兩極間產(chǎn)生電信號。 超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多作探測作用。它有許多不同的結(jié)構(gòu),可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、蘭姆波探頭(蘭姆波)、雙探頭(一個探頭反射、一個探頭接收)等。 超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預(yù)先了解它的性能。超聲波傳感器的主要性能指標(biāo),包括:(1) 工作頻率。工作頻率就是壓電晶片的共振頻率。當(dāng)加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。(2) 工作溫度。由于壓電材料的居里點一般比較高,特別時診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不產(chǎn)生失效。醫(yī)療用的超聲探頭的溫度比較高,需要單獨的制冷設(shè)備。(3) 靈敏度。主要取決于制造晶片本身。機電耦合系數(shù)大,靈敏度高;反之,靈敏度低。超聲波測距一體模塊HC-SR04(1)模塊性能
如圖2所示,HC-SR04模塊性能穩(wěn)定,測度距離精確,能和國外的SRF05、SRF02等超聲波測距模塊相媲美。模塊高精度,盲區(qū)(2cm)超近,最大識別距離為300cm。
圖2 HC-SR04模塊實物圖如圖3所示,系統(tǒng)的工作是由軟件和硬件的配合過程。先由嵌入式微處理器使555使能端置1,繼而555送出40KHz頻率的方波信號,經(jīng)過壓電換能器(超聲波發(fā)射頭)將信號發(fā)射出去,即發(fā)射超聲波,同時該時刻啟動定時器開時計時。該信號遇到障礙物反射回來在此稱為回波。同時,壓電換能器(超聲波接收頭)將接收的回波及接收超聲波,通過信號處理的檢波放大,通過三級放大后再送到比較器進行比較,輸出比較電壓,輸出電壓經(jīng)過三極管以后,使之電壓與嵌入式微處理器的I/O口相匹配最后送至處理器處理。
圖3 超聲波測距原理框圖(2)產(chǎn)品應(yīng)用領(lǐng)域機器人避障、物體測距、液位檢測、公共安防、停車場檢測。(3)主要技術(shù)參數(shù)
(4)接線方式及工作原理
接線方式:VCC、trig(控制端)、 echo(接收端)、 GND。如圖4所示,超聲波傳感器基本工作原理如下: 采用IO口TRIG觸發(fā)測距,給大于10us的高電平信號;模塊自動發(fā)送8個40KHz的方波,自動檢測是否有信號返回;
有信號返回,通過IO口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間*聲速(340m/s))/2。
圖4 傳感器的方向圖(5)控制方式本模塊使用方法簡單,通過嵌入式微處理器控制口發(fā)一個10us以上的高電平,啟動超聲波傳感器模塊發(fā)出8個40KHz的周期電平。然后開啟定時器,再延時100us左右以避免發(fā)射探頭的余振的干擾。接著通過在while循環(huán)中查詢外部中斷是不是已經(jīng)捕獲到回波信號,一旦檢測到有回波信號則輸出回響信號。回響信號的脈沖寬度與所測的距離成正比。由此通過發(fā)射信號到接收到的回響信號的時間間隔就可以計算得到距離。
如圖5 所示為超聲測距模塊的時序圖,根據(jù)時序圖,可以知道,回響信號的高電平就是我們用來測量距離的重要指標(biāo),通過距離與速度和時間的關(guān)系,從而求得相應(yīng)的距離。
圖5 超聲測距時序圖
一個 10us 以上脈沖觸發(fā)信號,該模塊內(nèi)部將發(fā)出 8次40KHz 周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號,回響信號的脈沖寬度與所測的距離成正比。由此通過發(fā)射信號到收到的回響信號的時間間隔可以計算得到距離。建議測量周期為 60ms 以上,以防止發(fā)射信號對回響信號的影響。
圖6 出了超聲測距模塊的發(fā)射端電路。
圖7 超聲測距發(fā)射端電路圖
壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個壓電晶片和一個換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時它就是一個超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時應(yīng)分清器件上的標(biāo)志。
圖8 給出了超聲測距模塊的接收端電路。集成電路CX20106是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器。考慮到紅外遙控常用的載波頻率38KHz與測距的超聲波頻率40KHz較為接近,可以利用它制作超聲波檢測接收電路。實驗證明用CX20106接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力。
圖8 超聲波接收電路圖9 給出了超聲測距模塊的電路。
圖10 超聲波收發(fā)電路超聲波測距模塊的影響因素
超聲波傳感器應(yīng)用起來原理簡單,也很方便,成本也很低。但是目前的超聲波傳感器都有一些缺點,比如,反射問題,噪音,交叉問題。
1. 反射問題
如果被探測物體始終在合適的角度,那超聲波傳感器將會獲得正確的角度。但是不幸的是,在實際使用中,很少被探測物體是能被正確的檢測的。 其中可能會出現(xiàn)幾種誤差:
1)三角誤差
當(dāng)被測物體與傳感器成一定角度的時候,所探測的距離和實際距離有個三角誤差。
2)鏡面反射
這個問題和高中物理中所學(xué)的光的反射是一樣的。在特定的角度下,發(fā)出的聲波被光滑的物體鏡面反射出去,因此無法產(chǎn)生回波,也就無法產(chǎn)生距離讀數(shù)。這時超聲波傳感器會忽視這個物體的存在。
3)多次反射
這種現(xiàn)象在探測墻角或者類似結(jié)構(gòu)的物體時比較常見。聲波經(jīng)過多次反彈才被傳感器接收到,因此實際的探測值并不是真實的距離值。
這些問題可以通過使用多個按照一定角度排列的超聲波圈來解決。通過探測多個超聲波的返回值,用來篩選出正確的讀數(shù)。
(2) 噪音
雖然多數(shù)超聲波傳感器的工作頻率為40-45KHz,遠遠高于人類能夠聽到的頻率。但是周圍環(huán)境也會產(chǎn)生類似頻率的噪音。比如,電機在轉(zhuǎn)動過程會產(chǎn)生一定的高頻,輪子在比較硬的地面上的摩擦所產(chǎn)生的高頻噪音,機器人本身的抖動,甚至當(dāng)有多個機器人的時候,其它機器人超聲波傳感器發(fā)出的聲波,這些都會引起傳感器接收到錯誤的信號。
這個問題可以通過對發(fā)射的超聲波進行編碼來解決,比如發(fā)射一組長短不同的音波,只有當(dāng)探測頭檢測到相同組合的音波的時候,才進行距離計算。這樣可以有效的避免由于環(huán)境噪音所引起的誤讀。
(3)交叉問題交叉問題是當(dāng)多個超聲波傳感器按照一定角度被安裝在機器人上的時候所引起的。超聲波X發(fā)出的聲波,經(jīng)過鏡面反射,被傳感器Z和Y獲得,這時Z和Y會根據(jù)這個信號來計算距離值,從而無法獲得正確的測量。
解決的方法可以通過對每個傳感器發(fā)出的信號進行編碼。讓每個超聲波傳感器只聽自己的聲音。
實驗原理超聲測距傳感器實驗環(huán)境由PC機(安裝有Windows XP操作系統(tǒng)、ADS1.2集成開發(fā)環(huán)境和J-Link-ARM-V410i仿真器)、J-Link-ARM仿真器、NXP LPC2378實驗節(jié)點板、超聲測距傳感器、實驗?zāi)K和LCD顯示實驗?zāi)K組成,如圖11所示。
圖11 傳感器實驗環(huán)境本實驗所使用實物規(guī)格圖如圖12所示,實物圖如圖13所示。
圖12超聲測距模塊實物規(guī)格圖
圖 13
將超聲波傳感模塊安裝到開發(fā)板上,然后用JLINK仿真器的一端用USB接口與電腦相連,一端的20Pin的JTAG引腳與NXP LPC2378節(jié)點板的J2相連,并給NXP LPC2378節(jié)點板上電,如圖14 所示。
圖14 超聲測距開發(fā)板連接圖距離測量本實驗,通過測距程序完成超聲波發(fā)射的控制、超聲波回波信號的檢測和距離的計算、左右距離的比較,并顯示。
首先由發(fā)射程序發(fā)射10us的高電平觸發(fā)信號,控制超聲波發(fā)射器發(fā)射8個40KHz的方波。發(fā)射器發(fā)射完信號,接收器回波電平將拉高。然后開啟定時器,例如在定時器輸入頻率為f=12MHz,進行N=8分頻后每個計數(shù)周期為 。再延時100us左右以避免發(fā)射探頭的余振的干擾,然后通過在while循環(huán)中查詢外部中斷是不是已經(jīng)捕獲到回波信號,然后獲得計時器計數(shù)值count,計算距離值。去掉多余的計數(shù)誤差后 。打開工程Distance,修改Main.c中的內(nèi)容如下。/*********************頭文件及定義*************************/#include "LPC23xx.h"#include "Lcd.h"#include "config.h"void delay(uint32 dly){uint32 i;for(; dly>0; dly--)for(i=0; i<1000; i++); ? ? ? ? ?// 約為100us}void ?delay10us(uint32 ?dly){uint32 ?i;for(; dly>0; dly--)for(i=0; i<160; i++); ? ? ? ? ?// 約為10us}void ClearRect(int index){switch(index){case 1:drawrect(0,12,128,16,0x2345);break;case 2:drawrect(0,40,128,48,0x2345);break;case 3:drawrect(0,100,128,48,0x2345);break;default:break;}}void LCD_Frame()
{
//屏幕初始顯示drawrect(0,0,128,12,0x0000);drawrect(0,12,128,16,0x2345);drawrect(0,28,128,12,0x0000);drawrect(0,40,128,48,0x2345);drawrect(0,88,128,12,0x0000);drawrect(0,100,128,48,0x2345);drawrect(0,148,128,12,0x0000);}int main(){int idx;int xpos,ypos;long count,distance;char sndBuf[20];//通訊板IO控制引腳設(shè)置IO1DIR &=~(1<<16); //IOZ/A ? ? ? ? ?輸入--接收開關(guān)狀態(tài)信號delay(10);//P3.0~P3.7定義為IO引腳PINSEL6 &= 0x0000;//定義P3.1為輸入,P3.3為輸出FIO3DIR0 = 0;FIO3DIR0 |= 1<<3;//設(shè)置LCD屏幕引腳PINSEL3=PINSEL3 & 0x00000000;IO1DIR=IO1DIR|0x05700000;//屏幕初始化RESET0;//復(fù)位delay(50);RESET1;delay(100);lcd_init();delay(20);LCD_Frame();DispAscStr(0,12," ?",2,&xpos,&ypos);DispChnStr(xpos,ypos,"超聲模塊測試",6,&xpos,&ypos);
ClearRect(2);
/*******************超聲波測距************************/idx=0;while(1){delay10us(100);//發(fā)送10us啟動電平FIO3PIN0 |= 1<<3;delay10us(1);FIO3PIN0 &= ~(1<<3);//等待高電平出現(xiàn)while(!(FIO3PIN0&(1<<1)));//配置定時器0T0TC=0; ? ? //清除定時器值T0PR=0x10; ?//預(yù)分頻寄存器T0CTCR=0; ? //定時器模式,檢測PCLK邊沿T0TCR=0x01; //計數(shù)器使能、計數(shù)器復(fù)位delay(1);//等待降為低電平while(FIO3PIN0&(1<<1));//顯示距離值,大概80為1cmcount=T0TC;distance =count/80;sndBuf[0]='d';sndBuf[1]='=';sndBuf[2]= distance /10000+'0'; ? ? ? //萬sndBuf[3]= distance %10000/1000+'0'; ?//千sndBuf[4]= distance %1000/100+'0'; ? ?//百sndBuf[5]= distance %100/10+'0'; ? ? ?//十sndBuf[6]= distance %10+'0'; ? ? ? ? ?//個sndBuf[7]='c';sndBuf[8]='m';DispAscStr(0,40,sndBuf,9,&xpos,&ypos);delay10us(3000);}/*****************************************************/return 0;}倒車實驗本實驗?zāi)7碌管?,?dāng)距離小于20cm時,提示司機注意安全倒車距離,大于安全距離時顯示距離障礙物的距離。修改Main.c中的代碼如下:
//模仿倒車,當(dāng)距離小于20cm時發(fā)出警告,并顯示當(dāng)前距離值
聲速測量
利用聲速、傳播時間、傳播距離的關(guān)系,模仿實驗條件,簡單的測出實驗環(huán)境下的聲速的大概值。
例如在NXP實驗節(jié)點板定時器輸入頻率為f=12MHz,進行N=8分頻后每個計數(shù)周期為 ,假設(shè)超聲波聲速為c,則由 ,可知 。
自動門實驗
本實驗?zāi)7伦詣娱T的功能。初始時,門關(guān)閉。當(dāng)有人到達門前,原有的距離被改變,當(dāng)人與測距器的距離達到臨界值時(例如距離小于50cm),打開自動門。否則,認為沒有人員的到來,關(guān)閉自動門。
idx=0;//初始狀態(tài),門處于關(guān)閉狀態(tài)if((distance<50)&&(idx==1)){drawrect(0,40,128,48,0x2345);DispAscStr(0,40,"status:open",11,&xpos,&ypos);idx=0;//關(guān)閉門}else if((distance>50)&&(idx==0)){drawrect(0,40,128,48,0x2345);DispAscStr(0,40,"status:close",12,&xpos,&ypos);idx=1;//打開門}
-
傳感器
+關(guān)注
關(guān)注
2551文章
51134瀏覽量
753895 -
超聲波
+關(guān)注
關(guān)注
63文章
3018瀏覽量
138415
原文標(biāo)題:超聲波測距與超聲測距傳感器是這樣玩起來的
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論