久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2998|回復: 0
打印 上一主題 下一主題
收起左側

超聲波測距傳感器SDM-IO

[復制鏈接]
跳轉到指定樓層
樓主
ID:157406 發表于 2016-12-24 20:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
超聲波測距傳感器SDM-IO
本模塊最遠測試距離是1500mm,測量周期10ms專為小車設計。
1、本模塊性能穩定,測度距離精確。能和國外的SRF05,SRF02等超聲波測距模塊相媲美。模塊高精度,首創無盲區(0cm開始測量),穩定的測距是此產品成功走向市場的有力保障。
2 主要技術參數:
     1)使用電壓:DC3.8-5.5V         
2)靜態電流:小于8mA
     3)輸出TTL電平                          
4)感應角度:不大于15度        
     5)探測距離:0cm-1500mm     
6)高精度:可達3mm
接線方式,VCCtrig(控制端)、  echo(接收端)、 GND
模塊主要特點:
   (1)超微型,只相當于兩個發射,接收頭的面積,已經沒法再小了.
   (2)無盲區(8mm內成三角形誤差稍大).
   (3)反應速度快,10ms的測量周期,不容易丟失高速目標。
   (4)發射頭,接收頭緊靠,和被測目標基本成直線關系(8mm內還是大三角形,這個是發射,接收頭的物理形狀決定了).
   (5)模塊上有LED指示,方便觀察和測試!

