北京信息科技大學(xué)控制工程系,北京 100192
目前,常用的便攜式手持測(cè)距方法主要有毫米波測(cè)距、激光測(cè)距和超聲波測(cè)距三種。超聲波測(cè)距較前兩種測(cè)距方法而言,具有指向性強(qiáng)、能耗緩慢、受環(huán)境因素影響較小等特點(diǎn),廣泛應(yīng)用于如井深、液位、管道長(zhǎng)度、倒車(chē)等短距離測(cè)量。
本文設(shè)計(jì)一種家居裝修時(shí)測(cè)量房間的測(cè)距儀,主要要求測(cè)距儀響應(yīng)速度快、測(cè)量精度高和體積小攜帶方便,最終達(dá)到測(cè)量誤差小于5%,最大測(cè)距范圍12m。在超聲波測(cè)距方法上,本設(shè)計(jì)選用頻率為40kHz左右的超聲波,它在空氣中的傳播效果最佳[1]。由于考慮了環(huán)境溫度對(duì)聲速的影響,在算法上通過(guò)環(huán)境的溫度對(duì)聲速做補(bǔ)償,達(dá)到提高測(cè)量精度的目的。本設(shè)計(jì)具有電路簡(jiǎn)單、操作簡(jiǎn)便、工作穩(wěn)定可靠、測(cè)距精確和能耗小、成本低等特點(diǎn),可實(shí)現(xiàn)無(wú)接觸式測(cè)量,應(yīng)用廣泛。
超聲波測(cè)距有多種方法,根據(jù)超聲波發(fā)射后返回的回波幅值、相位和超聲波發(fā)出到返回的時(shí)間差不同,有聲波幅值檢測(cè)法、相位檢測(cè)法和渡越時(shí)間法。本文超聲波測(cè)距儀采用的是渡越時(shí)間法。因渡越時(shí)間法簡(jiǎn)單,成本低,可應(yīng)用的距離范圍大,可測(cè)量的范圍為0.39 ~ 10.3m[2]。
渡越時(shí)間檢測(cè)法的基本思想是,發(fā)射器發(fā)射超聲波,經(jīng)過(guò)障礙物反射后被接收器接收,測(cè)量發(fā)射器和接收器接收超聲波的時(shí)間差,利用式(1)即可測(cè)得障礙物與測(cè)試點(diǎn)之間的距離L:
式中:c—超聲波在空氣中的傳播速度;
t—超聲波在空氣中的傳播時(shí)間。
同時(shí),超聲波在空氣中的傳播速度受環(huán)境溫度的影響較大,考慮了環(huán)境溫度對(duì)傳播速度的影響周后,障礙物與測(cè)試點(diǎn)之間的距離修正為:
式中:T—環(huán)境溫度。
焊接檢驗(yàn)?zāi)康脑谟诜乐古c發(fā)現(xiàn)焊接缺陷,以確保結(jié)構(gòu)(件)的安全使用。各類(lèi)產(chǎn)品都規(guī)定了對(duì)焊接接頭質(zhì)量等級(jí)的技術(shù)要求。試制新產(chǎn)品或制訂焊接新工藝時(shí),通過(guò)焊接檢驗(yàn)可發(fā)現(xiàn)并解決其質(zhì)量問(wèn)題,使新產(chǎn)品與新工藝獲得發(fā)展和應(yīng)用。有的產(chǎn)品在使用中還需定期檢驗(yàn),以發(fā)現(xiàn)和及時(shí)消除在使用中產(chǎn)生而尚未導(dǎo)致破壞的缺陷,從而防止事故的發(fā)生,延長(zhǎng)產(chǎn)品的使用壽命。
超聲波測(cè)距儀的工作原理為:在單片機(jī)的控制下,單片機(jī)給超聲波模塊一個(gè)觸發(fā)信號(hào),然后超聲波發(fā)射電路產(chǎn)生40kHz脈沖,經(jīng)過(guò)放大后驅(qū)動(dòng)發(fā)射端發(fā)射。同時(shí)單片機(jī)內(nèi)部計(jì)數(shù)器開(kāi)始記數(shù),超聲波被反射后在接收端轉(zhuǎn)換為電信號(hào),經(jīng)過(guò)濾波放大后送給檢波器,一旦檢波器收到了回波,計(jì)數(shù)器就停止工作,得到計(jì)數(shù)值。然后單片機(jī)根據(jù)記數(shù)頻率和溫度檢測(cè)電路測(cè)得聲速,計(jì)算并得到待測(cè)距離[5]。
超聲波測(cè)距一個(gè)重要的參數(shù)就是對(duì)超聲波回波時(shí)間t的檢測(cè),時(shí)間t測(cè)量的準(zhǔn)確性影響著超聲波測(cè)距儀測(cè)量距離的準(zhǔn)確度[3]。另一個(gè)比較重要的參數(shù)就是溫度,因?yàn)槌暡ǖ乃俣仁墉h(huán)境溫度的影響。本設(shè)計(jì)硬件方案就包括單片機(jī)電路、顯示電路、超聲波傳感器、溫度檢測(cè)電路和電源模塊。硬件設(shè)計(jì)框圖如圖1所示。
單片機(jī)選用瑞薩公司R8C/2L。R8C/2L采用R8C CPU內(nèi)核,最高工作頻率為20MHz。主要使用單片機(jī)的定時(shí)器功能、輸入捕捉功能。此款單片機(jī)采用8位預(yù)定標(biāo)器(定時(shí)器RA和RB)的8位多功能定時(shí)器,輸入捕捉/輸出比較定時(shí)器(定時(shí)器RC、RD)。單片機(jī)及其外圍電路如圖2所示。
本設(shè)計(jì)直接購(gòu)買(mǎi)超聲波模塊US-100。US-100超聲波測(cè)距模塊可實(shí)現(xiàn)2cm~12m的非接觸測(cè)距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態(tài)功耗低于2mA,同時(shí)具有GPIO、串口等多種通信方式,內(nèi)帶看門(mén)狗,工作穩(wěn)定可靠。此模塊的感應(yīng)角度小于15°,最大探測(cè)距離為450cm,盲區(qū)是2cm,探測(cè)精度0.3±1%。此模塊共有兩個(gè)接口,即模式選擇跳線和5 Pin接口。模式選擇跳線的間距為2.54mm,當(dāng)插上跳線帽時(shí)為UART(串口)模式,拔掉時(shí)為電平觸發(fā)模式。在模塊上電前,首先去掉模式選擇跳線上的跳線帽,使模塊處于電平觸發(fā)模式。此模塊的性能完全能滿足本次設(shè)計(jì)的要求。
溫度檢測(cè)使用的是溫度傳感器DS18B20。DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳感器的精度為用戶可編程的9,10,11或12位,分別以0.5℃,0.25℃,0.125℃和0.0625℃增量遞增。在上電狀態(tài)下默認(rèn)的精度為12位。DS18B20啟動(dòng)后保持低功耗等待狀態(tài);當(dāng)需要執(zhí)行溫度測(cè)量和A/D轉(zhuǎn)換時(shí),總線控制器必須發(fā)出[44h]命令。在那之后,產(chǎn)生的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中,DS18B20繼續(xù)保持等待狀態(tài)。當(dāng)DS18B20由外部電源供電時(shí),總線控制器在溫度轉(zhuǎn)換指令之后發(fā)起“讀時(shí)序”,單片機(jī)發(fā)出[EHh]命令。如DS18B20正在溫度轉(zhuǎn)換中返回0,否則轉(zhuǎn)換結(jié)束返回1。DS18B20測(cè)溫電路如圖3所示。
采用八段共陰極數(shù)碼管,只需通過(guò)單片機(jī)輸出高電平就能點(diǎn)亮數(shù)碼管的一段,通過(guò)輸出不同的高低電平就可以顯示數(shù)字0-9。選用4位數(shù)碼管可以將超聲波測(cè)距顯示到毫米級(jí)。單片機(jī)輸出電壓為5V而點(diǎn)亮數(shù)碼管工作電流只需要5~10mA,這就需要一個(gè)限流電阻,本次設(shè)計(jì)選用限流電阻為1k的,為防止數(shù)碼管閃爍,在數(shù)碼管之前加一個(gè)鎖存器能夠很好的解決數(shù)碼管閃爍的問(wèn)題。4位數(shù)碼管顯示電路完全一樣,其中一位數(shù)碼管顯示電路如圖4所示。
主程序一開(kāi)始對(duì)單片機(jī)進(jìn)行初始化,具體是對(duì)時(shí)鐘、I/O口、定時(shí)器RB初始化。再對(duì)開(kāi)始按鍵進(jìn)行判斷若按鍵按下則繼續(xù)往下執(zhí)行,否則等待按鍵按下。接著打開(kāi)定時(shí)器給超聲波模塊一個(gè)觸發(fā)信號(hào)大約20μs,關(guān)閉定時(shí)器計(jì)數(shù)清零。再打開(kāi)定時(shí)器等待超聲波模塊的回波信號(hào),一旦等待到就關(guān)閉定時(shí)器讀取定時(shí)器的計(jì)數(shù),再對(duì)定時(shí)器計(jì)數(shù)清零[4]。接著執(zhí)行測(cè)溫子程序測(cè)得當(dāng)時(shí)環(huán)境溫度,再執(zhí)行距離計(jì)算公式算出超聲波測(cè)距儀測(cè)出的距離,最后將測(cè)得的距離數(shù)據(jù)通過(guò)單片機(jī)送給數(shù)碼管顯示。程序框圖如圖5所示。
測(cè)溫時(shí),單片機(jī)與DS18B20進(jìn)行通信需經(jīng)過(guò)三個(gè)步驟:對(duì)18B20復(fù)位、復(fù)位之后發(fā)送ROM指令、發(fā)送RAM指令。本設(shè)計(jì)就只使用了一只溫度傳感器所以可以直接跳過(guò)ROM指令(0CCH)[6]。測(cè)溫子程序框圖如圖6所示。
本次實(shí)現(xiàn)測(cè)量實(shí)驗(yàn)室房頂?shù)母叨?,使用LDM--40激光測(cè)距儀來(lái)進(jìn)行距離的校準(zhǔn)。實(shí)現(xiàn)采用多次測(cè)量對(duì)比并且測(cè)量不同距離來(lái)驗(yàn)證超聲波測(cè)距儀的性能。實(shí)驗(yàn)測(cè)量圖如圖7所示。測(cè)量數(shù)據(jù)如表1所示。實(shí)驗(yàn)表明,本次超聲波測(cè)距在其有效測(cè)量范圍內(nèi),測(cè)量精度基本<5%,達(dá)到預(yù)期目標(biāo)。
表1 超聲波測(cè)距儀實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)了一種基于單片機(jī)R8C/2L的數(shù)字式超聲波測(cè)距儀。設(shè)計(jì)中采用數(shù)字溫度傳感器DS18B20為溫度補(bǔ)償電路,提高了測(cè)量精度和智能化程度,并在一定程度上降低了系統(tǒng)成本。本超聲波測(cè)距儀經(jīng)試驗(yàn)運(yùn)行良好,性能優(yōu)良、成本低、能有效改善測(cè)量技術(shù),適合于機(jī)器人檢測(cè)、家具安防、汽車(chē)倒車(chē)等小距離測(cè)量。