基于单片机的新型节能日光灯系统的设计
扫描二维码
随时随地手机看文章
随着社会的发展和人口的增长,节能已成为一个重要的社会课题。日光灯是目前使用最为广泛的一种灯具,但同大多数灯具一样,一旦开启,无论外界光强多大,它们都只能发出单一光强的光,这造成了能源的浪费。针对这一现象,本文提出了基于单片机的新型日光灯系统,通过采集外界光强信息,采用AT89C51单片机控制日光灯输出光强的方式,使日光灯随外界光强的变化而自动调整照射光强,在满足使用者的用光要求的前提下,达到节约能源的目的。系统具有结构简单、可靠性高、成本低等特点,可广泛用于学校学习和家庭生活。
1 硬件电路组成及工作原理
1.1 系统硬件结构
系统构成如图1所示。系统分为光线采集、单片机控制和日光灯自动调整3部分。光线采集部分主要由光敏电阻、三极管和配套电路组成;单片机控制部分主要由AT89C51单片机及其外围电路,ADC0809模数转换器组成;日光灯自动调整部分系统主要由光耦MOC3052,双向三极管BT136及其外围电路组成。光线采集部分通过光敏电阻感受外界光强,通过其阻值的变化将外界光强的变化转化为输出电压的变化。单片机控制部分通过ADC0809将电压的模拟量转化为数字量,经过分析处理输出占空比可控的PWM波。日光灯自动调整部分根据PWM波调整日光灯灯管两端的电压,可在一定电压范围内达到较高的调控精度(0.1 V),以达到控制照射光强的目的。
1.2 光强采集电路
如图2所示,本设计采用的是基极分压式射极偏置电路,由Vcc(5 V)、基极电阻R5、R1和集电极电阻R6组成,三极管射极直接接地,其中R5、R6是普通电阻,R1为光敏电阻。该电路具有很好的稳定性,阻值很大的R5直接接在三极管的基极,起到很强的控制基极电流的作用,可以有效防止由于温度等原因造成的电阻阻值波动对测量结果的影响。光敏电阻直接接受外界光强,所选光敏电阻光谱峰值540 nm,亮电阻(10LUX)5~10 kΩ,暗电阻0.6 MΩ。
当外界光强变大时,光敏电阻R1阻值变小,电流IR1变小,三极管基极电流Ib变小,集电极电压,即输出电压IN0-BAK变大。同理,当外界光强变小时,输出电压IN0-BAK变小。这样,三极管将由光强变化引起的电流变化转化为电压变化输出,接入ADC0809数模转换的输入端口。
1.3 A/D转换电路设计
本设计选用8位模数转换器ADC0809。该芯片是典型的8位8通道逐次逼近式A/D转换器,可对8路模拟电压实现分时转换。为了换算方便,设置基准电压为5 V,即模拟量输入为+5.0时,ADC输出为0FFH,即225,系统分辨率为50/255=0.2V/LSB。基准电压设为5 V,为保证转换的精度,由LM7805精密稳压器提供。
LM7805联接方式如图3所示,J1接12 V普通直流电源,C6和C7作为输入和输出的滤波电容,C12为输入电阻,C3为负载电阻。
1.4 单片机电路设计
本系统采用Atmel公司生产的AT89C51单片机。它是一种低电压、低功耗、高性能的CMOS 8位单片机,片内含8 kB可反复擦写的程序存储器和256 B的数据存储器。单片机及其必要的外围电路,包括复位电路和晶振电路如图4所示。
本系统使用AT89C51自带的PWM模块,通过内部定时器,采用脉宽调制技术。输入端P2.O~P2.7输入8位由IN0-BAK端电压转化的数字输入量,由P1.3口输出不同占空比的方波。这样将输入的外界光强的变化转化为输出的PWM波的占空比的变化。
1.5 日光灯控制电路
如图5所示,本模块为核心部分。P1.3为PWM波输入,高低电平分别为5 V和0 V,R11为上拉电阻,起限流作用。SMD元件为MOC3052,是一种光电耦合器件,用于弱电电路和强电电路的有效隔离。J2接220 V交流电源,J3接地,R10为日光灯电阻,两端分别接日光灯的火线和地线。R7和R8为对称大功率电阻,起限流作用。
当P1.3输入为低电平时,光耦MOC3052导通,为双向晶闸管控制极提供导通脉冲,双向晶闸管导通,起到分流的作用,设此时日光灯电阻R10两端电压为V12;同理,当P1.3输入为高电平时,光耦截止,双向晶闸管截止,设R10两端电压V2。其中,V2<V1。所以通过对占空比的改变,即改变光耦的导通时间,可以有效地控制日光灯两端的电压,即达到变日光灯光强的效果。
由于日光灯的灯管开始点燃时需要一个高电压,正常发光时则允许通过不大的电流,这时灯管两端的电压低于电源电压。本实验使用的日光灯功率为40 W,经测定,起辉电压最低为200 V,而正常发光后维持稳定光亮的电压要求为165~245 V,即电压可控范围为165~245 V。
2 系统软件设计
系统主要的任务是实时监测外界的光强,然后通过单片机通过输出PWM波控制光耦的开合来达到控制日光灯光强的目的。系统软件设计的重点在于单片机的编程。系统主程序流程如图6所示。
单片机编程主要包括初始化程序、光强采集处理程序和PWM波输出程序等。初始化包括硬件的初始化和定时器的初始化;光强采集处理主要完成外部采集的光强转换:产生PWM波采用中断延时配合循环指令。下面对各部分作详细分析。
首先通过光敏电阻感应相应的光线强度并将其转换成数字变量传入单片机。单片机集成的ADC0809将光线强度模拟变量转化成数字变量(因为ADC0809是8位通道,所以其转化范围为0~255),将得到的8位数字变量从P2.0~P2.7端口输入到AT98C51。程序中读入8位输入量并将其除以255得到光强度系数,这里用变量1d表示(变量范围0~1)。
得到光强度系数后就以这个数字为占空比输出PWM信号来控制光电耦合器。此步是在程序中通过调用计时器来实现,将输出口定于P1.3。依据日常用的日光灯频率将输出方波的周期定为50 Hz,因为50 Hz频率的光能让人眼感觉不到交流灯光的闪烁。将正波的时间跨度假设为1s,因此负波的时间跨度就为(1-1)s。正波时间跨度通过光强度系数乘以周期可得到。由此设置定时器,首先在程序中将定时器模式调为方式0,使用12 MHz的晶振,并通过中断响应来调用。
根据定时初值=,t是所需要定时的时间(ms),计算出初值为5 ms,然后以5 ms为一周期进行定时处理。因为频率50 Hz即周期为0.02 s,故需要对此定时器进行4次循环。本系统将循环的次数与定时器中断的次数相同步,即定时器中断一次算一次循环,这样就可以样就可以保证0.02s的周期长度。
输出方波的正负性,可以根据光强度系数乘以4得出的值来决定。当循环的次数小于这个数时,输出的是正波,当大于这个数时,输出的是负波。以此就可以输出频率为50 Hz并且符合相应光强度系数的方波来进行光电耦合器的控制。单片机将相应的PWM波从P1.3口输出,系统接收到后进行相应的判断,根据占空比大小进行相应的调整来决定输出电压的大小。当正波时间跨度大于一定的值时,即表示光强小,需打开灯。当正波时间跨度小于规定值时,表示光强足够大不需要打开灯。正波时间跨度在规定范围内时,目光灯正常工作。
3 系统测试
试验中用一个光强可变的独立光源照射光敏电阻(距离20 cm),光强由暗到亮逐渐变化,然后测试日光灯两端的电压,并在距灯管1 m处摆放一个光度计,测试光强;在灯管处接功率表,测试功率。在试验过程中,光敏电阻接收的唯一光源是独立光源,光度计接收的唯一光源是日光灯。测试数据范围为日光灯保持稳定光强的范围(170~245 V),测量次数为10次。测试结果如表1所示,表中光强数据为光度计10次测量的平均值,功率比为10次测量的平均功率值和未改装日光灯功率(40W)之比。
由表可知,该新型日光灯在满足使用者足够光强的前提下,节能效果显著。经反复调试,该灯接受光强较为灵敏,发光亮度变化范围较大,发光较为稳定,适宜广泛用于日常学习生活中。
4 结束语
本文设计了一种基于单片机的新型日光灯系统以解决普通日光灯因光强固定而产生的能源浪费问题。本系统通过对外界光强的采集分析,通过单片机控制日光灯的发出光强,使其根据外界环境的不同而做出相应调整。在满足使用者用光要求的前提下,极大地降低了日光灯的功率,节省了能源,适宜于推广使用。