Hesam Moshiri自己打造的雷射測距裝置
測距應用對許多創客而言并不陌生,例如紅外線測距、超音波測距等,但較少人使用雷射(對岸稱為激光)測距。近期有一名創客Hesam Moshiri就示范如何打造一個基本的雷射測距。
控制電路設計開發
Hesam先挑一片主控板,他選擇的RP2040-Zero板主控芯片為RP2040,即樹莓派官方的獨特MCU芯片,該芯片除了供自家RaspberryPi Pico板使用外,也供其他板卡商制成自己要的控制板,RP2040-Zero即是其一。
RP2040-Zero控制板接腳說明
嬌小的RP2040-Zero板為整體控制電路的心臟,但還需要一個控制用的身體,對此Hesam設計了一片與RP2040-Zero連接的外圍控制板,是運用Altium公司的云端版設計軟件Altium Designer 23設計成,設計期間也透過網站搜尋可以取得的電子零件并產生料件列表(俗稱BOM表),設計完成后的外圍控制板為雙層板,并委托他人客制生產,取得生產完成的印刷電路板后,Hesam再將購得的電子料件焊接上板子,以此實現外圍控制板。
Hesam Moshiri自己設計與RP2040-Zero控制板(藍色部分)連接的外圍電路板(綠色部分),外圍電路板上具備繼電器(偏左位置的大灰色塊)
控制板、外圍控制板的立體電子零件布局圖
客制的控制板畢竟不量產,故沒有名字,而其上頭有繼電器(relay)、LED燈號、按鈕等,以及有個專屬連接器可連接蜂鳴器(buzzer),以便后續開發可以使用。然后,電力的部份也是先接到客制板上再傳遞給RP2040-Zero板,不過RP2040-Zero自身也能取得電力。
客制板還有兩個特別的連接器,一個僅有4根接腳,用來連接飛時(Time-of-flight, ToF)測距傳感器(distance sensor),傳感器芯片是意法半導體(STMicroelectronics, STMicro)的VL53L0X(同時具有發送接收)。4根接腳的連接器本質上是I2C接口。
關于VL53L0X的性能規格,STMicro官網寫最遠可以量測200公尺,但一般要考慮配置與外部環境因素等,實務而言約在3公分~1公尺間;分辨率方面最小可以到0.1公分,不過也有誤差范圍,誤差在3%~10%間。
另一個連接器有40根接腳,用來連接軟板的TFT顯示器,本質上是SPI接口,用來顯示量測到的距離數值。Hesam用一片2.4吋、分辨率320 x 240的彩色TFT顯示器。
控制程序設計開發
軟件部分Hesam只有概略交代,但也能略窺一二,首先他是用比較底層、比較技術的方式進行軟件開發,先是使用Raspberry Pi Pico的Pico C/C++ SDK v1.5函式庫,然后花許多時間在LVGL(Light and Versatile Embedded Graphics Library)函式庫上,用該函式庫來設計開發2.4吋TFT顯示器上的顯示畫面。
然后為了同時使用上RP2040內的兩個執行核心,Hesam在RP2040-Zero控制板上跑一個實時操作系統(RTOS,沒有明講是哪一套)。至于開發工具方面,Hesam用常見的Microsoft Visual Studio Code(簡稱VS Code),寫好的程序則透過gccarm 12.2.1編譯程序進行編譯。
若想了解程序細節,其實Hesam也已經把源代碼放一份在Altium社群項目網站上,項目名稱Laser-Range-Finder,必須注冊賬號后登入才能看,或者直接連結Google、Facebook賬號也可以。
Hesam Moshiri在Altium社群項目網站上釋出雷射測距的源代碼
筆者下載一份后檢視,里頭有VL43L0X的C語言源代碼(擴展名.c,另也有用上含括檔.h),以及一個已經編譯好的Laser.uf2檔案,可以直接燒到控制板上,或者保險一點是先放入flash_nuke.uf2檔案把控制板上原有的內容都清掉,而后才放入Laser.uf2檔案。
各種應用可能
Hesam完成上述后,后續就是讓其他人以此為基礎去加搭發揮,例如「當距離短于30公分時透過蜂鳴器發出警告」,類似今日汽車常見的倒車雷達,但其實多數是以超音波技術實現;或者是「距離超過80公分時則啟動繼電器,從而驅動電風扇、洗衣機等大功率設備運作」。
最后,雷射測距也是有缺點,照射到黑體物是不容易反射的,會被吸收,如此就無法準確測距,但是超音波與紅外線同樣有其優缺點,所以通常是同時使用上兩種或兩種以上的測距技術而后交叉比對確認,對于一些避障應用而言這將是不可少的。
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17691瀏覽量
357808 -
控制電路
+關注
關注
83文章
1725瀏覽量
136706 -
TOF
+關注
關注
9文章
493瀏覽量
36967 -
主控芯片
+關注
關注
2文章
205瀏覽量
25037
原文標題:用RP2040實現ToF雷射飛時測距
文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
使用RP2040設計一個迷你板
pico-ice:RP2040 plus Lattice iCE40UP5K FPGA 開發板 介紹
ubuntu上交叉編譯rp2040
基于RP2040 arm微控制器制作的定制Arduino
RP2040
Nano RP2040連接板的應用程序

e絡盟現貨發售Arduino Nano RP2040 Connect和Raspberry Pi Pico

RP2040 MCU如何成為受歡迎的開發板芯片
RP2040 Raspberry Pi Pico遇見LoRa

合宙RP2040開發板,兼容樹莓派PICO

評論