资料介绍
描述
您的 Arduino 项目需要快速且廉价的激光测距仪模块吗?
当然,你可以使用专门的模块来完成这项任务,但它们中的大多数价格都很高。VL53L0X/VL53L1X 模块价格便宜,但视野非常大。
所以我找到了一个解决方案:使用便宜的“X-40”激光卷尺作为激光测距仪。这些设备的成本为 20 美元或更低,它们可以测量距离高达 40m,精度约为 3mm。但是有两个问题 - 无法从磁带上获取读数并且测量速度很慢 - 低于 1 Hz。
为了解决这个问题,我对该激光卷尺进行了逆向工程,并为激光测距仪模块的 STM32 MCU 编写了自己的固件。测量速度对我来说很重要,我可以达到 ~60 Hz,但最大稳定距离降低到 ~6 m(最大范围为 37 m,但我没有测试)。
距离测量精度可以从 1 毫米到 10 毫米不等,具体取决于目标颜色和距离。
模块尺寸:25x13x50 毫米。
重要通知:您将丢失原始固件,因此该设备以后不能用作激光卷尺!
请注意,“X-40”激光卷尺可以有不同版本的激光测距仪模块,我的固件只支持其中的一部分!
“X-40”并不是带有此类模块的激光卷尺的唯一名称 - 我知道存在几种不同的带有合适模块的中国激光卷尺。
第 1 步:拆卸激光卷尺
让我们拆开激光卷尺,从中得到一个激光测距仪模块。
您需要从外壳上拧下 7 个螺丝:
拆卸的激光卷尺:
您可以在设备外壳内看到小型激光测距仪模块。您需要从模块上断开带状电缆并从外壳中取出模块:
请注意,模块标记为“701A”。我的固件只支持“512A”和“701A”模块版本。一些用户确认“703A”模块也可以工作(我没有测试过)。
UPD 11/2019:
注意:发现较新的“x-40”激光卷尺带有“M88B”模块。在 MCU 附近的 PCB 上标记为“88B”。该模块基于 STM32F0 MCU(它具有 QFN-32 封装)。我的固件不支持这些模块!
UPD 10/2021:
注意:增加了对 U85 模块的支持:见链接!它们用于现代类型的激光卷尺。
如果支持您的模块,则需要从模块上拆下电源线。
第 2 步:对激光测距仪模块进行编程
您需要将专用固件写入模块的 MCU 以获得所需的功能。
1. 首先,您需要焊接一些用于对 MCU 进行编程的电线。引脚排列如图所示:
连接键盘连接器的针脚 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”行):
2. 将“ST-LINK 实用程序”安装到 PC。如果您没有使用该软件的经验,网上有很多教程。
您需要配置实用程序(目标 -> 设置):
如果您的编程器有“NRST”输出,您只需打开电源并在实用程序中按“Target -> Connect”即可。
如果它没有这样的行,您需要执行以下步骤:
- 打开电源。
- 将模块的“NRST”线连接到 GND。
- 在实用程序中按“目标 -> 连接”。
- 快速断开“NRST”线与 GND 的连接。
- 实用程序必须显示连接
Yon 必须得到这样的图片:
3. MCU flash 被锁定读取,所以需要关闭“Read Out Protection”。在这一步您将丢失原始固件!
打开目标->“选项字节”菜单。必须有这样的设置:
将“读出保护”切换为“禁用”,然后按“取消全选”按钮,然后按“应用”按钮。尝试重新启动模块(通过断开电源)。
按目标 -> 连接。日志窗口中必须有关于成功连接的信息,并且您必须看到内存内容 - 用 0xFF 填充。现在您可以将自定义固件加载到 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 焊盘:
请参见下面的连接示意图。
首先,您需要检查测距仪模块是否正常工作。在这一步您不需要将OLED显示器连接到Arduino - 只需将激光测距仪模块的TX线连接到Arduino的TX线,并将模块的电源线连接到+ 3V电源。
创建空草图并将其加载到 Arduino。在 Arduino IDE 中打开“串行监视器”。选择波特率:250000
如果测距仪模块工作正常,您将获得相同的数据:
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 转换器。在其实用程序中选择 256000 波特率(它是 x-40 MCU 的真实波特率)。
其次,您需要将完整的原理图与显示器组装在一起。
将激光测距仪模块的 TX 线连接到 Arduino 的 RX 线(在将程序加载到 Arduino 时需要断开该线)。
如果一切正常,您将得到相同的结果:
您可以看到显示 3 个数字:
- "COUNT" - 接收值的计数器
- “AMPL” - 信号的幅度。下面的符号条(“<--->”)以图形方式显示幅度(以对数刻度)。
- 最大值 - 以米和毫米为单位的距离。
第 4 步:调零
首次启动后,需要校准激光测距仪模块。
您需要在距离模块一定距离处放置一些白色物体。对于测距仪模块,到该物体的距离将变为零距离。要开始校准过程,您需要从激光卷尺连接键盘并按最低按钮。模块将发出两次哔声 - 在校准开始和结束时(校准持续时间接近 10 秒)。
现在您可以使用此激光测距仪模块。
链接:
1. Github——逆向工程结果和源码。
2. Habr.com - 谷歌翻译的关于激光卷尺逆向工程过程的文章。
对不起我的英语 - 我来自非英语国家。
- 手持式激光测距仪产品介绍 9次下载
- 使用Arduino的超声波测距仪
- 高精度激光测距仪原理图.PDF 181次下载
- TDC-GP22激光测距仪应用指南
- 2021年单点激光测距仪模块厂家名单 19次下载
- 激光测距仪的发展状况如何及激光测距的开发资料概述 96次下载
- 相位式激光测距仪的概述及其改进设计 30次下载
- DDS技术在数字激光相位测距仪中的应用 24次下载
- 相位式激光测距仪的改进设计 60次下载
- 用于智能汽车的小型LD激光测距仪 8次下载
- 脉冲激光测距仪的设计-课程设计 34次下载
- DIY基于摄像头的激光测距仪 67次下载
- 用于智能汽车的小型LD激光测距仪 226次下载
- 测距仪中新型的脉冲激光光源
- 超声波倒车测距仪( 本科试题)
- YXC有源晶振,频点50MHZ,超小体积2520封装,应用于激光测距仪 1213次阅读
- 基于51单片机的超声波测距仪设计 2539次阅读
- 使用SRF05和ATtiny85的超声波测距仪 2195次阅读
- 超声波测距仪/声纳测距系统的电路分享 2400次阅读
- 基于SRF05和ATtiny85实现的超声波测距仪设计 2443次阅读
- 基于硅光电倍增管的直接ToF测距系统设计 6011次阅读
- 激光测距仪的原理_激光测距仪是怎样工作的 1w次阅读
- 激光测距仪使用方法 2.7w次阅读
- 激光测距原理与方法 1.2w次阅读
- 激光测距传感器的分类与应用 3066次阅读
- 全站型电子测距仪的用途及使用注意事项说明 6128次阅读
- 激光测距仪的特点及应用范围 9764次阅读
- 汽车道闸跟激光测距有什么关系? 5952次阅读
- 激光测距仪的简单实现解决方案 1.1w次阅读
- 浅谈激光测距仪的原理及使用方法 8795次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多