超聲波測距傳感器以其測量精度高、響應(yīng)快和價(jià)格低廉而廣泛應(yīng)用在工業(yè)現(xiàn)場測距、移動機(jī)器人導(dǎo)航和定位等場合。超聲波測距傳感器常用的方式是1個(gè)發(fā)射頭對應(yīng)1個(gè)接收頭,也有多個(gè)發(fā)射頭對應(yīng)1個(gè)接收頭。它們共同之處是:每個(gè)接收頭只測量一個(gè)位置,這個(gè)位置就是除盲區(qū)內(nèi)因發(fā)射的超聲波旁瓣引起的接收信號超聲波包絡(luò)峰值外,第1個(gè)接收信號超聲波包絡(luò)峰值對應(yīng)的距離。在機(jī)器人自主導(dǎo)航避障時(shí),機(jī)器人只關(guān)心最近障礙物的距離,是能夠完成自主避障的。但是在機(jī)器人定位時(shí),尤其在動態(tài)環(huán)境下,1個(gè)接收頭同時(shí)測量多個(gè)距離,能夠更多地描述環(huán)境信息,這對機(jī)器人用超聲波定位具有重要意義。
1超聲波
1. 1超聲波測距原理
超聲波測距原理比較簡單,一般是采用時(shí)差法。即:通過檢測發(fā)射的超聲波與其遇到障礙物后產(chǎn)生回波之間的時(shí)間差Δt ,求出障礙物的距離d ,計(jì)算公式為:d = cΔt/ 2,其中:
c 為超聲波波速,T1為環(huán)境攝氏溫度。
1. 2發(fā)射信號超聲波包絡(luò)
在發(fā)射頭兩端加40kHZ 的矩形脈沖電壓,壓電晶體把電能轉(zhuǎn)變成機(jī)械能,帶動其上振動板運(yùn)動,見圖1. 振動板的固有頻率是40kHZ,由于共振,振動板很快起振,然后穩(wěn)定,脈沖電壓撤銷,振動板作阻尼振蕩衰減。若振動板長時(shí)間工作在最大振幅狀態(tài),即振動板新增能量與其損耗能量相等,這樣產(chǎn)生的超聲波能量大,有利于提高信噪比,但是接收信號超聲波包絡(luò)從起振到峰值的時(shí)間將變長(放大器增益小,不出現(xiàn)削頂?shù)那闆r下),不利于閾值選擇,誤差變大,也不利于第二個(gè)位置的測量,另外盲區(qū)也會增大。振動板振動時(shí),空氣、壓電晶體(起振時(shí)是激勵(lì))等消耗振動板能量,其中受空氣阻力消耗的能量轉(zhuǎn)變成發(fā)射超聲波。壓電晶體激勵(lì)撤銷,則振動板振動作阻尼呈指數(shù)關(guān)系衰減。把振動板簡化成是一個(gè)彈簧振子,設(shè)振動板在一個(gè)正弦周期(T = 25μs)內(nèi)是標(biāo)準(zhǔn)正弦波,則在發(fā)射頭振動板運(yùn)動周期數(shù)N≤發(fā)射頭激勵(lì)脈沖數(shù)N時(shí),發(fā)射頭振動板運(yùn)動滿足:
x= a(n)sinωt(1)
式中t ∈[ (N- 1)T , nT ] , a(n)是第N個(gè)周期內(nèi)的振幅。
k 是常數(shù),E(n)是第N個(gè)周期內(nèi)振動板的機(jī)械能。
a是一個(gè)與衰減有關(guān)的常系數(shù),Ef (n)第N個(gè)周期內(nèi)振動板損耗的機(jī)械能。
ΔE 是壓電晶片每次施加的能量。
在N> N時(shí),發(fā)射頭振動板運(yùn)動能量滿足:
1. 3接收信號超聲波包絡(luò)
發(fā)射頭產(chǎn)生的超聲波遇到不同介質(zhì)就會產(chǎn)生回波,接收頭把回波轉(zhuǎn)變成電能,產(chǎn)生接收信號。現(xiàn)分析超聲波垂直入射到墻壁面時(shí)的接收信號,接收信號超聲波包絡(luò)由起振階段和衰減階段兩部分組成,如圖1。
接收信號與回波超聲包絡(luò)的各正弦波幅值關(guān)系是:
式中W R 是接收信號包絡(luò)峰值,W Echo 是回波包絡(luò)峰值,H 是回波的單位沖擊響應(yīng)。
圖1實(shí)際接收信號(N= 5)
從圖1中可看出,接受信號包絡(luò)從起振到峰值的時(shí)間要小于從峰值衰減至噪聲幅值的時(shí)間。實(shí)際總長度接近1. 5 ~ 2ms ,而從起振到包絡(luò)峰值只需250μs 左右,即9 ~ 12個(gè)T , T = 25μs.
根據(jù)發(fā)射的超聲波能量特點(diǎn),得出接收信號每個(gè)周期能量的表達(dá)式,設(shè)每個(gè)周期內(nèi)的正弦波是標(biāo)準(zhǔn)正弦波且發(fā)射頭振動板尚未達(dá)穩(wěn)定振動狀態(tài)。
N是發(fā)射頭激勵(lì)脈沖數(shù)。
由(6)、(7)式知:在N, a一定的情況下,每個(gè)反射面產(chǎn)生的回波作用接收頭得到的接收信號經(jīng)歸一化后是相同的。為了便于取閾值,分析接收信號包絡(luò)的特性與n、N的關(guān)系是必要的。首先找出定值a,方法是取N= 5 , a值在一定范圍內(nèi)變化得到多幅仿真圖,經(jīng)比較a= 5 000/ s 時(shí)得到的圖2與圖1接近。根據(jù)得到的a值可仿真N= 12時(shí)的接收信號,見圖3.
圖2 接收信號仿真(N= 5 , a= 5 000/ s)
圖3 接收信號仿真(N= 12, a= 5 000/ s)
2 閾值和分辨率
閾值的選取,決定本測距系統(tǒng)的測量精度。由于回波的能量大小受入射角、反射面大小、形狀和材質(zhì)、空氣的濕度和溫度等因素決定,為了較精確地測量文獻(xiàn)中機(jī)器人與墻壁之間的距離,下面只針對超聲波垂直入射墻壁,接受信號的大小進(jìn)行分析。
在測量時(shí),一旦有干擾物擋住超聲波到墻壁的行進(jìn)路徑,則墻壁返回的信號將減弱,過高的閾值可能測不到墻壁回波信號,動態(tài)閾值因無規(guī)律可循而無法使用,故此閾值采用小固定值,因接收信號中的噪聲峰值較穩(wěn)定,固定閾值取3~5 倍噪聲峰值。由于墻壁回波信號不確定地高低變化,在標(biāo)定測量參數(shù)時(shí),用示波器采集信號,以接收信號包絡(luò)峰值的0. 5 倍處(即圖2中N= 4 或5 處的時(shí)間)作為距離信息。這樣處理的目的是:即使接收信號過強(qiáng)或過弱,測距誤差始終在3~5 cm 以內(nèi)。當(dāng)N過大時(shí),盲區(qū)會增大同時(shí)測量精度也會下降,見圖3.
多目標(biāo)測量要能區(qū)分出兩個(gè)不同目標(biāo)。由于閾值取得小,則系統(tǒng)的分辨能力很差,從圖2上可看出接收信號經(jīng)1. 5 ms 后正弦幅值是包絡(luò)峰值的0. 015倍。圖2的波形只有在超聲波垂直入射墻壁時(shí)才能得到,在大多數(shù)情況下接收信號從起振到包絡(luò)峰值基本固定,但是接收信號從包絡(luò)峰值以后各不一樣,一般從起振經(jīng)1. 5 ms~2ms 后都會降到閾值以下。
在測量墻壁距離時(shí),只要干擾物與墻壁保持30cm以上距離則墻壁距離能較精確獲得。
3 系統(tǒng)硬件
C8051系列單片機(jī)具有豐富的模擬、數(shù)字外設(shè)和多種總線接口,支持在線編程,是很多測控系統(tǒng)的首選。系統(tǒng)硬件框圖如圖4 ,C8051F021有5 個(gè)定時(shí)器,5 個(gè)PCa通道,測4 個(gè)方向的超聲波傳感器發(fā)射頭可共用1個(gè)40kHz 方波信號,實(shí)行同步發(fā)射;4 個(gè)接收頭可接入PCa的4 個(gè)通道。信號放大電路的放大倍數(shù)在800左右,即使接收信號經(jīng)過帶通濾波器,噪聲峰值也達(dá)30mv.
圖4 單接收頭多目標(biāo)測量電路框圖
圖5 用示波器標(biāo)定系統(tǒng)(只有一個(gè)發(fā)射頭和一個(gè)接收頭)
4 系統(tǒng)軟件
系統(tǒng)軟件基本構(gòu)架如下:
void maiN
{ cONfig ; Ea= 1; While (1){} ; }
void time0_inter interrupt 1{}
void time1_inter interrupt 3{}
void time2_inter interrupt 5 {}
void time3_inter interrupt 14 {}
void time4_inter interrupt 16 {}
void PCA_inter interrupt 9 {}
初始化程序config : I/ O 交叉開關(guān)配置;使用外部時(shí)鐘,指定系統(tǒng)時(shí)鐘;time 0~4 中斷使能,其中time 0溢出中斷發(fā)生,產(chǎn)生40kHz 方波信號輸出;PLa中斷開啟。
中斷函數(shù)time0_inter :產(chǎn)生5 個(gè)40kHz 方波信號輸出后關(guān)閉time0中斷,TF0= 0; PLa溢出、邊緣捕捉中斷開啟。
中斷函數(shù)PCA_inter :若是溢出中斷發(fā)生(30ms),則關(guān)閉PCA_inter 中斷,CF = 0,開啟time0中斷;若是CCFN= 1,則記下定時(shí)器時(shí)間(與初值相減后代入標(biāo)定式得距離),給定time N計(jì)時(shí)初值并啟動time N溢出中斷(2ms), 關(guān)閉CCFN中斷,CCFN= 0.
中斷函數(shù)time1_inter ~ time4 _inter : 當(dāng)time N中斷發(fā)生則開啟CCFN中斷,關(guān)閉time N中斷,TFN= 0.
5 結(jié)語
本文對單個(gè)接收頭在一次采樣時(shí)間(30ms)內(nèi)測量多個(gè)目標(biāo)進(jìn)行了嘗試,仿真并分析了接收信號波形,用0. 5倍包絡(luò)峰值標(biāo)定而用小閾值測量,在2個(gè)目標(biāo)與接收頭距離之差大于30cm 以上時(shí)能較精確測量出2個(gè)目標(biāo),誤差不超過2cm.
由于一次能在同一時(shí)刻測多個(gè)距離,增大了超聲波傳感器捕獲的信息量,移動機(jī)器人裝配了該傳感器能在人員不是密集的動態(tài)環(huán)境下根據(jù)4面墻壁定位。