多路BH1750光强检测系统的设计

2019-01-16 01:44:50杨世权张谦述
太原学院学报(自然科学版) 2018年4期
关键词:光照度高分辨率总线

杨世权,张谦述,周 聪

(西华师范大学电子信息工程学院,四川 南充 637009)

引言

随着科学技术的不断发展,智能家居、智能农业和智能园林开始出现,其中光照强度是一项重要的环境参数。在家居环境中,光照度影响着人们的舒适度。农业种植中,适当的光照量对瓜果蔬菜的生长十分重要。园林中,适当光照度可以让花草生长得更好。文献[1]提出了单个BH1750光强检测系统的设计,但没有提到多个BH1750的应用和相应的实验数据。文献[2]给出了设计一种光照强度测试仪,但存在处理器较落后、处理速度慢和显示器分辨率低等不足。文献[3]提出将BH1750与串口相结合,将光强数据上传到电脑上显示,但没给出相应的软件实现程序。综上,本文提出并实现了多路BH1750光强检测系统,实验表明该系统具有精度高、可移植性强、输出范围广和稳定性好等优点。

1 系统总体结构

1.1 系统构成

系统主要由STM32F4控制器、BH1750传感器、TFTLCD显示器组成。

1.2 系统总体设计方案

系统由室外环境和控制室的控制器两部分构成。采用STM32芯片作为控制芯片,首先室外场地光强通过BH1750进行采集,其内部AD器件把采集的模拟量转换为数字量,STM32F4处理器根据器件从地址的不同来读取不同传感器采集的光照数据,最后把读取并转换后的数据送给LCD进行显示。多路光强检测系统总体框图如图1所示。

图1 多路光强检测系统总体框图

2 系统硬件电路设计

系统总体设计原理图如下图2所示。

图2 总体设计原理图

2.1 主控制芯片的选型

在控制器选型方面,有两种方案,传统的51单片机和新兴的STM32F4单片机。两种控制器性能对比情况如下表1所示。

表1 控制器性能对比表

通过上表可以看出,STM32F4在许多方面优于51单片机,因此本系统采用意法半导体公司(ST)推出的基于ARM Cortex-M4内核处理器芯片STM32F407ZGT6作为系统的主控芯片[4]。

2.2 光强传感器模块

本系统光强传感器选用BH1750,BH1750是一种用于两线式串行总线接口的数字型光强传感器。BH1750传感器内部有16位模数转换器,传感器的测量范围为(1Lx-65535Lx)[5]。BH1750通过I2C协议与控制器STM32F4进行通信。本文用软件来模拟I2C协议,使系统运行速率和稳定性得到提高。模拟的I2C端口可接收数据和发送数据。发送时,将并行数据转换成串行数据;接收时,把串行数据转换成并行。传感器通过自身时钟引脚和数据引脚连接到I2C总线上,I2C总线运行速度可达100KHz~400KHz[6]。BH1750FVI有三中测量模式,每种测量模式又分两种方式,单次测量和连续测量。

本系统模拟两路I2C总线,而每一路根据器件从地址不同(即ADDR接高电平或低电平),可搭载两个BH1750,所以共有4个BH1750传感器,STM32F4与BH1750连接电路图如图3所示。

2.3 LCD的选型

在LCD选型方面,有两种方案可供选择,LCD1602和2.8寸TFTLCD。2.8寸TFTLCD是彩色主动显示屏幕,分辨率为240*320;LCD1602是黑白TN显示屏幕,分辨率仅为5*8。可见,TFTLCD要明显优于LCD1602,因此本系统采用TFTLCD作为显示模块。

图3 STM32F4与BH1750连接电路图

3 系统软件设计

系统软件设计流程为开启BH1750,等待测量指令。接着发送测量命令,BH1750以连续高分辨率模式进行数据测量。时分复用,开启第2个BH1750传感器。发送测量命令,BH1750以连续高分辨率模式进行数据测量。控制器读取并转换数据,将转换后的数据送给显示器。依次类推,直到读取最后一个传感器后,返回进行下一轮测量。软件设计流程如图4所示。

图4 软件设计流程图

3.1 I2C协议

I2C总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。当SCL为高期间,SDA由高跳变到低,此时为启动信号;当SCL为高期间,SDA由低到跳变高,此时为停止信号。发送器每发送一个字节时,在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器成功接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。为保证数据有效传送,数据在SCL的上升沿到来之前就需准备好,并在下降沿到来之前必须稳定[7]。I2C总线接口时序图如图5所示。

图5 I2C总线接口时序图

3.2 BH1750传感器的软件设计

从属地址有两种类型,它是被ADDR端口决定。

