0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VL53L5CX驱动开发(1)----驱动TOF进行区域检测

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2023-12-01 16:26 次阅读

概述

VL53L5CX是一款先进的飞行感应(FlightSense)产品系列的飞行时间(ToF)多区间测距传感器。封装在微型的可回流焊盘封装内,它集成了SPAD阵列、物理红外滤光片和衍射光学元件(DOE),以在不同的环境光照条件和各种覆盖玻璃材料下实现最佳测距性能。

最近在弄ST的课程,需要样片的可以加群申请:615061293 。

在这里插入图片描述

视频教学

[https://www.bilibili.com/video/BV1gC4y1Z7o8/](

样品申请

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源码下载

[https://download.csdn.net/download/qq_24312945/88399191

主要特点

  1. 使用直接ToF技术进行绝对距离测量,不受目标颜色和反射率影响。
  2. 在快速的60赫兹速度下实现高达400厘米的准确测距,成为市场上最快的微型多区间ToF传感器。
  3. 允许在最多8x8区间内进行多区间距离测量,具有宽广的65°对角视场(FoV),可通过软件调整。
  4. 集成ST的直方图专利算法,可在FoV内检测不同的物体,并在60厘米之外提供对覆盖玻璃串扰的免疫性。
  5. 提供具有可编程中断阈值的自主低功耗模式,用于唤醒主机。
  6. 每个区域具有运动指示器,显示目标是否移动以及移动方向。
  7. 小巧、完全集成的模块,带有940纳米不可见光VCSEL发射器和集成模拟驱动器
  8. 使用DOE在发射器和接收器上实现65°对角方形FoV。
  9. 接收单光子雪崩二极管(SPADs)阵列。
  10. 配备运行固件的低功耗微控制器
  11. 尺寸:6.4 x 3.0 x 1.5毫米。
  12. 单一可回流焊盘封装组件,便于集成。
  13. 灵活的电源选项:单一3.3 V或2.8 V操作,或3.3 V或2.8 V AVDD与1.8 V IOVDD的组合。
  14. 与各种覆盖玻璃材料兼容。
    总的来说,VL53L5CX提供了快速、准确和多区间测距的功能,适用于自主系统、机器人智能家居设备等应用。其先进的特性、紧凑的设计和对各种覆盖玻璃材料的兼容性有助于轻松集成到各种电子设备中。

在这里插入图片描述

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。
在这里插入图片描述

技术规格

在这里插入图片描述

系统框图

在这里插入图片描述

在这里插入图片描述

应用示意图

在这里插入图片描述

区域映射

VL53L5CX支持4x4模式的区域映射和8x8模式的区域映射。
下图显示了4x4模式下的区域定义。总共有16个区域,它们沿着一行递增,然后再开始新的一行。物理视图是从设备顶部朝向镜头。如下图所示,每个区域的编号对应于传感器返回的ZoneIDs。

在这里插入图片描述
下图显示了8x8模式下的区域定义。总共有64个区域,它们沿着一行递增,然后再开始新的一行。物理视图是从设备顶部朝向镜头。如下图所示,每个区域的编号对应于传感器返回给主机的ZoneIDs。
在这里插入图片描述

生成STM32CUBEMX

选择MCU

测试版所用的MCU为STM32G431CB。
在这里插入图片描述

串口配置

查看原理图,PA9和PA10设置为开发板的串口。
在这里插入图片描述

配置串口。
在这里插入图片描述

IIC配置

在这个应用中,VL53L5CX模块通过I2C(IIC)接口与主控器通信。具体来说,VL53L5CX模块的I2C引脚连接到主控器的PA8和PB5两个IO口。
在这里插入图片描述

配置IIC为快速模式,速度为400k。
在这里插入图片描述

X-CUBE-TOF1

本节介绍在不需要使用样例应用时如何使用STM32CubeMX将X-CUBE-TOF1软件包添加到项目中。有了这样的设置,就只配置了驱动层。

在这里插入图片描述

串口重定向

打开魔术棒,勾选MicroLIB在这里插入图片描述

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

代码配置

在custom_ranging_sensor.c代码中,有IO口驱动VL53L5CX进行复位的代码,由于没有配置对应的IO,所以需要注释掉。
在这里插入图片描述

Tera Term配置

打开Tera Term并使用以下设置进行配置。
在这里插入图片描述
在这里插入图片描述

演示结果

配置完成侯可以在Tera Term下查看结果,如下是4*4的显示。
在这里插入图片描述

可以切换到8*8显示。

在这里插入图片描述

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    1728

    浏览量

    84510
  • 驱动开发
    +关注

    关注

    0

    文章

    129

    浏览量

    12021
  • TOF
    TOF
    +关注

    关注

    9

    文章

    442

    浏览量

    35977
  • 区域检测
    +关注

    关注

    0

    文章

    3

    浏览量

    5153
收藏 人收藏

    评论

    相关推荐

    VL53L5CX驱动开发(3)----检测阈值

    本章展示如何使用VL53L5CX近接传感器的"检测阈值"功能。这个功能允许用户为传感器设置预定义的条件,当这些条件满足时,传感器可以触发一个中断。
    的头像 发表于 12-01 16:30 395次阅读
    <b class='flag-5'>VL53L5CX</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(3)----<b class='flag-5'>检测</b>阈值

    VL53L5CX驱动开发(4)----运动指示器

    VL53L5CX传感器内置了一个固件功能,可以检测场景中的运动。这个运动指示器是基于连续帧之间来计算的。使用插件vl53l5cx_plugin_motion_indicator可以使用这个选项
    的头像 发表于 12-01 16:31 386次阅读
    <b class='flag-5'>VL53L5CX</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(4)----运动指示器

    VL53L5CX驱动开发(5)----运动阈值检测

    的数据,如运动发生在哪个区域,以及运动的强度如何。这种结合使用多种功能的方法,使得VL53L5CX传感器在各种应用场景中都能提供高效、准确的运动检测结果。
    的头像 发表于 12-01 16:33 415次阅读
    <b class='flag-5'>VL53L5CX</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>(5)----运动阈值<b class='flag-5'>检测</b>

    VL53L8CX TOF开发(1)----驱动TOF进行区域检测

    VL53L8CX是一款8x8多区域ToF测距传感器,它在环境光下能够在降低功耗的同时增强性能。该传感器基于意法半导体的FlightSense技术设计,能够提供最高400 cm的精确测距,并具有65
    的头像 发表于 05-20 09:42 454次阅读
    <b class='flag-5'>VL53L8CX</b> <b class='flag-5'>TOF</b><b class='flag-5'>开发</b>(1)----<b class='flag-5'>驱动</b><b class='flag-5'>TOF</b><b class='flag-5'>进行</b><b class='flag-5'>区域</b><b class='flag-5'>检测</b>

    请问VL53L5CX如何实现超过15HZ的采样?

    VL53L5CX如何实现超过15HZ的采样?超频会引发什么现象?
    发表于 03-12 07:06

    关于VL53L5CX的几个疑问求解

    关于VL53L5CX有几个疑问: 1VL53L5CX最低功耗是多少?如何在Arduino中实现? 2、VL53L5CX如何唤醒?如何在Arduino中实现? 3、
    发表于 05-27 06:43

    VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器

    意法半导体 – VL53L5CX 飞行时间传感器高达 8x8 多区域测距和 63°对角线宽视场意法半导体VL53L5CX是一款先进的飞行时间 (ToF) 多
    发表于 09-01 10:10

    是否可以用VL53L5CX传感器开发检测孔和楼梯的应用程序呢

    我想了解 VL53L5CX 是否是开发检测孔和楼梯的应用程序的不错选择。我决定研究它们,因为这些东西给我留下了深刻的印象:水平或垂直 45° 的 FoV;分区粒度:16 个区域(在 4
    发表于 12-09 07:52

    测试VL53L5CX,LPn引脚的行为与数据表中描述的不同是为什么?

    我正在测试 VL53L5CX,发现 LPn 引脚的行为与数据表中描述的不同。数据表说“当设备处于 LP 模式时,将此引脚驱动为逻辑 0 以禁用 I2C 通信。将此引脚驱动为逻辑 1
    发表于 12-12 06:41

    求助,X-CUBE-TOF1VL53L5CX传感器的API与VL53L5CX的ULD API不同吗?

    VL53L5CX 只有一个驱动程序。他们应该是一样的。
    发表于 12-12 06:40

    VL53L5CX带盖窗大气隙垫片要求是什么?

    VL53L1CX 的应用说明 AN5231 中所述,如果同时存在覆盖窗和大气隙,则可能需要垫圈来限制负面串扰效应。 是否有针对 VL53L5CX 型号的类似应用说明?例如,可以考虑以下规范
    发表于 12-13 08:09

    VL53L5CX Linux驱动程序1.2.0 - _vl53l5cx_poll_for_answer() 函数中的超时怎么修复?

    for an answer from VL53L5CX sensor. */static uint8_t _vl53l5cx_poll_for_answer( VL53L5CX
    发表于 12-13 08:29

    VL53L5CX-SATEL和Rpi Linux驱动程序构建失败的原因?怎么解决?

    嗨,我正在尝试在我的树莓派 4 上为 VL53L5CX 模块构建用户模式 ​​linux 驱动程序,当我按照 RPI 指南中的说明进行操作时,我 cd 进入用户/测试并制作,我收到以下错误
    发表于 12-26 06:01

    VL53L5CX在i2cdetect树莓派上没有正确显示是为什么?

    嗨,我已经按照 VL53L5CX linux 驱动程序中的 PDF“VL53L5CX_Linux_Getting_started_with_Rpi.pdf”中的说明进行操作,并且已经构
    发表于 12-26 07:37

    为什么读取VL53L5CX的多字节会触发超时呢?

    我们似乎无法通过 vl53l5cx_init(&Dev); 功能为VL53L5CX 。我们可以读取单个字节,但多字节 (4) 读取会触发超时,并且 ULD 无法成功加载。这是我们
    发表于 12-28 11:06