資料介紹
描述
您的 Arduino 項(xiàng)目需要快速且廉價的激光測距儀模塊嗎?
當(dāng)然,你可以使用專門的模塊來完成這項(xiàng)任務(wù),但它們中的大多數(shù)價格都很高。VL53L0X/VL53L1X 模塊價格便宜,但視野非常大。
所以我找到了一個解決方案:使用便宜的“X-40”激光卷尺作為激光測距儀。這些設(shè)備的成本為 20 美元或更低,它們可以測量距離高達(dá) 40m,精度約為 3mm。但是有兩個問題 - 無法從磁帶上獲取讀數(shù)并且測量速度很慢 - 低于 1 Hz。
為了解決這個問題,我對該激光卷尺進(jìn)行了逆向工程,并為激光測距儀模塊的 STM32 MCU 編寫了自己的固件。測量速度對我來說很重要,我可以達(dá)到 ~60 Hz,但最大穩(wěn)定距離降低到 ~6 m(最大范圍為 37 m,但我沒有測試)。
距離測量精度可以從 1 毫米到 10 毫米不等,具體取決于目標(biāo)顏色和距離。
模塊尺寸:25x13x50 毫米。
重要通知:您將丟失原始固件,因此該設(shè)備以后不能用作激光卷尺!
請注意,“X-40”激光卷尺可以有不同版本的激光測距儀模塊,我的固件只支持其中的一部分!
“X-40”并不是帶有此類模塊的激光卷尺的唯一名稱 - 我知道存在幾種不同的帶有合適模塊的中國激光卷尺。
第 1 步:拆卸激光卷尺
讓我們拆開激光卷尺,從中得到一個激光測距儀模塊。

您需要從外殼上擰下 7 個螺絲:

拆卸的激光卷尺:

您可以在設(shè)備外殼內(nèi)看到小型激光測距儀模塊。您需要從模塊上斷開帶狀電纜并從外殼中取出模塊:

請注意,模塊標(biāo)記為“701A”。我的固件只支持“512A”和“701A”模塊版本。一些用戶確認(rèn)“703A”模塊也可以工作(我沒有測試過)。
UPD 11/2019:
注意:發(fā)現(xiàn)較新的“x-40”激光卷尺帶有“M88B”模塊。在 MCU 附近的 PCB 上標(biāo)記為“88B”。該模塊基于 STM32F0 MCU(它具有 QFN-32 封裝)。我的固件不支持這些模塊!
UPD 10/2021:
注意:增加了對 U85 模塊的支持:見鏈接!它們用于現(xiàn)代類型的激光卷尺。

如果支持您的模塊,則需要從模塊上拆下電源線。
第 2 步:對激光測距儀模塊進(jìn)行編程
您需要將專用固件寫入模塊的 MCU 以獲得所需的功能。
1. 首先,您需要焊接一些用于對 MCU 進(jìn)行編程的電線。引腳排列如圖所示:

連接鍵盤連接器的針腳 7-8 - 需要通電。
線“GND”和“Vbat”必須連接到電源。電源電壓范圍為+2.7...+3.3V。為模塊供電時,“Vdd”線必須有 +3.5 V。
“GND”、“SWDIO”、“SWCLK”、“NRST”線必須連接到 ST-LINK 編程器。“NRST”線很重要——MCU的原始固件被鎖定,所以進(jìn)入MCU進(jìn)入編程模式需要這條線。
有些程序員有這條線,有些(便宜的)沒有,但是有一個解決這個問題的方法。
另外,有些編程器(如原來的“ ST-LINK/V2 ”)需要“Vbat”線與編程器的“VCC/TVCC”線相連。
連接示例(此程序員沒有“NRST”行):

2. 將“ST-LINK 實(shí)用程序”安裝到 PC。如果您沒有使用該軟件的經(jīng)驗(yàn),網(wǎng)上有很多教程。
您需要配置實(shí)用程序(目標(biāo) -> 設(shè)置):

