【硬件】【传感器 BH1750FVI】

那年仲夏 提交于 2020-02-25 01:30:29
Ambient Light Sensor / 环境光传感器: BH1750FVI

简介: 环境光传感器

  • 厂商: ROHM
  • 立创商城采购链接
  • 测量精度: 0.96 ~ 1.2 ~ 1.44
  • 分辨率: 1 - 65535 lx
  • 工作电压: 2.4 - 3.6V,Typ. = 3.0V
  • 工作温度: -40℃ ~ +85℃

功能框图:

其中,Logic + I2C Interface 包含两类寄存器:

  • 数据寄存器: 测量的环境光数据(即,内部 ADC 转换出的数据,为 16bit),初始值为 “0000 0000 0000 0000”
  • 测量时间寄存器: 测量时间,初始值为 “0100 0101”

OSC 为内部电路提供时钟,典型值为 320KHz


管脚定义:

管脚编号 管脚名称 描述
1 VCC 电源脚
2 ADDR ADDR = H(>= 0.7xVCC),slave 地址为 “1011 100”; ADDR = L(=< 0.3xVCC),slave 地址为 “0100 011”。电路结构为 3 state buffer
3 GND
4 SDA I2C 串行数据接口
5 DVI I2C 总线的参考电平;内部寄存器异步复位:DVI <= 0.4V, at least 1us。BH1750FVI is pulled down by 150K while DVI=L
6 SCL I2C 串行时钟接口

上电及复位操作:

  • 异步复位: DVI 需要在 VCC 供电后维持超过 1us 的低电平,以保证内部逻辑正确进入 Power Down Mode
  • 复位命令: 即 “0000 0111”,用来清除先前采集的数据。该命令在 Power Down Mode 下无效。

应用电路设计:

设计中,需要保证 DVI 与 VCC 之间的时序关系,一般有两种方案可以实现:

1)MCU 控制 DVI 信号:

2)VCC 与 DVI 之间嵌入 RC 电路实现:

推荐 R = 1K,C = 1uF。


软件 workflow:

指令名称 指令代码 指令描述
Power Down 0000 0000 掉电模式
Power On 0000 0001 上电:等待测量命令
Reset 0000 0111 复位数据寄存器。掉电模式下,Reset 命令无效
Continuously H-Resolution Mode(推荐) 0001 0000 以 1lx 分辨率开始测量;测量时间约 120ms
Continuously H-Resolution Mode 2 0001 0001 以 0.5lx 分辨率开始测量;测量时间约 120ms
Continuously L-Resolution Mode 0001 0011 以 4lx 分辨率开始测量;测量时间约 16ms
One Time H-Resolution Mode(推荐) 0010 0000 以 1lx 分辨率开始测量;测量时间约 120ms;测量结束后自动进入 Power Down Mode
One Time H-Resolution Mode 2 0010 0001 以 0.5lx 分辨率开始测量;测量时间约 120ms;测量结束后自动进入 Power Down Mode
One Time L-Resolution Mode 0010 0011 以 4lx 分辨率开始测量;测量时间约 16ms;测量结束后自动进入 Power Down Mode
Change Measurement time(High bit) 01000 MT[7,6,5] 调整测量时间,见如下描述
Change Measurement time(Low bit) 011 MT[4,3,2,1,0] 调整测量时间,见如下描述

调整测量时间:

即,调整传感器灵敏度,用于抵消光学窗口(optical window)带来的影响。
具体通过调整测量时间来实现。MTreg 的调整范围为: “0001 1111/31” ~ “1111 1110/254”,默认值 “0100 0101/69”

比如,光学窗口的透过率为 50%,测量结果则变为之前的一半。通过调整测量时间为 2 倍,可将测量结果弥补到光学窗口透过率为 100% 的值。举个例子,将默认测量值 “0100 0101” 调整为 2 倍 “1000 1010”:

240ms 后,测量数据将被存入 Data Register。


“指令写入及测量值”示例

假定,ADDR = L,slave 地址为 “0100 011”

例如读取到的 High Byte 为 “1000 0011” 和 Low Byte 为 “1001 0000”,则:
(215 + 29 + 28 + 27 + 24 )/ 1.2 = 28067(lx)




设计时需要注意的其他事项:

  1. 器件背部的 exposed central pad 不做电气属性连接,更不要焊接;
  2. 避免在强磁场中使用,否则可能出现故障;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!