之前用过MAXIM的光传感器。那个芯片的的对流明度的感光能力很强,但是就是有个缺点。太不同意焊接了。才6个脚。底下那个裸露的焊盘还要求接地,当时搞了好久才把那芯片给弄上去。叫做MAX44009。
MAX44009环境光传感器,可理想用于智能手机、笔记本电脑、工业传感器等便携产品。器件工作电流小于1μA,是业内功耗最低的环境光传感器,具有22位超宽动态范围(0.045流明至188,000流明)。由于能够检测极其微弱的光线,可理想工作在深色玻璃环境下。片上光电二极管的光谱响应针对人眼对环境光的响应进行优化,集成红外及紫外线屏蔽。自适应增益电路可自动选择正确的流明范围优化测试(计数值/流明)。
44009的结构框图如下。
对光灵敏度有高要求的可以考虑试试MAX44009。对于美信,用它的IC还算比较多。这个也算推荐吧。但是今天他不是重点。重点是介绍德州仪器的唯一一款模拟的光传感器OPT101。为了做一个智能家居的方案。为了能感知环境温度以及对家居内部的灯光效应做出反应,选型方案的时候找过好多关于光的传感器。最后考虑了下用德州仪器这个光传感器来做。
单电源供电+2.7 to +36V。带宽14kHz at RF= 1MΩ。
结构式这样的。
对波长的反应曲线图如下。
但是接的时候是根据经典的接法连接的,另外也可利用内部的光二极管自己设定相关的电路。测量时候。跟光的强弱以及倾斜的角度都有关系,以及远近的距离。说白了其实就是内部接收的光转换为电流的大小的能力决定了输出。
输出端直接用万用表测量可以看到明显的变化。后期用的MAX187这个12位自带4096基准的AD芯片。这个也比较好用。一般单通道的AD自己基本就是用的这个。SPI通信。最关键的就是自带的那个2的12次方4096的基准。
MAX187用采样/保持电路和逐位比较寄存器将输入的模拟信号转换为12位的数字信号,其采样/保持电路不需要外接电容。MAX187有2种操作模式:正常模式和休眠模式,将置为低电平进入休眠模式,这时的电流消耗降到10μA以下。置为高电平或悬空进入正常操作模式。
完整的操作时序如图所示。使用内参考时,在电源开启后,经过20 ms后参考引脚的4.7μF电容充电完成,可进行正常的转换操作。A/D转换的工作过程是:当为低电平时,在下降沿MAX187的T/H电路进入保持状态,并开始转换,8.5μs后DOUT输出为高电平作为转换完成标志。这时可在SCLK端输入一串脉冲将结果从DOUT端移出,读入单片机中处理。数据读取完成后将置为高电平。要注意的是:在置为低电平启动A/D转换后,检测到DOUT有效(或者延时8.5μs以上),才能发SCLK移位脉冲读数据,SCLK至少为13个。发完脉冲后应将置为高电平。
结果还比较理想。这款也对光的感知能力比较强。后期又用它来感测光源也能得到输出的变化不同。
简易拍照实物如下图。
程序如下,用的MSP430单片机。
#include"msp430x14x.h"
#define MAX187_SK_H P2OUT|=BIT0
#define MAX187_SK_L P2OUT&=~BIT0
#define MAX187_CS_H P2OUT|=BIT1
#define MAX187_CS_L P2OUT&=~BIT1
#define MAX187_DO P2IN&BIT2
#define MAX187_CMDOut P2DIR=0xc3
//延迟I*8 US
void delays(uint i)
{
uint j;
for(j=i;j>0;j--) _NOP();
}
unsigned int MAX187read(void)
{
MAX187_CMDOut;
uchar i;
int s; //16位变量
MAX187_CS_L; //低电平有效,开始转换
delays(2); //延时8.5μ等待转换结束
MAX187_SK_H;
MAX187_SK_L;
s=0; //全位变量清零
for(i=12;i>0;i--)
{
MAX187_SK_H;
if(MAX187_DO) s++;
MAX187_SK_L;
delays(1);
if(i>1) s<<=1;
}
delays(1);
MAX187_CS_H;
return s;
}
用户377235 2016-3-19 00:41
用户377235 2015-10-25 22:23