打印
[其他ST产品]

有人使用过ST的vl6180x么,求指教

[复制链接]
4864|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanabishi|  楼主 | 2015-8-30 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RT  一款测距跟测环境光强度的ic片子,有两个问题想请教下,一个是里面测量距离的时候,最小值一直是0x11,单位mm,这与说明书上写的从0开始不符啊,这是什么原因。还有一个问题,里面的一个状态字RESULT_RANGE_RETURN_SIGNAL_COUNT  这个 代表是什么含义啊,是传感器(看测距方法貌似应该就是一个高性能的计时器)的实际测量值么?然后通过这个测量值在经过你们的算法转换成输出值(单位mm)。因为这个状态字是32位的,如果真的如我所说,那么精度就可以控制了,这点对我现在的项目十分有用,求各位大神指教~ 顺便再问一下,如何联系到ST的技术支持,找了半天都没找到联系方式orz
沙发
mmuuss586| | 2015-8-30 16:35 | 只看该作者
应该是距离值吧,你换算洗看看;
我没接触过,我猜的;

联系方式:看置顶帖子,有ST的一些合作伙伴;

使用特权

评论回复
板凳
hanabishi|  楼主 | 2015-8-30 16:42 | 只看该作者
mmuuss586 发表于 2015-8-30 16:35
应该是距离值吧,你换算洗看看;
我没接触过,我猜的;

额,试了几种方式,发现貌似并没有什么联系,所以搞不太懂这是什么。置顶我去看看,谢啦!

使用特权

评论回复
地板
xia00| | 2015-8-31 08:13 | 只看该作者
没用过,帮顶!!!

使用特权

评论回复
5
xia00| | 2015-8-31 08:13 | 只看该作者
没用过,帮顶!!!

使用特权

评论回复
6
hanabishi|  楼主 | 2015-8-31 10:37 | 只看该作者
xia00 发表于 2015-8-31 08:13
没用过,帮顶!!!

感谢!

使用特权

评论回复
7
chaojilajiche| | 2015-9-24 08:42 | 只看该作者
我最近也在使用VL6180X,但是遇到了不太一样的问题,我只用于测距,不检测环境光。按照官网上的文档流程操作,从RESULT__RANGE_VAL寄存器可以读到距离的变化,但是这个距离是从11cm左右开始计算的,在11cm的位置为0,然后随距离增加增大,测试了到21左右的距离,刚好在100左右,也就是说距离变化上是准的,但是11cm内,查询RESULT__RANGE_STATUS出现的是Raw Ranging Algo Underflow,如果超过最大量程,则状态是Max Convergence,现在只是想从0开始测试距离,我试过设置其他一些寄存器好像都不能把其实距离拉近,ST的技术支持也没有,如果楼主还在测试,不知是否可以相互交流一下不?

使用特权

评论回复
8
ljbhander| | 2015-10-27 17:19 | 只看该作者
本帖最后由 ljbhander 于 2015-10-27 17:21 编辑
chaojilajiche 发表于 2015-9-24 08:42
我最近也在使用VL6180X,但是遇到了不太一样的问题,我只用于测距,不检测环境光。按照官网上的文档流程操 ...

