吳 倩
(東南大學自動化學院,南京 210096)
定位的傳感器有很多,如視覺、聲納、超聲波、紅外線、羅盤等,這些傳感器中僅超聲波傳感器應用于絕對定位中。由于超聲波在空氣中的衰減較大,只適用于較小的范圍。目前超聲波測距已有很成熟的技術,而超聲波定位的研究還在起步階段,且大多都只是研究利用超聲波傳感器在空間中定位單個靜止物體的位置。
本系統在超聲波測距的基礎上,利用FPGA 內部高效率的處理能力,使多個超聲波傳感器分時工作并連續不斷地掃描超聲波傳感器前面一定范圍內的障礙物情況,測量得到的數據通過FPGA 內部處理后可將障礙物的分布情況動態地顯示在VGA 屏上,通過多個超聲波傳感器之間的協調工作達到了實時監測超聲波前面動態情況的效果。本設計可應用于無人場所中移動和靜止物體的定位,如車輛行進路線監測,機器人避障等。
超聲波傳感器的發射端向空氣中發射特定頻率的超聲波,同時接收端探測來自某個物體的反射波。超聲波測距是通過不斷檢測超聲波發射后遇到障礙物所反射的回波,從而測出發射和接收回波的時間差t,然后求出距離s。系統利用FPGA 產生脈沖方波,放大后經超聲波探頭產生40KHz的超聲波輸出。由于超聲波傳播速度受溫度T的影響較大,因此系統接入溫度傳感器,計算距離公式為:

系統由FPGA 模塊、VGA 屏定位顯示模塊、LCD測距顯示模塊、溫度傳感器模塊及超聲波傳感器模塊組成。具體如圖1 所示。

圖1 多聲路超聲波障礙物定位系統組成
系統啟動后,由定時模塊產生5 路信號先后送往超聲波傳感器,產生超聲波。由正確回波驗證模塊,傳感器傳播速度模塊,測距換算模塊,VGA 模塊,LCD 模塊構成。對于超聲波接收模塊接收的信號,先用正確回波驗證模塊驗證接收信號中是否存在一定連續數目的傳感器工作頻率的信號,如是則計算回波時間差,并將結果送至測距換算模塊,否則不作處理。同時使用溫度傳感器測得的數據送往傳感器傳播速度模塊處理可獲得超聲波在環境中的傳播速度,并將結果送至測距換算模塊,在測距換算模塊中計算出對應的距離數值,并經過VGA 模塊和LCD 模塊的處理后將結果分別顯示在VGA 屏和LCD 屏上。
FPGA 選 用 Altera 公 司的 Cvclone Ⅱ系 列EP2C8Q208C8N。該芯片有8256個邏輯單元(LE),包括嵌入式18bit ×18bit 乘法器、專用外部存儲器接口電路、4 Kbit 嵌入式存儲器塊、鎖相環(PLL)和高速差分I/O 能力,是一款高速度、高密度、高性能、低成本的FPGA。FPGA 包括超聲波發送處理模塊、超聲波接收處理模塊、VGA 模塊、溫度傳感器模塊等。
為有效測量障礙物位置,5個超聲波傳感器成對使用,每對傳感器并排擺放。程序啟動后,由定時選擇模塊根據設定時間間隔自動產生5 路信號,連續不斷地按順序依次使能每個傳感器發送模塊,使得同一個時刻只使能對應的傳感器接收模塊接收回波信號。
由FPGA 產生40KHz 脈沖,輸出放大后驅動超聲波發送器工作。超聲波接收電路接收到回波信號后,經過兩級NE5532 對信號放大和LM311 比較電路的處理得到FPGA 可識別的幅值為3.3V的脈沖信號,并通過I/O 接口送回FPGA 內進行處理。超聲波接收電路如圖2 所示。

圖2 超聲波接收模塊
為增大掃描范圍,5 對超聲波傳感器成同圓心的圓弧排列,角度間隔45°,建立坐標系如圖3 所示。根據每個超聲波擺放位置與圓心之間的角度,可將每個傳感器測得的距離換算成屏幕坐標。
測得障礙物坐標后,通過VGA 模塊連續不斷地行掃描,場掃描,將坐標點在屏幕中標注出來以表示障礙物當前的位置,當障礙物在移動時,行掃描,場掃描可以及時地更新障礙物的位置。
軟件用硬件語言VHDL,Verilog 編寫,整個軟件采用模塊化設計,主程序由超聲波發射子程序、回波處理子程序、VGA 顯示子程序等模塊組成。程序采用對5個超聲波發射接收回路的循環檢測方式,計算各通道所測結果并保存于存儲器,并將所測結果的數值及所計算的位置顯示在VGA 屏中。主程序流程圖設計如圖4 所示。


設計中連續不斷地按順序依次使能每個傳感器發送模塊,為防止5個超聲波傳感器之間的信號相互干擾而造成誤測現象,采用在每個超聲波發送器工作時只發送10個周期數目的驅動信號,且用定時器對每個超聲波的工作時間做了限定,使設定范圍內的回波信號都能返回收到且使環境中反射多次的超聲波信號在該時間內衰減掉,保證當下一個超聲波發送器使能時不受其他超聲波干擾信號的影響。超聲波發送子程序流程圖如圖5 所示。

圖5 超聲波發送子程序流程圖
由于采用的是超聲波發送和接收分開處理的形式,所以采用FPGA 給發送提供驅動信號的同時,也在不斷的檢測接收端是否接收到信號。當接收到待測信號后,軟件中通過檢測待測信號兩個下降沿的間隔來判斷其周期,通過記錄待測信號一個周期所包含的系統晶振50MHz的數目來判斷是否為40KHz,當連續接收到5個周期的40KHz的脈沖時,則認為接收到正確的回波信號。設計如圖6 所示。

圖6 回波處理子程序流程圖
系統利用FPGA為控制器的多聲路超聲波障礙物定位系統,可實時監視范圍內障礙物空間分布情況及物體的移動情況。在實際應用中本設計工作穩定可靠,反應敏捷,能滿足2m 范圍內較高精度的測距要求,且成本較低,有良好的性價比,經適當改進后也可用于機器人的輔助視覺系統和其它短距離測距要求及相關系統中。
[1]吳超.基于FPGA的超聲波測距系統[D].武漢:武漢理工大學,2009:20-24.
[2]曾德懷,謝存禧,張鐵,等.行走機器人的超聲波測距系統的研究[J].機械科學與技術,2004,23(5):613-616.
[3]周光明.基于主動探測的室內未知環境下移動機器人[J].模式識別與人工智能,2006,19(5):591-596.
[4]楊媛,高勇,余寧梅.多聲路高精度超聲波流量測量系統[J].化學工程,2005,33(6):71-73.
[5]孫艷,孫愛良,王紫婷.基于FPGA的VGA 顯示控制器的實現[J].自動化與儀器儀表,2008,6(2):106-107.
[6]鄭美芳,高曉蓉,王黎,等.基于FPGA的VGA時序彩條信號實現[J].現代電子技術,2009,32(14):90-92.