dmx512怎么编程,dmx512控台教程

dmx512怎么编程,dmx512控台教程

题图来自Unsplash,基于CC0协议

在LED驱动行业,有一种控制协议,用得比较多,它经常被工程师用来控制多个LED灯,比如LED舞台灯,LED装饰灯等等。

这种控制协议是什么呢?

答案是DMX512通信协议,它不同于工程师熟悉的IIC通信协议,SPI通信协议,CAN通信协议,可以应用到不同的行业项目。但DMX512通信协议,它只是应用在LED驱动行业用的比较多。

这里面可能会涉及到两个问题。

其一,DMX512通信协议到底是一个什么样的协议?这个问题,比较容易理解。工程师在开发LED相关项目,如果DMX512通信协议是个什么东西都不清楚,软件的代码程序怎么去做呢?对吧

其二,是否带有DMX512通信协议的LED驱动功能方案?既然在LED驱动行业有使用到DMX512通信协议,如果在开发LED驱动电路方案的时候,电路自身就携带DMX512通信协议,是不是一个电路就解决了两个问题呢?

01 DMX512AW芯片

DMX512AW芯片,它是一个能同时控制RGB三色LED灯的驱动芯片,并且还是恒流驱动,驱动的电流是可以自由设置的,范围在18mA ~ 60mA。

就单单这个功能,经常看芯片哥写的内容都知道,之前已经介绍过好几次类似的芯片方案了。如果再是这样,意义就不是很大了。

DMX512AW芯片

重点是,DMX512AW芯片,它能驱动RGB三色LED,还能具有支持DMX512通信协议功能。也就是说只要是带有DMX512通信协议的其他LED电路,都可以直接把DMX512AW芯片的LED电路串联进去。

DMX512AW芯片内部电路

其中,DAI引脚是DMX512通信的输入引脚,DAO引脚是DMX512通信的输出引脚。工程师就是通过这DAI引脚或者DAO引脚控制RGB三色LED灯的。

既可以控制颜色,也可以控制亮度。

02 DMX512AW芯片驱动LED电路

在DMX512AW芯片驱动LED电路,OUTR引脚、OUTG引脚与OUTB引脚分别通过一个限流电阻驱动LED灯。

DMX512AW芯片驱动LED级联电路

其中,LED灯的恒定电流,是由芯片的REXT引脚下拉的电阻R9和R10决定的。具体的关系可以参考

I = 18 +30000* VREXT / REXT,VREXT = 1.2V

比如R9和R10电阻阻值为1K,代入进去可以计算出电流为54mA。如果芯片的REXT引脚是悬空呢,还是一样,就相当于REXT的阻值为无穷大,电流基本就为18mA了。

输入的电源电压12V,经过一个限流电阻R1和R5,输入到芯片的VDD引脚提供稳定的电源5V。

为什么变为5V了,是因为它的内部有一个钳位电路,把12V转换成了5V。

这样芯片的DAI引脚和DAO引脚,它的控制信号逻辑电平就可以为5V了。至于其他的一些参数,小伙伴们可以重新浏览芯片哥之前的关于LED驱动文章,那里面已经介绍的比较详细了,就不再重复了。

03 DMX512通信协议

重点介绍一下DMX512通信协议内容。了解清楚它的协议,工程师才能开发出适合它逻辑控制的软件代码啊,才能开发出项目,才能解决实际的问题,才有意义。

如果工程师熟悉IIC通信协议或者SPI通信协议,就会发现,DMX512通信协议与这些协议都是大同小异的。

就开发实现起来而言,它们是一个数量级的难易程度,都是由一组数据包格式组成的。比如IIC通信协议,它的一个标准数据包就涵盖了

起始位、地址位、控制位、数据位、应答位、停止位等等。

与之类似,DMX512通信协议也是一连串的数据位组成的

DMX512通信协议数据包格式

工程师按照它的协议,也就是对数据包的功能定义格式,通过单片机的串口逐一地发送就可以了。比如DMX512通信协议,它就规定了

起始位、停止位、间隔位、信号数据位、复位位等等,以及每位的脉冲宽度时间要求。

在开发遇到DMX512通信协议,工程师可以直接参考和借鉴IIC通信协议即可。

请持续关注【芯片哥】,后面会定期更新有关于电子元器件和芯片,包括电子产品项目开发案例的相关内容。

本文地址:https://www.cknow.cn/archives/3746

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任,如有侵权请联系删除。特此声明!

题图来自Unsplash,基于CC0协议