光照度,即通常所说的勒克司度(Lox),表示被摄主体表面单位面积上受到的光通量。在农业生产中,光照度是影响农作物生长的重要参数之一,农作物在生长过程中主要吸收利用的是可见光,其光照度范围很广,黑夜时只有几十lux,而白天时可达几十万lux。因此本文提出一种基于BP神经网络和硅光电池的光照度计的设计。
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
1 硅光电池的光电转换原理
光电池是一种特殊的半导体二极管,能将可见光转化为直流电。有的光电池还可以将红外光和紫外光转化为直流电。光电池是太阳能电力系统内部的一个组成部分,太阳能电力系统在替代现在的电力能源方面正有着越来越重要的地位。早的光电池是用掺杂的氧化硅来制作的,掺杂的目的是为了影响电子或空穴的行为。硅光电池因具有性能稳定、光谱响应范围宽、转换效率高、线性响应好、使用寿命长、耐高温辐射、光谱灵敏度和人眼灵敏度相近等优点而得到广泛应用。
硅光电池是一种直接把光能转换成电能的半导体器件。它的结构很简单,部分是一个大面积的PN 结,把一只透明玻璃外壳的点接触型二极管与一块微安表接成闭合回路,当二极管的管芯(PN结)受到光照时,你就会看到微安表的表针发生偏转,显示出回路里有电流,这个现象称为光生伏特效应。硅光电池的PN结面积要比二极管的PN结大得多,所以受到光照时产生的电动势和电流也大得多。当光照射到P区表面时,如果光子能量大于硅的禁带宽度,则在P型区内每吸收一个光子便产生一个“电子-空穴”对。由于PN结内电场的方向是由N区指向P区,所以扩散到PN结附近的“电子-空穴”对会分离。光生电子被推向N区,光生空穴被留在P区,从而使N区带负电,P区带正电,形成光生电动势。
2 光照度计硬件电路设计
本文所描述的光照度计在设计硬件电路时充分考虑到其高、宽量程和实用性,设计硬件电路由7大模块组成,分别为处理器模块、前向数据采集模块、液晶显示模块、按键控制模块、通信模块、存储模块和电源模块。其电路结构框图如图1所示。其中,前向数据采集模块的设计是重中之重,它关系到能否实现光照度计高和宽量程的实用效果。
在设计前向数据采集模块时需要注意3个问题:
(1)光谱灵敏度
严格地讲,光照度计被直接用于农业气象观测是不合适的,这是因为植物光合作用强度的光谱曲线与人眼视见函数曲线并不相同。为获得正确的测量结果,必须修正硅光电池的光谱灵敏度,使之尽可能地逼近国际照明委员会(CIE)给出的标准人眼视觉灵敏度函数V(λ)(在通常的照度范围内使用明视觉函数,测量微弱光照度时应使用暗视觉函数)。这可通过在硅光电池前端按加法(并列)或减法(串接)安装选择性滤光器来实现。但要注意所使用的滤光器必须能把可见光波长以外的光谱响应滤除干净,而且不允许有次峰的存在,特别是在近红外区域,硅光电池在这个区域有的灵敏度,次峰的存在可能导致显着的误差产生。
(2)余弦响应的角特性
根据光照度定律,任一被照平面的光照度和入射光线与该被照平面法线方向夹角的余弦成正比。因此,为了正确地测量光照度,要求光照度计应该具有余弦响应的角特性。许多研究结果表明,在光电器件的光敏表面前加装漫散射器件,可以获得期望的这种特性,它将减少光电池在斜射光照时由于探头盒壁阴影效应以及表面光反射损失的增加而造成的角响应降低。
(3)信号的转换与放大
经灵敏度函数V(λ)和余弦校正器修正过的硅光电池由于受到滤光器的切割以及乳白玻璃的漫射作用,信号已经有了很大程度的衰减,其有效光电流输出即便在使用了较大面积的光电池后仍然很低。此外,ADμC7026的ADC通道要求的输入信号为电压信号,并且由于线性退化的原因要求电压信号必须在线性区域内才能保证。
基于以上3点,在设计电路时应首先在硅光电池的前端安装滤光器和余弦校正器。滤光器采用有色光学玻璃材料制作,并且将2种或2种以上的滤光器用串联的方法加以适当地组合使滤光效果更好[8]。余弦校正器采用环球型乳白玻璃,其稳定性好、表面硬度高而耐磨,适用于在恶劣环境条件下工作的仪器及标准仪器。在硅光电池后串联1个可调电阻,并且安装运放电路,再经过一阶有源低通滤波电路滤去信号中的高频噪声,便可将终的电压信号输入到ADμC7026的ADC通道。该模块的电路连接图如图2所示。
在该硬件电路中,前级运放采用双电源供电,这是因为双电源供电时输入信号可以是在正负电源之间的双极性信号,动态范围大、稳定且高。
3 光照度计软件设计
该光照度计有手动和自动2种功能可供选择。当选择手动功能时,光照度计显示当前地区的光照度值;当选择自动功能时,该光照度计会每隔30 s显示当前地区的光照度值,使用定时器Timer1来实现定时。在计数器递减为0后先扫描键盘,判断是否有键按下。如果没有,直接将光照度值显示在液晶上;如果有,根据不同的键值执行相应的功能。整个软件流程如图3所示。
4 数据拟合
通过ADμC7026的ADC通道采集到的数据只是光电池转换的电信号,要想把这些毫无意义的数据转变成光照度值,就需要找出同一时刻、同一地点标准光照度计所检测的光照度值与AD转换数据之间的关系[9]。这就需要进行数据拟合,通过大量实验发现,常规的数据拟合方法如线性拟合、多项式拟合等都存在适用范围小的缺陷,因此采用BP神经网络的方法进行数据拟合。BP神经网络算法即误差反向传播算法,是一种基于梯度下降原理的学习算法,在输入第p组学习样本Fp时,已知其对应的输出Dp={d1p,d2p,…,dlp},网络学习的目的就是根据实际输出Yp={y1p,y2p,…,ylp}与期望输出Dp的误差,修改连接权值和阈值,使Yp与Dp尽可能地接近[10]。其权值调整公式为:
本文所设计的BP神经网络由输入层、隐层和输出层3层构成,结构如图4所示。输入层为有效硅光电池电压的AD采样数值,则输入层节点数即为有效波点数n,输入层节点i的输出为xi(i=1,2,…,n) 。隐层和输出层神经元的作用函数采用S函数f(x)=1/(1+e-x),则隐层输入、输出分别为:
以上所设计的BP神经网络在用于硅光电池照度检测建模中的应用步骤如下:
(1)对硅光电池电压的AD采样数值做归一化处理;
(2)利用工具包对归一化后的电压的AD采样数值做主成分分析(PCA),找出比较相关的几个有效波点;
(3)设计神经网络,确定网络的层数、中间层节点数和各传递函数,网络的输入为有效波点的电压值,输出对应照度值;
(4)提取训练样本集和测试样本集,用训练样本集对网络训练,调整各层之间连接权值和节点阈值,使实际输出误差与期望输出误差相比,在允许范围之内;
(5)用测试样本集测试训练好的神经网络。
5 比较分析
将BP神经网络拟合后得到的光照度值与标准光照度计测量的数值进行比较,如图5所示。
从图5可以看出,通过BP神经网络拟合后得到的光照度值与标准光照度计测量的数值几乎相同,误差很小,而且光照度的范围很宽。这些都充分证明了上述拟合方法的正确性和实用性。
与目前市场上的数字式光照度计相比,本文所设计的光照度计具有量程范围大、检测高、简单易用等优点。使用者不但可以把检测到的光照度数据存储在手持仪器中,而且可以上传到计算机中进行保存。非常适合于农业温室大棚、农作物实验室等场合。随着国家对于农业生产重视程度的不断提高,这种光照度计的市场前景将非常广阔。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。