電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>為Arduino制作便宜的激光測距儀

為Arduino制作便宜的激光測距儀

2022-10-24 | zip | 0.68 MB | 次下載 | 2積分

資料介紹

描述

您的 Arduino 項目需要快速且廉價的激光測距儀模塊嗎?

當(dāng)然,你可以使用專門的模塊來完成這項任務(wù),但它們中的大多數(shù)價格都很高。VL53L0X/VL53L1X 模塊價格便宜,但視野非常大。

所以我找到了一個解決方案:使用便宜的“X-40”激光卷尺作為激光測距儀。這些設(shè)備的成本為 20 美元或更低,它們可以測量距離高達 40m,精度約為 3mm。但是有兩個問題 - 無法從磁帶上獲取讀數(shù)并且測量速度很慢 - 低于 1 Hz。

為了解決這個問題,我對該激光卷尺進行了逆向工程,并為激光測距儀模塊的 STM32 MCU 編寫了自己的固件。測量速度對我來說很重要,我可以達到 ~60 Hz,但最大穩(wěn)定距離降低到 ~6 m(最大范圍為 37 m,但我沒有測試)。

距離測量精度可以從 1 毫米到 10 毫米不等,具體取決于目標(biāo)顏色和距離。

模塊尺寸:25x13x50 毫米。

重要通知:您將丟失原始固件,因此該設(shè)備以后不能用作激光卷尺!

請注意,“X-40”激光卷尺可以有不同版本的激光測距儀模塊,我的固件只支持其中的一部分!

“X-40”并不是帶有此類模塊的激光卷尺的唯一名稱 - 我知道存在幾種不同的帶有合適模塊的中國激光卷尺。

第 1 步:拆卸激光卷尺

讓我們拆開激光卷尺,從中得到一個激光測距儀模塊。

?
pYYBAGNVkVCASqJmAARLivW98nI588.jpg
這就是激光卷尺在拆卸前的樣子
?

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

?
pYYBAGNVkVKAFxwBAAErdCVM93s305.jpg
請注意,貼紙下方是一顆螺絲
?

拆卸的激光卷尺:

?
poYBAGNVkVWAZNhCAAJoPBKs5NY055.jpg
激光測距儀模塊標(biāo)記為藍色
?

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

?
poYBAGNVkVqAL1ZtAAnU9P4A_aA373.jpg
激光測距模塊
?

請注意,模塊標(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)代類型的激光卷尺。

pYYBAGNVkVyAFGw7AABg8KHW_lE559.jpg
?

如果支持您的模塊,則需要從模塊上拆下電源線。

第 2 步:對激光測距儀模塊進行編程

您需要將專用固件寫入模塊的 MCU 以獲得所需的功能。

1. 首先,您需要焊接一些用于對 MCU 進行編程的電線。引腳排列如圖所示:

?
pYYBAGNVkV-AKnX2AAQBtCQTSPs258.jpg
電線連接
?

連接鍵盤連接器的針腳 7-8 - 需要通電。

線“GND”和“Vbat”必須連接到電源。電源電壓范圍為+2.7...+3.3V。為模塊供電時,“Vdd”線必須有 +3.5 V。

“GND”、“SWDIO”、“SWCLK”、“NRST”線必須連接到 ST-LINK 編程器。“NRST”線很重要——MCU的原始固件被鎖定,所以進入MCU進入編程模式需要這條線。

有些程序員有這條線,有些(便宜的)沒有,但是有一個解決這個問題的方法。

另外,有些編程器(如原來的“ ST-LINK/V2 ”)需要“Vbat”線與編程器的“VCC/TVCC”線相連。

連接示例(此程序員沒有“NRST”行):

?
poYBAGNVkWOAWPI9AANfvVVPPv8081.jpg
ST-Link 連接到激光測距儀模塊
?

2. 將“ST-LINK 實用程序”安裝到 PC。如果您沒有使用該軟件的經(jīng)驗,網(wǎng)上有很多教程。

您需要配置實用程序(目標(biāo) -> 設(shè)置):

?
poYBAGNVkWWAVm7zAABv17e7HbE904.png
設(shè)置標(biāo)記值
?

如果您的編程器有“NRST”輸出,您只需打開電源并在實用程序中按“Target -> Connect”即可。

如果它沒有這樣的行,您需要執(zhí)行以下步驟:

  • 打開電源。
  • 將模塊的“NRST”線連接到 GND。
  • 在實用程序中按“目標(biāo) -> 連接”。
  • 快速斷開“NRST”線與 GND 的連接。
  • 實用程序必須顯示連接

Yon 必須得到這樣的圖片:

?
pYYBAGNVkWeADHnIAADfoA5GDdw905.png
正常連接
?

3. MCU flash 被鎖定讀取,所以需要關(guān)閉“Read Out Protection”。在這一步您將丟失原始固件!

打開目標(biāo)->“選項字節(jié)”菜單。必須有這樣的設(shè)置:

?
pYYBAGNVkWqAS1S-AAEPjWfrJYY759.png
選項字節(jié)菜單
?

將“讀出保護”切換為“禁用”,然后按“取消全選”按鈕,然后按“應(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 實用程序”將其下載到 MCU Flash。

第 3 步:將激光測距儀模塊連接到 Arduino

您需要將電線或一些連接器焊接到板上的 TX 焊盤:

?
poYBAGNVkWyAK2omAAE9LHuJ-Go877.jpg
701A 模塊引出線
?

請參見下面的連接示意圖。

首先,您需要檢查測距儀模塊是否正常工作。在這一步您不需要將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

事實上,這個測試最好使用專門的 USB-UART 轉(zhuǎn)換器在其實用程序中選擇 256000 波特率(它是 x-40 MCU 的真實波特率)。

其次,您需要將完整的原理圖與顯示器組裝在一起。

將激光測距儀模塊的 TX 線連接到 Arduino 的 RX 線(在將程序加載到 Arduino 時需要斷開該線)。

如果一切正常,您將得到相同的結(jié)果:

?
pYYBAGNVkW-AZD42AAJHK_uSlRs881.jpg
組裝面包板

您可以看到顯示 3 個數(shù)字:

  • "COUNT" - 接收值的計數(shù)器
  • “AMPL” - 信號的幅度。下面的符號條(“<--->”)以圖形方式顯示幅度(以對數(shù)刻度)。
  • 最大值 - 以米和毫米為單位的距離。

第 4 步:調(diào)零

首次啟動后,需要校準(zhǔn)激光測距儀模塊。

您需要在距離模塊一定距離處放置一些白色物體。對于測距儀模塊,到該物體的距離將變?yōu)榱憔嚯x。要開始校準(zhǔn)過程,您需要從激光卷尺連接鍵盤并按最低按鈕。模塊將發(fā)出兩次嗶聲 - 在校準(zhǔn)開始和結(jié)束時(校準(zhǔn)持續(xù)時間接近 10 秒)。

?
poYBAGNVkXKAfW7cAAHeXcqqXU8135.jpg
校準(zhǔn)過程
?

現(xiàn)在您可以使用此激光測距儀模塊。

鏈接:

1. Github——逆向工程結(jié)果和源碼。

2. Habr.com - 谷歌翻譯的關(guān)于激光卷尺逆向工程過程的文章。

對不起我的英語 - 我來自非英語國家。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費