超聲波傳感器的原理?
超聲波傳感器是用來測量物體的距離。首先,超聲波傳感器會發(fā)射一組高頻聲波,一般為40-45KHz,當聲波遇到物體后,就會被反彈回,并被接受到。通過計算聲波從發(fā)射到返回的時間,再乘以聲波在媒介中的傳播速度(344米/秒,空氣中)。就可以獲得物體相對于傳感器的距離值了。
聲波換能器特性
聲波換能器就好比一個喇叭,能將電流信號轉(zhuǎn)換成高頻聲波,或者將聲波轉(zhuǎn)換成電信號。(其實多數(shù)喇叭都可以當作話筒用,不信大家可以去試一下,用喇叭代替麥克風(fēng),也是可以的,只不過麥克風(fēng)將聲波轉(zhuǎn)化成電信號的能力比較強一點。所以,更加靈敏一點。)
換能器在將電型號轉(zhuǎn)化成聲波的過程中,所產(chǎn)生的聲波并不是理想中的矩形,(圖1-a),而是一個類似花瓣一樣形狀,參見(圖1-b,c):
圖1:聲波特性
值得一提的是,在實際應(yīng)用中,產(chǎn)生的波形應(yīng)該是三維的,類似柱狀體。
對于機器人的應(yīng)用來說,超聲波傳感器主要用來探測物體的距離以及相對于傳感器的方位,以便可以進行避障動作。最理想就是矩形,不但可以準確的獲得物體的距離值,也可以準確的獲得方位值,就是正前方。但是實際上,超聲波的波束根據(jù)應(yīng)用不同,有寬波束,和窄波束。寬波束(圖1-b)的傳感器會檢測到任何在波束范圍的物體,它可以檢測到物體的距離,但是確無法檢測到物體的方位,誤差最高會有100度左右,機器人將無法準確的確定其避障的動作。當然,作為只要探測物體有或者無的用途來說,寬波束的傳感器是比較理想的。同理,窄波束可以相對寬波束獲得更加精確的方位角。在選擇超聲波傳感器的時候,這個波形特性是必須要考慮的。
超聲波的問題
超聲波傳感器應(yīng)用起來原理簡單,也很方便,成本也很低。但是目前的超聲波傳感器都有一些缺點,比如,反射問題,噪音,交叉問題。
反射問題
如果被探測物體始終在合適的角度,那超聲波傳感器將會獲得正確的角度。但是不幸的是,在實際使用中,很少被探測物體是能被正確的檢測的。圖二給出了幾個例子。
圖2:聲波反射
圖2.a中的情況叫做三角誤差,當被測物體與傳感器成一定角度的時候,所探測的距離和實際距離有個三角誤差。
圖2.b中的情況叫做鏡面反射,這個問題和高中物理中所學(xué)的光的反射是一樣的。在特定的角度下,發(fā)出的聲波被光滑的物體鏡面反射出去,因此無法產(chǎn)生回波,也就無法產(chǎn)生距離讀數(shù)。這時超聲波傳感器會忽視這個物體的存在。
圖2.c中的情況可以叫做多次反射。這種現(xiàn)象在探測墻角或者類似結(jié)構(gòu)的物體時比較常見。聲波經(jīng)過多次反彈才被傳感器接收到,因此實際的探測值并不是真實的距離值。
這些問題可以通過使用多個按照一定角度排列的超聲波圈來解決。通過探測多個超聲波的返回值,用來篩選出正確的讀數(shù)。
噪音
雖然多數(shù)超聲波傳感器的工作頻率為40-45Khz,遠遠高于人類能夠聽到的頻率。但是周圍環(huán)境也會產(chǎn)生類似頻率的噪音。比如,電機在轉(zhuǎn)動過程會產(chǎn)生一定的高頻,輪子在比較硬的地面上的摩擦所產(chǎn)生的高頻噪音,機器人本身的抖動,甚至當有多個機器人的時候,其它機器人超聲波傳感器發(fā)出的聲波,這些都會引起傳感器接收到錯誤的信號。
這個問題可以通過對發(fā)射的超聲波進行編碼來解決,比如發(fā)射一組長短不同的音波,只有當探測頭檢測到相同組合的音波的時候,才進行距離計算。這樣可以有效的避免由于環(huán)境噪音所引起的誤讀。
交叉問題
交叉問題是當多個超聲波傳感器按照一定角度被安裝在機器人上的時候所引起的,如圖3所示。
圖3:交叉對話問題
超聲波X發(fā)出的聲波,經(jīng)過鏡面反射,被傳感器Z和Y獲得,這時Z和Y會根據(jù)這個信號來計算距離值,從而無法獲得正確的測量。
解決的方法可以通過對每個傳感器發(fā)出的信號進行編碼。讓每個超聲波傳感器只聽自己的聲音。
轉(zhuǎn)載請注明出處。