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