接口/总线/驱动
目前, 在装饰照明领域中, 由于LED 具有节能、使用寿命长、成本低廉、色彩丰富等优点, 正在被逐步推广, 但是其也存在着扩展性差、图案编辑周期长、不灵活、施工维护不方便等缺陷, 这给工程应用带来困难。为了能够有效地解决这些问题, 设计了一种新型的基于网络总线控制的LED 彩灯控制系统。该系统结合CAN 总线与RS485总线的优点, 具有通信距离远、控制可靠稳定等优点。彩灯节点通过网络连接,易于扩展, 能够充分展现LED灯光的魅力。同时, 通过PC上位机对动、静态光效进行设置, 可实时仿真实际显示效果, 提高了彩灯控制系统的控制质量, 具有很强的可编程能力及交互性, 便于工程应用。
在自动化领域, 随着分布式控制系统的发展, 迫切需要一种总线能适合远距离的数字通信。为此,E IA 在RS422标准的基础上, 研究出了一种支持现场总线完整地实现了控制技术、计算机技术多节点、远距离和接收高灵敏度的RS485总线标准。RS485总线是工业领域广泛应用的LSO /OS 模型物理层标准协议之一, 采用平衡式发送、差分式接收的数据收发器来驱动总线。利用RS485总线构成的网络, 其设备间的相互通信, 需经过“主” 设备中转才能实现,这个主设备通常是PC 机。由于在这种网络中只允许存在一个主设备, 其余全部是 “从 ”设备, 因而存在通信的吞吐量较低、实时性较差、从机的系统开销大且从机间通信难度大等缺点。
CAN 总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线, 通信介质可以是双绞线、同轴电缆或光导纤维, 通信速率可达1Mb / s, 通信距离可达10Km。CAN 协议的一个最大特点是废除了传统的站地址编码, 而代之以对通信数据块进行编码, 使网络内的节点个数在理论上不受限制。由于CAN 总线具有较强的纠错能力,支持差分收发, 因而适合高干扰环境, 并具有较远的传输距离。
系统框图如图1所示。系统由三层结构组成,最高层为PC 上位机, 第二层为CAN /RS485 中继器, 第三层为彩灯现场控制器。PC 机与CAN /RS485中继器之间通过CAN 总线进行高速数据交换, 速度可达1Mb / s; CAN /RS485中继器将数据进行解码, 通过RS485网络分配给各个彩灯节点控制器以进行彩灯表演控制。
图1 系统总体结构图
上位机软件采用MFC 编写, 提供了交互界面以供用户使用。用户可以根据实际需要的特定效果方便的设置彩灯样式及布局, 软件能够自动计算每个控制单元的动态颜色数据, 最终生成用于表演的光效播放文件。同时, 使用该文件可以在PC 机上进行实时仿真, 便于验证设计效果, 减少了现场维护成本。
网络传输控制是系统的核心, 主要实现数据分级传输, 具有扩大通信距离, 增加所带彩灯节点数目等功能。使用CAN 总线与RS485总线分级网络传输具有传输速度快、自动解决总线竞争、实时性好、可靠性高、纠错能力强、噪声抑制能力强等优点。
LED彩灯一个节点由四组LED 组合而成, 每个组合分别有R、G、B三色LED 各四个按照混光原理排列。节点控制器采用PWM进行LED调色及灰度控制, 使得调色范围广, 灰度等级多, 控制性能良好并且成本低廉。
该系统硬件主要由电源供电模块、CAN /RS485中继器模块与LED 彩灯控制模块以及两级总线网络接口等部分组成。
如图2所示, 系统分两路电源, 一路5V 给芯片供电, 一路15V 给LED 组合供电, LED 单色由四个LED串联, 由于每个LED 压降约为2 ~ 3V, 使得LED供电需要较大的电压, 所以系统设计采用15V供电。由于系统配电为24V 开关电源, 需要稳压器件前端加稳压管以降压, 并且串联磁珠以隔离外界干扰。5V 电压部分经过DC 隔离模块可产生完全隔离的另一路5V 电源, 给CAN 收发器隔离另一端供电。
图2 电源供电电路
ATM ega128 是ATMEL 的一款具有128K 可编程FLASH和4K SRAM 的8位微处理器, 作为中继器模块的主控芯片, 完全能够满足系统需要。
CAN 总线控制器SJA1000 是一个独立的CAN控制器, 它与PCA82C200的硬件和软件兼容, 具有一系列先进的功能, 特别适合系统优化、诊断和维护等方面的应用。SJA 1000有两种不同的操作模式:
BasicCAN 模式和PeliCAN 模式。笔者采用的是Pe liCAN模式, 该模式能够处理所有CAN2. 0B 规范的帧类型。
单片机通过软件实现SJA1000 的初始化, 控制SJA1000实现数据的接收和发送等。ATMega128与SJA1000的电路连接如图3所示。
图3 CAN /RS485中继器模块电路
SJA1000 通过一条串行数据输出线TXD 和一条串行数据输入线RXD 连接到AT82C250 收发器,AT82C250通过两个有差动接收和发送能力的总线终端CANH 和CANL连接到总线线路, 如图3所示。
为了增强总线节点的抗干扰能力, SJA1000的TX0、RX0并不直接与82C250的TXD、RXD相接, 而是通过高速光耦6N 137隔离相接, 很好地实现了总线上各节点间的电气隔离。此时, 光耦两端的电源必须隔离, 如图2所示, 采用DC隔离模块实现。这虽然增加了接口电路的复杂性, 但却提高了节点的稳定性和安全性。
中继器的另一端是RS485网络, 节点收发器采用MAX487, 可以连接128个节点, 笔者在实际硬件中设计一个中继器连接32 个彩灯节点。接口电路如图3所示。
LED控制模块中, 每个节点采用AT89C2051 作为微控制器, 收发器接口选用MAX487。AT89C2051接收中继器发来的数据, 进行解码后产生控制数据,对每一个LED组合进行PWM 调光。每个彩灯节点有四组LED组合, 每组包含R、G、B三色混合, 因此共需要12路PWM 信号。如图4所示, 单片机三路PWM 信号经过ULN2003 驱动LED 串, 串联回路中必须串联电阻以限流, 否则会烧坏LED。
图4 LED控制模块结构图及驱动电路
彩灯控制系统软件设计主要包括三大部分: PC机生成彩灯动作文件、中继器数据传输控制以及LED调光控制软件。其中PC软件采用V isual Stud io 2005设计, CAN /RS485中继器软件采用W inAVR 2008设计, 彩灯控制节点模块软件采用K eil设计。
PC机界面是用户进行彩灯光效设定的交互平台, 该平台上具有所有的设定、编辑和预览功能。设定参数主要包括CAN 总线通讯参数设置, 彩灯的动作方式、显示模式、过渡效果、过程时间以及静态图片与动态图片的选择等。编辑是通过选择相应的刷笔, 同时设定线型、线宽等参数来编辑图片的属性。
上位机软件支持提前效果预览, 点击实时仿真即可对选中的或编辑的图片进行效果仿真。最终点击生成光效文件按钮生成数据文件包, 最后点击发送文件按钮进行传送。PC软件界面如图5所示。
图5 PC机交互平台界面
中继器是系统中数据传输的枢纽, ATMega128采用查询的方式判断和接收CAN总线上的数据, 如果是广播则直接转发, 如果是自己的数据包则先接收, 直到收到结束帧。确保数据接收完整之后, 首先进行光效数据文件解码, 然后转换成RS485协议数据包, 最后才启动串口通过RS485协议将数据发送至下层RS485网络。其软件流程如图6所示。
单片机通过程序可以实现驱动PWM 信号的周期及占空比的调制。通过RS485 总线接收上位机发送的光效文件并转换成占空比参数, 来实时控制每一个LED组合。LED是一个非线性控制对象, 实际调光过程表明调光是离散的, 事实上即使再细化控制占空比仍然无法做到连续, 只能更平滑。为了避免LED闪烁, 系统固定频率为500H z, 占空比在1% ~ 100% 之间变化。彩灯节点控制软件流程如图6所示。
图6 中继器及彩灯节点控制流程
结合CAN总线与RS485总线的优势, 设计了一种新型的具有三层结构的LED 彩灯控制系统。与当前大多数LED 彩灯相比, 该LED 彩灯控制系统不仅人机交互方便、操作灵活、使用寿命长、数据传输可靠、通信速率高、可扩充性强, 而且还具有更高的性价比、更好的装饰效果等优势, 是一种值得推广并且很有应用前景的彩灯控制器。
全部0条评论
快来发表一下你的评论吧 !