如果您的編程器有“NRST”輸出,您只需打開電源并在實(shí)用程序中按“Target -> Connect”即可。
如果它沒有這樣的行,您需要執(zhí)行以下步驟:
- 打開電源。
- 將模塊的“NRST”線連接到 GND。
- 在實(shí)用程序中按“目標(biāo) -> 連接”。
- 快速斷開“NRST”線與 GND 的連接。
- 實(shí)用程序必須顯示連接
Yon 必須得到這樣的圖片:

3. MCU flash 被鎖定讀取,所以需要關(guān)閉“Read Out Protection”。在這一步您將丟失原始固件!
打開目標(biāo)->“選項(xiàng)字節(jié)”菜單。必須有這樣的設(shè)置:

將“讀出保護(hù)”切換為“禁用”,然后按“取消全選”按鈕,然后按“應(yīng)用”按鈕。嘗試重新啟動模塊(通過斷開電源)。
按目標(biāo) -> 連接。日志窗口中必須有關(guān)于成功連接的信息,并且您必須看到內(nèi)存內(nèi)容 - 用 0xFF 填充。現(xiàn)在您可以將自定義固件加載到 MCU。
4.需要的固件放在這里:https ://github.com/iliasam/Laser_tape_reverse_engineering/tree/master/Code/Firmware_dist_calculation_fast
為您的模塊選擇合適的 HEX 文件并使用“ST-LINK 實(shí)用程序”將其下載到 MCU Flash。
第 3 步:將激光測距儀模塊連接到 Arduino
您需要將電線或一些連接器焊接到板上的 TX 焊盤:

請參見下面的連接示意圖。
首先,您需要檢查測距儀模塊是否正常工作。在這一步您不需要將OLED顯示器連接到Arduino - 只需將激光測距儀模塊的TX線連接到Arduino的TX線,并將模塊的電源線連接到+ 3V電源。
創(chuàng)建空草圖并將其加載到 Arduino。在 Arduino IDE 中打開“串行監(jiān)視器”。選擇波特率:250000
如果測距儀模塊工作正常,您將獲得相同的數(shù)據(jù):
DIST;01937;AMP;0342;TEMP;1223;VOLT;115 DIST;01937;AMP;0343;TEMP;1223;VOLT;115 DIST;01938;AMP;0343;TEMP;1223;VOLT;115 DIST;01938;AMP ;0343;溫度;1223;伏特;115
事實(shí)上,這個測試最好使用專門的 USB-UART 轉(zhuǎn)換器。在其實(shí)用程序中選擇 256000 波特率(它是 x-40 MCU 的真實(shí)波特率)。
其次,您需要將完整的原理圖與顯示器組裝在一起。
將激光測距儀模塊的 TX 線連接到 Arduino 的 RX 線(在將程序加載到 Arduino 時需要斷開該線)。
如果一切正常,您將得到相同的結(jié)果:

您可以看到顯示 3 個數(shù)字:
- "COUNT" - 接收值的計數(shù)器
- “AMPL” - 信號的幅度。下面的符號條(“<--->”)以圖形方式顯示幅度(以對數(shù)刻度)。
- 最大值 - 以米和毫米為單位的距離。
第 4 步:調(diào)零
首次啟動后,需要校準(zhǔn)激光測距儀模塊。
您需要在距離模塊一定距離處放置一些白色物體。對于測距儀模塊,到該物體的距離將變?yōu)榱憔嚯x。要開始校準(zhǔn)過程,您需要從激光卷尺連接鍵盤并按最低按鈕。模塊將發(fā)出兩次嗶聲 - 在校準(zhǔn)開始和結(jié)束時(校準(zhǔn)持續(xù)時間接近 10 秒)。

