摘 要: 提出了利用廉價反射式超聲測距模塊HC_SR04設(shè)計對射式超聲測距系統(tǒng)方案,實測了不同時序邏輯及采樣方式對系統(tǒng)性能的影響,,分析了不同單片機控制方案對測量結(jié)果的影響,。標(biāo)定后的系統(tǒng)最高精度可達到1 cm,性價比高,,能很好地滿足點對點的定位,、測距以及部分需要特殊安全監(jiān)控場合的需要。
關(guān)鍵詞: 超聲測距,;HC-SR04,;對射;單片機
0 引言
與市場上價格較高的對射式超聲測距模塊[1-2]相比,,反射式超聲測距傳感器價格低廉,,兼容性和接口標(biāo)準(zhǔn)化程度更好[3]。本文以反射式HC-SR04集成模塊為核心器件,,提出了一種對射式超聲測距系統(tǒng)(The Opposite-type Ultrasonic Ranging System Based on the HC-SR04,,OURS)。該系統(tǒng)采用8個40 kHz的超聲波作為聲源,,具有抗干擾性強,、聲源品質(zhì)高和性價比高等特點[4]。受限于單個HC-SR04模塊的最高精度只有3 mm,,整個系統(tǒng)的測距精度只能達到1 cm,,但對大型目標(biāo)跟蹤定位等定距精度要求不高的應(yīng)用場合[1,5],,OURS已能很好滿足要求,。本文系統(tǒng)已成功應(yīng)用于大學(xué)生機器人競賽,取得了良好的效果,。
1 系統(tǒng)工作原理
本文提出的對射式超聲測距方案以HC-SR04集成模塊為核心器件,,并采用渡越時間法[6]構(gòu)建,。
1.1 HC-SR04集成模塊
HC-SR04超聲波測距模塊可提供2 cm~400 cm的非接觸式距離感測功能,測距精度可高達3 mm[7],;模塊包括超聲波發(fā)射器,、接收器與控制電路。圖1給出了HCSR04集成模塊的工作原理框圖,,圖2進一步給出了HCSR04集成模塊工作的基本時序圖,。HC-SR04的超聲波測距公式為:
1.2 利用HC-SR04搭建OURS
1.2.1 搭建思路
(1)通過紅外對射開關(guān)單元,,實現(xiàn)發(fā)射探頭和接收探頭的同步,。
(2)將發(fā)射接收探頭原本應(yīng)該發(fā)射出來的信號物理地清除(屏蔽),。使用大約1 mm厚的熱熔膠就可以很好地屏蔽發(fā)射聲波,。
(3)接收探頭“受到欺騙”,,實際接收的是發(fā)射探頭發(fā)射出的信號(而不是自己發(fā)射的回波),。接收探頭據(jù)此信號測出的距離為兩探頭間的距離。
1.2.2 用HC-SR04+ATEML89S52構(gòu)建OURS
考慮到價格低廉,、性能穩(wěn)定等因素,,本文首先選用ATEML89S52單片機配套HCSR04搭建OURS系統(tǒng)。但該單片機的電流驅(qū)動不足,,不宜采用一個引腳為兩個模塊同時提供邏輯電平,,故本文采用圖3(a)所示的搭建方案,圖3(b)是其對應(yīng)的理想情況工作時序圖,。其中,,接收方Trig引腳發(fā)送高電平是在一個較早的時間點,這個時間點允許一定的任意性,。
從圖3可看出,,系統(tǒng)工作時在發(fā)射方Trig的下降沿上給發(fā)射方紅外開關(guān)施加了高電平,使得單片機不必同時為兩個模塊提供高電平,,減輕了其負(fù)擔(dān),。同時,本方案還近似認(rèn)為紅外光傳輸不需要時間,,在超聲探頭Trig引腳下降沿到達的瞬間,,Echo引腳就開始提供計時高電平信號。
1.2.3 用HC-SR04+ FREESCALE HCS08 AW60構(gòu)建OURS
相比于ATEML89S52單片機,,F(xiàn)REESCALE(HCS08 AW60)單片機屬于中檔產(chǎn)品,,價格稍貴,但運行速度快,、電流驅(qū)動能力強,,可同時用一個引腳給多個器件提供電平,,允許引入一路不需要主MCU處理的紅外信號,從而簡化了電路的搭建和處理,。圖4給出了基于FREESCALE單片機搭建的OURS系統(tǒng)原理框圖和工作時序圖,。
1.3 距離監(jiān)測與處理
1.3.1 ATEML89S52處理邏輯
接收端ATEML89S52單片機的外置晶振頻率為12 MHz,計數(shù)器工作頻率設(shè)定為1 MHz(計數(shù)間隔1 s),,進行兩探頭對向測距的處理邏輯:
while(1){
while(紅外開關(guān)低電平)
刷新時間為0,;
while(Echo引腳為高電平)
Do nothing;
讀取時間,;
計算距離,;
顯示距離;
}
1.3.2 FREESCALE處理邏輯
接收端FREESCALE單片機使用8 MHz的內(nèi)部RC振蕩器,,計數(shù)器工作頻率設(shè)定為4 MHz(計數(shù)間隔0.25 s),進行兩探頭對向測距的處理邏輯:
while(1){
while(Echo引腳為低電平)Do thing,;
while(Echo引腳為高電平)刷新時間為當(dāng)前值,;
讀取最后一次刷新的時間;
計算距離,;
顯示距離,;
}
2 實驗結(jié)果及討論
2.1 實驗結(jié)果
為驗證OURS測距效果,本文針對5 cm,、10 cm,、…、100 cm共20個間距進行了實驗,。表1給出了兩種方案對應(yīng)的實驗結(jié)果,,包括每個距離三次測量的單片機計數(shù)器平均計數(shù)值、視測距和標(biāo)定后測量距離,。OURS系統(tǒng)的視測距結(jié)果擬合曲線如圖5所示,。
由單片機計數(shù)器值乘以計數(shù)間隔,得到高電平持續(xù)時間,,該時間值乘以聲速可得系統(tǒng)的視測距,。由表1及圖5可看出,無論是采用ATEML89S52還是采用FREESCALE單片機,,其視測距與實際距離都存在相對固定系統(tǒng)偏差,。采用Origin9.0工具的線性擬合功能進行視測距系統(tǒng)誤差擬合,擬合輸出結(jié)果如表2所示,。
表1的標(biāo)定后測距,,分別給出了根據(jù)式(2)、式(3)標(biāo)定后的測距值,。在厘米精度范圍,,目標(biāo)系統(tǒng)的測距效果及線性度相當(dāng)好,,存在的誤差主要是系統(tǒng)誤差。
由擬合結(jié)果,,可分別獲得兩種單片機方案的視測距標(biāo)定公式:
FREESCALE標(biāo)定測距=1.280 3+1.040 03×視測距(2)
ATEML89S52標(biāo)定測距=-16.259 4+1.050 21×視測距(3)
2.2 結(jié)果分析
實驗結(jié)果表明,,本文系統(tǒng)測距存在系統(tǒng)誤差。造成系統(tǒng)誤差原因包括元器件的延時,、單片機運行速度,、超聲集成模塊近距離檢測存在死區(qū)以及環(huán)境干擾等因素。
?。?)52單片機測距系統(tǒng)誤差來源分析
系統(tǒng)誤差的主要來源是HC-SR04超聲探頭Trig引腳與Echo引腳時序設(shè)計上存在固有時延,。在Trig引腳低電平下降沿之后Echo引腳并非立即產(chǎn)生高電平,而是有一定時延,。圖6是從相關(guān)引腳電平監(jiān)視示波器上截取的一幅圖,。其中,虛線是Trig引腳電平變化波形圖,,實線是Echo引腳的電平變化波形圖,。按圖6波形估算,Trig引腳下降沿與Echo引腳上升沿的時間差約為500 ?滋s,,這會導(dǎo)致視測距增加十幾厘米,。
系統(tǒng)誤差的次要來源是紅外開關(guān)的時延。從圖3(b)可以看出,,接收方紅外開關(guān)動作滯后,,會導(dǎo)致單片機開始計時的時刻滯后,但對Echo引腳的下降沿到達時刻無影響,,這會造成視距離的減小,。對于標(biāo)稱響應(yīng)時間小于0.03 ms的高速光電開關(guān)而言[8],這項延時會導(dǎo)致視測距縮短約1 cm,。
?。?)FREESCALE單片機測距系統(tǒng)誤差來源分析
誤差的主要來源只有紅外開關(guān)的延時。與52單片機類似,,對于標(biāo)稱響應(yīng)時間小于0.03 ms的高速光電開關(guān)而言,,其延時會導(dǎo)致視測距縮短約1 cm。
?。?)OURS系統(tǒng)測量隨機誤差分析
考慮到OURS設(shè)計一般采用中低端單片機,,可用的外中斷數(shù)少且還要兼顧其他任務(wù),系統(tǒng)采樣使用輪詢工作模式,,最小采樣時間間隔與算法執(zhí)行時間有關(guān),。由于Echo引腳電平上升沿和下降沿的到來時間通常是隨機地落在兩個采樣間隔之間,一次過程最壞情況可能會導(dǎo)致兩個采樣時間間隔的計時時間差,。52單片機速度慢些,,這項隨機誤差也會稍大些,,可能會帶來幾毫米的隨機誤差;而FREESCALE單片機的這項隨機誤差通常小于1 mm,。
此外,,由于不同溫、濕天氣會對聲波傳播速度造成一定影響,,也可能會帶來一定的隨機誤差[9],。
(4)超聲模塊測距存在近距離盲區(qū)
FREESCALE單片機進行低于10 cm測距時,,誤差明顯較大,,這與單純反射模塊在近距離測距存在盲區(qū)有關(guān)。在近距離測距時,,已經(jīng)不能忽略探頭上兩話筒之間的距離,;此外,在近距離對射條件下,,探頭的體積同樣不可簡單忽略[10-11],。
3 結(jié)論
利用價格低廉的HCSR04模塊設(shè)計對射式測距系統(tǒng),性價比高,、可靠性好,可用于聲源定位,、目標(biāo)跟蹤等場合,。實驗結(jié)果表明,該方案測距誤差主要是系統(tǒng)誤差,,可通過標(biāo)定消除,,系統(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] 張利紅,,陳伯俊.一種低成本超聲波測距儀的設(shè)計[J].化工自動化及儀表,2010,,37(8):49-52.
[3] 李軍,,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2011(10):77-78.
[4] 趙凌.基于超聲波傳感器的測距報警系統(tǒng)設(shè)計[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].計量學(xué)報,2007,,28(3):280-283.
[7] 蘇琳.基于HC-SR04的超聲波測距器的設(shè)計[J].科技信息,,2012(9):124-125.
[8] 吳華軍.高速光電轉(zhuǎn)換模塊關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué),2012.
[9] 買買提熱夏提·買買提,,亞森江·吾普爾,,復(fù)爾開提·夏爾丁.簡談空氣中的聲速與溫度關(guān)系[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] 何希才,薛永毅.傳感器技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2005.