《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 利用集成HC-SR04模塊設計對射式測距系統(tǒng)
利用集成HC-SR04模塊設計對射式測距系統(tǒng)
2014年微型機與應用第22期
唐曉鵬,謝興生
(中國科學技術大學 自動化系,安徽 合肥 230027)
摘要: 提出了利用廉價反射式超聲測距模塊HC_SR04設計對射式超聲測距系統(tǒng)方案,實測了不同時序邏輯及采樣方式對系統(tǒng)性能的影響,分析了不同單片機控制方案對測量結果的影響。標定后的系統(tǒng)最高精度可達到1 cm,性價比高,能很好地滿足點對點的定位、測距以及部分需要特殊安全監(jiān)控場合的需要。
Abstract:
Key words :

  摘  要: 提出了利用廉價反射式超聲測距模塊HC_SR04設計對射式超聲測距系統(tǒng)方案,實測了不同時序邏輯及采樣方式對系統(tǒng)性能的影響,分析了不同單片機控制方案對測量結果的影響。標定后的系統(tǒng)最高精度可達到1 cm,性價比高,能很好地滿足點對點的定位、測距以及部分需要特殊安全監(jiān)控場合的需要。

  關鍵詞: 超聲測距;HC-SR04;對射;單片機

0 引言

  與市場上價格較高的對射式超聲測距模塊[1-2]相比,反射式超聲測距傳感器價格低廉,兼容性和接口標準化程度更好[3]。本文以反射式HC-SR04集成模塊為核心器件,提出了一種對射式超聲測距系統(tǒng)(The Opposite-type Ultrasonic Ranging System Based on the HC-SR04,OURS)。該系統(tǒng)采用8個40 kHz的超聲波作為聲源,具有抗干擾性強、聲源品質高和性價比高等特點[4]。受限于單個HC-SR04模塊的最高精度只有3 mm,整個系統(tǒng)的測距精度只能達到1 cm,但對大型目標跟蹤定位等定距精度要求不高的應用場合[1,5],OURS已能很好滿足要求。本文系統(tǒng)已成功應用于大學生機器人競賽,取得了良好的效果。