1:超聲波測距原理
超聲波是一種頻率比較高的聲音,指向性強.超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射后遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達原理是一樣的。
測距的公式表示為:L=C×T
式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發射到接收時間數值的一半)。
已知超聲波速度C=344m/s (20℃室溫)
超聲波傳播速度誤差
超聲波的傳播速度受空氣的密度所影響,空氣的密度越高則超聲波的傳播速度就越快,而空氣的密度又與溫度有著密切的關系,近似公式為:C=C0+0.607×T℃
式中:C0為零度時的聲波速度332m/s;
T為實際溫度(℃)。
對于超聲波測距精度要求達到1mm時,就必須把超聲波傳播的環境溫度考慮進去。
2:超聲波模塊使用方法
使TRIG=0,最少延遲10us的時間,然后TRIG=1,超聲波模塊此時開始啟動一個測量周期,發射若干個40khz的聲波,然后啟動10ms的定時器等待反射波,如果收到反射波,模塊的ECHO輸出一個寬度為150us的負脈沖,從TRIG=1到ECHO=0的時間即為從發射到收到發射波的時間.
3:為什么距離最遠只有1500mm?
本傳感器專為智能小車等微型設備而設計,適合小范圍,小空間,封閉空間的場合,大家知道,超聲波傳輸速度低,衰減時間長,如果一味追求距離,就會導致響應時間長,丟失目標,在室內等封閉場合會形成多次發射震蕩,傳感器就無法正常工作了.
下面從傳感器的反應時間來分析距離的問題:
超聲波空氣中速度每秒約340米,折算成毫秒,就是340mm/ms,探測距離為1500mm的話,探測到回波的距離就是3000mm,超聲波的傳輸時間是9ms,加上電路延遲,傳感器的能量延遲,再預留一些保護時間(讓上次超聲波能量消失),每次測量時間就是10ms.10ms的反應速度對于智能小車來說是合適的,高速運動時不會丟失目標.
現在市面有一種傳感器是5米,這個5米是最大距離,探測目標一般是墻面等大發射面,對于小目標是不可能達到的,先不管這個小目標到底是多少距離了,我們從傳感器的反應時間來分析.這種傳感器的時序跟我們的不同,它是先收到反饋然后再從Echo的脈寬上反饋出來的,而不是從echo和trig的時差來反饋的,這樣傳感器的反應時間又增加了一倍!這樣5米傳感器的反應時間最少是(上面計算1米的最少時間是6ms):5*6*2=60ms!就算最快60ms的測量周期,對于智能小車能應用已經太遲鈍了!當主控CPU探測到目標時,小車恐怕已經撞上去了!
4:你的超聲波發射和接收頭靠的很近,為什么?
大家看到的超聲波傳感器一般發射和接收頭分得比較開,是因為靠的越近發射頭的橫向波能量傳遞給接收頭的越高,導致盲區變得很大,甚至無法正常工作,讓發射頭和接收頭分開點是不得以而為之,這樣帶為的壞處是發射頭,接收頭和測量物體之間是三角形連接!很明顯距離越近,三角形的角度就越大,這樣就帶來誤差了.而本店傳感器的發射頭和接收頭是緊密挨在一起的,和探測目標就是平行關系,而不是三角關系.
5:你的超聲波模塊真的無盲區?
千真萬確!商品圖片里帶有示波器的截圖,大家可以看到發射波和反射波的時間關系,反射波只有一個!本超聲波傳感器獨創性的消除了橫向干擾波,最小測量距離從0開始.
6:計算距離為什么要減去固定延遲?
超聲波發射頭和接收頭的內部晶體和外體有一個固定距離,電路也有固定延遲,總延遲時間為250us,當減去這個250us延遲時程序要做一些容錯判斷,因為近距離(10mm內)誤差較大(距離在10mm范圍內,發射頭,接收頭,和目標形成大三角形,測量誤差大),t2-t1非常接近250us時當作0距離處理,當t2-t1>250us時可線性處理.
7:不同物體測量距離不同?
對!因為超聲波就是頻率高些的聲音,不同材料,形狀的物體對聲音的吸收率不同,反射角度不同,只有反射到接收頭(也就是超聲波發射的方向)的能量才會被探測到,所以不同物體測量的有效測量距離不同.一般來說,平面光滑的物體(如鏡面)反射距離最遠,通常說的最大探測距離指的就是這類物體,細小的物體探測距離很近很多,如細棉線,面積小,而且吸收聲音,就探測不到.
下面列舉實際物體的最大探測距離:
1.圓珠筆,200mm
2.手,400mm
3.1mm粗帶塑料套的電線,30mm
4.游標卡尺,450mm
5.人體(穿厚衣服),400mm
6.墻面,1200mm(最大1500mm左右,需要垂直測量)
7.1mm粗細棉線,探測不到
8.竹牙簽,40mm
8:有應用例程嗎?
有,下面引用一個位網友的程序,用51單片機做的控制,功能是每隔12ms重復測量,并把測量結果發送到串口,在PC上用sscom32程序觀察.在這個例子中,用到了兩個IO,一個做輸入,一個做輸出,如果IO緊張,能不能用更少的IO呢?可以的,具體見下一個問答.
#include "reg51.h"
#include "sio.h"
sbit TRIG = P2^7;
sbit ECHO = P2^6;
#define XTAL 19660800L
#define PERIOD12MS (12L * XTAL / 12L / 256L / 1000L)
#define DISTANCE_PARAM (XTAL / 10000L)
void delay(unsigned int t)
{    while(t--) ;
}
void main (void)
{   
    EA = 0;

    TMOD &= ~0x0F;      // clear timer 0 mode bits
    TMOD |= 0x01;       // put timer 0 into MODE 1, 16bit

    com_initialize ();    /* initialize interrupt driven serial I/O */
    com_baudrate (14400); /* setup for 14400 baud */
    EA = 1;                         // Enable Interrupts
    while (1)
    {
        unsigned int distance;
        unsigned char dh, dl;
START:
        TR0 = 0;
        TH0 = 0;
        TL0 = 0;

        TRIG = 0;    //發出一個負脈沖,啟動一個測量周期
        delay(100);
        TRIG = 1;    //開始測量
        TR0 = 1;     //同時啟動定時器0
        while (ECHO) //監視ECHO信號
        {
            if (TH0 >= PERIOD12MS)  //一個測量周期超時
                goto START;
        }
        TR0 = 0;    //停止計時
     //計算距離:為了提高精度,分母分子取合適的數值,定時器計數換算成時間*聲速(340),得到以mm為單位
        distance = ((TH1 * 256 + TL1)* 12L * 34L) / DISTANCE_PARAM / 2;
        if (distance >= 30)
            distance -= 30;
        else
            distance = 0;
               
        dh = distance >> 8;
        dl = distance;
com_putchar(dh);
        com_putchar(dl);

        TR0 = 1;
        while (TH0 < PERIOD12MS) ;  //保持大約12ms的測量周期
    }
}
9:IO緊張,可以用更少的IO嗎?
可以,但需要理解,這一個IO是半雙工操作的,也就是說,主控CPU輸出的時候,模塊只能輸入,模塊輸出的時候,CPU只能輸入,為了避免出錯導致主控和模塊同時輸出,主控CPU的IO和模塊的TRIG,ECHO之間串聯一個合適的電阻保護,如1k,這樣即使程序出錯,硬件也不會損壞.
主控CPU----[1k電阻]-----TRIG,ECHO連接在一起.
#include "reg51.h"
#include "sio.h"

