基于分光计的光强检测系统的研究与设计

基于分光计的光强检测系统的研究与设计

孙越胜, 白秀军 ,赵习金, 王瑜

(解放军电子工程学院基础部,合肥 230037)

要:采用单片机作为数据处理与控制单元,通过新型单片测光芯片BH1750来感应通过分光计的光强变化,将光照强度发送到LCD1602进行显示。经过单片机数据处理之后,实时地显示通过分光计的光线强弱,实现基本的人机交互功能。

关键词:分光计,光强检测,stc90c,lcd1602

Abstract: By single chip microcomputer as the control unit, data processing and induced by new type single-chip metering chip BH1750 by spectrometer light intensity change, send light intensity to the LCD1602 display. After a single chip microcomputer data processing, real-time display by light spectrometer, achieve the function of basic human-computer interaction.

Keywords: spectrometer;Light intensity detectionstc90c;lcd1602

在用到分光计的实验等研究中,我们仅能观察到通过分光计的光线变化,并不能定量地测量出其光强变化的大小。光强检测系统利用单片机作为系统的主要控制器,通过测光芯片将数字信号送入到单片机中进行数据处理,经过一定的控制算法后,通过单片机的输出I/O端口,将处理数据发送到LCD1602进行显示,从而直观、定量地测定通过分光计的光强。

1 光强检测系统的设计方案

1.1总体设计方案

光强检测系统以STC90C 516RD+单片机为核心,在单片机内部完成数据的存储及处理功能,通过数模转换芯片完成模拟信号到数字信号的转换及输入,再将数据存入存储芯片,在单片机进行数据处理后,再对需要显示的数字信号进行译码显示。每个芯片的电源处有耦合电容相连,当电容器充电达到2V时,此电容就作为电源为电路提供工作电压。该系统具备数据采集、存储、处理以及显示功能。

系统的总体设计方案框图如图1所示。

 

1  系统总体设计方案框图

1.2  光强采集方案

目前,大多数测光系统的光强采集元件都是使用光电三极管或光电池,由于信号放大电路、A/D转换电路等是这两类采集元件必不可少的部分,其系统设计的复杂度较高。高级的测光系统还需要设计多档放大电路来实现大量程测光,这些电路无疑增加了传统测光系统的能耗和空间,降低了其灵活度。另外,传统的测光系统非常容易受到红外线、紫外线等非可见光的干扰。

本系统采用一种新型单片测光芯片BH1750,它广泛用于两线式串行总线接口的数字型光强传感器集成电路。这种集成电路可以根据采集的光线强度数据,来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强变化,具有优良的光谱灵敏度特性,较好地解决了传统测光系统的弊端。另外,该测光芯片与分光计能够进行很好地连接,使得测光系统更加简单。

1.3 数据显示方案

LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块。其中,LCD显示模块LCM(Liquid Crystal Display Module)是把LCD显示器、背景光源、线路板和驱动集成电路等部件构成一个整体,作为一个独立的部件使用,具有功能较强、易于控制、接口简单等优点,在单片机系统中应用较为广泛。

本系统选择LCD1602显示模块进行数据显示,具有显示质量高、体积小、重量轻、功耗低以及连接方便等特点。

2 系统硬件设计

本系统选用了普中科技的开发板作为设计的基本结构,主要包含三个元件:控制芯片STC90C 516RD+单片机,测光芯片BH1750以及LCD1602显示模块。其中,控制芯片STC90C 516RD+单片机主要用于实现下面两个功能:通过P1.0、P1.1对测光芯片BH1750的引脚SDA和SCL的控制,来实现数据的接收传递和时钟设定的控制;测光芯片BH1750中的光敏二极管经通过分光计的光线照射后,其阻值发生变化,从而引起通过电流的变化。经过集成运算放大器转变为电压变化,电压送至ADC模数转换器转换为16位数字数据,数据再送入光强计算和I2C总线接口算出光强,经SDA送至单片机处理后再送入显示模块LCD1602显示出来。

3 系统程序设计

3.1 设计思路与流程图

系统要完成光强检测,需要实现光强信号的分离采集、数据处理、数据输出、数据显示等基本功能。因此,根据系统功能,可以将系统程序分为若干个子程序来进行设计,如光强分离采集子程序、数据处理子程序、数据显示子程序以及执行子程序。

