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