恒照度自适应调光的LED驱动器设计
上限、无人模式和有人调光模式。恒照度算法在定时中断处理程序中实现。
图5 主程序流程图
3.2 调光算法设计
调光算法主要实现光照度信号的采集、数据处理运算并通过相应的算法实现实时跟踪补偿照度,从而实现平滑调光。TSL2561光照度传感器数字输出符合I2C 总线标准协议,实现光照度采集必须实现TSL2561通信。I2C总线标准协议的读写方法主要有硬件实现和软件模拟,由于PIC16F690控制器没有自带的I2C总线接口,故本文采用软件模拟实现的方法。
采集进来的数据经过TSL2561标准规定的数据计算后获得光照度,将采集进来的室内光照度与设定的标准值比较,计算出LED需要补偿的照度值,并转化为处理器内PWM寄存器的值,记为当前PWM值。将前PWM寄存器值记为 PWM原值。将PWM原值与当前PWM值不断比较递增或递减,使PWM输出以极小的步长跟踪当前PWM值,从而实现平滑调光。此算法还能解决启动跳变问题,使系统启动时PWM由零慢慢变化到当前PWM值。调光算法程序流程图如图6所示。
图6 调光算法程序流程图
3.3 运动控制和按键输入程序设计
运动控制采用红外热电释人体运动传感器,能够检测室内是否有人,通过判断人体的活动情况选择相应的照明模式。若有人则选择调光模式,若无人则关闭LED灯,进一步节能。
按键输入主要有模式切换键及增减键,模式切换键主要用于切换改变频率或者改变光照度的最大设定值。考虑到单片机的硬件资源和合理的调光需求,时钟预分频比设定为4,频率变化范围为10~100 kHz,光照度最大设定值根据多次测量各时间段的光照度选取合适的调节范围,故光照度最大设定值范围为350~500。
4 实验结果
本实验使用TSL2561光照度传感器、控制电路、驱动电路。LED负载为5颗1 W的LED串联,恒定电流为350 mA。系统的工作状态可分为有人和无人,当传感器检测为无人时,PWM输出关闭,此时LED灯串熄灭;反之,则根据室内光照度自动调节LED灯串的亮度。由于实验条件限制,室内光照度改由遮光窗帘遮挡窗户强光来实现。如果系统数据和波形与理论分析一致,则说明系统设计正确。理论计算公式如下:
式中,LUXF为反馈回来的光照度值。
表 1是在多云天气条件下测得的实验数据。系统根据不同的室内照度,调节PWM输出波形从而改变LED光亮度。由于室内照度计探头位置放置和TSL2561传感器有一定的偏差,故数据存在一定的误差。即在有人时,根据式(5)计算PWM占空比与示波器显示波形基本吻合;无人时,无论室内光照度值是多少,PWM 占空比均为零,LED不照明。将实验数据与理论值进行比较,考虑一定误差的情况下,基本吻合。输出部分PWM波形如图7所示,分别为室内光照为22.82 lx和317.08 lx时的PWM波形。
结语
通过实验证明,系统按照程序设计,能够很好地进行恒照度控制;运动控制在无人时自动关闭,一旦检测到有人活动时,马上进行恒照度控制。同时系统设置了调节调光频率和最大光照度值,能够根据不同要求做适当的改变。恒照度自适应调光和人体运动控制有效实现了节能要求。
- 基于PIC16F690的直流无刷电机驱动器设计(07-17)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)
- LED向“绿色”转变需要高性能LED驱动器(08-17)
- 省电、高亮度LED需要高性能LED驱动器(08-16)
- LED照明的操作要求对驱动器IC性能构成压力(08-17)
- 大电流/高速LED驱动器彻底改变了PWM调光(08-19)