本文主要介绍VL6180X距离、光线传感器模块的一些基本特点、参数及简单的上手Demo,新手上路,老司 机谨防追尾。

文章的章节编写按照如下顺序进行:

VL6180X开箱体验

基本功能概述

功能简介及说明

Demo上手测试

结语

参考资料

VL6180X开箱体验

VL6180X是一款比较迷你的传感器模块,拿到手后就是这样的,如图1所示:

图1. 开箱图

包装中一共两个,其中一个已经被我强拆了,外包装采用了ST评估板的惯用包装设计,因此还是备有 亲切感的。取出模块后跟一角硬币对比了一下,还是非常短小的,如图2所示:

图2. 模块尺寸对比图

即使如此,该模块还是可以进一步变小,翻看其背面可以看到,VL6180X芯片的供电要求是2.8v,因 此上半身是3.3v->2.8v降压电路,如果不需要电压转换的话,可以从中间一排小孔处将其掰歪,不对,是掰 断。。。 基本功能概述

讲了这么多废话,读者可能还是一脸蒙B:这TM什么玩意?借用ST官方的话说:The VL6180X is a proximity, gesture and ambient light sensor based on ST’s patented FlightSense™ technology. 简单的 说就是:这是一款传感器,它能检测距离及光强度,甚至还有姿态。

因此它的基本特性如下:

1. 距离测量,提供三种量程选择:

a. 量程:20CM,精度:1MM ;

b. 量程:40CM,精度:2MM;

c. 量程:60CM,精度:3MM;

2. 环境光测量,多种采样增益及测量范围调节;

3. 环绕滤波器,滤除强反射物体所带来的测量错误;

4. 偏移校准,保证设备在不同的环境下的准确度。

5. 串扰补偿,使用盖玻片进一步提高距离检测的精确度;

6. 三种采样方式:

a. 轮询下的单次距离测量

b. 非轮询下的单次距离测量

c. 硬件中断下的持续距离测量

功能简介及说明

典型的距离输出特性

理论上来讲,VL6180X的输出值应该与目标物体之间的距离呈线性关系,但实际上并不是酱紫。在黑 暗环境中,测试VL6180X与不同反射率的物体之间的距离,真实距离与实际测量距离的输出对比关系如图3

所示:

图3. 原始测量值与实际值对比

从图3中可知,测量数据的实际输出存在偏移错误,且数据抖动剧烈,其中偏移错误可通过偏移校准 来修正。而为了进一步提高VL6180X的输出精度及稳定性,官方推荐使用盖玻片来增加串扰信号,并在之 后进行串扰补偿来修正盖玻片带来的距离错误。如图4所示:在使用了盖玻片并做了串扰补偿修正后,真实 距离与实际测量距离的误差减少稳定性也进一步增强。

图4. 串扰补偿后的测量值与实际距离对比

捕获收敛时间

需要注意的是,VL6180X计算与物体之间的距离所需要的时间花费并不是固定的,它与测量距离及目 标物体的光反射率有关。如图5所示:在10MM内,模块测量的距离值是无意义的,所花费的转换时间也较 长;而当测量距离逐渐增大后,所花费的时间也逐渐增大,反射率越低,消耗的时间越长。

图5. 收敛时间与测量距离及物体反射率之间的关系

由于收敛时间与物体反射率及无标物体的实际距离有关,因此可以使用简单的收敛估计(Early convergence estimate, ECE)来降低模块的功耗。例如,判断0.5ms内VL6180X模块所接收到的反馈信号 数,当其低于某个理想中的阈值时,可认定在设定的量程内,周围没有检测到有效物体,因此可中止接下 来的测量以节省功耗,如图6所示。反之,当接收到的反馈信号数高于设定的理想阈值时,系统才启动测 量,在这种情况下,只有高反射率的金属物体靠近VL6180X模块时,系统才会开始工作,达到了降低功耗 的效果,如图7所示。

图6. 量程范围内无目标时的阈值设置

图7. 检测金属物体时的阈值设置

环境光传感器模式

VL6180X模块可以在一个相当宽泛的范围内测量所接收到的环境光,其测量的原理为计算单位时间 (100ms)内光孔所接收到的光量,至于为啥是100ms,因为大多数应用都是这么设置的(嗯,手册上说 的)。因此,若要测量不同的光强度,推荐设置模块的测量量程,而不是修改采样时间。

