|
基于紅外線和超聲波傳感器的新型測距系統設計 傳感器是人工智能研究中非常重要的一環,要想要讓機器更加智能,就需要用傳感器來賦予它們像人一樣的各種感官。文章結合了紅外線傳感器測距較短、精度較高,超聲波傳感器測距較長、精度較低的特點,設計了一款以 STM32 單片機為核心,將紅外線傳感器 GP2Y0A02YK0F 與超聲波傳感器 HC-SR04 融合的新型測距系統,并優化了測距算法。通過實驗表明,該系統可以彌補單一傳感器測距性能的不足,提高了測距精度,具有結構簡單、成本低及使用方便等優點。將該新型測距系統應用到智能無人小車的控制系統中,可提升小車的避障性能,效果顯著。 0 引言 紅外線傳感器測量數據精度高但是測量距離較短,而超聲波傳感器的測量距離長但精度較低 [1], 所以本文選用在性能上互補的超聲波傳感器和紅外線傳感器融合使用,結合兩種傳感器的優缺點,將二者測得的數據進行算法融合,在一段較長的測距范圍內得到更精確的測量數據。新的測距系統可以應用于多種場合,具有結構簡單、成本低等優點,在無人車、機器人等領域有廣泛的應用價值 [2-3]。 1 新型測距系統總體設計 本系統主要由3個部分組成,分別是使用STM32F103ZET6 單片機進行數據處理的控制部分、使用 HC-SR04 超聲波傳感器和 GP2Y0A02YK0F 紅外線傳感器進行初次測距的測距部分以及使用 HC-05藍牙模塊連接主機與控制系統的信號傳輸部分。主機在接收到信號后,進行數據記錄與監測,并利用LCD1602 顯示屏顯示數據。具體的測距系統方案。 2 系統硬件設計 2.1 控制部分 本文選用 STM32F103ZET6 芯片作為微處理器,該芯片成本低、功耗低,但是運算功能強大、功能眾多,可以根據不同的優先級先后執行中斷程序,能夠滿足本系統的需求。 2.2 測距部分 設計選用 HC-SR04 超聲波傳感器模塊作為超聲波測距部分,此模塊性能穩定,測量范圍為 2~ 400cm,測量距離大、盲區小,擁有高達 0.3cm 的測距精度。 將超聲波傳感器發射端對著被測對象發射,超聲波傳感器的接收端接收到反射回的超聲波后,根據發射和接收的時間差就可以計算超聲波的傳播距離。 紅外線測距部分選用夏普 gp2y 系列的紅外線傳感器,夏普的紅外線測距傳感器采用三角測量原理。三角測量是一種間接測量目標距離的方法,又叫三邊量測法。設計將目標定為一個三角形的第 3 個點,當確定了一條邊長和發射光線、反射光線的兩個角度后,可以由此計算出與目標的距離。紅外線傳感器測量原 式(1)中, D 是待測距離,L 是 CCD 檢器接收到信號后的偏移值, X 是發射器與接收器中心之間的距離, f 是受光透鏡焦距。 在型號的選擇上,綜合考慮了超聲波傳感器的測距范圍與設計目標,本系統最終選擇使用GP2Y0A02YK0F 紅外線傳感器。這款紅外線測距傳感器測量精度高,測量范圍在20 ~ 150cm。 2.3 信號傳輸部分 信號傳輸部分選用 HC-05 藍牙模塊。HC-05 藍牙模塊有 6 個引腳,除了接正極與接地的引腳以及用于檢測藍牙模塊連接狀態的 LED 引腳外,還有 TXD和 RXD 引腳以及 KEY 引腳。HC-05 支持使用標準AT 命令,在設備啟動時進入特殊命令模式,然后再進入數據模式,這樣就可以與其他設備進行無線通信,通信距離可以達到 10m。控制端通過 HC-05 藍牙模塊接收小車傳來的紅外線測距數據、超聲波測距數據以及經過數據處理后的最終數據,對結果進行記錄與監測。 LCD1602 液晶顯示器是一種字符顯示器,在顯示時,有兩行內容,每行有 16 個字符的顯示器,總共擁有 16 個引腳。LCD1602 主要顯示經過系統數據處理后的最終數據,也就是測得的小車與前放障礙物之間的距離。 2.4 無人車實驗平臺 3 測距算法設計 根據設計目標,要使系統完成在 20 ~ 150cm 的高精度測量,應首先由超聲波測距傳感器和紅外線測距傳感器進行一次測量,然后將數據傳輸到控制系統中進行處理,通過大量實驗建立的數據模型來得到最接近實際距離的參數,最后輸出測量距離。 3.1 超聲波測距 HC-SR04采用IO口TRIG觸發測距,提供一個10us以上的高電平脈沖觸發信號,模塊內部將會發送 8 個 40kHz 周期電平并檢測回波。當檢測到信號返回時,輸出回響信號。回響信號的脈沖寬度與測量距離成正比。回響信號的脈沖寬度為高電平持續時間, T 是高電平持續時間。表達式如下:L1=( V×Δ T)/2 (2) 如果發射信號的周期太短,那么發射信號會對回響信號產生影響,因此設置脈沖觸發信號的發射周期為 100ms。 3.2 紅外線測距 圖 3 GP2Y0A02YK0F 傳感器特性曲線 3.3 算法設計 在得到紅外線測量的數據 L 1 和超聲波測量的數據 L 2 后,與實際距離進行比對,得到參數 k 1 和 k 2,采用平均算法,修正距離值:L 3=k 1*L 1+k 2*L 2 (3) 此時,得到一個 k 1 和 k 2 的數值。 4 實驗數據及分析 為驗證該測距系統的效果,本文進行一系列測試,選取了 10 組測試數據,L1 為超聲波測距傳感器數據,L2 為紅外線測距傳感器數據,L3 為經過控制系統處理的最終數據,也就是測量得到的最終數據。在可測量范圍內的實驗測量數據,如表 1 所示。 表 1 在可測量范圍內的實驗測量數據 注:k1=0.568;k2=0.422 平均相對誤差 =0.1154% 通過表 1 可以發現,利用超聲波傳感器和紅外線傳感器的融合測距,在測量范圍內的平均相對誤差小于 0.3%,滿足檢測系統的精度要求,說明該測距系統方案可行。 因超聲波測距與紅外線測距均會受到外界因素的影響,若要進一步提高測量精度,可設置不同環境下的 k1、k2 值。通過藍牙控制,使系統在不同情況使用不同的 k1、k2 值。 5 結語 本文設計了一種基于紅外線和超聲波傳感器的新型測距系統。該系統結構具有簡單、成本低及精度高的優點,融合了紅外線和超聲波傳感器的特點,改進了測距算法,從而提高了測量精度,并擁有較大的測量范圍。將該系統應用在智能無人車中,能提升無人車的避障性能,同時也為基于多傳感器的測距系統設計提供了一種新思路。 參考文獻 班寧產品匯總 |