李世軍,周惠芳,金徐歡
(1.湖南工程學(xué)院 電氣信息學(xué)院,湘潭 411101;2.湖南電氣職業(yè)技術(shù)學(xué)院,湘潭 411101)
基于單片機的超聲波測距儀的研究與設(shè)計
李世軍1,周惠芳2,金徐歡1
(1.湖南工程學(xué)院 電氣信息學(xué)院,湘潭 411101;2.湖南電氣職業(yè)技術(shù)學(xué)院,湘潭 411101)
介紹了一個完整的基于單片機的超聲波測距系統(tǒng)的設(shè)計,該系統(tǒng)包括超聲波發(fā)射電路、接收電路、溫度采集電路和PC機數(shù)據(jù)采集系統(tǒng).經(jīng)多次實驗證明,測距范圍為0.4~6 m,誤差在±1 cm以內(nèi).可以滿足移動機器人、智能小車避障等應(yīng)用要求,具有一定的理論與現(xiàn)實意義.
超聲波測距系統(tǒng);單片機;溫度補償
測距有多種方式,比如微波測距,激光測距,紅外線測距和超聲波測距等.但是超聲波沿直線傳播,具有方向性好、穿透力強、傳播距離較遠(yuǎn)、在介質(zhì)中傳播時在不同的分界面上會產(chǎn)生反射波,所以被廣泛應(yīng)用于測量距離、厚度、液位等領(lǐng)域.特別是在物體識別、機械手控制、倒車防撞雷達(dá)等方面有著更深的應(yīng)用.超聲波測距屬于非接確式的測量方式,對于在黑暗、有毒氣、有灰塵、煙霧等惡劣環(huán)境下有較強的適用能力.基于這些優(yōu)點和特點,超聲波測距具有廣闊的前景,研究以提高測距精度和開辟新的應(yīng)用場合具有較高的理論與現(xiàn)實意義.
超聲波測距的方法多種,如時間渡越法、相位檢測法和聲波幅值檢測法.本設(shè)計中采用時間渡越法.即利用S=(v×t)/2來計算被測距離.式中S為收發(fā)與被測物間的距離,v為超聲波在介質(zhì)中的傳播速度,t為超聲波發(fā)送到接收的時間間隔.聲波在空氣中的傳播速度為:v=331.4m/s,其中T為環(huán)境溫度,在測量精度要求高的場合必須考慮溫度T的影響.在一般的應(yīng)用場合可以只通過在軟件調(diào)整補償.
超聲波傳感器是一種換能器,在發(fā)射端它把電能或機械能轉(zhuǎn)換為聲能,接收端相反.本次設(shè)計中采用的是壓電式的超聲波換能器,利用壓電晶體的諧振工作.當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,產(chǎn)生超聲波.反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,就成為超聲波接收器.械能轉(zhuǎn)換為電信號,就成為超聲波接收器.在超聲波電路中,發(fā)射端輸出一系列脈沖方波,脈沖寬度越大,輸出的個數(shù)越多,能量越大,所能測的距離也越遠(yuǎn).[1]
如圖1所示,該系統(tǒng)由STC89C52單片機、超聲波發(fā)射、超聲波接收、溫度測量、溫度 LCD顯示、串口通信卡、上位機等組成.
采用的定時器中斷從P1.7口產(chǎn)生40 kHz的方波信號,超聲波傳感器由74LS04組成的驅(qū)動電路實現(xiàn)一定功率的超聲波發(fā)射.定時器T0中斷產(chǎn)生40 kHz的方波信號通過超聲波探頭將其發(fā)射出去,超聲波遇見障礙物反射回來,反射回來被超聲波接收探頭所接收.但是由于超聲波探頭接收到的信號很微弱很小,所以還必須經(jīng)過一個放大電路進行放大,因為單片機不能直接接收這樣的信號,所以最后再通過波形變換電路將信號轉(zhuǎn)換成單片機能接收的信號進行接收.單片機接收信號后關(guān)閉計時器、禁止P1口工作,根據(jù)渡越時間法算出距離送LCD顯示測量的數(shù)據(jù),并通過串口卡通信上到上位機PC機.[2]
圖1 超聲波測距系統(tǒng)圖
如圖2所示,超聲波發(fā)射電路是通過超聲波發(fā)射探頭向測量目標(biāo)發(fā)射出40 kHz的方波,由單片機I/O口P1.7通過定時器定時輸出,但其輸出功率不夠.
將其送入一個由74LS04組成的推挽式功率放大以便使發(fā)射距離足夠遠(yuǎn).[2,3]
圖2 超聲波發(fā)射電路
超聲波接收電路接收到回波后轉(zhuǎn)換變成電信號,并對此電信號進行放大、濾波、整形等處理.采用了一塊集成電路CX20106A,它是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器.考慮到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,并且具有很高的靈敏度和較強的抗干擾能力,適當(dāng)更改電路電容的大小,可以改變接收電路的靈敏度和抗干擾能力,可以利用它作超聲波檢測接收電路,如圖3所示.第7引腳為輸出端,平時為高電平,接收到回波信號時下降成低電平,把它作為單片機的外部中斷請求信號,送入單片機P3.3(/INT1)引腳.[4]
圖3 超聲波接收檢測電路
溫度采用DS18B20數(shù)字溫度計,測溫范圍-55~+125℃,由于芯片采用1-wire總線方式,不需要外圍調(diào)理電路,可以和單片機直接相連,控制硬件簡單易行,可直接通過單片機I/O進行讀寫數(shù)據(jù),本設(shè)計將DS18B20直接與單片機P1.2口進行讀寫.DS18B20正常使用時測溫分辨率為0.5℃,當(dāng)測量系統(tǒng)需要更高的精度時,采取直接讀取DS18B20內(nèi)部暫存寄存器的方法,將DS1820的測溫分辨率提高到0.01~0.1℃.其溫度與聲速的關(guān)系表見表1,作為距離計算的修正.[3,4]
表1 溫度與聲速關(guān)系表
串行通信實現(xiàn)上位機PC機與下位機測距板的聯(lián)絡(luò),主要負(fù)責(zé)測距數(shù)據(jù)與溫度數(shù)據(jù)的實時上傳,以及相應(yīng)的控制命令和進行人機交互.上位機采用VB6.0進行人機交互界面設(shè)計,其測距采集界面如圖4所示.并用其MSComm控件實現(xiàn)與下位機簡單而高效的串行通信.充分發(fā)揮了單片機在實時數(shù)據(jù)采集圖形處理、顯示以及數(shù)據(jù)庫管理上的優(yōu)點.由于上下位機串行口工作電平不一致,它們之間通過MAX232芯片將單片機TT L電平轉(zhuǎn)換為RS232電平,在系統(tǒng)中采用一個串口卡實現(xiàn)電平的轉(zhuǎn)換,當(dāng)通信距離較大時,串口卡可以將RS232轉(zhuǎn)化為RS485進行遠(yuǎn)距離通信.
圖4 超聲波測距儀界面
超聲波軟件采用模塊化的結(jié)構(gòu)編程,主要由主程序、超聲波發(fā)射程序、超聲波接收后的中斷服務(wù)程序、定時器中斷服務(wù)程序、溫度轉(zhuǎn)換子程序、距離計算程序及顯示子程序、數(shù)據(jù)上傳等組成.
超聲波發(fā)射器通過P1.7發(fā)出的40 kHz超聲波的同時啟動定時器T1計時,經(jīng)過障礙物反射后,被接收電路接收,經(jīng)過放大和整形后送到單片機的P3.3(外部中斷/INT1)口.單片機接收到發(fā)射電路送來的信號即進入外部中斷 INT1程序并停止T1計時,測量計時開始與中斷之間的時間差,并根據(jù)采集來的溫度進行溫度補償后,計算出所測距離,將距離送液晶顯示和上位機PC機.[4,5]
圖5 主程序和中斷子程流程圖
本文利用STC89C52單片機設(shè)計的超聲波測距儀結(jié)構(gòu)精簡,成本低廉,可靠性強,測距范圍為0.4~6 m,誤差在±1 cm以內(nèi),易于產(chǎn)品化,具有較強的實用價值.采用單對發(fā)射和接收器以測量點到點和點到面的距離,如用于液面、井深測量等.采用多對可以測量點到點的距離,并進行方位的確定,如方位入侵報警、汽車防撞及倒車?yán)走_(dá)等.
[1]黃 麗.基于Multisim仿真的超聲波測距系統(tǒng)的設(shè)計與實現(xiàn)[J].湖南工程學(xué)院學(xué)報,2009,(2).
[2]張 健.超聲波測距系統(tǒng)的研究與設(shè)計[J].合肥工業(yè)大學(xué)學(xué)報,2004,(6).
[3]李娣娜.一種新超聲波測距系統(tǒng)的設(shè)計[J].延安大學(xué)學(xué)報,2008,(3).
[4]李利品.基于DSP的高精度超聲波流量控制系統(tǒng)[J].儀表技術(shù)與傳感器,2009,(3).
[5]王文生.一種高精度超聲測距方法的研究[J].傳感技術(shù)學(xué)報,2002,(9).
Research and Design of Instrument for Ultrasonic Distance Measurement Based on MCU
LI Shi-jun1,ZHOU Hui-fang2,JIN Xu-huan1
(1.College of Electrical&Information Engineering,Hunan Institute of Engineering,Xiangtan 411101,China;2.Hunan Electrical College of Technology,Xiangtan 411101,China)
T his paper introduces the design of a complete ultrasonic ranging system based on microcontroller which includs ultrasonic transmit circuit,receiving and magnifying circuit,temperature acquisition circuit and data acquisition of PC.The experiments prove that the metrical range is between 0.4m~6 m and the maximum error is±1cm.It can meet the application requirements of mobile robots and intelligent obstacle-avoidance car,and have certain theoretical and practical significance.
ultrasonic ranging system;MCU;temperature compensation
TP212
A
1671-119X(2011)02-0013-03
2010-11-03
2010年湖南省大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實驗計劃項目(299);湖南省教育廳科研資助項目(09C266).
李世軍(1982-),男,工學(xué)碩士,講師,研究方向:嵌入式系統(tǒng).