此外模块接收到的实际光量值会受模块光孔的角度影响,如图8所示:模块接收光量的最佳范围在一个 圆锥体内,超过该圆锥体,测量的实际值也会受到较大的影响,整体的值也呈现一个正态分布的效果。

图8. 光孔位置及接收角度示意图

对于偏移校准及串扰补偿方法,此处不再过多详述,始终铭记这是评测,这是评测,不是教程,打住。

Demo上手测试

为试验VL6180X的实际测量效果,此处使用STM32F0308-Discovery开发板驱动该模块,如图9所示:

图9. 评估板测试准备

选好板子连好线后,首先需要建立一个新工程,因此需要去ST官网下载STM32F0308-Discovery的软 件支持包en.stm32cubef0.zip及VL6180X模块的软件支持包ja.STSW-IMG003。为加快测试效率,可以直接 把STM32F0308-Discovery的I2C例程搬过来修改,这样就不用从零开始配置环境了。

完成第一步之后将VL6180X软件支持包中的相关文件导入进工程,这里我们需要添加的文件如图10所示:

图10. 工程文件结构

其中vl6180x_app.x、vl6180x_i2c.x及vl6180x_gpio.x是额外创建的新文件,这几个文件与平台有关, 针对不同的处理器,需要做对应的移植修改。将相应文件添加进来后,再配置工程的头文件路径,完成后 的工程如图xx所示:

接下来要做的就是移植vl6180x到f0308平台,这也是测试过程中的主要工作,描述代码的过程始终觉 得是比较蛋疼的一件事,简单的说,就是:1. 照着例程依葫芦画瓢的修改了I2C的底层驱动代码以及引脚配 置的一些代码;2. 额外增加了一个vl6180x_app.c文件,用于实现4个小demo中的一些打印信息函数及模 块初始化函数。感兴趣的同学可以直接访问我的代码库获取该工程:测试Demo URL

完成上述工作后,编译-烧写-调试-打印,距离测试的打印结果如下:

图11. 距离测试打印

在图11测试过程中,系统上电时用手遮住了传感器,返回错误6,表示没有检测到有效物体(太 近);之后慢慢将手拿开,返回有错误11、13、16,表示模块在量程内未识别有效物体或者目标过多(太 远)。更多的错误详情可查阅模块用户手册。

图12. 光照强度测试打印

在图12的测试中可知,系统上电后检测到了周围的环境光强度,用手遮住后检测值立马下降,模块的 光照强度减弱。

结语

VL6180X是一款专业、精准的传感器模块,不论是距离检测还是环境光检测,其稳定、可靠性要远远 高于普通的超声波模块及光传感器)。因此,其上手难度也高于一般的传感器模块。感兴趣的话,读者不 妨购买回来研究一下,用在自己的玩具小车、飞行器等智能硬件领域也是极好的。

参考资料

本文的编写主要参考了以下相关文档:

1. 《VL6180X-SATEL》:产品描述

2. 《UM1983 User manual》:用户手册

3. 《VL6180X》:数据手册

4. 《VL6180X API Integration Guide》:API编程手册

并参考了以下软件资源:

1. ja.STSW-IMG003 : VL6180X软件支持包

2. en.stm32cubef0.zip:STM32F0308-Discovery软件支持包

STM32单片机中文官网

STM32单片机官方开发工具

STM32单片机参考设计

