陳蔚
摘要:本文介紹了利用HC-SR04超聲波傳感器測距模塊組成測距儀的設計方法。講述了HC-SR04超聲波傳感器測距模塊的特點和使用方法,并從功能、硬件設計以及程序流程等方面介紹了該測距儀的設計。采用這種方案的測距系統具有操作方便,穩定性高,性價比高等特點。
關鍵詞:超聲波;測距;單片機
中圖分類號:TP216 文獻標識碼:A 文章編號:1007-9416(2018)05-0182-02
隨著科技的快速發展,超聲波的運用也越來越多。由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而可利用其進行距離的測量。特別是超聲波對電磁場、色彩和光照度不敏感,更方便用于環境差,如黑暗、有電磁干擾或有毒的地方進行距離的測量。
相對對射式超聲波測距傳感器,反射式超聲波測距傳感器價錢低廉,兼容性和標準化程度也較好。因此本設計選用反射式超聲波測距集成模塊HC-SR04,以PIC單片機為核心,實現對HC-SR04超聲波測距模塊的數據采集和控制,同時在液晶顯示屏上顯示精確的測距結果。
1 硬件組成
本系統的硬件設計包括距離采集、控制部分和數據顯示三個部分。
1.1 超聲波距離采集部分
本設計的距離采集部分選用了超聲波測距模塊HC-SR04,是借助超聲脈沖回波渡越時間法來實現的。該模塊可提供2cm-450cm的非接觸式距離感測功能,測距精度可高達0.3cm。模塊包括超聲波發射器、接收器和控制電路等部分。模塊的各引腳功能如下:TRIG是觸發測距引腳,內部上拉10K的電阻,需給至少10μs的高電平信號;ECHO是信號接收引腳,當有信號返回時,該腳輸出一個高電平;VCC是5V電源端;GND是接地端;OUT腳為此模塊作為防盜模塊時的開關量輸出腳,測距模塊不用此腳。
圖1是HC-SR04模塊的基本時序圖。從時序圖可以看出HC-SR04模塊的測距主要包含三個過程[1]:(1)控制口TRIG腳觸發測距,給至少10μs的高電平信號。(2)模塊自動發送8個40KHz的方波,自動檢測是否有信號返回。(3)一旦有信號返回,則可以檢測到通過接收口ECHO輸出的高電平。高電平持續時間就是超聲波從發射到返回的總時間。可推出HC-SR04模塊的測距公式如下:測試距離=(高電平持續時間×聲速(340m/s))/2。
1.2 控制部分
本設計的控制部分由單片機完成。單片機選用PIC16C73,該機最大的特點是省電,適合設計便攜式設備;35條簡單指令集,編程簡便;集成多種外設,簡化外圍電路。PORTB口的RB0管腳連接HC-SR04模塊的TRIG腳,RB7管腳設置成電平中斷功能并連接HC-SR04模塊的ECHO腳。當RBO口觸發測距后,就可以在RB7口等待高電平輸出。一有輸出就打開TMR1計時,當此口變為低電平時就讀TMR1H和TMR1L 的值,即可獲取測距時間。
1.3 數據顯示部分
本設計選用段碼式液晶顯示屏LCM103顯示測距結果。LCM103是10位多功能通用型8段式液晶顯示模塊,內含兩種頻率的蜂鳴驅動電路,內置顯示RAM,可顯示任意字段筆劃,低功耗,顯示清晰,編程簡單,是儀器儀表通用型顯示模塊。其片選信號與PIC16C73的RA3腳相接,模塊數據/指令寫入線連RA2,數據輸入輸出線連RA1。
本設計的總電路如圖2所示。
2 軟件設計
PIC單片機軟件采用模塊化設計,由主程序、各子程序和中斷處理程序等組成。主程序完成液晶屏等設備和定時器等的初始化和各子程序的調用:超聲波發生子程序,超聲波接收子程序,測距子程序和顯示子程序。其中超聲波測距程序增加了數據的擬合算法,通過擬合算法的數據處理后,大大提高了測量精度。一旦超出超聲波傳感器的測量范圍,將進入中斷程序,報警相關的顯示程序將執行。超聲波測距程序的流程圖如圖3所示。
3 誤差分析
實驗結果表明本設計系統誤差主要是HC-SR04超聲波TRIG引腳和ECHO引腳時序設計上存在固有的時延[3]。在TRIG低電平下降沿后ECHO引腳并沒有立馬產生高電平,而是有一定時延。TRIG引腳下降沿和ECHO引腳上升沿的時間差約為500μs,將導致被測距離增加十多厘米。此外,由于不同溫濕度天氣會對聲波傳播速度造成一定影響,也會帶來一定的誤差。
4 結語
本設計是以HC-SR04發射式超聲波測距模塊為核心,以單片機為控制器的應用系統。采用這種方案的測距系統具有操作方便,性價比好,穩定性高,性能穩定等特點。適用于建筑及液面測量,工業控制和車輛自動導航等領域。
參考文獻
[1]張可兒.基于單片機的超聲波測距儀的設計[J].自動化與儀器儀表,2017,(1):62-63.
[2]李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設計[J].單片機與嵌入式系統應用,2011,11(10):77-78.
[3]唐曉鵬,謝興生.利用集成HC-SR04模塊設計對射式測距系統[J].微型機與應用,2014,(22):90-93.