本期我们阐述一下照度计/光强计的方案实现过程,当然我们也是从好几个方案有模拟式的,也有我们制作的数字式方案。
** 模拟方案 **
首先这里提供一种模拟电路实现的方式,其主要组成部分有三个:
-
光敏电阻单臂电桥
-
差分放大电路
-
比较电路
由光敏电阻组成的单臂电桥能够将光敏电阻的变化转换为电压的变化(这里不详细计算了)
其次紧接着是由三运放构成的高共模抑制比的放大电路,其实很多的仪表放大器的内部结构也是这样子的。其主要目的是为了抑制前级电桥电路的共模信号,放大差模信号(光强变换)。
最后利用运算放大器做比较器,根据电压的不同将会输出高电平,而由于运算放大器的驱动能力较弱(其实也没有弱到驱动不了LED的水平)利用三极管作为开关(放大电流信号)驱动LED亮起,实现分级灯。
** 优点: **
- 价格便宜(也没有太便宜)
- 原理简单
** 缺点: **
-
制作繁琐
-
无法准确的测量光强
-
容易受到其他模拟信号的干扰
** 数字式方案 **
相较于模拟式方案,如今数字式方案的优势会显得更大,无论是制作难度还是制作成本都会小于模拟式,不过区别是需要一定的单片机编程基础。
在数字式方案中,我们分别使用了OPT3001以及BH1750当然还有一款光敏电阻的半数字半模拟的方案。 ** OPT3001 **
OPT3001具有宽测量范围,测量间隔可以在100ms和800ms选择,而且价格便宜,在一元左右。
利用I2C协议进行通讯,驱动并不是非常的复杂(就是换算好像有点麻烦)
从其逻辑框图来看,其原理也类似于接收二极管接收光强,之后通过可控放大器放大后内部ADC完成采集后利用I2C总线输出。
在其测试中我们可以看到其测量属性非常的优秀误差值也非常的小。
OPT3001测量照亮该设备的环境光。该设备测量光的光谱响应与人眼非常匹配,并且具有很好的红外排斥反应。
很好的排斥红外光,这点从其频率响应曲线也可以看出,这为测量可见光提供了更加精确的前提。
当然该芯片的100ms和800ms测量结果也是有讲究的,据手册上所说是为了防止白炽灯的50HZ/60HZ的工频噪声。
** 优点: **
-
准确度高
-
价格便宜
-
功能强大
** 缺点: **
-
没有现场的便宜模块,需要自己制版
-
需要一定的编程能力
** BH1750 ** BH1750是非常常用的光照传感器模块(淘宝上搜基本都是它),其芯片的有罗姆公司的BH1750.
主要呢也是其测量范围的指标,其手册的测量范围给的是1~65535lx,这点相较于OPT3001较弱。
而且其在弱光照范围的测量结果不尽人意。
其原理和OPT3001一样,同样的是通过放大光照传感器的电压之后通过内部ADC结果以I2C的形式传输出来。
其指令非常简单:上电,开启转换,读取数据。 并且其内部地址结构简单,读取数据时并没有相关寄存器,而是通过芯片地址直接读取16位数据。
BH1750相较于OPT3001在于其模块较多并且价格便宜在六七块钱,DIY的情况下用杜邦线连接非常方便,并且其程序实现比OPT3001稍微简单一点