鄔文俊,陳澤遠(yuǎn),馬 丹,程 斌,王選擇,翟中生
(1.湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北武漢 430068;2.現(xiàn)代制造質(zhì)量工程湖北省重點(diǎn)實(shí)驗(yàn)室,湖北武漢 430068)
超聲波測(cè)距成本低、結(jié)構(gòu)簡(jiǎn)單、使用方便,且在空氣介質(zhì)中,光線、粉塵、煙霧、電磁干擾和有毒氣體幾乎對(duì)超聲波測(cè)距傳感器的性能沒有影響,因此在物位測(cè)量、定位[1-2]、汽車倒車防撞系統(tǒng)等領(lǐng)域應(yīng)用廣泛。
超聲波測(cè)距方法主要有相位檢測(cè)法[3-4]、時(shí)間互相關(guān)檢測(cè)法[5-6]和渡越時(shí)間法[7-8]。其中,相位檢測(cè)法檢測(cè)范圍有限;時(shí)間互相關(guān)檢測(cè)法運(yùn)算復(fù)雜,不適用于實(shí)時(shí)的嵌入式系統(tǒng)。為此,本文采用常見的渡越時(shí)間法展開研究。渡越時(shí)間法通過檢測(cè)超聲波在空氣中傳播的時(shí)間而計(jì)算出發(fā)射端至接收端的距離。該方法提高距離測(cè)量精度的關(guān)鍵在于獲得超聲信號(hào)的準(zhǔn)確走時(shí)和被測(cè)環(huán)境聲速[5]。由于超聲換能器的機(jī)械慣性,其發(fā)射超聲波是逐步由小到大,首波信號(hào)的幅值很小,并且隨測(cè)量距離的變化而改變,因此,采用閾值判斷法很難確定首波時(shí)域值的大小。
為解決這個(gè)問題,已提出了許多解決的辦法,如新型的五步法[9],該方法采用一種新型的包絡(luò)檢測(cè)方法,易受噪聲干擾;超聲波到達(dá)時(shí)刻法[10]通過找超聲波形上升階段的穩(wěn)定特征點(diǎn)來實(shí)現(xiàn),但該特征點(diǎn)不具有唯一性;可變閾值鑒幅法[11-12]是使閾值隨射程時(shí)間的延長(zhǎng)而呈指數(shù)形式遞減,但需要較復(fù)雜的接收電路。針對(duì)以上不足,本文提出一種新的測(cè)量方法,利用三段式正反向交替的瞬態(tài)脈沖激勵(lì),采用數(shù)字解調(diào)法提取出采樣信號(hào)的包絡(luò)曲線,并準(zhǔn)確找到過渡谷點(diǎn),根據(jù)過渡谷點(diǎn)采樣順序與實(shí)際距離之間的線性關(guān)系得出距離測(cè)量值,提高測(cè)量精度。
根據(jù)超聲波在空氣中的傳播特性,采用分體式的超聲測(cè)距探頭,設(shè)計(jì)超聲波測(cè)距系統(tǒng),系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)由STM32單片機(jī)、超聲波發(fā)射電路、超聲波接收電路、顯示模塊和上位機(jī)構(gòu)成。STM32單片機(jī)為整個(gè)系統(tǒng)的核心部件,通過DAC模塊輸出頻率為40 kHz的三段式正反向交替的瞬態(tài)脈沖激勵(lì)信號(hào),該激勵(lì)信號(hào)加載在超聲發(fā)射電路,超聲發(fā)射器受激勵(lì)后發(fā)射40 kHz的超聲波信號(hào)。信號(hào)接收端的超聲換能器接收到超聲發(fā)射器產(chǎn)生的超聲波信號(hào),并將其轉(zhuǎn)換為電信號(hào),作為超聲測(cè)量信號(hào)。當(dāng)單片機(jī)產(chǎn)生激勵(lì)信號(hào)的同時(shí),開啟ADC對(duì)接收信號(hào)進(jìn)行采樣;當(dāng)采樣完成后,對(duì)采樣信號(hào)進(jìn)行算法處理,得出實(shí)際測(cè)量距離值,將數(shù)據(jù)發(fā)送至上位機(jī),系統(tǒng)程序流程圖如圖2所示。
圖2 系統(tǒng)程序流程圖
三段式正反向交替的瞬態(tài)脈沖激勵(lì)原理是利用正反向脈沖交替激勵(lì),使超聲發(fā)射器產(chǎn)生了一個(gè)先衰減后增強(qiáng)的振蕩信號(hào),形成一個(gè)代表振蕩方向變化的過渡谷點(diǎn)??紤]到該谷點(diǎn)特征明顯,對(duì)此點(diǎn)位置的檢測(cè)誤差小。同時(shí)為了克服單方向脈沖激勵(lì)下的振蕩衰減慢的問題,采用三段式正反向交替激勵(lì)方式,即先正向再反向然后正向的激勵(lì)方式,保證超聲接收器下次測(cè)量前處于無振蕩狀態(tài)。
三段式正反向交替瞬態(tài)脈沖激勵(lì)的具體實(shí)施方式是利用STM32單片機(jī)的DAC模塊先發(fā)送n1(本測(cè)量系統(tǒng)取n1=3)個(gè)周期為T(T=25 μs)的脈沖,延時(shí)τ(取τ=T/2),再發(fā)送n2(本測(cè)量系統(tǒng)取n2=10)個(gè)周期為T的脈沖,再延時(shí)τ,最后發(fā)送n3(本測(cè)量系統(tǒng)取n3=6)個(gè)周期為T的脈沖,這些脈沖經(jīng)過激勵(lì)驅(qū)動(dòng)電路放大后,按發(fā)送的順序依次被加載到超聲發(fā)射器的發(fā)射端,超聲發(fā)射器隨之發(fā)射超聲波信號(hào),同一直線方向下的超聲波接收器接收到超聲波信號(hào)后將其轉(zhuǎn)換為電信號(hào);其中第3次發(fā)送n3個(gè)激勵(lì)脈沖的目的是為了將前一次的振蕩能量抵消,使得超聲發(fā)射器在下一個(gè)激勵(lì)周期來臨時(shí)處于無振蕩狀態(tài),從而避免了對(duì)下一個(gè)激勵(lì)周期的影響。這里所選定的脈沖個(gè)數(shù)n1、n2、n3能夠保證包絡(luò)最大峰值出現(xiàn)在第2段激勵(lì)產(chǎn)生的包絡(luò)波上,它們之間應(yīng)滿足最基本的關(guān)系n2>n1、n2>n3。三段式正反交替的瞬態(tài)脈沖激勵(lì)示意圖如圖3所示,第1段與第3段與正向激勵(lì)同向,而第2段與正向激勵(lì)反向。
圖3 三段式正反交替脈沖激勵(lì)示意圖
根據(jù)采樣信號(hào)提取出距離信息,是超聲測(cè)量的關(guān)鍵。超聲信號(hào)的處理方法先要解決包絡(luò)曲線的提取,快速準(zhǔn)確地提取包絡(luò)曲線是衡量算法成功的關(guān)鍵。楊飛鵬[13]在其文獻(xiàn)中提到采用二次曲線擬合算法提取包絡(luò)曲線,該算法是先尋找包括峰值點(diǎn)在內(nèi)的前面8個(gè)極值點(diǎn),然后代入待擬合的二次曲線方程中,最后求出各未知參數(shù)。該算法存在的主要問題是極值點(diǎn)的選取具有一定的隨機(jī)性,求出的二次曲線方程存在一定的誤差,所以包絡(luò)曲線的可靠性不強(qiáng)。本文結(jié)合童峰[14]給出的超聲接收信號(hào)的數(shù)學(xué)表達(dá)式,對(duì)采樣后的接收信號(hào)的數(shù)字量進(jìn)行逐步分段正弦擬合,提取每次正弦擬合曲線的幅值相位,基于此,本文設(shè)計(jì)了一種移動(dòng)正弦擬合算法實(shí)現(xiàn)包絡(luò)曲線的提取。
移動(dòng)正弦擬合算法提取包絡(luò)曲線的思路是:先對(duì)第1到nT個(gè)采樣點(diǎn)進(jìn)行第1次正弦擬合,nT為一個(gè)擬合周期點(diǎn)數(shù),提取第1次正弦擬合曲線的幅值,隨后對(duì)2到nT+1個(gè)采樣點(diǎn)進(jìn)行第2次正弦擬合,提取第2次正弦擬合曲線的幅值,依次類推,總共有N個(gè)采樣點(diǎn),直至對(duì)N-nT+1到第N個(gè)采樣點(diǎn)進(jìn)行第N-nT+1次曲線擬合,提取第N-nT+1次正弦擬合曲線的幅值,最后由所提取的N-nT+1次正弦擬合曲線的幅值構(gòu)成一個(gè)集合M,該集合是超聲接收信號(hào)的包絡(luò)線。
移動(dòng)正弦擬合的數(shù)據(jù)區(qū)間移動(dòng)過程如圖4所示,求解移動(dòng)數(shù)據(jù)點(diǎn)T(m)、T(m+1)、T(m+2)…對(duì)應(yīng)的正弦幅值,需要分別對(duì)區(qū)間m、m+1、m+2…內(nèi)的數(shù)據(jù)進(jìn)行正弦擬合。分析可以看出,移動(dòng)過程中,擬合數(shù)據(jù)區(qū)間實(shí)際上只是首端去掉第一個(gè)值,結(jié)尾增加一個(gè)值,總數(shù)據(jù)量不變??梢娨苿?dòng)擬合過程類似移動(dòng)平均,上一個(gè)數(shù)據(jù)擬合區(qū)間與下一個(gè)數(shù)據(jù)擬合區(qū)間存在大量重復(fù)點(diǎn)數(shù)據(jù)的處理,因此,根據(jù)擬合算法的特點(diǎn),對(duì)重復(fù)點(diǎn)的數(shù)據(jù)進(jìn)行適當(dāng)?shù)膮^(qū)分處理,利用遞推思路,可以有效降低擬合計(jì)算量,即可實(shí)現(xiàn)正弦擬合快速算法。
圖4 調(diào)幅信號(hào)移動(dòng)正弦擬合
對(duì)原始采樣數(shù)據(jù)經(jīng)過移動(dòng)正弦擬合算法處理后,得到超聲接收信號(hào)的包絡(luò)曲線,如圖5所示。從圖5可以看出,包絡(luò)線可以準(zhǔn)確地反映超聲接收信號(hào)各點(diǎn)處的幅值信息。在3種不同距離下過渡谷點(diǎn)的相對(duì)位置固定,干擾因素小,可以準(zhǔn)確反映出距離信息。
(b)
(c)圖5 3種不同距離包絡(luò)曲線提取圖
從實(shí)際分析及采樣圖中,可以看出過渡谷點(diǎn)處,包絡(luò)曲線先減后增處于轉(zhuǎn)折點(diǎn),變化趨勢(shì)最明顯,受信號(hào)飽和影響最小,其唯一性也更優(yōu),所以本文將過渡谷點(diǎn)作為三段式正反交替激勵(lì)模式下的考察對(duì)象,即尋找距離l與過渡谷點(diǎn)的采樣順序之間存在的數(shù)學(xué)關(guān)系,最終將對(duì)距離的測(cè)量轉(zhuǎn)換為對(duì)過渡谷點(diǎn)的采樣順序的計(jì)算。
過渡谷點(diǎn)搜索包括搜索包絡(luò)峰值點(diǎn)和過渡谷點(diǎn),搜索包絡(luò)峰值點(diǎn)表達(dá)式如下:
M(xm)=Max{M(xi)} (0
(1)
式中Max表示求區(qū)間內(nèi)的最大值;xm為包絡(luò)峰值點(diǎn)的橫坐標(biāo)。
找到峰值點(diǎn)后,在區(qū)間(x0-w,w)內(nèi)找最小值點(diǎn)即過渡谷點(diǎn),搜索過渡谷點(diǎn)表達(dá)式如下:
M(xp)=Min{M(xi)} (x0-w
(2)
式中:Min表示求區(qū)間內(nèi)最小值;M為包絡(luò)解集;xi表示第i點(diǎn)采樣順序;x0為峰值點(diǎn)采樣順序;xp為過渡谷點(diǎn)采樣順序;w為區(qū)間長(zhǎng)度。
圖6 搜索過渡谷點(diǎn)程序流程圖
過渡谷點(diǎn)搜索的程序流程圖如圖6所示,對(duì)于同一測(cè)量系統(tǒng),其中區(qū)間長(zhǎng)度w是固定的經(jīng)驗(yàn)值,可以通過多次實(shí)驗(yàn)尋找,本測(cè)量系統(tǒng)中w=220,過渡谷點(diǎn)的搜索示意圖如圖7所示。圖7中,w=220。
圖7 過渡谷點(diǎn)的搜索示意圖
由于采樣時(shí)間間隔一定,所以超聲波的飛行時(shí)間與采樣順序之間是正比關(guān)系,再結(jié)合距離與飛行時(shí)間的線性關(guān)系可知,所測(cè)距離l與過渡谷點(diǎn)的采樣序列位置xp之間也存在線性關(guān)系。因此,根據(jù)待測(cè)距離組L={l1,l2,…,ln}和上述步驟計(jì)算出對(duì)應(yīng)的xp={xp1,xp2,…,xpn},以xp為自變量,l為因變量,應(yīng)用最小二乘法原理擬合出l與xp的數(shù)學(xué)關(guān)系表達(dá)式:
l=axp+b
(3)
對(duì)于任一待測(cè)距離l,運(yùn)用文中方法求出其過渡谷點(diǎn)的采樣順序xp,然后將xp代入擬合的數(shù)學(xué)表達(dá)式中,即可求出待測(cè)距離l。
在50~800 mm范圍內(nèi),用16組標(biāo)定距離,測(cè)出每組標(biāo)定距離下過渡谷點(diǎn)對(duì)應(yīng)的采樣順序xp,得到的16組數(shù)據(jù)如表1所示。實(shí)驗(yàn)溫度為15.8 ℃。
將表1中的16組數(shù)據(jù)作為樣本,以過渡谷點(diǎn)采樣順序xp為自變量,標(biāo)定距離l為因變量,運(yùn)用最小二乘法進(jìn)行線性擬合,擬合的直線如圖8所示。擬合所
表1 距離標(biāo)定實(shí)驗(yàn)數(shù)據(jù)
得的數(shù)學(xué)關(guān)系表達(dá)式為
l=0.396 5xp-110.146 1
(4)
式中距離單位為mm,為當(dāng)前所測(cè)距離下接收信號(hào)的過渡谷點(diǎn)對(duì)應(yīng)的采樣順序。
其中一次項(xiàng)前面的比例系數(shù)為0.396 5,表示相鄰兩個(gè)采樣點(diǎn)之間代表的距離為0.396 5 mm,而相鄰采樣點(diǎn)之間時(shí)間間隔為1.17 μs,所以當(dāng)前環(huán)境下理論聲速為339.86 m/s,按實(shí)驗(yàn)過程中所測(cè)溫度為15.8 ℃,按聲速與溫度的關(guān)系,可以計(jì)算當(dāng)前聲速為340.88 m/s,考慮其他環(huán)境因素的影響,這與當(dāng)前理論聲速基本吻合。這也說明了三段式激勵(lì)模式的可行性。擬合式(2)作為當(dāng)前環(huán)境下,測(cè)量系統(tǒng)所測(cè)距離l與過渡谷點(diǎn)采樣順序之間的標(biāo)定數(shù)學(xué)關(guān)系,因此可將此標(biāo)定數(shù)學(xué)關(guān)系嵌入到STM32單片機(jī)程序中。按文中所提算法獲取過渡谷點(diǎn)采樣順序xp,單片機(jī)由標(biāo)定數(shù)學(xué)關(guān)系計(jì)算出當(dāng)前所測(cè)距離。
圖8 距離l與過渡谷點(diǎn)采樣順序xp擬合關(guān)系圖
按照上述方法,在0~50 mm范圍內(nèi),逐漸縮短測(cè)量距離,并將所測(cè)距離與米尺測(cè)量的距離進(jìn)行比對(duì),發(fā)現(xiàn)當(dāng)距離小于3 mm時(shí),運(yùn)用上述標(biāo)定關(guān)系式測(cè)量出的距離值與米尺測(cè)量的距離值相差較大,所以此種激勵(lì)模式下,測(cè)量系統(tǒng)的最小測(cè)量距離為3 mm,所以本測(cè)量系統(tǒng)在三段式激勵(lì)模式下的測(cè)量范圍為3~800 mm。
將表1中過渡谷點(diǎn)的采樣順序xp對(duì)應(yīng)的16組數(shù)據(jù)代入擬合表達(dá)式中,可得到擬合情況下的距離值l′,記標(biāo)定距離為l,則距離誤差Δl=l-l′,將所得的16組距離誤差Δl繪制成曲線圖,如圖9所示。
圖9 距離誤差曲線圖
從圖9可以看出,測(cè)量系統(tǒng)的誤差波動(dòng)趨勢(shì)是一致的,按照所提的標(biāo)準(zhǔn)差求解公式,求出16組距離誤差值的標(biāo)準(zhǔn)差δ=0.329 mm,按照3δ評(píng)定原則,可知測(cè)量系統(tǒng)的誤差為±3δ,即0.987 mm。所以此種激勵(lì)模式下的測(cè)量精度為0.987 mm,小于1 mm,達(dá)到了較高精度超聲測(cè)量的目的。
本文以渡越時(shí)間測(cè)距原理為基礎(chǔ),提出一種新的測(cè)距方法,采用三段式正反交替激勵(lì)模式,通過脈沖的交替激勵(lì)構(gòu)造出一個(gè)振動(dòng)方向發(fā)生改變的特征點(diǎn)即過渡谷點(diǎn),通過對(duì)超聲接收信號(hào)的處理可以看出,包絡(luò)曲線可以很好反映每點(diǎn)幅值信息,且過渡谷點(diǎn)處于包絡(luò)曲線先減后增變化趨勢(shì)最明顯處,其唯一性和確定性更好。根據(jù)過渡谷點(diǎn)采樣順序與實(shí)際距離值的線性關(guān)系得出距離測(cè)量值,結(jié)果表明采用本文提出的測(cè)量方法,測(cè)量距離在3~800 mm時(shí)測(cè)量精度優(yōu)于1 mm,整個(gè)測(cè)量系統(tǒng)的盲區(qū)小、測(cè)量精度高。