1 系統(tǒng)工作原理

  本文提出的對射式超聲測距方案以HC-SR04集成模塊為核心器件,并采用渡越時間法[6]構建。

  1.1 HC-SR04集成模塊

  HC-SR04超聲波測距模塊可提供2 cm~400 cm的非接觸式距離感測功能,測距精度可高達3 mm[7];模塊包括超聲波發(fā)射器、接收器與控制電路。圖1給出了HCSR04集成模塊的工作原理框圖,圖2進一步給出了HCSR04集成模塊工作的基本時序圖。HC-SR04的超聲波測距公式為:

  _$`V6[D0}V2PZS]5JWRH_{Q.png

  1.2 利用HC-SR04搭建OURS

  1.2.1 搭建思路

 ?。?)通過紅外對射開關單元,實現發(fā)射探頭和接收探頭的同步。

 ?。?)將發(fā)射接收探頭原本應該發(fā)射出來的信號物理地清除(屏蔽)。使用大約1 mm厚的熱熔膠就可以很好地屏蔽發(fā)射聲波。

  (3)接收探頭“受到欺騙”,實際接收的是發(fā)射探頭發(fā)射出的信號(而不是自己發(fā)射的回波)。接收探頭據此信號測出的距離為兩探頭間的距離。

  1.2.2 用HC-SR04+ATEML89S52構建OURS

003.jpg

  考慮到價格低廉、性能穩(wěn)定等因素,本文首先選用ATEML89S52單片機配套HCSR04搭建OURS系統(tǒng)。但該單片機的電流驅動不足,不宜采用一個引腳為兩個模塊同時提供邏輯電平,故本文采用圖3(a)所示的搭建方案,圖3(b)是其對應的理想情況工作時序圖。其中,接收方Trig引腳發(fā)送高電平是在一個較早的時間點,這個時間點允許一定的任意性。

  從圖3可看出,系統(tǒng)工作時在發(fā)射方Trig的下降沿上給發(fā)射方紅外開關施加了高電平,使得單片機不必同時為兩個模塊提供高電平,減輕了其負擔。同時,本方案還近似認為紅外光傳輸不需要時間,在超聲探頭Trig引腳下降沿到達的瞬間,Echo引腳就開始提供計時高電平信號。

  1.2.3 用HC-SR04+ FREESCALE HCS08 AW60構建OURS

  相比于ATEML89S52單片機,FREESCALE(HCS08 AW60)單片機屬于中檔產品,價格稍貴,但運行速度快、電流驅動能力強,可同時用一個引腳給多個器件提供電平,允許引入一路不需要主MCU處理的紅外信號,從而簡化了電路的搭建和處理。圖4給出了基于FREESCALE單片機搭建的OURS系統(tǒng)原理框圖和工作時序圖。

004.jpg

1.3 距離監(jiān)測與處理

  1.3.1 ATEML89S52處理邏輯

  接收端ATEML89S52單片機的外置晶振頻率為12 MHz,計數器工作頻率設定為1 MHz(計數間隔1 s),進行兩探頭對向測距的處理邏輯:

  while(1){

  while(紅外開關低電平)

  刷新時間為0;

  while(Echo引腳為高電平)

  Do nothing;

  讀取時間;

  計算距離;

  顯示距離;

  }

  1.3.2 FREESCALE處理邏輯

  接收端FREESCALE單片機使用8 MHz的內部RC振蕩器,計數器工作頻率設定為4 MHz(計數間隔0.25 s),進行兩探頭對向測距的處理邏輯:

  while(1){

  while(Echo引腳為低電平)Do thing;

  while(Echo引腳為高電平)刷新時間為當前值;

  讀取最后一次刷新的時間;

  計算距離;

  顯示距離;

  }

2 實驗結果及討論

  2.1 實驗結果

  為驗證OURS測距效果,本文針對5 cm、10 cm、…、100 cm共20個間距進行了實驗。表1給出了兩種方案對應的實驗結果,包括每個距離三次測量的單片機計數器平均計數值、視測距和標定后測量距離。OURS系統(tǒng)的視測距結果擬合曲線如圖5所示。

005.jpg

  由單片機計數器值乘以計數間隔,得到高電平持續(xù)時間,該時間值乘以聲速可得系統(tǒng)的視測距。由表1及圖5可看出,無論是采用ATEML89S52還是采用FREESCALE單片機,其視測距與實際距離都存在相對固定系統(tǒng)偏差。采用Origin9.0工具的線性擬合功能進行視測距系統(tǒng)誤差擬合,擬合輸出結果如表2所示。

  表1的標定后測距,分別給出了根據式(2)、式(3)標定后的測距值。在厘米精度范圍,目標系統(tǒng)的測距效果及線性度相當好,存在的誤差主要是系統(tǒng)誤差。

  由擬合結果,可分別獲得兩種單片機方案的視測距標定公式:

  FREESCALE標定測距=1.280 3+1.040 03×視測距(2)

  ATEML89S52標定測距=-16.259 4+1.050 21×視測距(3)

  2.2 結果分析

  實驗結果表明,本文系統(tǒng)測距存在系統(tǒng)誤差。造成系統(tǒng)誤差原因包括元器件的延時、單片機運行速度、超聲集成模塊近距離檢測存在死區(qū)以及環(huán)境干擾等因素。

 ?。?)52單片機測距系統(tǒng)誤差來源分析

  系統(tǒng)誤差的主要來源是HC-SR04超聲探頭Trig引腳與Echo引腳時序設計上存在固有時延。在Trig引腳低電平下降沿之后Echo引腳并非立即產生高電平,而是有一定時延。圖6是從相關引腳電平監(jiān)視示波器上截取的一幅圖。其中,虛線是Trig引腳電平變化波形圖,實線是Echo引腳的電平變化波形圖。按圖6波形估算,Trig引腳下降沿與Echo引腳上升沿的時間差約為500 ?滋s,這會導致視測距增加十幾厘米。

006.jpg

  系統(tǒng)誤差的次要來源是紅外開關的時延。從圖3(b)可以看出,接收方紅外開關動作滯后,會導致單片機開始計時的時刻滯后,但對Echo引腳的下降沿到達時刻無影響,這會造成視距離的減小。對于標稱響應時間小于0.03 ms的高速光電開關而言[8],這項延時會導致視測距縮短約1 cm。

 ?。?)FREESCALE單片機測距系統(tǒng)誤差來源分析

  誤差的主要來源只有紅外開關的延時。與52單片機類似,對于標稱響應時間小于0.03 ms的高速光電開關而言,其延時會導致視測距縮短約1 cm。

 ?。?)OURS系統(tǒng)測量隨機誤差分析

  考慮到OURS設計一般采用中低端單片機,可用的外中斷數少且還要兼顧其他任務,系統(tǒng)采樣使用輪詢工作模式,最小采樣時間間隔與算法執(zhí)行時間有關。由于Echo引腳電平上升沿和下降沿的到來時間通常是隨機地落在兩個采樣間隔之間,一次過程最壞情況可能會導致兩個采樣時間間隔的計時時間差。52單片機速度慢些,這項隨機誤差也會稍大些,可能會帶來幾毫米的隨機誤差;而FREESCALE單片機的這項隨機誤差通常小于1 mm。

  此外,由于不同溫、濕天氣會對聲波傳播速度造成一定影響,也可能會帶來一定的隨機誤差[9]。

 ?。?)超聲模塊測距存在近距離盲區(qū)

  FREESCALE單片機進行低于10 cm測距時,誤差明顯較大,這與單純反射模塊在近距離測距存在盲區(qū)有關。在近距離測距時,已經不能忽略探頭上兩話筒之間的距離;此外,在近距離對射條件下,探頭的體積同樣不可簡單忽略[10-11]。

3 結論

  利用價格低廉的HCSR04模塊設計對射式測距系統(tǒng),性價比高、可靠性好,可用于聲源定位、目標跟蹤等場合。實驗結果表明,該方案測距誤差主要是系統(tǒng)誤差,可通過標定消除,系統(tǒng)測距誤差可控制在±1 cm以下。

參考文獻

  [1] OTREBSKA M, SKARKA W, ZAMORSKI P. Designing safety systems for an electric racing car[J]. Springer-Verlag TST, 2013, CCIS395:139-146.

  [2] 張利紅,陳伯俊.一種低成本超聲波測距儀的設計[J].化工自動化及儀表,2010,37(8):49-52.

  [3] 李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設計[J].單片機與嵌入式系統(tǒng)應用,2011(10):77-78.

  [4] 趙凌.基于超聲波傳感器的測距報警系統(tǒng)設計[J].電子測試,2013(10):35-37.

  [5] FL?魷REZ S A R, FR?魪MONT V, BONNIFAIT P, et al. Multi-modal object detection and localization for high integrity driving assistance[J]. Machine Vision and Applications,2011,1:1-18.

  [6] 黃增榮,秦會斌,黃博志,等.擴頻法超聲測距中的渡越時間的確定[J].計量學報,2007,28(3):280-283.

  [7] 蘇琳.基于HC-SR04的超聲波測距器的設計[J].科技信息,2012(9):124-125.

  [8] 吳華軍.高速光電轉換模塊關鍵技術研究[D].成都:電子科技大學,2012.

  [9] 買買提熱夏提·買買提,亞森江·吾普爾,復爾開提·夏爾丁.簡談空氣中的聲速與溫度關系[J].物理實驗,2007,27(11):43-47.

  [10] Zhang Qiangli, ZHENG Y P, GAIN G. Flatness considerations on the ultra-wideband low-noise amplifier design[J]. IEEE Transaction, 2005,6(4).

  [11] 何希才,薛永毅.傳感器技術及應用[M].北京:北京航空航天大學出版社,2005.


此內容為AET網站原創(chuàng),未經授權禁止轉載。