vl53l1x激光测距讲解

时间:2024-03-27 15:04:43

使用模块:ATK-VL53L0X激光测距模块或者淘宝其他模块

通信方式:IIC,接口SHUT用于开机启动时序中,int是中断模式中的引脚(触发中断)

参考资料:

https://blog.csdn.net/tiramisu_l/article/details/90729964

vl53l1x+stm32激光测距分析

https://wenku.baidu.com/view/1cfc5e556d175f0e7cd184254b35eefdc8d315e7.html

VL53L1X 的API中文用户手册

https://blog.csdn.net/tiramisu_L/article/details/89502121

VL53L0X+stm32激光测距

http://www.51hei.com/bbs/dpj-150015-1.html

VL53L0X中文资料(翻译版)激光测距+手势检测传感器API源码

前期主要阅读文档:VL53L1X用户手册(系统状态流程图,介绍3种距离模式,长,中,短,分别对应误差和最大测量距离,)

和API中文用户手册(主要包括校准和测距功能函数)

3、整体测量时序如下图所示,主要包括timing budget 和measurement period

主机可以通过使用专用驱动程序功能来更改默认的时间预算和测量间隔时间

vl53l1x激光测距讲解

下图就是介绍不同的timing budget对应不同的距离,在程序编程中可以改变

vl53l1x激光测距讲解

不同的预测时间对应不同的模式

4、测距偏移校准

vl53l1x激光测距讲解

上图是校准流程图,API函数最主要是performrefspadmanagement,PerformRefCalibration,PerformOffsetCalibration,PerformXTalkCalibration

Status = VL53L0X_PerformRefSpadManagement(dev,&refSpadCount,&isApertureSpads);//执行参考Spad管理

Status = VL53L0X_PerformRefCalibration(dev,&VhvSettings,&PhaseCal);//Ref参考校准

Status = VL53L0X_PerformOffsetCalibration(dev,CalDistanceMilliMeter,&OffsetMicroMeter);//偏移校准

Status = VL53L0X_PerformXTalkCalibration(dev,XTalkCalDistance,&XTalkCompensationRateMegaCps);//串扰校准

5、3 种测距模式

单次测距、连续测距、定时范围测距

下图是测量结构图,重要的是下图获取数据的方式形式

vl53l1x激光测距讲解

6、数据获取形式:中断或者轮询

结合上图理解

轮询模式: 用户必须通过轮询api 函数来检查正在进行的测量的状态。
中断模式: 中断引脚(gpio1) 在新测量可用时向主机发送中断。

下图是中断模式时,按照上图流程编写的

vl53l1x激光测距讲解

7、开机和启动时序

shut引脚可以被主机控制来启动或者不被主机控制来控制启动,下图是被控制的时候,时序图

vl53l1x激光测距讲解

8、性能

vl53l1x激光测距讲解

光照强度对激光测距具有很大的影响,文档说这款激光测距能够达到4m,那是在灰暗的情况下,普通情况是3m左右。

实验结果融合气压计,无人机能够实现悬停。

.所以参考资料,英文中文,过程中遇到的问题解决方式,程序如以下链接!