ADDR=‘H’(ADDR≥0.7VCC)→“1011100”

ADDR=‘L’(ADDR≤0.3VCC)→“0100011”

从“写指令”到“读出测试结果”设计实例如下。

实例:连续高分辨率模式(ADDR=‘L’)

1)发送“连续高分辨率模式”指令:

2)等待完成第一次高分辨率模式测量。(允许最长时间180 ms);

3)读取测量结果:

当数据高字节是“10000011”和低字节是“10010000”

(215+29+28+27+24)/1.2=28067[Lux]

连续测量模式的结果是不断更新的。(高分辨率模式典型时间是120ms,低分辨率模式时间是16ms)

3.3 部分主程序代码

初始化程序:

extern float temp,temp1;//定义外部变量

extern float temp2,temp3;//定义外部变量

u16 i=0;

delay-init(168);//初始化延时函数

uart-init(115200); //初始化串口波特率为115200

LCD-Init();//LCD初始化

Init-BH1750(); //I2C初始化

Init-BH1751(); //I2C初始化

Init-BH17502(); //I2C初始化

Init-BH17503();//I2C初始化

delay-ms(180);//延时180ms

POINT-COLOR=RED;//设置显示字体为红色

LCD-ShowString(40,70,200,24,24,"Light:");//固定要显示的位置

LCD-ShowString(40,100,200,24,24,"Light1:");//固定要显示的位置

LCD-ShowString(40,100,200,24,24,"Light2:");//固定要显示的位置

LCD-ShowString(40,100,200,24,24,"Light3:");//固定要显示的位置

光照数据采集及显示程序:

Start-BH1750();//开启BH1750

Start-BH17501();//开启BH17501

Start-BH17502();//开启BH17502

Start-BH17503();//开启BH17503

delay-ms(180);//延时180ms,给传感器相应反应时间

Read-BH1750();//连续读取数据存储在buf中

Read-BH17501();//连续读取数据存储在buf中

Read-BH17502();//连续读取数据存储在buf中

Read-BH17503();//连续读取数据存储在buf中

Convert-BH1750();//将采集的数据转换成相应光照度

Convert-BH17501();//将采集的数据转换成相应光照度

Convert-BH17502();//将采集的数据转换成相应光照度

Convert-BH17503();//将采集的数据转换成相应光照度

LCD-ShowxNum(120,70,temp,6,12,0);//显示转换后的结果

LCD-ShowxNum(120,82,temp1,6,12,0);//显示转换后的结果

LCD-ShowxNum(120,94,temp2,6,12,0);//显示转换后的结果

LCD-ShowxNum(120,106,temp3,6,12,0);//显示转换后的结果

4 实验验证与分析

选取该系统一个BH1750传感器与照度计所测光照度进行对比,分时测试了20 组数据如图6所示,N表示测试次数。从图中可以看出,检测系统与照度计的测量值相差很小,几乎完全重合,反应出BH1750检测系统的准确性。随后对其它BH1750传感器进行测试,实验结论相同。

图6 系统和照度计测量值

保持各个场地光照度不变,四个传感器进行多次光强检测,检测数据如表2所示。

表2 检测数据

其系统平均相对误差、平均绝对误差和均方根误差如表3所示。

表3 系统误差分析

从表3可以看出,平均相对误差小于0.6%,平均绝对误差在1Lx以下,均方根误差最大仅为1.08Lx,反映出该系统稳定性好、精密度高、抗干扰性强。

5 结语

通过对系统进行多次测试验证,该系统能准确测量不同场地的光强变化,把不同场地光强信息反馈给显示器,方便物主获取信息,并对不同场地进行管理。该系统具有体积小、功耗低、成本低、移植性好等特点,在农业种植和园林绿化等光照控制领域,具有广泛的应用价值。

猜你喜欢
光照度高分辨率总线
光照度传感器在智能家居照明系统中的应用
传感器世界(2022年7期)2022-10-12 09:11:22
三种光照度对广西地不容生理生化特性的影响
高分辨率合成孔径雷达图像解译系统
雷达学报(2020年3期)2020-07-13 02:27:16
基于PCI Express总线的xHC与FPGA的直接通信
测控技术(2018年6期)2018-11-25 09:50:12
机载飞控1553B总线转以太网总线设计
测控技术(2018年8期)2018-11-25 07:42:08
光照度对不同产地南方红豆杉幼苗生长发育的影响
“农地种电”型光伏电站可种植区域光温环境参数研究
高分辨率对地观测系统
太空探索(2015年8期)2015-07-18 11:04:44
基于Curvelet-Wavelet变换高分辨率遥感图像降噪
多通道ARINC429总线检查仪