vl53l1x激光测距讲解

使用模块: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

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

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

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

4、测距偏移校准

上图是校准流程图,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 种测距模式

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

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

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

结合上图理解

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

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

7、开机和启动时序

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

8、性能

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

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

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

[UV2] ORGANIZATION="Microsoft" NAME="Microsoft", "ALIENTEK" EMAIL="277038235@qq.com" ARMSEL=1 BOOK0=UV3\RELEASE_NOTES.HTM("uVision Release Notes",GEN) [ARM] PATH="F:\\STM32MDK\\ARM\\" VERSION=3.80a PATH1="C:\Program Files\CodeSourcery\Sourcery G++ Lite\" CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV8) # Drivers for ARM7/9 devices CPUDLL1=SARMCM3.DLL(TDRV1,TDRV3,TDRV4,TDRV5,TDRV7,TDRV8) # Drivers for Cortex-M devices BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN) BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C) BOOK2=HLP\RL_RELEASE_NOTES.HTM("RTL-ARM Release Notes",GEN) BOOK3=HLP\RVI.chm("RV Compiler Introduction",GEN) BOOK4=C:\Program Files\CodeSourcery\Sourcery G++ Lite\share\doc\arm-2007q3-53-arm-none-eabi\pdf\gcc\gcc.pdf("GNU C Compiler",GEN) BOOK5=C:\Program Files\CodeSourcery\Sourcery G++ Lite\share\doc\arm-2007q3-53-arm-none-eabi\pdf\as.pdf("GNU Assembler",GEN) BOOK6=C:\Program Files\CodeSourcery\Sourcery G++ Lite\share\doc\arm-2007q3-53-arm-none-eabi\pdf\ld.pdf("GNU Linker",GEN) BOOK7=C:\Program Files\CodeSourcery\Sourcery G++ Lite\share\doc\arm-2007q3-53-arm-none-eabi\pdf\binutils.pdf("GNU Binary Utilities",GEN) TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger") TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger") TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver") TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger") TDRV4=BIN\lmidk-agdi.dll("Luminary Eval Board") TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet") TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE") TDRV7=Segger\JL2CM3.dll("Cortex-M3 J-LINK") TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger") LIC0=EXJEV-PGITZ-RXIUD-8A562-3JTCY-2C6VU [ARMADS] PATH="F:\\STM32MDK\\ARM\\" PATH1="BIN40\"
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值