現(xiàn)在您可以使用此激光測距儀模塊。
鏈接:
1. Github——逆向工程結(jié)果和源碼。
2. Habr.com - 谷歌翻譯的關(guān)于激光卷尺逆向工程過程的文章。
對不起我的英語 - 我來自非英語國家。
- 手持式激光測距儀產(chǎn)品介紹 9次下載
- 使用Arduino的超聲波測距儀
- 高精度激光測距儀原理圖.PDF 183次下載
- TDC-GP22激光測距儀應(yīng)用指南
- 2021年單點(diǎn)激光測距儀模塊廠家名單 20次下載
- 激光測距儀的發(fā)展?fàn)顩r如何及激光測距的開發(fā)資料概述 96次下載
- 相位式激光測距儀的概述及其改進(jìn)設(shè)計 31次下載
- DDS技術(shù)在數(shù)字激光相位測距儀中的應(yīng)用 24次下載
- 相位式激光測距儀的改進(jìn)設(shè)計 61次下載
- 用于智能汽車的小型LD激光測距儀 8次下載
- 脈沖激光測距儀的設(shè)計-課程設(shè)計 34次下載
- DIY基于攝像頭的激光測距儀 67次下載
- 用于智能汽車的小型LD激光測距儀 227次下載
- 測距儀中新型的脈沖激光光源
- 超聲波倒車測距儀( 本科試題)
- 基于XIAO的迷你激光數(shù)顯測距儀設(shè)計 324次閱讀
- YXC有源晶振,頻點(diǎn)50MHZ,超小體積2520封裝,應(yīng)用于激光測距儀 1543次閱讀
- 基于51單片機(jī)的超聲波測距儀設(shè)計 3147次閱讀
- 使用SRF05和ATtiny85的超聲波測距儀 2481次閱讀
- 超聲波測距儀/聲納測距系統(tǒng)的電路分享 2746次閱讀
- 基于SRF05和ATtiny85實(shí)現(xiàn)的超聲波測距儀設(shè)計 2687次閱讀
- 基于硅光電倍增管的直接ToF測距系統(tǒng)設(shè)計 6214次閱讀
- 激光測距儀的原理_激光測距儀是怎樣工作的 1.1w次閱讀
- 激光測距儀使用方法 2.8w次閱讀
- 激光測距原理與方法 1.3w次閱讀
- 全站型電子測距儀的用途及使用注意事項(xiàng)說明 6397次閱讀
- 激光測距儀的特點(diǎn)及應(yīng)用范圍 1w次閱讀
- 汽車道閘跟激光測距有什么關(guān)系? 6081次閱讀
- 激光測距儀的簡單實(shí)現(xiàn)解決方案 1.2w次閱讀
- 淺談激光測距儀的原理及使用方法 9122次閱讀
下載排行
本周
- 1蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 286次下載 | 5 積分
- 2長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 3AO4803A雙P通道增強(qiáng)型場效應(yīng)晶體管的數(shù)據(jù)手冊
- 0.11 MB | 28次下載 | 2 積分
- 4長虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
- 5TP4055 500mA線性鋰離子電池充電器中文手冊
- 0.75 MB | 9次下載 | 免費(fèi)
- 6TP4054 400mA線性鋰離子電池充電器中文手冊
- 0.70 MB | 2次下載 | 免費(fèi)
- 7TP4057X 500mA線性鋰離子電池充電器中文手冊
- 0.74 MB | 2次下載 | 免費(fèi)
- 8AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 2次下載 | 免費(fèi)
本月
- 1蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 286次下載 | 5 積分
- 2人形機(jī)器人電機(jī)驅(qū)動和傳感報告
- 4.27 MB | 169次下載 | 免費(fèi)
- 3長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 4U盤一鍵制作
- 23.84 MB | 41次下載 | 免費(fèi)
- 5AO4803A雙P通道增強(qiáng)型場效應(yīng)晶體管的數(shù)據(jù)手冊
- 0.11 MB | 28次下載 | 2 積分
- 6Altium Designer元件庫
- 17.11 MB | 23次下載 | 免費(fèi)
- 7長虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
- 8TP4055 500mA線性鋰離子電池充電器中文手冊
- 0.75 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論