33164|50

654

帖子

26

TA的资源

版主

楼主
 

VL53L0测距芯片试用【ST主题月】 [复制链接]

 
   还记得上次的VL6180评估板的试用吗?现在VL53L0面世了,这次让我们开始VL53L0评估板的试用吧,板子是X-NUCLEO-53L0A1组合板是NUCLEO-F401RE,将两块板子插在一起,用USB连接电脑,会多一个F401盘符,然后下载X-CUBE-53L0A1固件,解压后找到Projects\Multi\Applications\VL53L0X\GestureDetect\Binary\VL53L0X_GestureDetect_F401.bin,这是手势检测的固件,将bin文件复制到F401盘符中,这样程序就烧录好了,不断的按板子上蓝色的用户按钮可以切换功能,功能展示如下:
   手势高低移动检测:
  手势前后移动检测:
  手势左右滑动检测:
   接下来将Projects\Multi\Examples\VL53L0X\RangingWithSatellites\Binary\VL53L0X_Ranging_F401.bin文件复制到盘符中,这是芯片测距和多VL53L0通信的固件,功能展示如下:
   一路I2C与多芯片通信:
   高精度模式,测距达1.2M
   高速度模式,测距达2M
   除此之外VL53L0还有专门GUI软件,这是配置和显示相关数据的软件,方便开发者快速了解芯片性能,可将距离在示波器中显示出来,更多功能详见手册。软件界面如下:

   总结:VL53L0较上一代VL6180最大的特色就是测距距离达到了2m,这样芯片的应用范围就扩大了不少,实测在精确测距模式下误差不超过1CM,却有些滞后;高速模式下1.2m以内测距误差也不超过1CM,超过1.2m准确度就有点扯了,数值跳动且偏小,最远可达到2米;算法上和VL6180一样具有姿态检测,实测还是比较准的,在一些简单的场合中说不定可以用得到;上手方面较上一代多了桌面版的GUI,方便配置和了解芯片性能,相关的API函数和例程也是齐全;功能上VL53L0阉割掉了亮度检测功能。
   总的来说这款芯片还是相当不错的,低功耗、小体积、高精度、高速度、IIC总线模式这些特点在短距离测距的市场定会杀出一片天地。听说ST还有计划推出VL53L1VL53L2测距距离将会达到300cm400cm,真是非常期待呀!


此帖出自stm32/stm8论坛

最新回复

请问大佬由关于vl53l0连续测量模式的相关工程文件可以发一份嘛,想借鉴一下,调了好久只有单次测量。谢谢大佬 邮箱1227152512@qq.com   详情 回复 发表于 2022-2-15 09:34
点赞 关注(3)
个人签名QQ:252669569
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
你好,看了你的测评,很详细;有个问题请教,手势的左右、前后移动是通过两个VL53L0实现的么?还是一个VL53L0就可以完成呢?
此帖出自stm32/stm8论坛
 
 

回复

19

帖子

1

TA的资源

一粒金砂(中级)

板凳
 
请问:
VL53L0是激光测距的,那它是仅能实现一路检测,还是可以范围检测?
比如,我想在一个平面上的0-90度范围内检测物体的距离,它可以吗?
此帖出自stm32/stm8论坛
 
 

回复

654

帖子

26

TA的资源

版主

4
 
是一路检测,如果需要这样在一个范围内扫描距离的话可以旋转,不过不能使用VL53L0旋转,这个传感器是测的一个角度内的物体的平均距离,并不是点对点的,如果想不动检测一个面可以采用Kinect或者realsence或者小米扫地机器人的LDS激光测距传感。
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
你好,有驱动程序吗?
此帖出自stm32/stm8论坛

点评

驱动程序在官网的固件里面就有,还有很多例程。  详情 回复 发表于 2017-2-18 16:42
 
 
 

回复

654

帖子

26

TA的资源

版主

6
 
chenjiwang 发表于 2017-2-17 17:37
你好,有驱动程序吗?

驱动程序在官网的固件里面就有,还有很多例程。
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

7
 
lb8820265 发表于 2016-11-20 21:17
是一路检测,如果需要这样在一个范围内扫描距离的话可以旋转,不过不能使用VL53L0旋转,这个传感器是测的一 ...

请问一下,VL53L0X只能测出一个距离吗?能拿到多个数据吗?比如16*16范围的距离?
此帖出自stm32/stm8论坛

点评

是的,只能测出一个距离,他测出的是一个小角度扇形里面的平均距离,不知你听懂没。  详情 回复 发表于 2017-3-29 17:07
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

8
 
请问版主,手势前后移动检测:手势高低检测:这个调用哪个api来完成的?我看它的文档没有提到这个东西啊!还望版主指点一下
此帖出自stm32/stm8论坛

点评

这个前后手势检测使用的是它的库文件,应该不开源,不过API接口还是有的,你可以在代码里面找找。  详情 回复 发表于 2017-3-29 17:09
 
 
 

回复

654

帖子

26

TA的资源

版主

9
 
chaoswosting 发表于 2017-3-29 14:53
请问一下,VL53L0X只能测出一个距离吗?能拿到多个数据吗?比如16*16范围的距离?

