<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      行業資訊>
      基于AT89C52的超聲波...

      行業資訊

      基于AT89C52的超聲波測距儀的設計方案


      基于提高測量精度的目的,設計了具有溫度補償的超聲波測距系統。該系統采用DS18B20溫度傳感器對現場溫度進行檢測,并通過軟件計算實現溫度補償。實驗結果表明:此系統具有測量精度高的優點。

        測距技術在物位檢測、醫療探傷、汽車防撞等民用、工業領域應用廣泛,由于超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測,并且易于定向發射,方向性好,發射強度好控制,且不受電磁干擾影響,因而利用超聲波測距是一種有效的非接觸式測距方法。但超聲波在不同環境溫度下傳播速度不同,如忽略溫度影響,將影響最終測量精度。本文介紹的超聲波測距儀采用渡越時間檢測法,使用了DS1 8B20溫度傳感器對現場溫度進行檢測,并通過軟件計算實現波速的溫度補償,消除了溫度對測量結果的影響,使測量誤差降低。


        1 系統工作原理

        超聲波測距原理如圖1所示。

        圖1 超聲波測距原理

        圖1 超聲波測距原理

        

        式中c--超聲波波速:t--從發射出超聲波到接收到回波所用時間。

        限制該系統的最大可測距離存在4個因素:超聲波的幅度、反射的質地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發射/接收的設計方法。

        由于超聲波屬于聲波范圍,其波速c與溫度有關,經過測量得出超聲波的波速與溫度的關系,如表1所示。

        表1 聲速與溫度的關系表

        表1 聲速與溫度的關系表

        將測量的速度數據與溫度數據進行一階擬合得出:

        c=331.6+0.6107xT (2)

        式中T--當地溫度。

        在測距時,可通過溫度傳感器自動探測環境溫度、確定其時的波速c.波速確定后,只要測得超聲波往返的時間t,即可求得距離H,這樣能較精確地得出該環境下超聲波經過的路程,提高了測量精確度。

        本設計方案中使用渡越時間檢測法,測距儀工作原理為:在由單片機發出驅動信號的同時,開啟單片機中的計時器,開始計時。發射探頭發射出超聲波,在由接收探頭接收到第一回波的同時停止單片機計時器的計時,由于超聲波在空氣中的速度已知,根據公式即可求得探頭與待測目標之間的距離。而且,可以在較短時間內多次發出超聲波測量,完成后計算平均值然后顯示。

        超聲波在相同的傳播媒體里(大氣條件)傳播速度相同,即在相當大的頻率范圍內聲速不隨頻率變化,但其頻率越高,衰減得越厲害,傳播的距離也越短??紤]實際工程測量要求,在設計超聲波測距儀時,選用頻率f=40kHz的超聲波,波長為0.85cm.

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>