sbit TRIG = P2^0;   //主控單片機的P2.0同時連接模塊的TRIG,ECHO,中間串1k電阻
sbit ECHO = P2^0;
#define XTAL 19660800L
#define PERIOD12MS (12L * XTAL / 12L / 256L / 1000L)
#define DISTANCE_PARAM (XTAL / 10000L)

void delay(unsigned int t)
{
    while(t--) ;
}

void main (void)
{   
    EA = 0;

    TMOD &= ~0x0F;      // clear timer 0 mode bits
    TMOD |= 0x01;       // put timer 0 into MODE 1, 16bit

    com_initialize ();    /* initialize interrupt driven serial I/O */
    com_baudrate (14400); /* setup for 14400 baud */


    EA = 1;                         // Enable Interrupts

    while (1)
    {
        unsigned int distance;
        unsigned char dh, dl;
START:
        TR0 = 0;
        TH0 = 0;
        TL0 = 0;

        TRIG = 0;    //發出一個負脈沖,啟動一個測量周期
        delay(100);
        TRIG = 1;    //開始測量
        TR0 = 1;     //同時啟動定時器0
        while (ECHO) //監視ECHO信號
        {
            if (TH0 >= PERIOD12MS)  //一個測量周期超時
                goto START;
        }
        TR0 = 0;    //停止計時

        //計算距離:為了提高精度,分母分子取合適的數值,定時器計數換算成時間*聲速(340),得到以mm為單位
        distance = ((TH1 * 256 + TL1)* 12L * 34L) / DISTANCE_PARAM / 2;
        if (distance >= 30)
            distance -= 30;
        else
            distance = 0;
               
        dh = distance >> 8;
        dl = distance;

        com_putchar(dh);
        com_putchar(dl);

        TR0 = 1;
        while (TH0 < PERIOD12MS) ;  //保持大約12ms的測量周期
    }
}
10:需要更短周期的測量,可以嗎?
可以,模塊只捕獲第一個反射信號,ECHO輸出(150us脈沖)后馬上等待下一個測量命令(TRIG上的脈沖),如果主控CPU監控ECHO的電平信號,在ECHO從0變到1后馬上就可以進行下一輪測量了,而不必等到10ms后再進行測量.但需要注意:超聲波有可能多次來回發射(在被測物體距離很近或很封閉的空間),連續測量如果碰到這種場合就有可能收到錯誤的信號,導致測得的距離不準確了.
11:抗干擾性如何?
抗干擾性能比較強.設計上有幾個措施:1.盡量降低輸入阻抗,阻抗越高越容易引入干擾;2.模塊設計的距離比較近,信號放大倍數只滿足此距離;3.一般干擾源離模塊越近,越容易干擾,模塊對近距離的信號進行了衰減.經實際測試,模塊對近距離的噪音(擊掌,口哨,音頻喇叭)干擾不產生動作,但較強機械震動有時會產生干擾(有較強諧波,含40khz成分),因此超聲波模塊避免跟可能產生振動的物體硬連接,中間可以用橡膠等減震,這樣就能可靠工作了.
12:探測角度?
近距離探測角度比較大,約60度,越遠距離,探測角度越小,最遠處接近0度.
13:模塊有其他接口方式嗎?
有.另有TTL串口模式.其他如IIC,SPI可以定做,但最常用的是IO和TTL接口方式,具體咨詢店主.


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 曰韩一二三区 | 亚洲毛片一区二区 | 北条麻妃99精品青青久久主播 | 不卡一区| 一级在线视频 | 免费性视频 | 欧一区| 亚洲午夜视频在线观看 | 国产成人麻豆免费观看 | 国产福利视频在线观看 | 国产一区二区三区四区在线观看 | 中文字幕第九页 | 国产高清久久久 | 91高清视频在线 | 一级欧美黄色片 | 99国内精品久久久久久久 | 日韩毛片中文字幕 | 97精品超碰一区二区三区 | 久久精品91久久久久久再现 | 国产一区 | 日韩视频二区 | 毛色毛片免费看 | 一区二区三区在线观看视频 | 麻豆视频在线免费观看 | 日韩资源 | 久久久精品一区二区 | 亚洲久在线 | 91精产国品一二三区 | 日本一区二区高清视频 | 久久一区 | 久久一区二区三区四区 | 中文在线日韩 | 亚洲成年影院 | 精品国产一区二区三区久久久蜜月 | 五月天天丁香婷婷在线中 | 免费一区 | 久久九九99| 日韩欧美在线播放 | 在线免费观看黄网 | 一二三四在线视频观看社区 | 精品视频久久久 |