青少年近视的产生可能与照明灯的频闪有着一定的关系。通常接入单相交流电路的日光灯发出的光的波动达55%;白炽灯由于钨丝的热惯性较小,钨丝温度随着交流电发生周期性的变化,灯光也会以每秒100次的频率闪烁,只是其光的波动要小得多,仅为5%一13%。对于那些使用电子整流器的日光灯或电子节能灯,当交流整流电路部分使用的滤波电解电容器容量较小或失效时,其频闪也是很明显的。由于白炽灯的频闪很小,所以用白炽灯作台灯对保护视力有利。通常使用的调光台灯通过晶闸管改变50Hz交流电的导通角来调节亮度,当交流电的导通角较小时频闪就比较明显了,如下图所示。
本文介绍的单片机高频调光台灯把220V5OHz交流电转换为2000Hz的脉冲直流电点亮灯泡,通过改变脉冲直流电的占空比来调节灯光的强度,由于脉冲周期远远小于灯泡钨丝的冷却时间,灯泡发光强度不会有周期性的变化。因此从根本上消除了视觉频闪的现象,对眼睛起到保护作用。
硬件电路设计传统的调光台灯典型电路见下图。
主电路由开关S、灯泡H、双向晶闸管VS、电感L等组成。
电位器RP、电阻R1、电容C1和双向二极管VD组成双向晶闹管触发电路。当C1上的充电电压达到双向二极管VD的导通电压阈值时,触发双向晶闸管VS导通;当电压过零时VS自动关断。
调整电位器RP的阻值可调整C1的充电速率,即调整双向晶间管的导通角,从而调节灯的亮度。
从上面传统调光台灯的原理我们可以看出,其本质就是通过改变灯泡通、断电的时间比来改变灯的亮度。受此启发,我们如果在灯泡上加上直流脉冲电压,通过调节直流脉冲电压的占空比同样可以改变灯的亮度。本文介绍的单片机高频调光台灯就是采用了这样的原理,它采用两个按键来调节灯的亮度。电路见下图,由单片机电路、输出电路和电源电路等部分组成。
单片机使用 ATMEL 公司的ATmega8L(以下简称M8L),因采用内部RC振荡器作时钟源,使其外围电路变得很简单。由于M8L的工作电压直接从300V直流高压降压获得,为了减小降压电阻的功耗,必须设法降低M8L的工作电流,方法一是降低工作电压,取工作为 3V;方法二是降低时钟频率,采用内部RC振荡器lMHz的最低时钟频率。采取这两个措施后实测M8L的工作电流约为 2.3mA。
电路的工作原理是这样的:由M8L的PBI输出PWM信号经VTI反相并变换电平幅度后推动场效应功率管VT2,使灯泡H点亮发光。VTI输出高电平时VT2导通,灯泡通电 VTI输出低电平时VT2截止,灯泡断电。因此脉冲信号占空比改变时灯泡通电和断电的时间比也跟着变化,调节脉冲信号占空比就可以调节灯的亮度,达到了调光的目的。当接下S1 时,PBI输出PWM信号占空比减小,VTI输出的PWM信号占空比增加,灯泡亮度增加;反之,按S2灯泡亮度减小。
由于220V交流电经整流后,C2可以得到约300V的直流电压,因此VT1输出的PWM 占空比不能调到接近100%,否则额定工作电压为220V的灯泡加上近300V的直流电压会很快烧毁。为了防止这一现象的发生,在程序上采取了措施,使得接下S1时占空比最大只能调到55%,这时灯泡的功率和接在220V交流电上的功率一样。
软件设计程序使用ICC AVR C语言编写,由主函数、外部中断0函数、外部中断1 函数和延时函数等部分组成。
源程序代码如下:
# include < iom8v. h>
#define uchar unsigned
char
char k;
void DelayM s (char i ) //
延时函数,参数 i为延时时间 (ms)
{ char j ;
for ( ; i ! = 0 ; i-- )
{ for ( j = 143 i j ! = 0 ; j --
) ; }}
# p r a g m a
Interrupt_handler INT_0:2
//外部中断0 函数
void INT_0 (void)
{ if ( k ! = 140)
k= k+ 5 ;
OCRIA=k;//设置PWM参数
DelayM s ( 2 0 0 ) ; }
# p r a g m a
Interrupt_handler INT_1;3
//外部中断 1函数
void INT_1(void)
{ if (k!= 5)
k= k-5 I
OCRIA=k;//设置PWM参数
DelayM s ( 2 0 0 ) i }
void main(void)//主函数
( DDRD= Ox0 O ;
PORTD= Oxff;//设置 PD 口
为带上拉电阻的输入口
DDRB= Oxf f ;
PORTB= Oxff;// i殳置 PB 口
为推挽 1 输出
SREG=Ox80://开全局中断
GICR=OxcO;//开外部中断
TCCRIA= OX c1 ; / / 8 PWDI,
向上计数置位OCIA,向下计数清零
OCIA
TCCRIB= OxOl://时钟 1 分
频,p附 信号频率为 IM/512 ~~ 2kHz
for ( k= 5 : k ! = 115 : k= k+ 5 )
//软起动到初始亮度
{ OCRIA= k; / / -i; I PWM
数
Delays ( 100 ) ; )
whi le ( 1 ) ; }