一、項目名稱:
超聲波測算單元
二、項目概述:
對現(xiàn)代汽車應用而言,測距/感知部分相當重要,現(xiàn)今這類技術主要有景深攝像頭,激光雷達,毫米波雷達和超聲波雷達。
誠然激光雷達和毫米波雷達有更好的性能,但是超聲波雷達也有自身的優(yōu)點:
廉價,可靠,不懼雨霧灰塵,沒有隱私風險,沒有傷害性風險。
所以超聲波在汽車領域最早應用,缺點是性能不夠,距離太近。
本項目希望基于簡單廉價的硬件系統(tǒng),研發(fā)出靈活有效的算法,提高信噪比,增加測量距離,實現(xiàn)成本優(yōu)秀的測算單元。
三、作品實物圖
本項目是個探索型項目,目標是試驗,研究算法。因為時間的關系,目前調(diào)試完硬件和初步的算法。
因為硬件上突出簡潔,功能性能均由算法實現(xiàn)。所以結構相當精簡。。硬件框圖:
其中,主控MCU選擇了TI的MSPM0G1507,主要是因為其內(nèi)置了較好的模擬外設,擁有不錯的ADC和雙內(nèi)置PGA,所以放大電路都在MCU內(nèi)部了,電路超簡潔:
兩個PGA組成兩級同相放大器,因為回波信號極小,所以兩級都采用最大倍數(shù),32*32=1024倍。
附加一個psram,供存儲大量采樣數(shù)據(jù)以調(diào)試算法。
超聲波驅(qū)動采用H橋驅(qū)動芯片MX6208,支持車載12V輸入,可以實現(xiàn)雙倍峰峰值。
對照實物:
其中按大賽要求選擇了主控MSPM0G1507,另外FRDM-MCXN947(具有16位ADC可以作為數(shù)據(jù)參照)實驗時用于對比。
模塊預留了驅(qū)動輸入和放大輸出接口。
調(diào)試時:
軟件上的調(diào)試結構:
設置TIMERA0輸出互補PWM波,按超聲波傳感器中心頻率設定為40KHz,發(fā)射一段時間后關閉。
(雖然mx6208有剎車功能,可以輸出均接地,但之后仍有相當量的余振只能等待,余振影響最近可測量距離,分體式傳感器可以大幅度改善此問題)
之后關閉PWM,并把端口設置改為GPIO,拉低,MX6208輸出進入高阻態(tài)。
接收到回波信號進入MCU內(nèi)部PGA兩級放大后ADC采樣,儲存以待分析。
調(diào)試狀態(tài)將內(nèi)存中的采樣數(shù)據(jù)發(fā)送PC,因為上位機軟件的要求。比如vofa+的firewater格式要求數(shù)據(jù)轉為ASCII碼。
細節(jié)見附件源碼。效果:
距離墻面2m。
驅(qū)動電壓為12V
驅(qū)動電壓為9V
驅(qū)動電壓為5V
可見即使是5V,短距離也具有實用性。
核心算法:
采用按發(fā)射波頻率進行結果累加平均,可以有效的提升信噪比。
數(shù)據(jù)波形:
10倍平均波形:
20倍平均波形
可以看到信噪比的提升。
目前這是比較合適的參數(shù)。
算法尋找的峰值點:
取第一個峰值點計算時間,測算出距離:
測量數(shù)據(jù)在195cm~198cm之間浮動。
分析:
因為運算速度不夠,不能隨采樣數(shù)據(jù)實時算法處理,所以必須一次性采樣全部數(shù)據(jù)然后計算。為了減少數(shù)據(jù)量減少計算時間,采用的采樣間隔是5us。
對于40KHz的超聲波來說,一個波只有5個采樣點,很難采到波峰值,精度必然影響很大,識別錯過一個波形的誤差是0.347mmX25us = 8.675mm,錯兩個波形就大概到±2cm了。
如果能做到1M(間隔1us)或更高的采樣率,精度和穩(wěn)定性都將更好。
戶外測試,干擾更大,距離更開闊,可以達到6m以上較好的效果。
提高驅(qū)動電壓到14v,則可測到7m多。這個驅(qū)動電壓是比較低的,通常的超聲波驅(qū)動可以幾十到一百伏。顯然還有優(yōu)化空間。
總結:
項目基本實現(xiàn)了預期效果,驗證了高精簡的硬件設計配合算法可以實現(xiàn)低成本高可靠高性能的超聲波測量應用。同時性能上還有比較大的提升空間。
可以廣泛用于汽車、機器人、工業(yè)和各種其他場合,前景非常好,
四、演示視頻
參數(shù)調(diào)試:
參考附件
戶外測試:
3m穩(wěn)定性
參考附件
5m穩(wěn)定性
參考附件
5m對花壇變距離測量
參考附件
6m對墻壁變距離測量
參考附件
五、項目文檔
原理圖:
參考附件
PCB:
參考附件
程序基于ti mspm0_sdk_2_03_00_07,keil5.38
串口版本:
參考附件
驅(qū)動max7219數(shù)碼管的版本,用于戶外測試:
參考附件