原创 【博客大赛】德州仪器唯一一款光传感器OPT101的应用

2014-8-7 20:53 3268 13 15 分类: MCU/ 嵌入式

之前用过MAXIM的光传感器。那个芯片的的对流明度的感光能力很强,但是就是有个缺点。太不同意焊接了。才6个脚。底下那个裸露的焊盘还要求接地,当时搞了好久才把那芯片给弄上去。叫做MAX44009。

 

MAX44009环境光传感器,可理想用于智能手机、笔记本电脑、工业传感器等便携产品。器件工作电流小于1μA,是业内功耗最低的环境光传感器,具有22位超宽动态范围(0.045流明至188,000流明)。由于能够检测极其微弱的光线,可理想工作在深色玻璃环境下。片上光电二极管的光谱响应针对人眼对环境光的响应进行优化,集成红外及紫外线屏蔽。自适应增益电路可自动选择正确的流明范围优化测试(计数值/流明)。
 
44009的结构框图如下。
20140807202544258.jpg
 
 
对光灵敏度有高要求的可以考虑试试MAX44009。对于美信,用它的IC还算比较多。这个也算推荐吧。但是今天他不是重点。重点是介绍德州仪器的唯一一款模拟的光传感器OPT101。为了做一个智能家居的方案。为了能感知环境温度以及对家居内部的灯光效应做出反应,选型方案的时候找过好多关于光的传感器。最后考虑了下用德州仪器这个光传感器来做。
 
单电源供电+2.7 to +36V。带宽14kHz at RF= 1MΩ。
 
结构式这样的。
20140807203442696.jpg
 
对波长的反应曲线图如下。
20140807203543341.jpg
 
但是接的时候是根据经典的接法连接的,另外也可利用内部的光二极管自己设定相关的电路。测量时候。跟光的强弱以及倾斜的角度都有关系,以及远近的距离。说白了其实就是内部接收的光转换为电流的大小的能力决定了输出。
 
20140807203908193.jpg
 
输出端直接用万用表测量可以看到明显的变化。后期用的MAX187这个12位自带4096基准的AD芯片。这个也比较好用。一般单通道的AD自己基本就是用的这个。SPI通信。最关键的就是自带的那个2的12次方4096的基准。
 
MAX187用采样/保持电路和逐位比较寄存器将输入的模拟信号转换为12位的数字信号,其采样/保持电路不需要外接电容。MAX1872种操作模式:正常模式和休眠模式,将置为低电平进入休眠模式,这时的电流消耗降到10μA以下。置为高电平或悬空进入正常操作模式。

  完整的操作时序如图所示。使用内参考时,在电源开启后,经过20 ms后参考引脚的47μF电容充电完成,可进行正常的转换操作。A/D转换的工作过程是:当为低电平时,在下降沿MAX187T/H电路进入保持状态,并开始转换,85μsDOUT输出为高电平作为转换完成标志。这时可在SCLK端输入一串脉冲将结果从DOUT端移出,读入单片机中处理。数据读取完成后将置为高电平。要注意的是:在置为低电平启动A/D转换后,检测到DOUT有效(或者延时8.5μs以上),才能发SCLK移位脉冲读数据,SCLK至少为13个。发完脉冲后应将置为高电平。
 
20140807204236256.jpg

 
结果还比较理想。这款也对光的感知能力比较强。后期又用它来感测光源也能得到输出的变化不同。
 
简易拍照实物如下图。
20140807204643327.jpg
 
程序如下,用的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;
}  
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377235 2016-3-19 00:41

OPT101最大工作电压是多少?24V好像就不好用了!

用户377235 2015-10-25 22:23

The accident of finding this post has brteihgned my day
相关推荐阅读
风来 2015-10-31 20:40
【博客大赛】基于AD转换模块的单片机仿真和C语言开发设计
    大学做过的一小设计,那会没事就弄这些AD\DA\MCU以及功能性的IC.    后来一老师要求做的这个,设计一多路数据采集系统,当时资料大多都是0809,0832之类的ADDA,网上找了部分资...
风来 2015-10-19 22:57
【创客】一路走来的科研之路-----致我的学生年代
      曾几何时,也不知到当初自己默默的走向了硬件嵌入式的道路,或者当初的兴趣只在那么一瞬间,而以后的路却很长。 记得是刚上大一那会,隔壁班的班长到处来宿舍宣传,参加机器人了参加机器人了,...
风来 2015-10-18 11:34
电流型运放资料
       以前对于电流型放大器和电压型放大器很疑惑。看了好多放大器的书,慢慢的了解了部分。下面文档分享出来。以供大家参考吧。电流反馈型运放直流特性不好,适合放大高频的交流信号;带宽不因频率增加...
风来 2015-09-29 08:50
【博客大赛】忆往昔做过小玩具之---摇摇棒
        每个相关专业的人事想必都从最小的系统出发,朝着处理器方面向ARM和DSP看起。但当初做过的那些小玩具,那些奠定了为自己再后面的技术路上走的一些小产品,当我们回过头时,做着那些与当初...
风来 2015-09-23 22:44
【创客】和智能家居无线系统的那些事
       智能家居这个项目的灵感和缘分因为好有一次几年了,自己都忘了,我的印象中只记得那会在西安,去和老同学见面,但是因为手上有这个智能家居的开关无线系统项目,所以在去西安的路上都是带着这板子...
风来 2015-09-22 21:45
【博客大赛】如何测量灵敏度指标
        谈到灵敏度这个指标大家都不陌生,在硬件系统里面很多东西涉及到灵敏度。   狭义的说灵敏度指的是能够接收一个信号的最低值。单位一般为UV或者DBUV. 分为有线和无线的,...
EE直播间
更多
我要评论
2
13
关闭 站长推荐上一条 /3 下一条