VL6180X距离、光线传感器上手体验相关推荐

  1. 石头机器人拖地水量调节_石头扫地机器人T7上手体验:电控水箱和超大容量,扫拖一体全能型...

    [微创WEC科技]前段时间,给大家带来了石头扫地机器人P51的体验,今天给大家带来一个更"猛"一点的,就是今年石头机器人的旗舰产品:T7. 石头扫地机器人T7上手体验视频 要知道石 ...

  2. uos系统不激活能用吗_国产统一操作系统UOS真的能代替window系统吗? UOS上手体验...

    近一段时间,Win10的更新搞得人心惶惶,新功能没见多少,问题却此起彼伏.常常是一个旧Bug搞定了,又带来一堆新Bug.近日,中兴新支点.深度.中国电子集团.诚迈科技等四家国产操作系统厂商,合力推出了 ...

  3. 小鸡G4工程款 上手体验

    前言:之前只是抱着试一试的态度在小鸡活动贴下报名,说实话之前并没有抱希望能够没选中.所以非常感谢小鸡团队给我的这次机会.这应该是我第一次参与厂家的内测活动.希望能给小鸡团队,给广大玩家带来一片实用的上 ...

  4. 华为linux笔记本i3和i7的区别,华为MateBook 13 i3版性能如何 华为MateBook 13 i3版笔记本上手体验...

    华为MateBook 13 i3版性能如何?值得入手吗?下面小编带来华为MateBook 13 i3版笔记本上手体验,希望对大家有所帮助. 华为MateBook 13 i3版笔记本上手体验: 华为一直 ...

  5. linux的系统监视器图片_替代Windows还有多远?国产统一操作系统UOS上手体验

    嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题! 近一段时间,Win10的更新搞得人心惶惶,新功能没见多少,问题却此起彼伏.常常是一个旧Bug搞定了,又带来一堆新Bug. ...

  6. 红米note7找android,红米note7荣耀v20简单上手体验

    红米note7&荣耀v20简单上手体验 2019-02-03 12:31:00 49点赞 22收藏 41评论 起因是老爸说自己手机不太好用了,让我给买个新的,后来我老婆也表示现在用的小米6屏也 ...

  7. ls一1测距仪说明书_杜克 LS-P激光测距仪开箱及上手体验

    杜克 LS-P激光测距仪开箱及上手体验 2019-07-09 19:37:00 15点赞 24收藏 18评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击查看活动 ...

  8. 三星s10android10功能,三星S10系列现场上手体验:“安卓机皇”真的名副其实

    [手机中国评测]在二月的最后一天,三星召开新品发布会,三星S10系列国行版惊艳亮相.作为三星今年的的一款旗舰,可以说集万众宠爱于一身,同时也承载着众多用户的期许.从MWC发布后来看,三星S10可以说是 ...

  9. Face ID 上手体验信息汇总:面部解锁流畅,原理移植AR让人憧憬

    昨天,苹果举行了 iPhone X 试用会,传来了不少上手体验评测,今天52VR就来为大家总结一下 Face ID 和Animoji的表现,并探究其中所用到的技术在未来AR方面更深层次的应用前景. 哦 ...

最新文章

  1. 足球?光头?AI:这道题可太难了
  2. python画树叶-使用Python turtle画分形树叶图
  3. Python 爬虫实现天气查询(可视化界面版)
  4. python搭建项目结构_Django搭建项目实战与避坑细节详解
  5. ie 浏览器布局中的 offset
  6. 小米 android 8,小米华为们谁最良心?10大手机厂商安卓8.0升级情况盘点
  7. Telnet和FTP
  8. SpriteKit游戏开发适配iPad/iPhone6/7/8/Plus及iPhoneX的尺寸及安全区域
  9. 相同java代码,编译生成class文件不同的原因-JDK版本不同(大版本相同,小版本不同)
  10. Centos6.5 安装配置 Apache +mysql +php 操作文档
  11. 台式计算机调亮度快捷键,台式电脑怎么调亮度快捷键(显示器亮度的调节方法)...
  12. 青橙 GO M3 3G手机(珍珠黑)WCDMA/GSM 双卡双待 360特供机--高通胶水双核,A5老架构,内存缩水,,,强烈要求降价...
  13. 【CUDA 基础】4.3 内存访问模式
  14. Java 编程要点之并发(Concurrency)详解
  15. AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛——10:30-11:20陆奇教授《AI创业发展趋势:机会与挑战》
  16. python 麻将算胡,快速算法 没有递归,不超过100行
  17. Git 教程 - Git 基本用法
  18. 编程的同时还能盯股票基金?VSCode这款神器插件绝了!
  19. 【1053】最大数输出
  20. Skia深入分析6——skia中图像编解码代码概述

热门文章

  1. 2018中国互联网——网民谈论榜最具话题性的七大人物
  2. 基于Gor实现流量复制(加middleware功能增强)
  3. Electromagnetic
  4. CTex之图片格式不顶格
  5. lnmp一键安装包linux,linux centos7.3 lnmp一键安装包集成
  6. google浏览器下开发UHF超高频读写器
  7. 超导钉扎效应的研究(力求一篇文章搞懂它)
  8. linux vfs open函数,VFS文件系统结构分析
  9. 蓝牙透传实验_蓝牙模块主机与从机透传
  10. cocos2dx uv动画溢出_宝爷Debug小记——Cocos2d-x(3.13之前的版本)底层BUG导致Spine渲染花屏...