dmx512控制器—DMX灯光控制系统应用设计方案
发布时间:2021-12-02 17:23
点击:次
DMX512灯光控制器目前在LED控制领域得到了已经了广泛应用,技术相当成熟,可靠性高,基于本文开发的控制系统目前已经实现产品化,产品已经在市场得到广泛应用。
下面我们就来一起看看这个方案的实现路径吧。
如图1为一典型的DMX灯光控制系统,PC主机通过灯光控制系统进行显示方案的设定并通过DMX控台输出给DMX控制系统。图中绿色部分为本文介绍内容,系统中的其他节点将在其他文章中进行介绍说明。
1、硬件实现
系统硬件框图如图 2系统硬件框图:
2、CPU模块功能描述
CPU模块是系统的主要部分,由CPU控制完成系统的全部功能,本系统采用PIC18F4431单片机作为控制器。外围电路由10M晶振提供时钟,同时作兼容设计,可由时钟芯片MAX7381直接提供时钟输入。电路如图 3外围时钟电路所示。
3、RGBW模块
本模块由CPU的PWM模块控制,实现对LED RGB全彩灯的控制,以实现不同的色彩显示方案。
本模块电路结构简单,对应的RGBW四路输出分别接在了CPU的四个PWM输出I/O管脚,由PWM模块输出相应的脉冲波形,以控制4个MOS管的打开和关断,从而得到不同的色彩方案。
4、按键模块
用于用户进行相关参数的设置,在当前版本中没有使用到本功能。每个按键通过上拉电阻上拉后直接接到CPU的I/O管脚即可。
5、无线接收模块
本模块用于接收来自配套的无线遥控器的控制信号,以方便用户进行相关参数的设定和测试。
本模块使用了台湾KEYMARK公司专用的无线收发套装芯片,该模块采用曼彻思特编码。本系统中为接收芯片,该芯片接口简单,只需要一个I/O即可实现信号的接收,并由软件来完成信号的处理。
6、RS-485模块
RS-485接收模块用于实现DMX512协议,DMX512协议使用的物理层接口即为RS-485接口。
本模块使用了通用485接口芯片MAX487用于实现RS-485接口与单片机的UART串口的电平转换。接口电路如图 4MAX487外围电路。
7、电源模块
本系统控制不但要为控制器内部供电,还要为外部RGB灯条供电,因此必须使用大功率电源,电源电压可支持多种规格的电源,48V,24V,12V等,并支持电压检测和过流检测。电源模块输入为AC 220V/50-60HZ。模块内部需提供5V和3V电源。5V使用HVLM2594转换得到,3V使用AS1117由5V转换得到,用于给无线模块供电。
8、软件实现
本系统采用PIC18单片机,编译器为PICC18 8.35PL2,C语言编程。系统软件框图如图 5系统软件框图。
其中:
1)无线接收模块由外部中断函数实现,实现曼彻斯特解码。
2)电压检测由A/D转换实现,用于检测供电电压,如果供电电压过低或过高则进入相应保护。
3)DMX数据接收由串口中断实现,由软件实现DMX512协议,检测到DMX512数据帧后,将数据放入缓存,并置相应标志位。
4)RGB输出由定时中断函数控制,定时时间到,置相应标志位,根据当前RGB缓存数据刷新RGB输出。