盧 貺
(武漢軟件工程職業(yè)學(xué)院,湖北武漢 430205)
在日常生產(chǎn)生活中,很多場(chǎng)合如:汽車(chē)倒車(chē)、機(jī)器人避障、工業(yè)測(cè)井、水庫(kù)液位測(cè)量等需要自動(dòng)進(jìn)行非接觸測(cè)距,DSP技術(shù)課程教學(xué)平臺(tái)設(shè)計(jì)課題中也包含了用途廣泛的超聲波測(cè)距功能。超聲波是指頻率大于20kHz的在彈性介質(zhì)中產(chǎn)生的機(jī)械震蕩波,其具有指向性強(qiáng)、能量消耗緩慢、傳播距離相對(duì)較遠(yuǎn)等特點(diǎn),因此常被用于非接觸測(cè)距。由于超聲波對(duì)光線、色彩和電磁場(chǎng)不敏感,因此超聲波測(cè)距對(duì)環(huán)境有較好的適應(yīng)能力,此外超聲波測(cè)量在實(shí)時(shí)、精度、價(jià)格方面也有很好的折衷[1]。
超聲波發(fā)生器內(nèi)部結(jié)構(gòu)有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)其兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波信號(hào)時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),就成為超聲波接收器。
超聲波測(cè)距的方法有多種:如往返時(shí)間檢測(cè)法、相位檢測(cè)法、聲波幅值檢測(cè)法。本設(shè)計(jì)采用往返時(shí)間檢測(cè)法測(cè)距。其原理是超聲波傳感器發(fā)射一定頻率的超聲波,借助空氣媒質(zhì)傳播,到達(dá)測(cè)量目標(biāo)或障礙物后反射回來(lái),經(jīng)反射后由超聲波接收器接收脈沖,其經(jīng)歷的時(shí)間即往返時(shí)間,往返時(shí)間與超聲波傳播的路程的遠(yuǎn)近有關(guān)。測(cè)試傳輸時(shí)間可以得出距離[2]。
超聲波測(cè)距的算法設(shè)計(jì):超聲波在空氣中傳播速度為每秒鐘340米(15℃時(shí))。設(shè)S2是聲波返回的時(shí)刻,S1是聲波發(fā)聲的時(shí)刻,S2-S1為一個(gè)時(shí)間差的絕對(duì)值,假定S2-S1=0.03秒,則有340米/秒×0.03秒=10.2米。該10.2米距離的時(shí)間里,是超聲波發(fā)出后遇到障礙物返回的距離,超聲波傳感器與障礙物為該距離的一半,有關(guān)系式如式1所示:
式中,L為超聲波傳感器與障礙物的距離;V為超聲波在空氣中的傳播速度;S1為聲波發(fā)聲的時(shí)刻;S2為聲波返回的時(shí)刻。參見(jiàn)圖1的超聲波傳送示意圖。
圖1 超聲波傳送示意圖
在精度要求較高的情況下,需要考慮溫度對(duì)超聲波傳播速度的影響,按式2對(duì)式1中的超聲波傳播速度V加以修正,以減小誤差。
式中,T為實(shí)際溫度,單位為℃;V為超聲波在介質(zhì)中的傳播速度,單位為m/s(米/秒)。
表1 一些溫度下的聲速
DSP系統(tǒng)采用型號(hào)為T(mén)MS320F2812微處理器。TMS320C2000系列是美國(guó)TI公司推出的數(shù)字控制DSP芯片,TMS320F2812為更高性能的改進(jìn)型芯片,進(jìn)一步增強(qiáng)了芯片的接口能力和嵌入式功能,從而拓寬了數(shù)字信號(hào)處理器的應(yīng)用領(lǐng)域,是目前市場(chǎng)上最先進(jìn)、功能最強(qiáng)大的32位定點(diǎn)DSP芯片。它既具有數(shù)字信號(hào)處理能力,又具有強(qiáng)大的事件管理能力和嵌入式控制功能,特別適用于有大批量數(shù)據(jù)處理的測(cè)控場(chǎng)合,如工業(yè)自動(dòng)化控制、電力電子技術(shù)應(yīng)用、智能化儀器儀表及電機(jī)、馬達(dá)伺服控制系統(tǒng)等。該系列DSP處理器具有高速信號(hào)處理和數(shù)字控制功能所必需的體系結(jié)構(gòu),其指令執(zhí)行速度高達(dá)40MIPS,且大部分的指令都可以在一個(gè)25ns的單周期內(nèi)執(zhí)行完畢。另外,它還具有非常強(qiáng)大的片內(nèi)GPIO端口和其它外圍設(shè)置,可以簡(jiǎn)化外圍電路設(shè)計(jì),降低系統(tǒng)成本。在DSP技術(shù)課程教學(xué)平臺(tái)設(shè)計(jì)中,超聲波測(cè)距為其中的一個(gè)子模塊,其設(shè)計(jì)框圖如圖2所示[3]。
圖2 超聲波測(cè)距系統(tǒng)設(shè)計(jì)框圖
超聲波發(fā)射部分是為了讓超聲波發(fā)射換能器向外發(fā)出40kHz左右方波脈沖信號(hào)。40kHz左右方波脈沖信號(hào)來(lái)自DSP系統(tǒng)GPIO編程輸出,由于GPIO端口輸出功率不夠,40kHz方波脈沖信號(hào)分成兩路,輸出到由74ALS04組成的推挽式電路進(jìn)行功率放大,再送給超聲波發(fā)射換能器以聲波形式發(fā)射到空氣中。發(fā)射部分電路如圖3所示。圖中輸出端上拉電阻R8,R9,一方面可以提高反向器74ALS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲換能器的阻尼效果,縮短其自由振蕩的時(shí)間。
圖3 超聲波發(fā)送電路
超聲波在空氣中傳播遇到障礙物返回后,由超聲波接收電路進(jìn)行處理,將反射波轉(zhuǎn)換變成電信號(hào),并進(jìn)行放大、濾波、整形等處理,本設(shè)計(jì)采用索尼公司集成芯片CX20106A,總放大增益為80db,該芯片檢測(cè)到超聲波信號(hào)后,會(huì)傳送一負(fù)脈沖給DSP系統(tǒng)中斷輸入GPIO。CX20106A內(nèi)部電路及引腳功能如圖4所示,接收部分電路如圖5所示[4]。
圖4 CX20106A內(nèi)部電路及引腳功能
為了提高系統(tǒng)的測(cè)量精度,本文設(shè)計(jì)了溫度補(bǔ)償電路,如圖6、圖7所示。系統(tǒng)采用National Semiconductor所生產(chǎn)的溫度感測(cè)器LM35,其輸出電壓與攝氏溫標(biāo)呈線性關(guān)系,0℃時(shí)輸出為0V,每升高1℃,輸出電壓增加10mV。
在常溫下,LM35不需要額外的校準(zhǔn)處理即可達(dá)到±1/4℃的準(zhǔn)確率。與控制器連接方便,在單電源工作模式下,測(cè)量范圍為0~+175℃。根據(jù)實(shí)際溫度的值,利用式2計(jì)算補(bǔ)償聲速。
圖5 超聲波接收電路
圖6 LM35測(cè)溫電路
圖7 測(cè)溫信號(hào)放大電路
TMS320F2812處理器向GPIO端口發(fā)出控制信號(hào),啟動(dòng)內(nèi)部定時(shí)器進(jìn)行計(jì)時(shí)。此控制信號(hào)經(jīng)功率放大后作為超聲傳感驅(qū)動(dòng)電路啟動(dòng)信號(hào),超聲傳感器產(chǎn)生的、遇到障礙物時(shí)返回的高頻振蕩信號(hào)經(jīng)放大(為彌補(bǔ)傳播過(guò)程中信號(hào)的衰減)使超聲傳感驅(qū)動(dòng)電路產(chǎn)生高電平脈沖,此電平變化會(huì)引起TMS320F2812外部中斷,在中斷程序內(nèi)獲取定時(shí)器的計(jì)數(shù)值,同時(shí)提取此時(shí)的溫度數(shù)值,根據(jù)式1、式2計(jì)算距離;否則,認(rèn)為傳感器前方探測(cè)范圍內(nèi)無(wú)障礙物。溫度檢測(cè)程序在系統(tǒng)上電后執(zhí)行一次[5]。
超聲傳感器處理程序軟件設(shè)計(jì)上采用定時(shí)器工作,對(duì)傳感器進(jìn)行計(jì)時(shí)。選擇定時(shí)器的周期比超聲傳感器探測(cè)最大距離所需的時(shí)間稍長(zhǎng)。在定時(shí)器周期開(kāi)始時(shí),超聲波發(fā)射換能器開(kāi)始工作。在定時(shí)器周期內(nèi),每個(gè)回波返回,都會(huì)觸發(fā)一次外部中斷(XINT1中斷),在外部中斷處理程序內(nèi),將超聲波返回時(shí)間進(jìn)行記錄,并將相應(yīng)的超聲傳感器關(guān)閉。外部中斷處理程序非常簡(jiǎn)短,本設(shè)計(jì)只用不到20條指令,并且TMS320F2812指令執(zhí)行速度很快,因而即使因進(jìn)入外部中斷處理程序而延誤了對(duì)后續(xù)回波的處理,但這種延誤的時(shí)間根據(jù)計(jì)算不大于0.5μs,由此引入的距離誤差根據(jù)式一計(jì)算小于83.5×10-6m,誤差非常小,可忽略不計(jì)。當(dāng)定時(shí)器中斷時(shí),對(duì)于距離大于最大超聲探測(cè)范圍的,沒(méi)有相應(yīng)的時(shí)間記錄,給它們加上超出測(cè)距范圍的標(biāo)志。本設(shè)計(jì)中超聲波傳感器的最大探測(cè)距離為3.5m,因而超聲波探測(cè)的最長(zhǎng)時(shí)間為20.58ms。所以每個(gè)定時(shí)器的周期選為20.6ms。軟件設(shè)計(jì)中涉及到的外部中斷處理程序和定時(shí)器中斷處理程序框圖如圖8和圖9所示[6]。
圖8 外部中斷處理程序
圖9 定時(shí)器中斷處理程序
為了驗(yàn)證系統(tǒng)的測(cè)量精度,在實(shí)驗(yàn)室進(jìn)行了實(shí)地測(cè)量。利用本系統(tǒng)對(duì)0.10~3.50m米范圍進(jìn)行了多次測(cè)試,經(jīng)補(bǔ)償后最大誤差為1cm,線性度、穩(wěn)定性和重復(fù)性都比較好。做為DSP技術(shù)課程教學(xué)平臺(tái)設(shè)計(jì)中的主要部件,本系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、體積小、實(shí)時(shí)LCD顯示、帶溫度補(bǔ)償、抗干擾性能好等優(yōu)點(diǎn)。系統(tǒng)的誤差主要來(lái)自于發(fā)射探頭發(fā)出的超聲波是呈喇叭狀擴(kuò)散傳播、被測(cè)物的表面不光滑且不一定垂直于兩探頭的軸線而導(dǎo)致所反射回來(lái)的超聲波是從不同點(diǎn)獲得,此外電子元器件自身的時(shí)延、干擾等也造成一定影響??梢愿鶕?jù)具體場(chǎng)合,選擇合適功率的探頭,以及調(diào)整程序中脈沖的頻率、寬度和個(gè)數(shù)等提高精度或測(cè)量距離,擴(kuò)大系統(tǒng)的應(yīng)用范圍。
1 劉升平.超聲波測(cè)距系統(tǒng)的開(kāi)發(fā)與研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(25)
2 高飛燕.基于單片機(jī)的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)[J].信息技術(shù),2005,29(7)
3 韓豐田.TMS320F281xDSP原理及應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2011.
4 吳銀風(fēng).紅外線接收電路CX20106A及其應(yīng)用[J].無(wú)線電,2004,23(4)
5 王忠勇.DSP原理與應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2009.
6 何莉.基于PIC單片機(jī)的超聲波測(cè)距系統(tǒng)[J].壓電與聲光,2004,26(2)