周 彪
[摘要]設(shè)計(jì)一種基于AT89S51單片機(jī)的超聲波測(cè)距電路,實(shí)現(xiàn)超聲波點(diǎn)對(duì)點(diǎn)的測(cè)量,并采用DS18820測(cè)溫,減小溫度對(duì)超聲波傳播速度的影響。
[關(guān)鍵詞]單片機(jī)超聲波測(cè)距溫度補(bǔ)償
中圖分類號(hào):TN98文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0610013-01
一、引言
超生波技術(shù)是一門以物理、電子、機(jī)械及材料學(xué)為基礎(chǔ)的通用技術(shù)之一。它是通過(guò)超聲波產(chǎn)生、傳播及接收的物理過(guò)程而完成的。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測(cè)量。
二、超聲波測(cè)距的基本原理
超聲波發(fā)生器在某一時(shí)刻發(fā)出超聲波信號(hào),當(dāng)超聲波遇到被測(cè)物體后反射回來(lái),測(cè)出超聲波信號(hào)從發(fā)射到接收到回波信號(hào)的時(shí)間,利用超聲波在介質(zhì)中的傳播速度,就可以計(jì)算出被測(cè)物體的距離:
d=v×t/2(1)
其中,d為被測(cè)物體到測(cè)距儀之間的距離,v為超聲波在介質(zhì)中的傳播速度,t為超聲波從發(fā)射到接收所用的時(shí)間。為了提高精度,需要考慮不同溫度下超聲波在空氣中傳播速度隨溫度變化的關(guān)系:
v=33114+0161T(2)
式中:T為實(shí)際溫度(℃),v為超聲波在介質(zhì)中的傳播速度(m/s)。
三、超聲波測(cè)距系統(tǒng)的設(shè)計(jì)
(一)整體方案設(shè)計(jì)。本文主要采用單片機(jī)控制技術(shù),實(shí)現(xiàn)精確的超聲波測(cè)距方案,整個(gè)系統(tǒng)由超聲波收發(fā)單元、波形校準(zhǔn)單元、溫度測(cè)量單元、顯示單元和控制單元5個(gè)單元組成。其中,超聲波收發(fā)單元主要實(shí)現(xiàn)超聲波的接發(fā)送和接收;信號(hào)處理單元主要實(shí)現(xiàn)去除干擾、波形整形、鎖相環(huán)等功能,便于實(shí)現(xiàn)準(zhǔn)確計(jì)時(shí);溫度測(cè)量單元主要測(cè)量外界溫度,實(shí)現(xiàn)溫度補(bǔ)償:顯示單元實(shí)現(xiàn)測(cè)量數(shù)據(jù)的顯示:?jiǎn)纹瑱C(jī)為控制單元,完成指令發(fā)送,接收數(shù)據(jù),進(jìn)行計(jì)算等任務(wù)。
(二)單片機(jī)控制與顯示模塊。單片機(jī)選用AT89S51單片機(jī),ATMEL的AT89S51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。它的外部引腳多,程序存儲(chǔ)容量大,同時(shí)也具有內(nèi)部
定時(shí)、計(jì)數(shù)和全雙工串口。AT89S51的最大計(jì)數(shù)分辨率為振蕩器頻率的1/12,對(duì)于12MHz晶振來(lái)說(shuō),距離不確定度約為1mm,因此滿足本設(shè)計(jì)要求。此單片機(jī)響應(yīng)快,壽命長(zhǎng),性能穩(wěn)定,功耗低,價(jià)格低廉。使用數(shù)碼管LG50118SR作為顯示部分,其功耗低,操作簡(jiǎn)單,體積小。
(三)超聲波發(fā)射電路。超聲波發(fā)射器包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩部分,由功率放大電路和超聲波發(fā)射傳感器組成。超聲波探頭的型號(hào)選用CSB40T,利用軟件產(chǎn)生的超聲波信號(hào),通過(guò)輸出引腳輸入至驅(qū)動(dòng)器。經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)后推動(dòng)探頭產(chǎn)生超聲波。通過(guò)空間向外傳播出去。
(四)超聲波接收部分。超聲波接收部分采用集成芯片CX20106A,這是一款紅外線檢波接收的專用芯片。內(nèi)部電路由前置放大器、自動(dòng)偏置電平控制電路、限幅放大器、帶通濾波器、峰值檢波器和整形輸出電路組成??梢岳盟鳛槌暡z測(cè)電路。接收的回波信號(hào)先經(jīng)過(guò)前置放大器和限幅放大器,將信號(hào)調(diào)整到合適的幅值;再經(jīng)過(guò)帶通濾波器濾波得到有用信號(hào),濾除干擾信號(hào);最后由峰值檢波器和整形電路輸出到鎖相環(huán)路,實(shí)現(xiàn)準(zhǔn)確的計(jì)時(shí)。
(五)溫度測(cè)量部分。DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的12Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,將其數(shù)據(jù)線與單片機(jī)的P1.7相連,就可以實(shí)現(xiàn)溫度測(cè)量。測(cè)量的溫度精度可以達(dá)到0.1℃,測(cè)量的溫度的范圍在一20~+100℃。
四、系統(tǒng)的程序設(shè)計(jì)
在程序設(shè)計(jì)過(guò)程中一般有四個(gè)步驟:初始化命令:傳送ROM命令:傳送RAM命令;數(shù)據(jù)交換命令。在系統(tǒng)安裝及工作之前,應(yīng)將主機(jī)與DS18820掛接。其工作過(guò)程為:主機(jī)發(fā)出一個(gè)脈沖,待“0”電平大于480μs后,復(fù)位DS18820,在DS18820所發(fā)響應(yīng)脈沖由主機(jī)接收后,主機(jī)再發(fā)讀ROM命令代碼33H,然后發(fā)一個(gè)脈沖(15μs),并接著讀取DS18820序列號(hào)的一位。用同樣方法讀取序列號(hào)的56位。另外,由于DS18820單線通信功能是分時(shí)完成的,遵循嚴(yán)格的時(shí)隙概念,因此,系統(tǒng)對(duì)DS18820和各種操作必須按協(xié)議進(jìn)行,即初始化DS18820(發(fā)復(fù)位脈沖)一發(fā)ROM功能命令一發(fā)存儲(chǔ)器操作命令一處理數(shù)據(jù)。在正常測(cè)溫情況下,DSl8820的測(cè)溫分辨力為0.5℃。采用下述方法可獲得高分辨率的溫度測(cè)量結(jié)果:首先用DSISB20提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度的整數(shù)部分Tz,然后再用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD。考慮到DS18B20測(cè)量溫度的整數(shù)部分以0.25和0.75℃為進(jìn)位界限的關(guān)系。
該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當(dāng)按下測(cè)量鍵時(shí),主程序開(kāi)始調(diào)用發(fā)射子程序、查詢接收子程序、定時(shí)子程序,并把測(cè)量結(jié)果用顯示子程序在數(shù)碼顯示器上顯示出來(lái)。
五、結(jié)論
應(yīng)用本系統(tǒng)15mm~5m內(nèi)的目標(biāo)做了多次測(cè)量,其最大誤差為1.5mm,且重復(fù)性好,可以用于實(shí)際使用。可見(jiàn)基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、功耗低、易于操作、靈活性高的特點(diǎn)外,還具有操作方便、運(yùn)行可靠的優(yōu)點(diǎn),它有良好的人機(jī)界面,能方便地實(shí)時(shí)顯示測(cè)距數(shù)據(jù)。