基于ATmegal 28的调光控制器方案设计

2011-03-31 10:39:43来源: 互联网

引言
    节能是照明灯光控制中的一项重要指标。目前,存在模拟调光控制系统和数字调光控制系统。模拟调光控制系统包括模拟调光控制台(调光控制器)和模拟调光器。其中,模拟调光控制台输出O~10 V控制电压,通过模拟调光器的0~10 V接口调节其所带灯具的光强弱。数字调光控制系统包括数字调光控制台(调光控制器)和数字调光器。其采用的协议为DMX512控制协议,该协议的物理接口为RS485
    虽然数字调光控制系统有其优点,但由于成本在短时间内无法全部替代模拟控制系统,模拟调光控制仍占很大比率。现有的模拟调光控制台大多采用拉杆、旋钮、开关等对模拟信号进行变换,其控制精度不高,体积较大且只实现灯具通断控制,所以很有必要开发一种控制精度高、体积适中且可实现多种灯光效果变换的调光控制器。近几年来,PC机由于其图形化界面易操作性,在工业简单控制中常被使用,单片机的成本也逐渐下降。本文结合PC机和单片机设计了一种模拟调光控制器,通过上位机的调光软件可以实现多种灯光效果的控制。

1 总体设计
   
模拟调光控制系统总体设计如图1所示。PC上位机上运行的控制软件通过RS232串口发送控制命令,调光控制器根据给定的指令产生相应的0~10 V控制信号(256级)。通过可调光电子镇流器以及LED可调光驱动的0~10 V接口,根据相应的控制电压进一步控制相应灯具的亮度达到调光目的。此外,光强传感器采集现场的实时光强送入调光控制器,上位机通过指令读取光强并将其显示在控制界面上,再根据给定值对控制电压进行调节来实现灯光的闭环控制。本文重点研究调光控制器的设计方法。



2 硬件实现
2.1 单片机

    单片机采用Atmel公司基于AVR RISC结构的8位低功耗CMOS微处理器ATmegal28。它具有128 KBFlash、53个通用I/O口、4个灵活的具有比较模式和PWM功能的定时器/计数器、2个USART、8通道10位ADC(具有可选的可编程增益)、JTAG片上调试接口,以及6种可以通过软件选择的省电模式。通过将8位CPU与系统内可编程的Flash集成在一个芯片内,ATmegal28为许多嵌入式控制应用提供了灵活而低成本的方案
    ATmegal28可提供两个串口功能:一个串口用来与上位机通信;另一个串口则预留给DMX512数字控制方式,以便该控制器在日后既可以作为模拟调光控制输出O~10 V模拟控制信号,又可以作为数字调光控制器输出符合DMX512控制协议的数字控制信号。
2.2 电源模块
   
ATmegal28需要5 V供电,AD7226需要15 V供电以及10 V电压作为参考电压。外部电源采用15 V开关电源,对单片机的5 V供电及AD7226的10 V参考电压分别使用稳压芯片LM2940T-5及LM2940T-10实现。
2.3 按键模块
   
按键模块提供调光控制器上的调光快捷操作。4个按键分别为25%、50%、75%、100%调光,分别接到PE4、PE5、PE6、PE7外部中断引脚上。当按键被按下时,外部中断被触发。
2.4 串口模块
   
单片机的串口模块用来与上位机PC进行通信。由于PC机RS232串口的电平与单片机UART串口电平定义不一致,在此通过MAX232芯片进行电平转换。
2.5 A/D模块
   
光强传感器采用北京易盛泰和科技公司的YSCG-X新型光照度传感器,其量程为0~2000 lux,其输出为标准的4~20 mA。传感器的输出接入引脚PF0,在PF0引脚外通过电阻将电流转换为电压以便采样。由于A/D采样的输入最高为5 V,则该电阻应选249 Ω电阻。此外为了保证采样的准确性,在电路中加入电压跟随器。
2.6 D/A转换模块
   
D/A转换模块实际上是调光控制器的输出模块。采用ADI公司的AD7226产生0~10 V的电压。AD7226具有8位精度的4通道D/A转换器,最小分辨率为4 mV,可以满足设计精度的要求。每一个通道都有一个输入锁存器,可以对输入的数字量进行锁存,输出端带有输出缓冲放大器。D/A转换模块硬件电路如图2所示。


    其中,/WR为控制线,A0、A1为两条地址线,通过地址线可以选择不同的D/A通道。该控制器设计为具有12通道的输出,所以采用了3个AD7226芯片。数据线、地址线与单片机的接法相同,只是控制线/WR作为芯片锁存引脚与不同的单片机引脚连接,3个芯片的控制线分别连接PA4、PA5、PA6。

3 软件设计
3.1 变量定义
    该控制器包含12个独立的通道且要将现场采集的光强送给上位机显示,所以定义数组channelData[13]。其中,channelData[O]~chan-nelData[11]存储相应1~12通道的实际控制电压(0~255),channelData[12]存储传感器采样的现场光强。变量write_end表示channelData[O]~channelData[11]的值是否被修改,write_end=1表示修改完成。
3.2 主程序
   
上位机对调光控制器的控制通过串口中断实现,调光控制器上的快捷按键通过I/O外部中断实现,传感器的采样间隔通过定时器中断实现。3个中断的优先级为;定时器中断>I/O外部中断>串口中断。主程序流程如图3所示。


     当串口中断被响应时,首先判断上位机的指令是读操作还是写操作。如果是写操作,返回同样的指令作为响应指令,根据指令改变cha-nnelData[]中相应通道的值,并将write_end置1。如果为读指令,根据地址将channelData[]中相应通道的数据或者现场光强返回作为响应。
    当定时器中断被响应时,通过传感器采样现场光强。为了保证数据的准确,在算法中采用求16次采样的平均值作为有效值存入channel-Data[12]。
    当I/O外部中断被响应时,首先需要判断是否为按键抖动所致。如果为抖动,返回;反之,将channelData[O]~channelData[11]的值改为该快捷键代表的电压值,并将write_end置1。
    最后判断变量write_end是否为1。若write_end=1,则执行函数DAOperation(channelData,12),将channelData[O]~channelData[11]中对应的各通道值(O~255)以0~10 V电压输出,然后将write_end清0。

4 实验结果
   
当上位机调节通道1控制电压为2.5 V,通道1的实际测得电压如图4所示。从图中可知,实际电压为2.46 V,其中O.04 V的压降是由AD7226芯片引脚的100 Ω电阻引起的。


    在实际的测量中发现,未接电源时在该控制器中存在峰峰值为40 mV、频率为50 Hz的干扰电压,如图5所示。为了减小这种低频干扰,在D/A输出引脚接了一个47 μF的电容(见图2),并取得很好的效果。



5 总结
   
利用8位的ATmegal28单片机可以精确地实现多级可调的0~10 V控制电压,分辨率为40 mV。在调光控制器上可以通过4个按键快速地调节各个通道的灯光强弱。此外,通过上位机实现单个通道的独立调光、所有通道的快速调光以及灯光的闭环控制。

关键字:调光  控制  控制器  方案

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0331/article_5308.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
调光
控制
控制器
方案

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved