基于单片机的多媒体灯光控制系统
2015-02-02于祥勇黄雪梅张磊安姚锦恺
于祥勇,黄雪梅,张磊安,姚锦恺
(山东理工大学 机械工程学院,山东 淄博 255049)
引言
灯光控制系统通过单片机控制LED灯按照信号指令产生强、弱、明、暗、色彩、图案等多种效果[1-2]。主要体现在两方面:一是亮度,即光强的控制,二是色彩的控制。色彩控制主要利用RBG三原色混合调色原理,每个LED组合灯由36颗LED小灯组成,可以展示出红、绿、蓝、白四种色彩。每种色彩有256级灰度,理论上可产生256×256×256种色彩变化。本项目中,灯光控制是通过DMX512 通信方式对亮度和色彩进行实时控制,并与鼓风机、烟雾发生器、投影机等设备相互配合,以产生动态的场景控制效果。场景调用和设备联动通过控制器与PC机通信实现,PC机与控制器通过RS485串口相连,通过发送场景编号与设备控制信息来实现场景的切换操作。
场景变化的控制通过软件编程实现,单片机型号为XC164CS-16F,它是英飞凌公司开发的16位微控制器,其强大的片上资源能保证运算的需要[3]。整个系统涉及到的通讯协议主要有:RS-485总线协议和DMX512协议。其中RS-485协议用于上位PC机与控制器通讯、控制器与外围设备通信,DMX512协议用于控制器与LED灯之间的通讯。
1 通信协议
1.1 DMX 512通信协议
DMX512数据传输采用异步串行格式,能够连续传输包括复位信号、开始代码和1-512通道数据信号的数据包,每个DMX接口最多控制 512个通道[4-5]。一个完整的DMX512 数据包如图1所示。
图1 DMX512信号格式Fig.1 DMX512 signal protocol
图1中,1为复位信号,表示一个新数据包的开始。2为复位后标记,所有的DMX512发送器将产生一个复位后标记。3为字段,DMX512字段应被顺序传输,每个字段包括起始位(4),数据位(5-最低数据位,6-最高数据位),停止位(7,8)。9为字段之间的占(空闲),在所有的空闲时间,数据线都应保持在占状态。10为复位前标记(数据包之间的数据线状态),一个数据包最后字段的第2个停止位与下一个数据包的复位信号下降沿之间的时间,可以在最小和最大值之间变化,在该时间内,数据线应保持占状态。11为复位信号间的间隔,12为复位序列。在数据链路上发送的任意类型起始码、任意长度的数据包,均应以复位序列开始,即复位信号、复位后标记和起始码。13为起始码(字段0 数据),零起始码用来标识后续字段为无类型的串行8比特信息。由零起始码标识的数据包是在DMX512网络中发送的默认数据包,零起始码数据包中不包括数据类型和地址结构。
以第0字段开始,以需传输的最后字段结束,最多可传输512个字段。第一个字段传送前应发送复位序列。有效的DMX512数据字段值为十进制0~255,每个字段的格式如表1所示,没有发送校验位。
表1 字段格式表Table 1 field format table
1.2 DMX 512协议软件实现
在该灯光控制系统中,DMX512信号通过单片机串口实。250kbps波特率设定通过XC164CS单片机的重载寄存器完成。在初始化软件配置中,串口通信的每个字节格式也设置为8位数据帧+2个停止位,8个数据位,无校验。DMX512协议的复位信号、复位前标记和复位后标记均属于普通IO口输出,采用串口通讯引脚的IO复用功能,具体是通过单片机串口通讯引脚P3.10(TxD)和P3.11(RxD)实现,复用功能寄存器选择ALTSEL0P3。
根据以上定义,通过XC164CS单片机模拟发出的DMX512协议信号,示波器测量的波形如图2所示。
图2 DMX512协议实现效果Fig.2 DMX512 protocol achieve effect
1.3 RS485协议
整个控制系统中,投影仪的控制、上位机与单片机的通信、LED灯光控制信号的传输均通过串行端口实现,采用RS485协议。其中,单片机串口外接RS485电平解码芯片。
RS485接口采用平衡驱动器和差分接收器的组合,具有很好的抗噪声干扰性,最大传输距离标准为1200 米(9600bps )[6-7]。RS485总线具有多机通信功能,总线上容许连接多达128 个收发器,可以利用单一的RS485 接口建立起总线网络。RS485 接口均采用双绞线传输,一般只需二根信号线就可组成半双工网络,其总线节点以“雏菊链”或总线拓扑方式联网,每个节点都通过较短的线头连接到主线缆。RS485 的国际标准并没有规定接口连接器标准,采用接线端子或者DB-9、DB-25等连接器均可以。RS485总线采用主从工作方式,总线上只能允许一个节点处于发送状态,其他节点处于接收状态。若总线上有两个节点同时处于发送状态,可能会导致通讯紊乱,需要通过方向控制信号(例如驱动器/接收器的使能信号)控制节点操作,以确保任何时刻总线上只能有一个驱动器在活动,必须避免多个驱动器同时访问总线而导致总线竞争。
2 场景人机界面设计
为了完成对多媒体灯光的场景控制,基于Labview软件强大的编程功能,编制了上位机场景人机设置界面,如图3所示。
人机界面结构共分为四个功能模块:操作输入处理模块、表格编辑模块、代码转换模块和通讯模块。操作输入处理模块根据要求将各种场景变化分解为可操作的具体表格元素,每个场景可分为若干个场景变化段,每个场景变化段包含多个LED灯光效果。表格编辑模块可对生成的表格进行新建、插入、删除、保存、打开等操作,其记录了所有的场景变化过程。代码转换模块将表格操作信息通过算法转为8通道LED灯能够接收的信号代码,生成的信号代码如图4所示。
图3 多媒体灯光控制界面Fig.3 Multi-media light control interface
图4 信号代码表Fig.4 Signal code table
通信模块采用RS485协议,负责完成与下位机的实时通信。
3 试验研究
该系统主要实现两个内容:一是展示过程中伴随的灯光场景实时变化,具体场景共有8个部分:S1星辰,S2宇宙光效,S3穿梭进入地球,S4被污染的地球,S5角色诞生,S6角色舞蹈伴随植物生长,S7出现绿色地球,S8互动展示。二为媒体设备控制及总控制台设计,环境灯光由9只LED组合灯供给,每个LED组合灯为108瓦。环境风雨效果则使用1-2个鼓风机风扇,1个烟雾发生器,其它需控制的设备有12台投影机,4台拉幕和1个互动控制台。
LED灯通常具有几个到几十个功能,即一台LED灯占用几个至几十个控制通道。通道是指控制回路在某个LED灯上的一个集合,具体是指某个LED灯被单独控制(比如:聚焦、频闪、变色等)而占有的调光输出回路。本文选用的LED组合灯通道列表如表2所示。
表2 LED组合灯通道列表Table 2 LED light channel list
限于篇幅,本文仅给出该控制系统产生的部分LED灯光效果图,分别产生红、紫、绿和黄四种颜色,如图5所示。现场试验证明,通过该控制系统能产生任意色调变化,同时可保证任意色彩的频闪控制,达到了理想的控制效果。
图5 现场控制效果图Fig.5 Field control effect
4 结论
以多媒体灯光控制系统的特点和性能为研究基础,分析了其功能实现所必需的硬件、软件结构,取得了以下几点成果:
1)开发了以英飞凌XC164CS单片机为控制核心,以两级网络总线为骨架的多媒体灯光控制模式。
2)开发了基于混合总线的下位机控制系统,将其分成若干个相对独立的功能模块,便于系统的调试和扩展。
3)设计了基于DMX512通讯协议的LED灯光控制系统,实验证明,该系统可实现多种灯光效果的控制。基于RS485总线协议完成了上位机场景界面的模块化设计,满足了多种场景的变化需要。
4)成功将所设计的多媒体灯光控制系统应用于实际,实现了项目研究→开发→调试→维护的整个过程。
[1] 黄以华,廖世文,刘燕林,等.基于DMX512协议的LED灯具控制系统[J].照明工程学报,2009,20(4):48-53.
[2] 易理告.基于嵌入式系统的24通道舞台电脑灯控制系统的设计[D].广东工业大学,4-6.
[3] 吴志红,朱元,王光宇.英飞凌16位单片机XC164CS的原理与基础应用[M]. 上海:同济大学出版社,2006.
[4] 韩振雷,齐立森.DMX512灯光控制协议的传输特性及应用要点分析[J].灯与照明,2009,33(1):44-47.
[5] 梁艺,周卫星,陈炳锐.基于DMX512协议的灯光控制信号无线传输设计[J].单片机与嵌入式协议应用,2009,7:46-48.
[6] 郝铭,刘景泰,卢桂章.基于RS485总线分布式智能控制系统的设计与实现[J].自动化与仪表,2005,(2):23-25.
[7] 刘富强.单片机在多媒体系统中多功能控制卡的应用研究[J].东南大学学报,1998,(3):66-70.