VL53-400激光测距传感器


一、产品简介

先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。记录并处理从光脉冲发出到返回被接收所经历的时间,即可测定目标距离。

  • 模块内部自带电压稳定电路,工作电压3.3V~5V,引脚电平兼容3.3V的嵌入式系统,连接方便。
  • 同时支持串口模式,Modbus模式。
  • 最高50 Hz数据输出速率。输出速率有长距离模式0.1~10 Hz(默认10 Hz)、短距离和中距离模式0.1~50 Hz可选择.
  • 2层PCB板工艺,更薄、更小、更可靠。金属屏蔽罩防静电干扰。
  • 模块默认是长距离距离模式(测量距离最远是4米),如果需要快速测量可以更改为中距离模式或者短距离模式.

在这里插入图片描述

性能参数:

  • 1.电压:3.3V~5V
  • 2.电流:<33mA
  • 3.体积:20毫米×13毫米×6.2mm
  • 4.固定孔:间距16毫米,孔半径1毫米
  • 5.数据接口:串口(TTL电平,波特率支持2400-921600,115200(默认))
  • 6.回传速率:0.1~50HZ(默认10HZ)
  • 7.测量距离:40mm-4000mm(无光学盖片可到4000mm)
  • 8.测距误差:全量程的3%

引脚接线:
在这里插入图片描述

该模块部分商家已取消IIC协议,串口默认配置为115200、8数据位、1停止位、无校验位。

默认上电即为测量模式,串口接收格式为:
在这里插入图片描述
RT-Thread 串口接收中提供了移位参数,所以在串口接收时可以通过移位操作直接接收“ d: xxmm ”,然后利用sscanf函数进行解包,如下为我的提取操作:

if(rt_device_read(serial, 10, ch, 20) != 0)   //对发过来的数据包向后移动10个字节再进行接收且只接收20个字节大小
{
    
    
	   rt_sem_take(&rx_sem, RT_WAITING_FOREVER);   //阻塞等待信号量
	   rt_thread_mdelay(200);
	   sscanf(ch, "ge Valid\n d:  %d mm",&distance);
	   rt_kprintf("%dmm\n",distance);
}

/* 接收数据回调函数 */
static rt_err_t uart_input(rt_device_t dev, rt_size_t size)
{
    
    
    /* 串口接收到数据后产生中断,调用此回调函数,然后发送接收信号量 */
    rt_sem_release(&rx_sem);

    return RT_EOK;
}

在这里插入图片描述

经测试发现:当测透明玻璃时会出现激光穿透现象,即回收不到数据。

猜你喜欢

转载自blog.csdn.net/Dustinthewine/article/details/134753818