基于51单片机的新型节能日光灯系统的设计
单片机编程主要包括初始化程序、光强采集处理程序和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 结束语
本文设计了一种基于单片机的新型日光灯系统以解决普通日光灯因光强固定而产生的能源浪费问题。本系统通过对外界光强的采集分析,通过单片机控制日光灯的发出光强,使其根据外界环境的不同而做出相应调整。在满足使用者用光要求的前提下,极大地降低了日光灯的功率,节省了能源,适宜于推广使用。
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)