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