聲導(dǎo)航自行小車研究
2.1 聲源定位算法設(shè)計
如圖4所示,在小車上安裝3個等間距的端口,間距為d,且3個端口在同一直線上。要測量的是點聲源M與中心陣元曰的距離r與方位角α。本文引用地址:http://m.butianyuan.cn/article/170534.htm
t12為聲源到達端口1和2的時間差;t23為聲源達到端口2、3的時間差;陣元間距為d;聲速為c。在遠場平面波近似條件下,由幾何關(guān)系得
利用角度估計的遠場條件,但仍不放棄柱面波和球面波的假設(shè),由余弦定理和泰勒展開得到目標距離
2.2 FPGA算法設(shè)計
FPGA根據(jù)聲接收模塊的信號,進行時間差計算。當有一路信號有效時啟動計數(shù)器開始計時,另外兩路信號同時有效時停止計數(shù),且計數(shù)結(jié)果可以借助計數(shù)器的存儲功能得以存儲。所用FPGA主頻為50 MHz,時間差=計數(shù)值×0.02μs。根據(jù)兩次的時間差值,利用定位算法可以實現(xiàn)定位功能。此外還設(shè)置了各路鎖存信號,可以判別出聲源的左右位置。圖5為利用Quartus II所設(shè)計的FPGA簡單計數(shù)的電路圖。
2.3 電機驅(qū)動算法設(shè)計
選用雙直流電機的小車模型進行試驗,兩個電機分別對小車左側(cè)的兩個車輪和右側(cè)的兩個車輪進行控制。預(yù)設(shè)PWM波的頻率值為10kHz。在單片機MC9S12XS128芯片特定的應(yīng)用程序CodeWarrior IDE中進行代碼編寫。針對不同的電機系統(tǒng),需要進行實測并判斷合適的轉(zhuǎn)向、延時時間。
3 結(jié)束語
采用40 kHz的信號有利于避免外界干擾,使信號的誤判率降低。系統(tǒng)采用FPGA與單片機結(jié)合的形式進行聲導(dǎo)航,使小車能夠準確到達聲源處。電機運行環(huán)境和路面狀況不同時,由r和α產(chǎn)生合適的PWM比較困難,需要不斷調(diào)試,最終找到合適的PWM。該技術(shù)方案還可推廣,搭載家用小型餐桌、兒童搖籃、電腦桌和餐廳餐車等以實現(xiàn)智能行走功能,為生活提供方便。
評論