光强信号分离采集子程序,主要完成光强信号的分离采集。采集子程序主要包括分光计分离光线、单片机给BH1750写命令、单片机给BH1750写数据、单片机从BH1750读数据等部分。

当单片机收到温度传感器发送的温度数据后,数据处理子程序对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据

数据显示子程序包括LCD显示子程序,其功能是实现将数据处理后的十进制光强数据通过LCD显示出来。

执行子程序的功能是把程序命令写入单片机,单片机控制BH1750采集光强并计算出光线强度,然后通过LCD1602显示出来

主程序流程图如图2所示:

 

2  主程序流程图

3.2 ADC子程序

/数(A/D)转换测量子程序用来控制对ADC0809的模拟输入电压进行A/D转换,并将对应的数值移入内存单元。ALE为地址锁存允许输入线,高电平有效。ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。当EOC变为低电平时,这时OE为高电平,转换的数据就输出给单片机了。                                   3  A/D转换测量子程序流程图

ADC0809进行A/D转换时,通过ALE为高电平,使输入有效然后ALE改为低电平,锁存地址,地址锁存后将ST置高电平,使ADC0809内部寄存器清零,再将ST置高电平,芯片开始进行A/D转换。当EOC为高时,转换结束。这时把OE置为1,将转换成功的数据送给单片机,完成一次模/数转换。其程序流程如图3所示

3.3 数据处理程序

经过光强信号的采集与A/D转换,将数据传递给单片机,并保存起来,系统根据数据情况进行控制处理。数据处理时,首先将数据取出来,放在一个整型变量中。然后取出整数部分进行处理,求出数据十进制表示时的百位、十位及个位,再求小数部分数据。计算流程图如图4所示。

 

4  光强计算程序流程图

4 系统调试和功能测试

系统调试主要包括硬件调试和软件调试,这两者是分不开的。通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则无从谈起。

4.1 系统硬件调试

硬件设计方面从布线到焊接安装完成之后,开始进入硬件调试阶段。

首先,排除元器件失效问题。造成这类错误的原因主要有两方面:一方面是元器件买来时就已经坏了;另一方面是由于焊接错误造成的元器件损坏。要排除这种错误,可以采取检查元器件与设计要求的型号、规格和连接是否一致,在保证安装无误后,用替换方法排除错误。

其次,排除电源故障问题。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。

硬件上的故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路和短路。排除的方法是,首先将实物连接板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时,利用数字万用表的短路测试功能,可以缩短排错时间。

4.2 系统软件调试

在确认过硬件电路连接及焊接工艺无误后,开始采用联机仿真的方式进行软件调试,一般使用Keil C51 uVision2进行仿真调试。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。同时,编译后生成的汇编代码效率很高,多数语句生成的汇编代码很紧凑,易于理解。

同时,联机仿真必须借助仿真开发装置、示波器、万用表等工具,这些工具是单片机开发的最基本工具。调试手段可采用单步或设置断点运行方式,检查程序执行结果是否符合设计要求。通过检测可发现程序中的死循环错误、机器码错误及转移地址的错误。同时,也可以发现用户系统中的硬件故障,软件算法及硬件设计错误。

4.3 系统功能测试

在硬件及软件调试成功后,将对其进行功能测试,观察是否与设计要求相符。软件采用Keil调试成功,同时进行硬件电路板的设计制造,烧好程序后进行软硬件联调。经实际测试后,成功实现了光强探测,基本达到了系统功能。

制作好的实物模型如图5所示。

 

 

 

 

 

 

 

 

 

 

5  系统实物模型

5 结束语

本文运用STC90C 516RD+单片机作为主控制单元及数据处理单元,采用光敏电阻分压,对环境光强信号进行采集,将采集到的光强值转换成数字信号送到单片机进行处理,并通过LCD对当前光强度信号值进行显示,达到实时显示光强的目的,实现了基本的人机交互功能。这一系统将为我们今后的分光计实验研究提供帮助,从而便于进一步的实验分析。

参考文献

[1] 张志良.单片机原理与控制技术[M].北京:机械工业出版社,2002:78-81.

[2] 姜志海,黄玉清.单片机原理及应用[M].北京:电子工业出版社,2005:27-42.

[3] 喻萍,郭文川.单片机原理与接口技术[M].北京:化学工业出版社,2006:195-197.

微信二维码
扫码添加微信咨询
QQ客服:1663286777
电话:137-1883-9017
收到信息将及时回复