2026年TOF测距(双冗余设计,串口模式)

TOF测距(双冗余设计,串口模式)p p 目录 TOF 介绍 TOF 工作模式 modbus 数据格式 TOF 寄存器及示例 双模块补偿测距 源码例程 部分 注意 好久没更新了 今天给大家分享一下近期在用的 TOF 模块的相关原理及使用方法 话不多说 直接进入正题 TOF 模块也分很多种类 在这里我使用的是 TOF200F 这一款

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



          

目录

TOF介绍

 TOF工作模式

modbus数据格式

​TOF寄存器及示例 

双模块补偿测距

源码例程(部分)

注意


        好久没更新了,今天给大家分享一下近期在用的TOF模块的相关原理及使用方法。话不多说,直接进入正题。

        TOF模块也分很多种类,在这里我使用的是TOF200F这一款。不同型号的有效测量距离不尽相同,其他的配置、测距原理都大同小异。如果有用到的话,可以根据需要购买适合自己使用的模块。下面是各类模块的选型表,因为工作需要,需要测量30cm以上的距离,又想要高精度,所以就用了TOF200F。 

        TOF模块同时支持IIC和串口+modbus配置,用户可以利用提供的协议,自行配置其内部寄存器。也可以通过厂家提供的上位机直接赋值(简单粗暴!!!),相关资料可以点

        以上这些按照规格书上的配置就行,没什么好说的。我使用的是串口模式(主要是讨懒,但是当节点多的时候串口模式就不太行了!!!可以考虑转485或者使用iic模式)。

        接下来说点有用的,在使用过TOF模块后不难发现:测距过程中存在盲区且随着测量距离的增加,偏角也会越来越大(准确的说是越来越宽)。当测量的距离足够远时,距离之间的变化是非常小的,哪怕障碍物移动了很长一截距离;另外,TOF测距其实就是利用光线反射实现测距的功能,众所周知,光线是散射的,TOF模块发射出的红外线不可能是成直线传播的,类似于手电筒,光线成“椎体”发出,那么垂直于发射区的障碍物的距离很有可能和“锥体”上的某些点的距离是相同的(斜边大于直边)。说的比较抽象,直接上图吧(算不算得上一个灵魂画手???)。

         现在要测量TOF到A点的距离,假设为20cm,那么有没有可能在TOF发射的这个锥形范围内还存在着20cm的B点呢?肯定是有的,并且外围的那个环形上的点到TOF的距离都是20cm。因为在测量的时候大多是测量的垂直距离,但是光线传播的时候是会发散的。不垂直的时候遇到障碍物一样会反射回来,然后计算出一个值,而这个值是有可能和你想要测得那个距离是一样的,这就造成了干扰!

        假如现在需要你做一个项目:你的手指在一个固定区域内点亮led1,在另外一个固定区域内点亮led2,你应该怎么办?垂直测量一个区域的距离肯定没有问题,但问题是你在伸出或者收回手指的时候,很有可能让模块捕获到了一个反射光,而最后计算出的结果也点亮了灯,但却不在你预先确定的区域内。这个时候就可以使用双模块测距,对于同一片区域,模块1会测得一个距离范围,模块2也可以测得一个范围(每个点都对应两个距离值),如果检测到手指到两个模块的距离都在预先确定好的范围内,就说明它很有可能就在那个区域内(不能保证100%,只是通过增加限制条件增大了手指在设定区域内的概率),如果想要更高的识别率的话,可以再多加一些模块,直接形成对射光幕,也可以通过滤波的方法减少杂波的影响(如:连续测距十次,取平均值,观察平均值是否在合理范围内)。

我采用的是主从机通信,所以在这里并没有实现什么现象,只是给从机发了数据,哈哈。

GPT plus 代充 只需 145

 对应的两个模块的配置函数如下,使用的是usart2和usart3(两个都是一样的,只贴一个吧)

 
   

        最好不要拿TOF模块去测量到透明物体的距离,障碍物反射光的能力越强,测距效果越好。如果想要在结构上去除干扰,可以考虑把模块四周用黑色物体遮挡起来,这样就减小了光的散射面(理论上是这样,还没有尝试!)。另外,每个模块对应的散射角度是固定的,那么偏移距离也是可以计算出来的,如下图

  如果错误,欢迎提出!

  

小讯
上一篇 2026-03-15 16:46
下一篇 2026-03-15 16:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/237851.html