关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 光传感器ISL29004在智能照明控制系统中的应用

光传感器ISL29004在智能照明控制系统中的应用

作者:时间:2011-08-01来源:网络收藏

通过P87LPC768的PWM输出控制MOC3041的导通与关断时间比值来调节设备的功率,从而实现设备的打开、关闭以及亮度调节。
2.3 工作原理
在程序中通过定时中断读取4路的ADC输出,并转换为照度值;内部的ADC工作在模式2,分辨率为16,照度检测范围一般设为O~1 000 Lux即可满足一般的场所的照度检测要求。假设读取的ADC的输出为DATA,则可以通过以下的公式转换为照度值:


然后根据计算所得到的照度值进行调光控制;由于P87LPC768的PWM输出的占空比是根据计数映像寄存器CNSW的值和比较映像寄存器CPSWn的值确定,PWM输出保持高电平期间的MCU时钟脉冲数为(CNSW—CPSWn+1)。由此可见,CPSWn越大,则高电平维持的时间越短,则调光控制电路的T1导通时间也就越长,照明设备的亮度就越高;反之照明设备的亮度就越低。
在程序中通过比较得到的照度值E和标准照度值ES来调整CPSW的值,实现自动调光控制。CPSW的初值设为0,并在O~CNSW之间分为若干档,比如10档,得到每次CPSW的调整值△P=(CNSW-1)/10,以实现较为平滑的调整。计算出照度值后和标准照度值ES比较,如果小于标准照度值ES,则在当前CPSW的基础之上增加△P,直到达到CPSW的最大值(CNSW-1);如果大于标准照度值ES,则在当前CPSW值的基础上减少△P,直到CPSW的值为0,照明设备关闭。同时为了避免较小的照度变化导致自动调光,可以根据标准照度值确定一个调光允许的照度差值△ES,如果当前得到的照度值和上次所得到的照度值差的绝对值△E不小于△ES,才进行调光控制。


3 软件设计
主要包括主程序、定时器0中断服务子程序以及I2C总线数据传输程序模块。主程序完成P87LPC768以及ISL29004的初始化,照度采集以及调光控制在定时器0中断服务子程中完成。I2C总线数据传输程序模块详见参考文献,这里给出定时器0中断服务子程序的流程图,如图3所示。

图3中只给出一组ISL29004的照度采集以及调光控制电路的控制程序,由于系统中有4组,因此在定时器0中断服务子程序中,应该是按顺序依次通过I2C总线读取4组ISL29004的采集值并通过4个PWM通道进行相应的自动调光控制。


4 结 语
照明中照度检测的问题,提出一种基于ISL29004多路照度采集方案,并给出硬件结构、工作原理以及软件流程图。由于ISL29004内部集成了ADC,直接输出数字量,具有抗干扰能力强和低功耗的特点;并且可以编程灵活配置,又具备比较灵活的I2C总线接口,从而简化了照明控制设备的设计;使用准双向I2C总线缓冲器P82896对I2C总线进行驱动扩展以后,拓展了I2C总线的传输距离,实现了照明场所内的多路照度检测,从而可以对多个照明设备实行分区域控制,并且通过P87LPC768的PWM输出实现了自动调光控制,在节能的同时营造更舒适的照明环境。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