是的,只能测出一个距离,他测出的是一个小角度扇形里面的平均距离,不知你听懂没。
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

654

帖子

26

TA的资源

版主

10
 
chaoswosting 发表于 2017-3-29 16:30
请问版主,手势前后移动检测:手势高低检测:这个调用哪个api来完成的?我看它的文档没有提到这个东西啊! ...

这个前后手势检测使用的是它的库文件,应该不开源,不过API接口还是有的,你可以在代码里面找找。
此帖出自stm32/stm8论坛

点评

我看了它的api文档,没看到这种函数,要再找找  详情 回复 发表于 2017-3-29 19:04
 
个人签名QQ:252669569
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

11
 
lb8820265 发表于 2017-3-29 17:07
是的,只能测出一个距离,他测出的是一个小角度扇形里面的平均距离,不知你听懂没。

我大概知道了,就是它发射的激光是扇形圆锥状的,给我们的结果只是一个整形数值,这样理解对吗?
此帖出自stm32/stm8论坛

点评

嗯,是的,给出的大约是一个平均数  详情 回复 发表于 2017-3-29 19:47
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

12
 
lb8820265 发表于 2017-3-29 17:09
这个前后手势检测使用的是它的库文件,应该不开源,不过API接口还是有的,你可以在代码里面找找。

我看了它的api文档,没看到这种函数,要再找找
此帖出自stm32/stm8论坛
 
 
 

回复

654

帖子

26

TA的资源

版主

13
 
chaoswosting 发表于 2017-3-29 19:02
我大概知道了,就是它发射的激光是扇形圆锥状的,给我们的结果只是一个整形数值,这样理解对吗?

嗯,是的,给出的大约是一个平均数
此帖出自stm32/stm8论坛

点评

评估版可以给个购买地址吗?  详情 回复 发表于 2017-3-31 17:48
 
个人签名QQ:252669569
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

14
 
lb8820265 发表于 2017-3-29 19:47
嗯,是的,给出的大约是一个平均数

评估版可以给个购买地址吗?
此帖出自stm32/stm8论坛

点评

贸泽电子,德捷,利源芯城  详情 回复 发表于 2017-4-2 12:41
 
 
 

回复

654

帖子

26

TA的资源

版主

15
 
chaoswosting 发表于 2017-3-31 17:48
评估版可以给个购买地址吗?

贸泽电子,德捷,利源芯城
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

16
 
刚入手 咨询几个问题,望解惑:
1.datasheet里面给的I2C地址是0x52,例程里面为什么是0x29?
2.这个芯片有寄存器说明吗?比如那几个寄存器读出来的是距离?数值与距离是怎么对应的?
此帖出自stm32/stm8论坛

点评

1. 这个你可以了解下IIC读写地址的关系,通常有下面的关系: I2C设备的写地址 = I2C设备地址  详情 回复 发表于 2017-5-5 16:03
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

17
 
比如例程里面这个,怎么知道这12个数代表什么意思呢?
read_block_data_at(0x14, 12);
  uint16_t acnt = makeuint16(gbuf[7], gbuf[6]);
  uint16_t scnt = makeuint16(gbuf[9], gbuf[8]);
  uint16_t dist = makeuint16(gbuf[11], gbuf[10]);
  byte DeviceRangeStatusInternal = ((gbuf[0] & 0x78) >> 3);
此帖出自stm32/stm8论坛

点评

恩,他的所有的底层函数的寄存器都是用的数字了,也完全不知道含义,不过作为用户来讲,只要能得出距离值就好,管他什么寄存器呢。  详情 回复 发表于 2017-5-5 16:07
 
 
 

回复

654

帖子

26

TA的资源

版主

18
 
zzqnysafe 发表于 2017-5-4 21:02
刚入手 咨询几个问题,望解惑:
1.datasheet里面给的I2C地址是0x52,例程里面为什么是0x29?
2.这个芯片有 ...

1. 这个你可以了解下IIC读写地址的关系,通常有下面的关系:
     I2C设备的写地址 = I2C设备地址 << 1
     I2C设备的读地址 = (I2C设备地址 << 1) + 1
2. 这个芯片没有寄存器说明了,他的上一代VL6180是有的,现在ST提倡使用库函数了,只提供了API接口函数,从某种程度上来说也是简化了开发。所以你说的哪个寄存器读出距离这个是找不到的,只能找到测距的API函数,你可以参考例程找出对应的API使用就好了,ST的软件结构层次是写相当不错的,只需要根据不同的MCU修改IIC的接口,就可以使用了。
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

654

帖子

26

TA的资源

版主

19
 
zzqnysafe 发表于 2017-5-4 21:07
比如例程里面这个,怎么知道这12个数代表什么意思呢?
read_block_data_at(0x14, 12);
  uint16_t acnt = ...

恩,他的所有的底层函数的寄存器都是用的数字了,也完全不知道含义,不过作为用户来讲,只要能得出距离值就好,管他什么寄存器呢。
此帖出自stm32/stm8论坛
 
个人签名QQ:252669569
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

20
 
你好,看了你的测评,很详细。有个问题请教,手势的左右、前后移动检测,是通过两个VL53L0完成的么?还是一个VL53L0就可以实现呢?
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表