按顺序初始化试试:
write_byte(0x0207, 0x01);
        usleep(5000);
        write_byte(0x0208, 0x01);
        usleep(5000);
        write_byte(0x0133, 0x01);
        usleep(5000);
        write_byte(0x0096, 0x00);
        usleep(5000);
        write_byte(0x0097, 0xFD);
        usleep(5000);
        write_byte(0x00e3, 0x00);
        usleep(5000);
        write_byte(0x00e4, 0x04);
        usleep(5000);
        write_byte(0x00e5, 0x02);
        usleep(5000);
        write_byte(0x00e6, 0x01);
        usleep(5000);
        write_byte(0x00e7, 0x03);
        usleep(5000);
        write_byte(0x00f5, 0x02);
        usleep(5000);
        write_byte(0x00D9, 0x05);
        usleep(5000);
        write_byte(0x00DB, 0xCE);
        usleep(5000);
        write_byte(0x00DC, 0x03);
        usleep(5000);
        write_byte(0x00DD, 0xF8);
        usleep(5000);
        write_byte(0x009f, 0x00);
        usleep(5000);
        write_byte(0x00a3, 0x3c);
        usleep(5000);
        write_byte(0x00b7, 0x00);
        usleep(5000);
        write_byte(0x00bb, 0x3c);
        usleep(5000);
        write_byte(0x00b2, 0x09);
        usleep(5000);
        write_byte(0x00ca, 0x09);
        usleep(5000);
        write_byte(0x0198, 0x01);
        usleep(5000);
        write_byte(0x01b0, 0x17);
        usleep(5000);
        write_byte(0x01ad, 0x00);
        usleep(5000);
        write_byte(0x00FF, 0x05);
        usleep(5000);
        write_byte(0x0100, 0x05);
        usleep(5000);
        write_byte(0x0199, 0x05);
        usleep(5000);
        write_byte(0x0109, 0x07);
        usleep(5000);
        write_byte(0x010a, 0x30);
        usleep(5000);
        write_byte(0x003f, 0x46);
        usleep(5000);
        write_byte(0x01a6, 0x1b);
        usleep(5000);
        write_byte(0x01ac, 0x3e);
        usleep(5000);
        write_byte(0x01a7, 0x1f);
        usleep(5000);
        write_byte(0x0103, 0x01);
        usleep(5000);
        write_byte(0x0030, 0x00);
        usleep(5000);
        write_byte(0x001b, 0x0A);
        usleep(5000);
        write_byte(0x003e, 0x0A);
        usleep(5000);
        write_byte(0x0131, 0x04);
        usleep(5000);
        write_byte(0x0011, 0x10);
        usleep(5000);
        write_byte(0x0014, 0x24);
        usleep(5000);
        write_byte(0x0031, 0xFF);
        usleep(5000);
        write_byte(0x00d2, 0x01);
        usleep(5000);
        write_byte(0x00f2, 0x01);
        usleep(5000);
        write_byte(0x0014,0x04);
        usleep(5000);
        write_byte(0x0018,0x01);
        //I2C_ByteWrite(0x0018,0x03);
        usleep(5000);

使用特权

评论回复
9
zhuotuzi| | 2015-10-27 22:56 | 只看该作者
想问下,这个在\ST官网找不到吗

使用特权

评论回复
10
Snow7| | 2015-10-28 13:20 | 只看该作者
里面的一个状态字RESULT_RANGE_RETURN_SIGNAL_COUNT

芯片手册上没有解释吗

使用特权

评论回复
11
mtrliya| | 2016-3-16 18:14 | 只看该作者
楼主,我也在用ST的VL6180X,但是使用过程中出现I2C通信正常,能够正常读取寄存器的值和写,但是就是实现不了测距的功能。读取到0x4d的值为0x01,是否也有遇到类似的问题呢。

使用特权

评论回复
12
twt329270073| | 2016-3-22 20:02 | 只看该作者
mtrliya 发表于 2016-3-16 18:14
楼主,我也在用ST的VL6180X,但是使用过程中出现I2C通信正常,能够正常读取寄存器的值和写,但是就是实现不 ...

你是用MCU还是CPU来读?

使用特权

评论回复
13
醉卧红尘| | 2016-3-23 09:19 | 只看该作者
chaojilajiche 发表于 2015-9-24 08:42
我最近也在使用VL6180X,但是遇到了不太一样的问题,我只用于测距,不检测环境光。按照官网上的文档流程操 ...

你好,我遇到跟你一样的问题,你是怎么解决的?

使用特权

评论回复
14
zzy999| | 2016-11-2 17:55 | 只看该作者
你好,请问用Ardinuo应该怎么控制这个板子呢?谢谢!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