李昊林 徐磊 潘少杰 王祿祥 蔡大維
摘要:該文在分析超聲波測距原理的基礎上,設計了一種以超聲波換能器為核心,采用STM32F407單片機來實現(xiàn)聲波發(fā)送與回波接收的測距裝置,并將回波數(shù)據(jù)傳送至上位機,回波強弱采用不同顏色進行區(qū)分,實現(xiàn)可視化。實驗結果表明,設計的測距系統(tǒng)運行穩(wěn)定,方便安裝,測量精度高,人機交互界面良好,能夠準確地傳送數(shù)據(jù),具有較高的應用價值。
關鍵詞:超聲波測距;換能器;STM32F407;回波信號
中圖分類號:TH717 文獻標識碼:A 文章編號:1009-3044(2018)21-0271-02
目前,市場上測距的方法多種多樣,先后出現(xiàn)了激光、微波雷達、紅外線及超聲波測距方式[1]。其中,激光測距精度較高但存在易受環(huán)境因素影響、成本較高、維護不便等缺點;微波雷達的造價則非常高昂,一般用于某些特定場合;紅外測距雖然簡單、安全、易制,但精度較低、方向性差。而超聲波測距幾乎不受被測物體顏色、光線、粉塵、煙霧、電磁干擾和有毒氣體的影響,而且價格低廉、使用方便,因此超聲波測距作為一種典型的非接觸式測距方式,擁有其他測距方式無可比擬的優(yōu)點,受到了人們廣泛的關注和研究。在物位測量、機器人避障、倒車雷達、航海測深等許多領域,超聲波測距技術都得到了非常普遍的應用[2]。
1 超聲波測距原理
基于超聲波信號的測距方法,主要包括基于接收信號強度的測距方法、基于到達角度的測距方法和基于到達時間差的測距方法[3]。
本文采用測量超聲波在介質(zhì)中傳播時間的方式來計算距離,即超聲波傳播速度為v,傳播時間為t,距離d=v*t。若采用收發(fā)一體的超聲波換能器,則實際距離還需除以2,即距離d=v*t/2。由此可知超聲波測距必須確定聲波在介質(zhì)中的傳播速度以及準確測量聲波的傳播時間。而聲波在空氣中的傳播速度與溫度、濕度、氣壓等因素有關,通常情況下主要是受到溫度影響,聲波在空氣中的傳播速度可近似表示為:
聲波的傳播時間一般采用“閥值法”來測算,其基本原理是捕獲回波信號的幅值第一次超過所設定閾值的瞬間,但回波信號幅值超過閾值的時間會因波形幅值的不同而不同,從而造成測量上的誤差[5]。故而采用動態(tài)閾值法,又稱作包絡線峰值檢測法,其檢測依據(jù)為接收信號峰值所在的相對位置不隨待測距離的改變而改變,可以較好地彌補此誤差[6]。
2 系統(tǒng)總體方案設計
本系統(tǒng)分為上位機平臺與下位機,下位機主要由微控制器、超聲波發(fā)射電路、超聲波接收電路、測溫模塊、通訊模塊、電源模塊等組成。微控制器負責產(chǎn)生200kHz驅(qū)動信號、采集回波、數(shù)據(jù)處理等任務,最后將相關數(shù)據(jù)發(fā)送到上位機,其總體結構框圖如圖1所示。
3 硬件電路設計
3.1 超聲波發(fā)射電路設計
單片機輸出兩路相位相反,頻率同為200kHz,幅值3.3V的方波,經(jīng)三極管導通后,電壓幅值為5V,考慮到后期拓展多通道超聲波換能器,故采用CD4052開關選擇輸出,之后經(jīng)74LS08與門輸出,其原理圖如圖2所示。
74LS08與門經(jīng)N溝道MOS場效應晶體管2SK2937連接至中心抽頭變壓器,實現(xiàn)輸出±15V電壓方波驅(qū)動超聲波換能器,其原理圖如圖3所示。
3.2 超聲波回波接收電路設計
如圖4,采用ML1350集成運放芯片對回波信號進行放大和整形。ML1350線性中頻放大器具有寬范圍的自動增益控制、單極性電源工作、輸出恒定、工作穩(wěn)定等優(yōu)點,滿足對超聲波回波接收的使用場合。通過調(diào)節(jié)AGC電壓可以改變增益以適應不同量程的回波接收需求。
4 系統(tǒng)軟件設計
4.1 單片機軟件設計
程序通過TIM3輸出兩路互補200KHz方波,發(fā)射完畢后均輸出高電平;采用ADC來采集收到的回波信號,ADC由TIM4觸發(fā),同時使用DMA進行ADC的數(shù)據(jù)采集。待回波數(shù)據(jù)采集完畢,遍歷存儲采集信號的數(shù)組,尋找到回波信號峰值,減去設定的參數(shù)由此確定閾值,再尋找到幅值第一次超出閾值時的數(shù)組位置,根據(jù)ADC采樣頻率可換算出開啟ADC采集后至回波信號幅值第一次超出閾值的時間,結合溫度補償,由此計算出距離,最后將處理后的值發(fā)送至上位機進行顯示。系統(tǒng)程序流程如圖5所示。
4.2 上位機軟件設計
利用C#對上位機軟件進行編寫,在可視化界面上顯示距離及詳細圖表數(shù)據(jù),對回波信號強弱采用不同顏色進行區(qū)分。
下位機發(fā)射超聲波并接收回波,并將回波數(shù)據(jù)發(fā)送至上位機,每次的回波強弱采用不同顏色進行區(qū)分,回波色標從強至弱依次為紅、橙、黃、黃綠、綠、湖藍、淺藍、灰,小于一定幅值的回波信號進行隱藏,顯示白色,以便清晰觀察。每次回波信號顯示為最右側(cè)的從上至下的一條線,當下一次回波信號需要顯示時,該線自右向左移動,之后將最新的回波添加至最右側(cè),由此不斷向左移動回波構成一幅動態(tài)圖像。
程序運行結果如圖6所示,回波信號顯示在軟件界面左側(cè),中間以曲線圖的形式顯示每次回波信號,軟件接收到的全部信息顯示在界面文本框中,軟件右側(cè)為控制面板,用于程序的運行控制、參數(shù)調(diào)整、數(shù)據(jù)保存等。
在室溫下,采用平整混凝土墻壁作為反射面進行測量,使用鋼卷尺測量實際距離作為標稱值,其中卷尺精度1mm,測量距離為該位置上3次測量數(shù)據(jù)的平均值。測試結果如表所示。
對數(shù)據(jù)進行分析,得到本次測試結果的最大偏差為0.2cm,最大相對誤差為0.43%,平均相對誤差為0.31%,總體上達到了對精度的要求。
使用Matlab進行數(shù)據(jù)擬合并繪圖,如圖7所示,可知測量值與標稱值也有較好的線性關系,曲線擬合度高,誤差小。同時在上位機觀察到,當距離較近時,可清楚地觀察到二次回波甚至三次回波。
5 結論
本文設計的超聲波測距裝置,經(jīng)過實驗測試,在一定范圍內(nèi)滿足了測距要求,工作可靠,測量精度較高,安裝方便,設計的上位機界面人機交互良好,實現(xiàn)了回波強度可視化,可應用于工業(yè)非接觸測距等場合,具有很好的使用價值。
參考文獻:
[1] 苑潔. 基于STM32單片機的高精度超聲波測距系統(tǒng)的設計[D]. 北京:華北電力大學,2012.
[2] 潘仲明.大量程超聲波測距系統(tǒng)研究[D]. 長沙:國防科學技術大學,2006.
[3] 李戈,孟祥杰,王曉華,等. 國內(nèi)超聲波測距研究應用現(xiàn)狀[J]. 測繪科學,2011,36(4):60-62.
[4] 高韻灃,何少佳,鄧子信,等.高精度嵌入式超聲波測距系統(tǒng)的研究[J].計算機測量與控制,2015,23(1):25-26.
[5] 張成,田建艷,呂迎春,等.基于超聲波測距的高精度室內(nèi)位置感知系統(tǒng)研究[J].儀表技術與傳感器,2018(1).
[6] 楊令晨,周武能,湯文兵,等.超聲波測距系統(tǒng)的研究及其硬件設計[J].儀表技術與傳感器,2018,(第2期).
[7]李云龍.新型嵌入式超聲波測距系統(tǒng)[J].儀表技術與傳感器,2012(1):97-99.
[8] Karli Watson、Christian Nagel.C#入門經(jīng)典[M].4版.北京:清華大學出版社,2006.
【通聯(lián)編輯:代影】