顧國(guó)榮 鮑駿成 李海樂
[摘 要] 超聲波技術(shù)是一項(xiàng)應(yīng)用十分廣泛的實(shí)用的非接觸式技術(shù)。它具有傳播距離遠(yuǎn)、聚向性能好、能源在傳播過程中消耗緩慢等優(yōu)點(diǎn),而超聲波測(cè)距更是借助了超聲波的上述優(yōu)點(diǎn)外還有如原理簡(jiǎn)單易懂、相關(guān)配件價(jià)格實(shí)惠等優(yōu)勢(shì)而被大量推崇。文章首先介紹超聲波測(cè)距的測(cè)距原理和系統(tǒng)構(gòu)架,然后分別對(duì)制作超聲波測(cè)距的硬件電路和軟件編程思路進(jìn)行闡述,最后介紹調(diào)試超聲波測(cè)距儀中的一些測(cè)試結(jié)果。
[關(guān)鍵詞] 單片機(jī);超聲波;測(cè)距系統(tǒng)
[基金項(xiàng)目] 上海市工程技術(shù)大學(xué)大學(xué)生創(chuàng)新項(xiàng)目(A-0800-10-122)
[作者簡(jiǎn)介] 顧國(guó)榮,上海工程技術(shù)大學(xué)大四學(xué)生,上海,201620;鮑駿成,上海工程技術(shù)大學(xué)城市軌道交通學(xué)院,上海,201620;李海樂,上海工程技術(shù)大學(xué)城市軌道交通學(xué)院,上海,201620
[中圖分類號(hào)] TP274.53 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1007-7723(2012)02-0042-0004
眾所周知,城市軌道交通的檢修為了不打擾正常的運(yùn)營(yíng)通常放在半夜進(jìn)行,而在此過程中如要進(jìn)行一些非接觸式的檢測(cè)項(xiàng)目時(shí),往往由于現(xiàn)場(chǎng)的光線昏暗或是檢測(cè)條件有限,通常是由檢修的老員工通過自己多年的經(jīng)驗(yàn)來主觀判斷是否存在誤差。這樣憑自己的主觀工作經(jīng)驗(yàn)而下的判斷無疑是給列車的安全出行埋下了安全隱患。超聲波測(cè)距技術(shù)正是一項(xiàng)非接觸式的測(cè)距技術(shù),它具有傳播距離遠(yuǎn)、能量消耗少、聚向性能佳等優(yōu)勢(shì),特別適用于傳播媒介是空氣的應(yīng)用環(huán)境之中。由于在空氣中波速較慢,因此容易檢測(cè)出反射信號(hào)的信息,具有很強(qiáng)的分辨能力。同時(shí),它能做到實(shí)時(shí)控制和檢測(cè)可靠?jī)?yōu)勢(shì)而使其具有很高的工業(yè)實(shí)用價(jià)值,因此它被廣泛地應(yīng)用,而且價(jià)格相對(duì)低廉,不會(huì)給企業(yè)和個(gè)人使用增加太多的成本負(fù)擔(dān)。
一、超聲波測(cè)距的工作原理
目前超聲波的測(cè)距原理主要有三種方式:分別是渡越時(shí)間檢測(cè)法、相位檢測(cè)法和聲波幅值檢測(cè)法[1] 。相位檢測(cè)法雖然通過相位之間的角度計(jì)算能夠得出比較高的精確度[2],但是計(jì)算方式比較復(fù)雜,而且相關(guān)的硬件設(shè)備價(jià)格較貴;而采用聲波幅值檢測(cè)方法的話,主要的瓶頸在于它容易受到反射波的干擾,而造成靈敏性和精確度不高[3]。綜合比較下來,渡越時(shí)間檢測(cè)法的檢測(cè)原理簡(jiǎn)單易懂同時(shí)反射波也不會(huì)對(duì)其造成干擾而使其靈敏度和精確度下降,最終筆者選擇的超聲波測(cè)距原理是渡越時(shí)間檢測(cè)法。
渡越時(shí)間檢測(cè)法的原理就是:檢測(cè)從超聲波發(fā)射器發(fā)出的超聲波,經(jīng)氣體介質(zhì)的傳播到接收器的時(shí)間,即渡越時(shí)間[4]。而用在傳媒介質(zhì)為空氣中聲波的速度乘以該渡越時(shí)間就可以得出我聲波總的傳播距離。由于該距離是發(fā)射到發(fā)射面后再有接收端口接收到的,因此實(shí)際的距離則是之前聲波乘以渡越時(shí)間的一半。而對(duì)于時(shí)間的計(jì)算則是通過51單片機(jī)的內(nèi)部定時(shí)器來實(shí)現(xiàn)。
測(cè)距的具體過程如下:通過超聲波發(fā)射裝置向某一方向或是某一反射面發(fā)射超聲波,同時(shí)激發(fā)單片機(jī)內(nèi)部的定時(shí)器開始計(jì)時(shí)。在超聲波發(fā)射后遇到障礙物則被反射回來,之后被超聲波的接收端所接收到;與此同時(shí),單片機(jī)的內(nèi)部定時(shí)器停止計(jì)時(shí)。那么在單片機(jī)的內(nèi)部定時(shí)器中的這段時(shí)間就是渡越時(shí)間,之后將這段時(shí)間送給單片機(jī)進(jìn)行讀取并計(jì)算,最后單片機(jī)將最終的結(jié)果顯示到數(shù)碼管上。
二、超聲波測(cè)距系統(tǒng)的組成
整個(gè)測(cè)距系統(tǒng)的話主要是由C51單片機(jī)作為核心的控制系統(tǒng)以及發(fā)射模塊、接收模塊、報(bào)警模塊、顯示模塊、電源模塊等組成。具體如圖1所示:
在這其中單片機(jī)作為主要的核心,它的主要的功能將會(huì)是為發(fā)射端口提供40KHZ的高頻方波信號(hào),經(jīng)過換能器和驅(qū)動(dòng)電路后將超聲波發(fā)射出去。
而接收電路接收到反射波后,向單片機(jī)發(fā)送一個(gè)低電平的信號(hào)。單片機(jī)接收來自接收模塊的低電平信號(hào)后停止計(jì)時(shí)并讀取出內(nèi)部定時(shí)器的數(shù)值,同時(shí)進(jìn)行相應(yīng)的計(jì)算,對(duì)最后的結(jié)果進(jìn)行處理后使其能顯示在3位的共陽(yáng)數(shù)碼管上。而如果當(dāng)測(cè)距的距離超出最大的測(cè)距范圍時(shí),單片機(jī)也能及時(shí)觸發(fā)相應(yīng)的報(bào)警模塊進(jìn)行蜂鳴報(bào)警。
其他例如顯示模塊、報(bào)警模塊、發(fā)射模塊等將在測(cè)距硬件部分中介紹。
三、超聲波測(cè)距系統(tǒng)的硬件模塊組成
(一)發(fā)射電路模塊
發(fā)射電路主要是由超聲波發(fā)送頭、超聲波脈沖變壓器、電阻、三極管組成。其中脈沖變壓器的主要功能就是對(duì)超聲波發(fā)送頭處的電壓進(jìn)行升壓處理。這樣處理的好處就是能夠有效地提高發(fā)送的功率,使得我的超聲波發(fā)射的距離能夠大大地提高。
發(fā)送的過程就是我單片機(jī)通過編程使其產(chǎn)生了40KHZ的高頻信號(hào),然后該信號(hào)通過變壓器后加載到了發(fā)送頭上,從而驅(qū)動(dòng)了超聲波的發(fā)送頭發(fā)送出高頻超聲波。
(二)接收電路模塊
接收電路主要是由放大電路、檢波電路、比較整型電路所構(gòu)成。放大電路主要是由兩組三極管所構(gòu)成,而其他2個(gè)電路則是由三極管、電容和檢波二極管所組成。
通常情況下從發(fā)射段發(fā)射出去的超聲波經(jīng)反射回來后會(huì)有一定程度的衰減。所以接收電路首先要做的就是對(duì)接收到的信號(hào)進(jìn)行放大處理。通過兩組的三級(jí)管構(gòu)成的放大電路進(jìn)行放大,每組放大倍數(shù)定為70倍。之后通過由IN4148構(gòu)成的檢波電路和電容組成的整型電路后,輸出的直流信號(hào)能被單片機(jī)有效地讀取到。采用這種電路設(shè)計(jì)方法可以使得接收性能穩(wěn)定且結(jié)構(gòu)簡(jiǎn)單。
(三)顯示電路
顯示電路主要是由3位共陽(yáng)級(jí)的數(shù)碼管為主體所構(gòu)成的。由于筆者所采用的是動(dòng)態(tài)掃描的讀取方式,因此還加上了S9012三極管來驅(qū)動(dòng)數(shù)碼管的工作。
(四)報(bào)警電路
報(bào)警電路的主要是由蜂鳴器、電阻、三極管所組成。在其中設(shè)定當(dāng)在進(jìn)行測(cè)量中測(cè)量的距離值小于預(yù)先設(shè)好的值時(shí),蜂鳴器將會(huì)被觸發(fā),并給予報(bào)警信號(hào)。一旦高于設(shè)定的值時(shí),將會(huì)停止報(bào)警。
三、軟件編程設(shè)計(jì)與思路
超聲波測(cè)距儀的軟件編程主要是可以將軟件執(zhí)行的主要過程分為幾個(gè)模塊來思考。將其分為主程序模塊、超聲波輸出模塊、超聲波接收模塊以及顯示模塊。主程序?qū)⒆鳛檎麄€(gè)程序的核心,根據(jù)相應(yīng)的需要來調(diào)用其他的相應(yīng)子模塊。同時(shí)在程序的執(zhí)行過程中,由于該軟件程序既涉及到有時(shí)間要求較高的控制過程(比如對(duì)于單片機(jī)內(nèi)部定時(shí)器的開關(guān)的觸發(fā))又涉及到一系列復(fù)雜的計(jì)算問題(比如數(shù)值類型的轉(zhuǎn)換和計(jì)算等),因此綜合比較分析下來,使用單片機(jī)的C51語(yǔ)言編程比匯編語(yǔ)句更加有效。
(一)主程序模塊
主程序模塊首先進(jìn)行的是整個(gè)系統(tǒng)的環(huán)境初始化,對(duì)所用的變量恢復(fù)原始設(shè)置。之后便是對(duì)定時(shí)器開始進(jìn)行一定的配置。其值為0時(shí)代表其執(zhí)行計(jì)數(shù)功能,而其值為1則代表執(zhí)行定時(shí)功能。過了初始化這個(gè)步驟后,當(dāng)定時(shí)器標(biāo)定位是0時(shí)進(jìn)行的就是調(diào)用超聲波輸出模塊,使得40KHZ的方波信號(hào)從超聲波發(fā)射頭中發(fā)射出去,同時(shí)啟動(dòng)單片機(jī)的內(nèi)部定時(shí)器,開始計(jì)時(shí)。
隨后緊接著一步就是進(jìn)行判斷,判斷測(cè)距的距離是否在標(biāo)定的范圍內(nèi),如果不在則調(diào)用相應(yīng)的報(bào)警功能。如果在相應(yīng)的標(biāo)定距離則進(jìn)入while循環(huán)語(yǔ)句中,調(diào)用顯示模塊,用來不間斷顯示測(cè)距的結(jié)果值。流程圖如圖2所示:
(二)超聲波輸出及接收子程序設(shè)計(jì)思路
該子程序模塊的調(diào)用條件即是當(dāng)之前單片機(jī)內(nèi)部定時(shí)器的標(biāo)定位為1時(shí)被觸發(fā)。此時(shí)程序執(zhí)行的就是由單片機(jī)發(fā)送4個(gè)一定頻率的超聲脈沖加載到超聲波發(fā)送頭上,之后立即激發(fā)定時(shí)器開始計(jì)時(shí)。
之后將要執(zhí)行一個(gè)延時(shí)子程序。這個(gè)延時(shí)子程序的作用就是防止當(dāng)我的超聲波從發(fā)射頭中發(fā)射出去時(shí)直接就被我的接收部分的接收頭收到。這種由引起的直射波觸發(fā)如果不進(jìn)行延時(shí)處理,將會(huì)對(duì)整個(gè)測(cè)距的準(zhǔn)確性帶來嚴(yán)重的誤差。同樣也正是因?yàn)檫@個(gè)原因,造成測(cè)距會(huì)有一個(gè)最小測(cè)距距離,也就是俗稱的盲區(qū)值[5]。
之后就進(jìn)入到接收子程序中。接收子程序主要就是進(jìn)行一個(gè)判斷,這次的判斷主要針對(duì)接收端是否接收到了回波的信號(hào)。如果收到了回波信號(hào)則單片機(jī)內(nèi)部定時(shí)器及時(shí)停止計(jì)時(shí)。下一步開始根據(jù)時(shí)間計(jì)算出相應(yīng)的測(cè)量值。而如果接收端沒有收到回波則,檢查延時(shí)時(shí)間是否已到,如果已經(jīng)到達(dá)了延時(shí)時(shí)間則停止計(jì)時(shí);如果沒有到,則繼續(xù)檢測(cè)接收端是否收到回波。具體如圖3所示。
(三)顯示子程序的設(shè)計(jì)思路
顯示子程序的主要思路就是在顯示之前先加段位轉(zhuǎn)換的小程序。根據(jù)之前測(cè)距距離的判斷結(jié)果調(diào)用之前存在靜態(tài)存儲(chǔ)區(qū)內(nèi)的段位組合情況。之后再使用動(dòng)態(tài)掃描的方法將其顯示出來。由于這部分知識(shí)包括動(dòng)態(tài)掃描等方法都是單片機(jī)技術(shù)中一些比較常見和通用方法。在此也就不加詳細(xì)闡述了。
四、結(jié) 語(yǔ)
在完成了硬件的焊接和軟件編程后,為了驗(yàn)證這個(gè)測(cè)距系統(tǒng)的精確性能指標(biāo),筆者在學(xué)院實(shí)驗(yàn)室內(nèi)進(jìn)行了實(shí)際的測(cè)試,發(fā)現(xiàn)在范圍50~500cm之間都能準(zhǔn)確測(cè)量,最大誤差在1cm之間。整個(gè)系統(tǒng)相對(duì)于傳統(tǒng)的測(cè)距設(shè)備相比具有性能穩(wěn)定,結(jié)構(gòu)簡(jiǎn)單、體積較小、價(jià)格便宜等優(yōu)點(diǎn)。而誤差的原因經(jīng)分析主要是由于反射面的不平整及自身的延時(shí)所致。可根據(jù)實(shí)際的情況對(duì)脈沖寬度、頻率等參數(shù)作相應(yīng)的調(diào)整即可。
[參考文獻(xiàn)]
[1]王紅云 基于超聲波測(cè)距的倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)[J].國(guó)外電子元器件,2008,(8).
[2]王革思,李柏松,丁堅(jiān).相位差法超聲波流量計(jì)的研制[J].信息技術(shù),2008,(12).
[3]彭建盛,梁光艷,郭留濤.基于無線單片機(jī)CC2510的多點(diǎn)超聲波測(cè)距系統(tǒng) 河池學(xué)院學(xué)報(bào)[J]. 2009,4(2).
[4]卜英勇,何永強(qiáng),趙海鳴,等.一種高精度超聲波測(cè)距儀測(cè)量精度的研究[J].鄭州大學(xué)學(xué)報(bào),2006,(1).
[5]劉成安,孫濤.智能超聲波測(cè)距儀的研制[J].單片機(jī)開發(fā)與應(yīng)用,2007,(6).