<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機的超聲波測距系統(tǒng)的設(shè)計

          基于51單片機的超聲波測距系統(tǒng)的設(shè)計

          作者: 時間:2011-11-18 來源:網(wǎng)絡(luò) 收藏
          超聲波接收子程序利用外部中斷O檢測返回超聲波,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進入中斷服務(wù)子程序,關(guān)閉定時器TO停止計時,并將測距成功標志位賦值1。如果當計時器溢出時還未檢測到超聲波返回信號,則說明障礙物過遠,超出量程,將關(guān)閉外部中斷,并標志此次測距不成功。
          最大測試距離將取決于:兩次脈沖群發(fā)送之間的最小時間間隔和脈沖的能量。一般來說,發(fā)射端脈沖個數(shù)越多,能量越大,所能測量的距離也越遠。但也不是無限制的,本方案是讀取定時器TO的計數(shù)值,最大能測試的距離是TO尚未溢出時檢測到超聲波回波信號,故在溫度20℃下,最大測試距離為。在一些周期性發(fā)射超聲波設(shè)備中,如果要測試的最大距離是10 m,則兩次脈沖群之間的最小時間為。
          由于采用12 MHz的晶振,機器周期為1μs,當主程序檢測到接收成功的標志位后,將計數(shù)器TO中的數(shù)值按式(1)計算,即可測得被測物與測距儀之間的距離,取20℃時的聲速為344 m/s。則有:
          c.JPG
          其中,TO為計數(shù)器TO的計數(shù)值。

          4 提高測量精度
          4.1 溫度補償
          由于超聲波的聲速與溫度有關(guān),如果溫度變化不大,可認為聲速基本不變。如果測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒右孕U?P>d.JPG


          可知,超聲波在空氣中的傳播速度與溫度T(單位:攝氏度)有如下近似關(guān)系:
          e.JPG
          其中,C0為0℃時的聲波速度為331.45 m/s,T為實際溫度(℃)。在常溫下,溫度每變化1攝氏度,超聲波速度變化約為O.6 m/s,所以通過測溫電路測量出當前溫度,就可以計算出超聲波在當前溫度下的傳輸速度。
          測溫電路采用的主要元器件是美國Dallas半導(dǎo)體公司生產(chǎn)的單總線數(shù)字溫度傳感器DSl8B20,其具有精度高、智能化、體積小、線路簡單等特點。
          4.2 角度補償
          由于發(fā)射與反射之間存在一定的夾角2α,當α很小時,可直接按式(1)計算距離;當α較大時,則必須進行距離修正,其修正公式為:
          f.JPG
          在式(4)中,夾角α與超聲波發(fā)射裝置和接收裝置的安裝位置有關(guān),在實際應(yīng)用中應(yīng)保持兩換能器中心軸線盡量平行并相距2 cm~4 cm,在近距離測量時更要考慮角度補償。若能夠?qū)⒊暯邮针娐菲帘纹饋?,則可提高抗干擾性能。根據(jù)測量范圍可適當調(diào)整與接收換能器并接的濾波電容的大小,以獲得合適的接收靈敏度和抗干擾能力。

          7h.jpg

          7i.jpg

          5 結(jié)論
          為防止在測量過程中測距儀的抖動而引起的測量誤差,一般情況下應(yīng)測量幾次取其平均值。由于系統(tǒng)的分辨率為1μs,系統(tǒng)引起的固定誤差約為0.3mm,再加上本設(shè)計只考慮了溫度補償和角度補償?shù)挠绊懀鴽]有考慮其他環(huán)境因素(如:氣壓、濕度……)的影響,所以在測量的時侯給測量結(jié)果帶來了一定的誤差。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();