孫李生
摘要:在日常生活中,測(cè)量距離具有重要意義。在實(shí)際的生產(chǎn)過程中,采用超聲波測(cè)距的方法具有造價(jià)低、應(yīng)用領(lǐng)域廣的明顯優(yōu)勢(shì)。對(duì)此,本文介紹了一種基于51單片機(jī)的超聲波測(cè)距設(shè)計(jì), 該系統(tǒng)選用STC89C-51單片機(jī)作為處理芯片, 采用超聲波模塊HC-SR04進(jìn)行距離測(cè)量。該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、成本低、操作方便、測(cè)量精度高等優(yōu)點(diǎn)。
關(guān)鍵詞:51單片機(jī);超聲波;測(cè)距;溫度
一、緒論
距離是在不同的場(chǎng)合和控制中需要檢測(cè)的一個(gè)參數(shù),測(cè)距成為數(shù)據(jù)采集中要解決的一個(gè)問題。而超聲波是一種頻率高于20kHz,波長(zhǎng)較短, 在空氣中傳播過程中以縱波形式傳輸?shù)臋C(jī)械波。由于超聲波的速度相對(duì)光速小的多,具有較好的方向性,其傳播時(shí)間比較容易檢測(cè),并且易于定向發(fā)射,方向性好,強(qiáng)度好控制,因而人類采用仿真技能利用超聲波測(cè)距。
超聲波測(cè)距是一種利用超聲波特性、電子技術(shù)、光電開關(guān)相結(jié)合來實(shí)現(xiàn)非接觸式距離測(cè)量的方法。因?yàn)樗欠墙佑|式的,所以它就能夠在某些特定場(chǎng)合或環(huán)境比較惡劣的情況下使用。
二、超聲波電路原理
超聲波測(cè)距是借助于超聲波脈沖回波渡越世間法來實(shí)現(xiàn)的。設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時(shí)間為t,在空氣中的傳播速度為c,則距離s可由以下公式求出:
s = c*t/2
本文采用的超聲波模塊是HC-SR04,當(dāng)模塊的觸發(fā)信號(hào)發(fā)出10μs的高電平之后,模塊自動(dòng)發(fā)出8個(gè)40Khz的方波,并自動(dòng)檢測(cè)是否有信號(hào)返回;當(dāng)有信號(hào)返回時(shí),通過51單片機(jī)上的IO口輸出一個(gè)高電平,此時(shí)高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。該模塊的有效測(cè)量范圍為0.02~4 m, 能夠達(dá)到毫米級(jí)的測(cè)量精度。
三、超聲波測(cè)距系統(tǒng)的組成
本系統(tǒng)的主體框架包含以下幾個(gè)部分:
由STC89C51主控芯片、超聲波測(cè)距電路、顯示電路、復(fù)位電路、供電電路等幾部分組成,STC89C51單片機(jī)外接5 V直流電源,采用了12V轉(zhuǎn)5V的穩(wěn)壓電源。其中定時(shí)器0和1分別計(jì)時(shí),一個(gè)對(duì)發(fā)射時(shí)間的計(jì)時(shí),另外一個(gè)對(duì)接受高電平時(shí)間的計(jì)時(shí);顯示部分為8位共陰數(shù)碼管組成,由兩個(gè)74HC573芯片控制,一個(gè)控制段選一個(gè)控制位選。
四、程序設(shè)計(jì)
軟件設(shè)計(jì)采用C語言編程,整體程序框圖如圖下所示。
一開始先是對(duì)系統(tǒng)進(jìn)行初始化,設(shè)置定時(shí)器工作模式并開啟中斷。P1^1作為HC-SR04觸發(fā)信號(hào)的輸出,P1^2為HC-SR04響應(yīng)信號(hào)的輸入。由HC-SR04的時(shí)序圖可知,P1^1需發(fā)出持續(xù)時(shí)間為10μs的高電平之后,模塊將自動(dòng)循環(huán)發(fā)出8個(gè)40KHZ脈沖。在3秒內(nèi),當(dāng)P1^2接受到高電平時(shí),與此同時(shí)馬上開始計(jì)時(shí)器。記下此高電平持續(xù)的時(shí)間,由距離=高電平時(shí)間*聲速(340m/s)/2,得出距離并顯示在數(shù)碼管上。當(dāng)在上一次發(fā)出觸發(fā)信號(hào)之后3秒還沒接到響應(yīng)信號(hào),重新發(fā)出觸發(fā)信號(hào)。
五、誤差分析與解決
由于超聲波本身作為一種傳播介質(zhì),在傳播的過程中會(huì)受到各種因素的影響,如:溫濕度、光照、傳播介質(zhì),還有硬件條件的影響,其精度一般只能達(dá)到0.1~0.01cm;為了進(jìn)一步提高其精度,采用了進(jìn)行溫度補(bǔ)償法。
由于空氣中的聲速與溫度的關(guān)系為:c=331.4*
對(duì)此我們提出的進(jìn)一步改進(jìn)措施是,在采用HC-SR04可以先采用DS1802b(溫度傳感器)測(cè)出空氣中的實(shí)際溫度,然后再用上面的公式代入以求得更精確值。
六、結(jié)語
本文研究了一種基于51單片機(jī)的超聲波測(cè)距設(shè)計(jì),并提出了一種針對(duì)超聲波精度不高的溫度補(bǔ)償方法。該系統(tǒng)選STC89C51單片機(jī)作為處理芯片, 使用超聲波模塊HC-SR04對(duì)超聲波進(jìn)行收發(fā)。根據(jù)超聲波在空氣中傳播所用時(shí)間等于模塊內(nèi)部高點(diǎn)片持續(xù)的時(shí)間原理,計(jì)算出所要測(cè)量的距離。最終結(jié)果顯示, 該系統(tǒng)具有良好的測(cè)距精度。
參考文獻(xiàn):
[1]杜寧.基于溫度補(bǔ)償?shù)某暡y(cè)距系統(tǒng)設(shè)計(jì)[J].輕工標(biāo)準(zhǔn)與質(zhì)量,2017(04):72-73.
[2]任思源,賈兆鵬,李亨濤,王鑫.超聲波多通道同步溫度分布測(cè)量方法[J].熱力發(fā)電,2018,47(01):119-124.
[3]曹鵬,陳夢(mèng)超,胡玉欽,任浩洋.基于HC-SR04超聲波傳感器安全泊車測(cè)距模塊設(shè)計(jì)[J].南方農(nóng)機(jī),2018,49(15):17-18.
[4]陳蔚.超聲波測(cè)距儀的設(shè)計(jì)和實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2018,36(05):182-183
[5]胡林林,付龍.基于STC89C52單片機(jī)的超聲波測(cè)距設(shè)計(jì)[J].儀表技術(shù),2018(02):33-35.
[6]嚴(yán)也,汪磊,徐遠(yuǎn)志.基于單片機(jī)的超聲測(cè)距系統(tǒng)設(shè)計(jì)[J].科學(xué)技術(shù)創(chuàng)新,2018(03):40-41.