基于AVR的LED照明灯控制系统的应用设计
扫描二维码
随时随地手机看文章
1 LED照明灯控制系统原理
系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解析到的命令改变LED恒流源驱动的输入,从而改变LED灯的状态。
2 系统硬件设计
2.1 控制器
控制器采用AVR单片机ATmega8。ATmega8是Atmel公司在2002年推出的一款AVR单片机,采用小引脚封装。ATmega8内部集成 8 KB的可编程F1ash、512字节EEPROM和1KB内部SRAM;3个PWM通道,可实现任意小于16位、相位和频率可调的PWM脉宽调制输出;1 个可编程的串行USART接口,支持同步、异步以及多机通信自动地址识别;5种省电模式。本系统中,控制器ATmega8的主要作用为:解析红外信号,对 LED驱动器进行控制。
2.2 红外接收模块
红外接收模块主要器件采用IRM- 2368V,常用于家庭DVD、电视、空调等家电的遥控中。IRM-2368V具有以下特点:工作电压为2.4~6 V;灵敏度高,抗干扰能力强;能直接将遥控信号从载波中提取出来,输出匹配TTL、CMOS电平,可与单片机直接接口;遥控距离可达12m。图2为红外接收模块原理图。其中PD2复用为ATmega8的外部中断INTO,电源部分使用系统的5 V供电。
2.3 LED驱动模块
LED驱动模块采用HV9910集成芯片。它具有如下特点:高能效超过90%;8~450 V的宽电压输入;输出电流从几mA到1A可调;能驱动多达百个LED灯;PWM调节电流。图3是LED恒流源驱动原理图,该驱动电路为典型buck- boost转化器设计。驱动器中输入电源电压Vin=12V,驱动3~6个3 50mA高亮度LED灯。
HV9910工作时,内部振荡频率fosc由引脚Rosc上的电阻决定。本设计中Rosc取470 kΩ,将MOSFET管Q1的gate端开关频率设定为50kHz。R osc与fosc满足以下关系式(Rosc的单位是kΩ):
每个LED灯工作时压降约为3 V,当有3只LED灯串联在输出端时,驱动器输出电压Vled=91 V。可得LED满电流工作时Q1管的控制信号占空比D为:
Q1的导通时间Ton=D/fosc=8.6μs,输出电流Iled=350 mA,谐波电流抑制在30%以内,则可由下式得出电感L1的值:
本方案中L1实际使用1 mH。
R1上的反馈电压与HV9910内部比较电压250 mV相比较,若反馈电压大于250 mV,则关断Q1。由谐波电流关系式可求出R1:
3 系统软件设计
系统软件流程如图4所示。系统上电后,首先读取系统的状态配置,设定LED 灯的工作状态;然后进入休眠模式,定时器依然工作在PWD状态中。IRM-2368V的输出口与ATmega8的PD2口相连,休眠状态下该端口配置为中断INT0;中断唤醒后,关闭中断并将该端口配置为输入端口。
4 系统测试
在带负载(LED灯)的情况下,设定的PWM占空比与负载电流的实验结果如表1所列。可以看出,输出电流大小基本与PWM信号占空比呈线性正比关系。
结语
本方案利用红外遥控较好地实现了家用LED照明调光控制,ATmega8与红外遥控远距离控制的优势还可以得到进一步的发挥:ATmega8的3个定时器可配置为3路PWM输出,即可以控制3串LED灯,可以为多色LED照明与装饰照明提供支持;ATmega8强大的处理能力也可以为个性化的照明方案提供强大的支持;红外收发系统除了能发送控制信号外,还能将灯光控制方案传输给ATmega8,系统将可以自由地更换个性化的照明方案。