基于BH1750光照强度数据采集系统的设计

2016-10-26 05:05刘博
河南科技 2016年13期
关键词:低电平高电平串口

刘博

(河南牧业经济学院信息与电子工程学院,河南 郑州 450044)

基于BH1750光照强度数据采集系统的设计

刘博

(河南牧业经济学院信息与电子工程学院,河南郑州450044)

光照度传感器是一种常用的检测装置,在多个行业中都有一定的应用。BH1750是一种用于两线式串行总线接口的数字型光强度传感器集成电路,利用这种集成电路制成的传感器可以采集光线强度数据,还可以探测较大范围的光强度变化。据此设计了一个基于BH1750光照强度数据采集系统,该系统可以对室内外的光照强度进行实时转换和上传,可应用于智能家居环境检测、智能农业大棚种植、智能电子电器中等。

BH1750;光照强度;采集

随着科技的进步和现代生活的快速发展,在工农业生产、环保和气象等多个行业部门及人们的日常生活中,光照强度是一个重要的环境参数,经常需要对环境光照度进行检测及控制。本文就是基于一种常用的传感器BH1750设计了一个光照强度数据采集系统,介绍了该系统的工作原理,然后从硬件和软件两方面对系统进行了设计,结果表明该系统可以对室内外的光照强度的数据进行实时转换和上传。通过BH1750实现光照强度数据读取,并通过串口上传到电脑上显示。

1 BH1750与光照强度概述

BH1750是一种用于两线式串行总线接口(IIC)的数字型光强度传感器集成电路,这种集成电路可以检测光线强度,内置了16位模数转换器,将其转化为数字信号[1]。这是一种简易传感器,通过计算电压来获得有效的数据。这款环境光传感器能够直接通过光度计来测量。利用其高分辨率可以探测较大范围的光强度变化。

光照强度是指光照的强弱,以单位面积上所接受可见光的能量来量度。简称照度,单位勒克斯(Lux或Lx)。被光均匀照射的物体,在单位面积(1m2)上所得的光通量是1流明时,其照度是1Lx。流明是光通量的单位。发光强度为1烛光的点光源,在单位立体角(1球面度)内发出的光通量为“1流明”。主要参数如下所示:供电电压为3~5V;接口为IIC;量程和精度为1~65 535Lx;可以选择IIC地址的两种形式;微小的测量变化(±20%)。

经测量,一般白天的光照度在5Lx以上,晚上在1Lx以下。下面将从硬件和软件程序的设计两方面来介绍该系统的设计。

2 硬件设计

硬件设计电路如图1所示。图1中,VCC、GND是芯片的电源端口,系统设定输入的是3.3V直流电压。

图1 BH1750电路原理图

各个端口的功能介绍如下。①ADDR是控制BH1750地址的端口,当ADDR端口电压大于2.31V时,BH1750地址为0xb8,当ADDR端口电压小于0.99V时,BH1750地址为0x46。在设计过程中直接通过1k电阻将其接地,可知BH1750地址被设为了0x46[2]。②DVI是I2C总线的参考电压端口,也是整个芯片的非同步复位端口,当芯片上电的瞬间,需要将该端口保持低电位,1us过后拉高DVI。③SCK是IIC总总线的时钟信号端,用来产生高低电平变化,控制数据的输入和输出。DAT是IIC总总线的数据端,其作用就是传输数据。通过SCK、DAT两者配合使用,使IIC设备处于不同的状态。IIC设备,典型的电路就是上拉10K。

3 程序设计思路

由于BH1750光照传感器是IIC设备,程序设计主要是IIC的时序配置和BH1750模块的配置。程序流是开始→硬件初始化→读取光照数据并处理→发送处理好的数据到串口显示→循环下一次。

3.1硬件初始化

在硬件初始化中,主要是处理所用到的SCK、SDA管脚,初始化串口功能来显示得到的数据,然后即可读取光照数据。IIC两条线可以挂多个设备。IIC设备中有个固化的地址。只有在两条线上传输的值等于IIC设备的地址时,该设备才作出响应。

3.2开始和停止信号

