① 減小超聲波測距誤差的方法
超聲波測距誤差分析和減小方法:
根據超聲波測距公式L=C×T,可知測距的誤差是由超聲波的傳播速度誤差和測量距離傳播的時間誤差引起的。
時間誤差
當要求測距誤差小於1mm時,假設已知超聲波速度C=344m/s (20℃室溫),忽略聲速的傳播誤差。測距誤差s△t<(0.001/344) ≈0.000002907s 即2.907ms。在超聲波的傳播速度是准確的前提下,測量距離的傳播時間差值精度只要在達到微秒級,就能保證測距誤差小於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誤差將達到5mm。而LM92溫度感測器的溫度測試解析度為0.0625℃,-10℃至+85℃准確度為±1.0℃,I2C匯流排介面。用89C51的通用I/O埠能很容易的模擬I2C匯流排的讀寫時序,LM92的高精度溫度測量能很好的補償超聲波在不同溫度的傳播速度。
超聲波測距原理
超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射後遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達原理是一樣的。測距的公式表示為:L=C×T
式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發射到接收時間數值的一半)。超聲波測距主要應用於倒車提醒、建築工地、工業現場等的距離測量,雖然目前的測距量程上能達到百米,但測量的精度往往只能達到厘米數量級。
由於超聲波易於定向發射、方向性好、強度易控制、與被測量物體不需要直接接觸的優點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度。通過分析超聲波測距誤差產生的原因,提高測量時間差到微秒級,以及用LM92溫度感測器進行聲波傳播速度的補償後,設計的高精度超聲波測距儀能達到毫米級的測量精度。
② 關於用單片機控制超聲波測距模塊的問題
這可能是你的超聲波模塊設計就如此.
模塊在發射超聲波時輸出高電平,在接收到反射信號後,將輸出復位成低電平。這個高電平時間就是超聲波在某塊與障礙物之間往返一次所需的時間。
當無障礙物時,高電平會無限期延續下去,這樣就無法啟動下一個超聲波發送,必須在經過一個特定的時間後,強制復位。這個時間也就決定了這個模塊的最大檢測距離。
超聲波脈沖有一定寬度,當超聲波在模塊與障礙物之間來回一次所需時間小於脈沖寬度,反射信號與發射信號重疊,某塊也無法識別。超聲波的脈沖寬度決定了最小探測距離。