一種高精度超聲波多路同步測距系統(tǒng)設(shè)計(jì)
超聲波測距作為一種非接觸性的檢測方法,因其結(jié)構(gòu)簡單緊湊、可靠性高、價(jià)格低廉、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),近年來已經(jīng)得到了廣泛應(yīng)用,如液位測量,修路過程中路面平整檢測,汽車倒車?yán)走_(dá),機(jī)器人輔助視覺識(shí)別系統(tǒng)等。但因超聲波在空氣中傳播時(shí)受到諸如環(huán)境溫度、濕度、風(fēng)速等影響,傳統(tǒng)的超聲波測距系統(tǒng)精度普遍較低。文獻(xiàn)[4]采用了在系統(tǒng)中增加硬件溫度補(bǔ)償模塊僅在一定程度上可以避免因環(huán)境溫度變化帶來的測量誤差。文獻(xiàn)[5,6]中采用小波等處理算法,也并不能彌補(bǔ)系統(tǒng)本質(zhì)上的缺陷。因此,研究了一種控制精度高,適用范圍寬的高精度多路同步超聲波測距系統(tǒng)。
1 超聲波測距工作原理與結(jié)構(gòu)
1.1 工作原理
諧振頻率高于20 kHz的聲波被稱為超聲波。超聲波測距的基本工作原理是:發(fā)射探頭發(fā)出超聲波,在介質(zhì)中傳播遇到障礙物反射后再通過介質(zhì)返回到接收探頭,測出超聲波從發(fā)射到接收所需的時(shí)間,然后根據(jù)介質(zhì)中的聲速,利用公式S=0.5ct就能算得從探頭到障礙物的距離,式中:S為所測的距離,c為超聲波在介質(zhì)中的傳播速度.£為超聲波從發(fā)到收所經(jīng)過的時(shí)間。
1.2 超聲波測距系統(tǒng)的一般結(jié)構(gòu)
一般情況下,超聲波測距系統(tǒng)的基本結(jié)構(gòu)如圖1所示。
系統(tǒng)常采用頻率為40 kHz的方波信號(hào)由單片機(jī)內(nèi)部產(chǎn)生。為了避免溫度對聲波傳播速度的影響,都采用溫度補(bǔ)償以適應(yīng)在不同環(huán)境下正常工作的需求。時(shí)間的精確測量可由單片機(jī)內(nèi)部單獨(dú)的計(jì)數(shù)器完成,也可由外部的計(jì)時(shí)電路完成。
2 多路同步超聲波測距系統(tǒng)
系統(tǒng)由單片機(jī)、FPGA模塊、6對收發(fā)同體的超聲波換能器、功率放大電路、回波高增益放大電路、帶通濾波電路以及比較整形電路等組成。系統(tǒng)組成框圖如圖2。
本系統(tǒng)中。單片機(jī)系統(tǒng)與FPGA系統(tǒng)是測距儀的核心部件,用來協(xié)調(diào)各部分元件工作。單片機(jī)控制器單元主要是啟動(dòng)超聲波發(fā)射與計(jì)時(shí)計(jì)數(shù)器開始計(jì)數(shù)的同步以及接收到回波后對其計(jì)時(shí)計(jì)數(shù)器的值進(jìn)行處理等運(yùn)算。FPGA單元主要用來產(chǎn)生超聲波的發(fā)射脈沖頻率125 kHz與計(jì)時(shí)計(jì)數(shù)器的頻率(>170 kHz),通過微控制器MCU來啟動(dòng)超聲波的發(fā)射,F(xiàn)PGA發(fā)射一定數(shù)量(這里選擇8至10)的脈沖串之后,停止發(fā)射同時(shí)啟動(dòng)計(jì)時(shí)計(jì)數(shù)器計(jì)數(shù),超聲波途經(jīng)障礙物返回。當(dāng)超聲波換能器接收到回波信號(hào)之后,將其信號(hào)送入FPGA內(nèi)部,用來控制計(jì)時(shí)計(jì)數(shù)器的停止,將所得的計(jì)數(shù)值送入單片機(jī)。第一路到第五路超聲波換能器用于測量距離,測量距離的五路超聲波換能器按等間距分別安裝在測距儀的固定板上,系統(tǒng)采用收發(fā)同體的探頭,其波束角很小,有效的保證了各探頭到被測物體的垂直測量距離。第六路超聲波換能器安裝在測距儀的左側(cè),在測距儀的右側(cè)安裝一塊標(biāo)準(zhǔn)檔板,較準(zhǔn)確的測量當(dāng)時(shí)環(huán)境下的聲速,用于溫度補(bǔ)償。控制或顯示模塊用于調(diào)整平衡或輸出顯示測量距離的目的。
2.1 發(fā)射電路
發(fā)射電路如圖3(a)所示。發(fā)射電路將接收到的方波脈沖信號(hào)送入乙類推挽放大電路,用其輸出信號(hào)驅(qū)動(dòng)CMOS管,接著將其脈沖信號(hào)加到高頻脈沖變壓器進(jìn)行功率放大,使幅值增加到100多伏,最后將放大的脈沖方波信號(hào)加到超聲波換能器上產(chǎn)生頻率為125 kHz的超聲波并將其發(fā)射出去。
2.2 接收電路
接收電路由OP37構(gòu)成的兩級運(yùn)放電路,TL082構(gòu)成的二階帶通濾波電路以及LM393構(gòu)成的比較電路三部分組成。因本系統(tǒng)頻率較高,回波信號(hào)非常弱,為毫伏級,因此設(shè)計(jì)成兩級放大電路,第一級放大100倍,第二級放大50倍,共放大5 000倍左右。
另外考慮到本系統(tǒng)要適應(yīng)各種復(fù)雜的工作環(huán)境,因此設(shè)計(jì)了由TL082構(gòu)成的高精度帶通濾波電路,以供回波信號(hào)放大后進(jìn)行進(jìn)一步濾波,將濾波后的信號(hào)輸入到LM393構(gòu)成的比較器反相輸入端,與基準(zhǔn)電壓相比較,并且對其比較輸出電壓進(jìn)行限幅,將其電壓接至D觸發(fā)器,比較器將經(jīng)過放大后的交流信號(hào)整形出方波信號(hào),將其接至FPGA,啟動(dòng)接收模塊計(jì)數(shù),達(dá)到脈沖串設(shè)定值時(shí),關(guān)閉計(jì)時(shí)計(jì)數(shù)器停止計(jì)數(shù)。
2.3 FPGA內(nèi)部各組成模塊設(shè)計(jì)
FPGA主要實(shí)現(xiàn)125 kHz的超聲波的發(fā)射與接收以及六路超聲波從發(fā)射到接收之間時(shí)間的測量。其內(nèi)部結(jié)構(gòu)如圖4所示。
FPGA主要由發(fā)射模塊、順序執(zhí)行計(jì)數(shù)器、數(shù)據(jù)選擇器、計(jì)時(shí)計(jì)數(shù)器與接收模塊五部分組成。其中:發(fā)射模塊完成脈沖串的發(fā)射與計(jì)數(shù)器的啟動(dòng),主要由96分頻器、發(fā)射脈沖串計(jì)數(shù)器和發(fā)射脈沖串的控制器三部分組成。順序執(zhí)行計(jì)數(shù)器模塊主要由六與非門、計(jì)數(shù)器和非門組成。
所有的接收模塊接收完數(shù)據(jù)后,通過與非門及非門輸出高電平(FINISH端口),以觸發(fā)單片機(jī)使單片機(jī)處于接收數(shù)據(jù)狀態(tài),單片機(jī)發(fā)出信號(hào)使順序執(zhí)行計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)值每次加1,輸出端口便是相應(yīng)的計(jì)時(shí)計(jì)數(shù)器,單片機(jī)便從相應(yīng)的計(jì)時(shí)計(jì)數(shù)器中讀取計(jì)數(shù)值。數(shù)據(jù)選擇器與順序執(zhí)行計(jì)數(shù)器完成計(jì)數(shù)值數(shù)據(jù)的讀取。
計(jì)時(shí)計(jì)數(shù)器模塊主要完成測量脈沖發(fā)出去到接收到的時(shí)間間隔和脈沖的計(jì)數(shù),主要由啟動(dòng)與關(guān)閉計(jì)數(shù)器控制、12分頻器、16位計(jì)時(shí)計(jì)數(shù)器、二選一數(shù)據(jù)選擇器及8位數(shù)據(jù)鎖存器組成(見圖5)。接收模塊主要接收回波信號(hào)和關(guān)閉計(jì)數(shù)器,當(dāng)接收模塊接收到信號(hào)以后,便啟動(dòng)計(jì)數(shù),達(dá)到計(jì)數(shù)值,就輸出高電平,用來關(guān)閉計(jì)時(shí)計(jì)數(shù)器停止計(jì)數(shù)。為防止信號(hào)串?dāng)_,在信號(hào)發(fā)射時(shí),CUAN端輸入高電平,對其信號(hào)進(jìn)行屏蔽。
3 結(jié)果
經(jīng)過實(shí)驗(yàn)室調(diào)試,本文給出的基于單片機(jī)與FPGA相結(jié)合的多路同步超聲波測距系統(tǒng)與其它系統(tǒng)具有如下優(yōu)勢:
(1)抗環(huán)境影響因素能力強(qiáng)。在工作環(huán)境中,對聲速影響的因素很多。如溫度、風(fēng)力,濕度等,系統(tǒng)利用安裝標(biāo)準(zhǔn)校正板的方法能精確測量當(dāng)時(shí)環(huán)境下的聲速,可以避免因各種環(huán)境因素的變化而造成的誤差。
(2)采用125 kHz的頻率,同時(shí)采用多路超聲波精確同步測距。保證了系統(tǒng)的測量精度。
(3)采用FPGA與AT89C51結(jié)合的方案,由FPGA來完成多路超聲波傳播時(shí)間的精確測量,AT89C51完成信號(hào)的啟動(dòng)以及數(shù)據(jù)的處理。與常規(guī)系統(tǒng)相比,雖然增加了FP-GA硬件,但是系統(tǒng)也舍棄了一些系統(tǒng)所采用的溫度補(bǔ)償模塊,大大提高了系統(tǒng)的精度和系統(tǒng)的靈活性。