开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时,IIC总线上的设备检测到这个开始信号,它就知道处理器要发送数据了。

停止信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由低变高就表示一个停止信号。同时,IIC总线上的设备检测到这个停止信号,它就知道处理器已经结束了数据传输,通常情况下,设备会进入休眠。

3.3IIC的开始和结束程序

在IIC开始程序中,在SCL高电平持续时间内,SDA产生了一个由高变低的下降沿,然后待低电平稳定,标志IIC开始;在IIC结束程序中,在SCK高电平持续时间内,SDA产生了一个由低变高的上升沿,然后待高电平稳定,标志IIC结束。

3.4数据上传

SDA上传输的数据必须在SCL为高电平期间保持稳定,因为外接IIC设备在SCL为高电平的期间采集数据方知SDA是高或低电平。SDA上的数据只能在SCL为低电平期间翻转变化。为了能保证上述高低电平的要求,需要用精确的延时来控制高低电平的持续时间。

3.5响应信号(ACK)

处理器把数据发给外接IIC设备,这里需要外接IIC设备回应一个信号给处理器,这样就可以知道IIC设备数据已经收到了。处理器发完8bit数据后就不再驱动总线了(SDA引脚变输入),而SDA和SCK硬件设计时都有上拉电阻,所以这时SDA变成高电平。那么在第8个数据位,如果外接IIC设备能收到信号的话,接着在第9个周期把SDA拉低,那么处理器检测到SDA拉低就能知道外接IIC设备数据已经收到。若没有收到应答,SDA会一直处于高电平状态。

3.6IIC的发送数据和接受数据程序

在发送数据时,要保证当SCL为高电平时,SDA不允许变化,此时要把SDA的值发送出去,SCL为低时,就读取数据的下一个字节,等SCL为高电平后,再次发送,依次循环。直到发送完成,读取应答信号,SDA变低,则发送成功。反之,则失败。在读取数据时,要保证SCL为高时,读取并存入变量,然后SCL变低,SDA体现下一个字节的数据,SCL拉高,再次读取,以此循环。具体流程如下:①要向从机发送一个指令0x46(从机地址),等待从机应答,若收到应答,就开始发送连续高分辨率的指令0x10,在次等待应答;②等待BH1750完成测量;③发送指令0x47,等待从机应答,若受到应答,主机就可以介绍来自从机的数据。

编写完BH1750光照传感器控制程序,连接仿真器,并下载程序。连接传感器底板与核心板。连接USB转串口模块,打开串口助手,运行单片机程序,观察光照强度值,可以改变光源,观察数值的变化。

[1]云中华,白天蕊.基于BH1750FVI的室内光照强度测量仪[J].单片机与嵌入式系统应用,2012(6):27-29.

[2]何安科.基于STM32与光强传感器BH1750的无线路灯控制系统[J].企业科技与发展月刊,2011(20):15-17.

Design of Light Intensity Data Acquisition System Based on BH1750

Liu Bo
(School of Information and Electronic Engineering,Henan Animal Husbandry Economic College,Zhengzhou Henan 450044)

The light sensor is a kind of commonly used detection device,in a number of industries have a certain application.Novel bh1750 is a two-wire serial bus interface of digital light intensity sensor integrated circuit,for using this integrated circuit made of the sensor can be according to collected the data of the light intensity,and can also detect a wide range of light intensity changes.According to the above,this paper designed a light intensity data acquisition system based on BH1750,which could convert and upload the light intensity in the room and the room in real time,which could be applied to smart home environment detection,intelligent agricultural greenhouse cultivation,intelligent electronic appliances and so on.

BH1750;light intensity;collection

TP212.6

A

1003-5168(2016)07-0027-02

2016-06-05

刘博(1986-),男,助教,研究方向:物联网应用技术。

猜你喜欢
低电平高电平串口
一种基于FPGA的PWM防错输出控制电路
浅谈AB PLC串口跟RFID传感器的通讯应用
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
数字电子技术的应用
浅谈物理电路与数字电路
PDM 1kW中波广播发射机保护电路分析
15-MeV电子直线加速器的低电平系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索