『壹』 超聲波測距儀的組成結構
超聲波測距儀由超聲波發生電路、超聲波接收放大電路、計數和顯示電路組成。
超聲波發生電路為超聲波發生電路。雙定時器EN556(U2b)組成單穩態觸發器。R6和C6構成微分電路,其作用是:當按鍵S2按下時,低電平變成正負尖頂脈沖,經過VD1得到負尖頂脈沖,觸發單穩態觸發器翻轉。單穩態翻轉輸出的高電平持續約1 ms,即tw≈1.1R5C5≈1 ms。EN556(U2n)組成多諧振盪器,接地電阻測試儀振盪頻率f1=1/T1≈1/{0.7[(R1+R2)+2(R3+R4)]C3≈40 kHz。該振盪器振盪受單穩態觸發器輸出電平控制。當單穩態觸發器輸出高電平時,多諧振盪器產生振盪,EN556的引腳5輸出約40個頻率為40 kHz、占空比約50%的矩形脈沖。考慮到多諧振盪器起振階段不穩定,因此設計輸m脈沖數較多。若輸出脈沖數太少,則發射強度小,測量距離短。但脈沖數過多,發射持續時間長,在距離被測物較近時,脈沖串尚未發射完,這樣導致先發射出的脈沖產生的回波將到達接收端,影響測距結果,造成測距盲區增大。(U1)的U1a~U1e組成超聲波脈沖驅動電路,可提高驅動超聲波發送感測器的脈沖電壓幅值,有效進行電/聲轉換,增強發射超聲波的能力,增大測量距離。40 kHz脈沖串的一路經U1a反相,再經由U1b和U1e並聯的反相器反相;其另一路經南U1c和U1d並聯的反相器反相。
『貳』 超聲波傳播距離與什麼有關(製作超聲波測距儀)
40KHz的超聲波,看你發出多大能量了,通常採用直徑16mm的開放式探頭,可以有效檢測6米左右的距離,封閉式防水探頭能檢測3米左右距離。驅動電壓在100~200Vp-p以內,接收電路放大1000倍左右。
如果40KHz可以使用直徑50mm以上的封閉式探頭,瞬間功率可以達到100W以上,可以有效檢測10米左右的距離,這里沒有打錯,就是10米這么點。40KHz超聲波在空氣中損耗還是不小的,距離提高一倍,信號強度減少很多倍。由於封閉探頭靈敏度略低,接收電路需要放大1-10萬倍,驅動電壓一般在400Vp-p以上。
如果能把頻率降低到30KHz或20KHz,檢測距離會延長很多,但精度和抗干擾性也會降低。
『叄』 做超聲波測距儀需要哪些元器件(詳細),謝謝!
需要如下元件,具體可到電子樂屋看看。
R1 10k 1/4W電阻器 1
R2 1k 1/4W電阻器 1
R3 4.7k 1/4W電阻器 1
R4 150k 1/4W電阻器 1
R5 4.7k 1/4W電阻器 1
R6 150k 1/4W電阻器 1
R7 4.7k 1/4W電阻器 1
R8 4.7k 1/4W電阻器 1
R9 4.7k 1/4W電阻器 1
R10 470 1/4W電阻器 1
R11 470 1/4W電阻器 1
R12 470 1/4W電阻器 1
R13 470 1/4W電阻器 1
R14 470 1/4W電阻器 1
R15 470 1/4W電阻器 1
R16 470 1/4W電阻器
BG1 9013 NPN 1
BG2 9013 NPN 1
BG3 9013 NPN 1
LED HS310561K 三位數碼管 1
C1 220uF 電解電容器 1
C2 104 瓷片電容器 1
C3 10uF 電解電容器 1
C4 30pF 瓷片電容器 1
C5 30pF 瓷片電容器 1
C6 104 瓷片電容器 1
C7 104 瓷片電容器 1
IC1 AT89C2051 單片機 1
Y1 12MHz 晶振 1
T T40-16T 傳聲波感測器 1
R T40-16R 傳聲波感測器 1
D1 IN4148 開關二極體 1
D2 IN4148 開關二極體 1
『肆』 哪位高手能告訴我一下如果利用51做一個超聲波測距儀。
發射完成後,進入中斷,設定為下降沿中斷,也就是說,下降沿來的時候,應該是盲區,然後再改成上升沿中斷,這樣應該就可以了。不過我們的是用AD采樣來實現的。
『伍』 幫忙做一個超音波測距儀程序,c語言和匯編語言都行
這里有一個超聲波測距程序,供參考:
#include<reg52.H>//器件配置文件
#include<intrins.h>
//感測器介面
sbitRX=P3^2;
sbitTX=P3^3;
//按鍵聲明
sbitS1=P1^4;
sbitS2=P1^5;
sbitS3=P1^6;
//蜂鳴器
sbitFeng=P2^0;
sbitW1=P1^0;
sbitW2=P1^1;
sbitW3=P1^2;
sbitW4=P1^3;
//變數聲明
unsignedinttime=0;
unsignedinttimer=0;
unsignedcharposit=0;
unsignedlongS=0;
unsignedlongBJS=50;//報警距離80CM
//模式0正常模式1調整
charMode=0;
bitflag=0;
bitflag_KEY=0;
unsignedcharconstdiscode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/}; //數碼管顯示碼0123456789-和不顯示
//unsignedcharconstpositon[4]={0xfd,0xfb,0xf7,0xfe}; //位選
unsignedchardisbuff[4] ={0,0,0,0}; //數組用於存放距離信息
unsignedchardisbuff_BJ[4] ={0,0,0,0};//報警信息
voidDisplay();
//延時20ms(不精確)
voiddelay(void)
{
unsignedchara,b,c;
for(c=2;c>0;c--)
for(b=38;b>0;b--)
for(a=60;a>0;a--);
}
//按鍵掃描
voidKey_()
{
if(flag_KEY==0)
{
if(Mode!=0)
{
//+
if(S1==0)
{
delay(); //延時去抖
if(S1==0)
{
BJS++; //報警值加
flag_KEY=1;
if(BJS>=151)//最大151
{
BJS=0;
}
// while(S1==0)
// Display();
}
}
//-
if(S2==0)
{
delay();
if(S2==0)
{
BJS--; //報警值減
flag_KEY=1;
if(BJS<=1) //最小1
{
BJS=150;
}
// while(S2==0)
// Display();
}
}
}
//功能
if(S3==0) //設置鍵
{
delay();
if(S3==0)
{
Mode++; //模式加
flag_KEY=1;
if(Mode>=2) //加到2時清零
{
Mode=0;
}
// while(S3==0)
// Display();
}
}
}
if((P1&0x70)==0x70)
{
flag_KEY=0;
}
}
/**********************************************************************************************************/
//掃描數碼管
voidDisplay(void)
{
//正常顯示
if(Mode==0)
{
P0=0x00;//關閉顯示
if(posit==1)//數碼管的小數點
{
P0=(discode[disbuff[posit]])|0x80;//按位或,最高位變為1,顯示小數點
}
elseif(posit==0)
{
P0=~discode[11];
}
else
{
P0=discode[disbuff[posit]];
}
switch(posit)
{
case0:W1=0;W2=1;W3=1;W4=1;break;
case1:W1=1;W2=0;W3=1;W4=1;break;
case2:W1=1;W2=1;W3=0;W4=1;break;
case3:W1=1;W2=1;W3=1;W4=0;break;
}
posit++;
if(posit>3) //每進一次顯示函數,變數加1
posit=0; //加到3時清零
}
//報警顯示
else
{
P0=0x00;
if(posit==1)//數碼管的小數點
{
P0=(discode[disbuff_BJ[posit]])|0x80;
}
elseif(posit==0)
{
P0=0x76; //顯示字母
}
else
{
P0=discode[disbuff_BJ[posit]];
}
switch(posit)
{
case0:W1=0;W2=1;W3=1;W4=1;break;
case1:W1=1;W2=0;W3=1;W4=1;break;
case2:W1=1;W2=1;W3=0;W4=1;break;
case3:W1=1;W2=1;W3=1;W4=0;break;
}
posit++;
if(posit>3)
posit=0;
}
}
/**********************************************************************************************************/
//計算
voidConut(void)
{
time=TH0*256+TL0; //讀出T0的計時數值
TH0=0;
TL0=0; //清空計時器
S=(time*1.7)/100;//算出來是CM
//聲音的速度是340m/s,時間的單位是us,計算到秒需要將時間數據/1000000,
//長度=速度*時間,340*time/1000000,長度數據單位是m轉換成cm需要乘以100得到340*time/10000,
//小數點都向左移兩位得到3.4*time/100,因為超聲波是往返了,所以再除以2,得到距離數據(time*1.7)/100
if(Mode==0) //非設置狀態時
{
if((S>=700)||flag==1)//超出測量范圍顯示「-」
{
Feng=0; //蜂鳴器報警
flag=0;
disbuff[1]=10; //「-」
disbuff[2]=10; //「-」
disbuff[3]=10; //「-」
}
else
{
//距離小於報警距
if(S<=BJS)
{
Feng=0; //報警
}
else//大於
{
Feng=1; //關閉報警
}
disbuff[1]=S%1000/100; //將距離數據拆成單個位賦值
disbuff[2]=S%1000%100/10;
disbuff[3]=S%1000%10%10;
}
}
else
{
Feng=1;
disbuff_BJ[1]=BJS%1000/100;
disbuff_BJ[2]=BJS%1000%100/10;
disbuff_BJ[3]=BJS%1000%10%10;
}
}
/**********************************************************************************************************/
//定時器0
voidzd0()interrupt1 //T0中斷用來計數器溢出,超過測距范圍
{
flag=1; //中斷溢出標志
}
/**********************************************************************************************************/
//定時器1
voidzd3()interrupt3 //T1中斷用來掃描數碼管和計800MS啟動模塊
{
TH1=0xf8;
TL1=0x30; //定時2ms
Key_(); //掃描按鍵
Display(); //掃描顯示
timer++; //變數加
if(timer>=400) //400次就是800ms
{
timer=0;
TX=1; //800MS啟動一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
}
/**********************************************************************************************************/
//主函數
voidmain(void)
{
TMOD=0x11; //設T0為方式1
TH0=0;
TL0=0;
TH1=0xf8; //2MS定時
TL1=0x30;
ET0=1; //允許T0中斷
ET1=1; //允許T1中斷
TR1=1; //開啟定時器
EA=1; //開啟總中斷
while(1)
{
while(!RX); //當上次接收完波後,RX引腳是低電平,取反就是1,此while成立,反復判斷RX狀態。當RX沒有接收到返回波時是高電平,取反就是0,此while不成立,跳出
TR0=1; //開啟計數
while(RX); //當RX沒有接收到返回波,此while成立,程序停在這里一直判斷RX狀態。當RX接收到返回波,RX引腳變為低電平,此while不成立,跳出
TR0=0; //停止計數
Conut(); //計算
}
}
『陸』 設計超聲波測距儀不用單片機計數用數碼管顯示部分怎麼做
我去年大學生電子設計大賽就是做的這個題目,用兩節普通5號電池測量20cmX20cm物體的距離達到16m,為省第一名,但是由於幕後原因沒有評一等獎。
言歸正傳,超聲波測距儀你不用單片機做,根本不可能做出來。
而且你最好要選用16位或者32位的單片機,這種單片機計數器和定時器都要比8位好很多,不會不夠用。
實際試驗時,我們把發射換能器電壓升到400V,每次發出30個聲波脈沖,接受換能器增益10000倍。
測量遠距離物體時地面的反射波會先到達造成測量誤差超級大,而且遠距離時,反射的波很難達到30個,總會丟失。以上就是你必須用單片機的原因。用程序就可以解決上述問題。
還有,10m以上時測量上述物體可能聲波根本打不到,你必須把你的換能器對的很准,所以當時我們設計了一個簡易的激光瞄準器。
好運!
『柒』 超聲波測距的原理
二、 超聲波測距原理
1、 超聲波發生器
為了研究和利用超聲波,人們已經設計和製成了許多超聲波發生器。總體上講,超聲波發生器可以分為兩大類:一類是用電氣方式產生超聲波,一類是用機械方式產生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發生器。
2、壓電式超聲波發生器原理
壓電式超聲波發生器實際上是利用壓電晶體的諧振來工作的。超聲波發生器內部結構如圖1所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等於壓電晶片的固有振盪頻率時,壓電晶片將會發生共振,並帶動共振板振動,便產生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時它就成為超聲波接收器了。
3、超聲波測距原理
超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離(s),即:s=340t/2 。這就是所謂的時間差測距法。
超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射後遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達原理是一樣的。
測距的公式表示為:L=C×T
式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發射到接收時間數值的一半)。
超聲波測距主要應用於倒車提醒、建築工地、工業現場等的距離測量,雖然目前的測距量程上能達到百米,但測量的精度往往只能達到厘米數量級。
由於超聲波易於定向發射、方向性好、強度易控制、與被測量物體不需要直接接觸的優點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度,但是目前國內的超聲波測距專用集成電路都是只有厘米級的測量精度。通過分析超聲波測距誤差產生的原因,提高測量時間差到微秒級,以及用LM92溫度感測器進行聲波傳播速度的補償後,我們設計的高精度超聲波測距儀能達到毫米級的測量精度。
超聲波測距誤差分析
根據超聲波測距公式L=C×T,可知測距的誤差是由超聲波的傳播速度誤差和測量距離傳播的時間誤差引起的。
時間誤差
當要求測距誤差小於1mm時,假設已知超聲波速度C=344m/s (20℃室溫),忽略聲速的傳播誤差。測距誤差s△t<(0.001/344) ≈0.000002907s 即2.907μs。
在超聲波的傳播速度是准確的前提下,測量距離的傳播時間差值精度只要在達到微秒級,就能保證測距誤差小於1mm的誤差。使用的12MHz晶體作時鍾基準的89C51單片機定時器能方便的計數到1μs的精度,因此系統採用89C51定時器能保證時間誤差在1mm的測量范圍內。
超聲波傳播速度誤差
超聲波的傳播速度受空氣的密度所影響,空氣的密度越高則超聲波的傳播速度就越快,而空氣的密度又與溫度有著密切的關系,如表1所示。
已知超聲波速度與溫度的關系如下:
式中: r —氣體定壓熱容與定容熱容的比值,對空氣為1.40,
R —氣體普適常量,8.314kg·mol-1·K-1,
M—氣體分子量,空氣為28.8×10-3kg·mol-1,
T —絕對溫度,273K+T℃。
近似公式為:C=C0+0.607×T℃
式中:C0為零度時的聲波速度332m/s;
T為實際溫度(℃)。
對於超聲波測距精度要求達到1mm時,就必須把超聲波傳播的環境溫度考慮進去。例如當溫度0℃時超聲波速度是332m/s, 30℃時是350m/s,溫度變化引起的超聲波速度變化為18m/s。若超聲波在30℃的環境下以0℃的聲速測量100m距離所引起的測量誤差將達到5m,測量1m誤差將達到5cm。
『捌』 超聲波測距儀怎麼做
「網路」上找一下「一款製作容易免調試的超聲波測距板」,可以參考一下的。
『玖』 超聲波測距儀原理圖
超聲波測距原理是在超聲波發射裝置發出超聲波,它的根據是接收器接到超聲波時的時間差,與雷達測距原理相似。 超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。
(超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t(秒),就可以計算出發射點距障礙物的距離(s),即:s=340t/2)
超聲波指向性強,在介質中傳播的距離較遠,因而超聲波經常用於距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單、易於做到實時控制,並且在測量精度方面能達到工業實用的要求,因此在移 動機器人的研製上也得到了廣泛的應用。
為了使移動機器人能自動避障行走,就必須裝備測距系統,以使其及時獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波測距系統,就是為機器人了解其前方、左側和右側的環境而提供一個運動距離信息。
為了研究和利用超聲波,人們已經設計和製成了許多超聲波發生器。總體上講,超聲波發生器可以分為兩大類:一 類是用電氣方式產生超聲波,一類是用機械方式產生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生 的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。較為常用的是壓電式超聲波發生器。
『拾』 測距儀原理大揭秘
測距儀顧名思義是一種用於距離測量的儀器,根據測距基本原理的不同可以分為三種類型:激光測距儀,超聲波測距儀和紅外測距儀。在裝修過程中,測距儀是一個必不可少的常用工具,了解測距儀的原理能夠有效幫助我們認識其工作過程,從而熟練的運用它。今天,小編就為大家揭秘各個類型測距儀原理。
激光測距儀原理
測量方法一:脈沖式激光測距
脈沖激光測距簡單來說就是針對激光的飛行時間差進行測距,它是利用激光脈沖持續時間極短,能量在時間上相對集中,瞬時功率很大的特點進行測距。在有合作目標時,可以達到很遠的測程;在近距離測量(幾千米內)即使沒有合作目標,在精度要求不高的情況下也可以進行測距。該方法主要用於地形測量,戰術前沿測距,導彈運行軌道跟蹤,激光雷達測距,以及人造衛星、地月距離測量等。
脈沖式激光測距原理如圖4.1所示。由激光發射系統發出一個持續時間極短的脈沖激光,經過待測距離L之後,被目標物體反射,發射脈沖激光信號被激光接收系統中的光電探測器接收,時間間隔電路通過計算激光發射和回波信號到達之間的時間t,得出目標物體與發射出的距離L。
其精度取決於:激光脈沖的上升沿、接收通道帶寬、探測器信噪比和時間間隔精確度。
測量方法二:三角法激光測距
激光位移感測器的測量方法稱為激光三角反射法,激光測距儀的精度是一定的,同樣的測距儀測10米與100米的精度是一樣的。而激光三角反射法測量精度是跟量程相關的,量程越大,精度越低。
激光測距的另一種原理是激光三角反射法原理:半導體激光器1被鏡片2聚焦到被測物體6。反射光被鏡片3收集,投射到CCD陣列4上;信號處理器5通過三角函數計算陣列4上的光點位置得到距物體的距離。
激光發射器通過鏡頭將可見紅色激光射向物體表面,經物體反射的激光通過接受器鏡頭,被內部的CCD線性相機接受,根據不同的距離,CCD線性相機可以在不同的角度下「看見」這個光點。根據這個角度即知的激光和相機之間的距離,數字信號處理器就能計算出感測器和被測物之間的距離。
同時,光束在接收元件的位置通過模擬和數字電路處理,並通過微處理器分析,計算出相應的輸出值,並在用戶設定的模擬量窗口內,按比例輸出標准數據信號。如果使用開關量輸出,則在設定的窗口內導通,窗口之外截止。另外,模擬量與開關量輸出可設置獨立檢測窗口。
常用在鐵軌、產品厚度、平整度、尺寸等方面。
測量方法三:激光回波法
激光位移感測器採用回波分析原理來測量距離可以達到一定程度的精度。感測器內部是由處理器單元、回波處理單元、激光發射器、激光接受器等部分組成。激光位移感測器通過激光發射器每秒發射一百萬個脈沖到檢測物並返回至接收器,處理器計算激光脈沖遇到檢測物並返回接收器所需時間,以此計算出距離值,該輸出值是將上千次的測量結果進行的平均輸出。
其原理與脈沖式激光測距類似,又稱脈沖回波法,用於激光位移感測器。
超聲波測距儀原理
超聲波具有指向性強,傳播距離遠(在介質中),因此也常被運用於距離測量。
超聲波在空氣中傳播,遇到障礙物就會立即返回。超聲波測距儀的工作原理就是通過發射裝置發出超聲波,然後根據接收器接收超聲波的時間差而計算出距離。具體計算方法如下:
超聲波在空氣中的傳播速度v=340m/s,如果超聲波在空氣中傳播於A、B兩點間往返一次所需時間為t,那麼A、B兩點間距離D=vt/2
其中:
D——測站點A、B兩點間距離;
v——超聲波在空氣中的傳播速度;
t——光往返A、B一次所需的時間。
超聲波測距儀在軍事和捕方面用途廣泛,還可以運用於海底地貌測量。
紅外測距儀原理
紅外測距儀利用紅外信號遇到障礙物距離的不同反射的強度也不同的原理來檢測障礙物的遠近。測距儀內有紅外信號發射與接收二極體,發射管發射特定頻率的紅外信號後,接收管接收了障礙物反射的這個信號,經過數字化處理後就能得出障礙物間的距離。簡而言之,就是利用高頻調制的紅外線在待測距離上往返產生的相位移算出光束度越時間t,從而得出距離D=ct/2(c為紅外線在的傳播速度)。
紅外線測距儀便宜且易制,使用起來也快捷安全,但是精度較低,測量距離也比較近,且方向性差。
簡單來說,三種測距儀的原理都是通過發射某種物質使其在介質中以一定的速度傳播,並接收其遇到障礙物後反射回來的部分,然後根據路程(S)=時間(t)*速度(v)的簡單數學原理公式而估算出兩點間的距離。以上就是有關測距儀原理的內容,希望能對大家有所幫助!