关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于ATmegal 28的调光控制器方案设计

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

作者: 时间:2010-12-08 来源:网络 收藏


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所示。

本文引用地址://m.amcfsurvey.com/article/162595.htm


当串口中断被响应时,首先判断上位机的指令是读操作还是写操作。如果是写操作,返回同样的指令作为响应指令,根据指令改变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个按键快速地调节各个通道的灯光强弱。此外,通过上位机实现单个通道的独立调光、所有通道的快速调光以及灯光的闭环控制。

电子镇流器相关文章:电子镇流器工作原理


电子镇流器相关文章:


光控开关相关文章:
光控开关原理

声光控开关相关文章:声光控开关原理

上一页 1 2 下一页

关键词:收发器

评论


相关推荐

技术专区

关闭