多点矩阵控制系统多点矩阵控制系统包括软件部分和硬件部分,下面主要介绍下硬件设计部分。

1多点矩阵控制系统

多点矩阵控制系统原理主要是通过控制电机来达到相关的效果,在视觉上有冲击感,给人印象深刻。

该系统主要由硬件和软件两大部分组成,硬件部分包括主控器,中继器和驱动器,软件部分包括客户端,协议,主控程序和驱动程序等。

2多点矩阵控制系统构架

其构架图如图1所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(1)

图1 多点矩阵控制系统架构

3硬件部分

3.1主控器

主控器的功能主要是接收客户端发送的指令,通过USB来进行通信,目前主控这部分

采用的是STM32F103CB,其主要参数指标如图2所示:

其工作电压是0~3.6V,最高工作频率可达72MHz,所对应的接口有USB2.0,3路UART,2路IIC,2路SPI以及还有CAN,其Flash为128Kbytes,SRAM为20Kbytes。

在能耗方面具有三种工作模式:睡眠模式,待机模式和停止模式,其模式的设置可以详见手册。

机械矩阵控制原理(大神分享多点矩阵控制系统)(2)

机械矩阵控制原理(大神分享多点矩阵控制系统)(3)

图2 STM32F103CB 参数特点

其主控的MCU部分原理图如图3所示,其工作电压为是3.3V,工作温度范围:-40~85℃。在功耗方面也很低,工作模式下电流约为50mA,待机模式下电流约为300uA。这里把需要能用的通信接口都预留出来,方便后期开发。

机械矩阵控制原理(大神分享多点矩阵控制系统)(4)

图3STM32F103CB

3.1.1串口转485

485的接口IC采用的SN75176A,性能方面优于MAX485,具体表现如表1所示:

表1 SN75176A与MAX485对比

SN75176A

MAX485

工作

电压

工作

温度

接收使能到高

接收使能到低

工作

电压

工作

温度

接收使能到高

接收使能到低

0~7V

0~70℃

10ns

12ns

0~12V

0~70℃

20ns

20ns

SN75176A内部逻辑见图4

机械矩阵控制原理(大神分享多点矩阵控制系统)(5)

图4SN75176A内部逻辑图

MAX485内部逻辑见图5

机械矩阵控制原理(大神分享多点矩阵控制系统)(6)

图5MAX485内部逻辑图

由图4和图5可见,内部逻辑大体类似。

UART转485电路如图6所示:接口做了防静电处理,静电等级空气8kV,接触6kV,对应的自恢复保险丝能够起到良好的保护作用。

机械矩阵控制原理(大神分享多点矩阵控制系统)(7)

图5UART转RS485

3.1.2TF卡

考虑到后期会用到脱机工作的需求,所以可以将程序保存在TF卡里,MCU通过SPI的通信方式将命令读取来执行相关的动作。TF卡如图6所示

机械矩阵控制原理(大神分享多点矩阵控制系统)(8)

图6TF卡引脚说明

其电路如图7所示,工作电压是3.3V

机械矩阵控制原理(大神分享多点矩阵控制系统)(9)

图7TF卡SPI通信方式

3.1.3BOOT选择启动方式

BOOT的启动方式有用户闪存,ISP下载以及内部的RAM,通过BOOT0置零和置1来选择对应的启动方式,具体见图8所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(10)

图8 BOOT启动方式的选择

3.1.4MicroUSB接口

通过该接口可以和上位机进行通信,收发命令。接口防静电采用了TPD2E001DZDR通过它可以有效地抑制静电干扰,保护了后级主控MCU。电路如图9所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(11)

图9Micro USB接口

机械矩阵控制原理(大神分享多点矩阵控制系统)(12)

3.1.5DC TO DC

该主控器是采用了外部适配器供电,适配器规格为AC220V TO DC24V2.5A,该MCU的工作电压为3.3V,SN75176A的工作电压为5.0V,所以先将24V通过AP1509稳压出5V,然后见5V通过LDO稳压出3.3V,具体如图10所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(13)

图10 DC TO DC

3.1.6下载接口

该MCU具有两种下载接口模式,分别为JTAG和SWD,为了操作简便,使用起来更加便利,因而采用了SWD的方式,SWD下载线的定义为:VCC,SWDIO,SWCLK,GND。具体如图11所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(14)

图11 SWD下载接口

3.1.7复位电路

该复位电路是在关键时刻能起到复位作用,通过按下按键,复位口检测到低电平,然后触发MCU进行复位操作,电路具体如图12所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(15)

图12复位电路

3.1.8指示灯

该指示灯可以通过程序来控制灯的亮灭,从而知道程序是否有响应等等,其状态可以自由定义,很便捷。具体如图13所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(16)

图13指示灯

3.2中继器

中继器的功能主要是将一路485分成8路485输出,保证其每一路的输出能力,能够将承载的设备最大化。

机械矩阵控制原理(大神分享多点矩阵控制系统)(17)

机械矩阵控制原理(大神分享多点矩阵控制系统)(18)

机械矩阵控制原理(大神分享多点矩阵控制系统)(19)

图14 一路分多路输出

在输入口通过SN75176A识别485接口,然后转换成串口来发送信号,其供电方式是采用了AP1509,其最大输出电流可达2A,完全满足要求,具体如图15所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(20)

图15 分路供电

在接收到分路信号后,需要通过光耦进行隔离处理,然后再通过SN75176A转换出485电器接口,总共有8路输出,单路两路如图16所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(21)

图16 两路485接口

为了保证每两路都有足够的工作电流,而不浪费资源,采用AP1509能够足够的提供每两路的工作电流,具体电路如图17所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(22)

图17 每两路供电部分

3.3驱动器

驱动器的功能主要是驱动步进电机的正转,反转,转动角度,速度调节等。

3.3.1 主控MCU

该MCU采用的和主控器上的是一样的,方便后期物料管理方便,详细参数就不一一罗列,具体可见图18所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(23)

图18 驱动器主MCU STM32F103CB

3.3.2 驱动电路

该步进电机驱动采用的是TI 的DRV8825,其工作电压范围:8.2V~45V,最大可达2.5A的驱动能力,在步进电机驱动控制方面应用比较广,可以达到32细分。电路图如图19所示

机械矩阵控制原理(大神分享多点矩阵控制系统)(24)

图19 步进电机驱动

细分模式选择如图20所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(25)

图20 细分模式选择

3.3.4 RS485转UART

RS485通过SN75176A转换成UART,把数据发给MCU来做处理。如图21所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(26)

图21 RS485转UART

3.3.5 DC TO DC

该驱动器采用独立的适配器供电,电源是AC220V~DV24V2.5A,稳压方式和主控器是一样,具体如图22所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(27)

图22 DC TO DC电路

3.3.6 BOOT启动方式选择

BOOT通过选择0或1来切换启动方式,具体如图23所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(28)

图23 BOOT启动方式选择

4软件部分

4.1客户端

客户端只要是将图片的灰阶度转换成对应的ID和数据,然后通过USB接口传送到主控器,经过主控器识别解码后,再生成DMX512的数据格式来通讯。在客户端的图片采集其每个对应的ID的图片值,也就是灰度值,通过灰度值来确定电机要转的圈数。举例如图24所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(29)

图24 举例图

灰度色值表如图25所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(30)

图25 灰度色值

4.2协议

DMX 是Digital MultipleX 的缩写,意为多路数字传输(具有512条信息的数字多路复用”)。DMX512控制协议是美国舞台灯光协会(usITT)于1990年发布的灯光控制器与灯具设备进行数据传输的工业标准,全称是USITTDMX512(1990);DMX512 在其物理层采用EIA-485差分信号,结合可变尺寸,基于分组的通信协议。它是单向的。DMX512不包含自动错误检查和纠正功能,因此不适用于危险应用,如烟火或舞台装置的移动。电磁干扰,静电放电,不正确的电缆端接,电缆过长或电缆质量都可能造成虚假触发,但是在连接控制器(如照明控制台)与调光器和特效设备等都有广泛应用。

4.2.1 DMX512指令帧介绍

每一个DMX 控制字节叫做一个指令帧,称作一个控制通道,可以控制灯光设备的一个或几个功能。一个DMX 指令帧由1个开始位(S)、8个数据位(D0-D8)和2个结束位(E)共11位构成,采用单向异步串行传输,如图26所示。

机械矩阵控制原理(大神分享多点矩阵控制系统)(31)

图26 DMX512 定时程序的帧结构(上图)和信息包结构

图26 中虚线内控制指令中的S 为开始位,宽度为一个比特,是受控灯具准备接收并解码控制数据的开始标志;E为结束位,宽度为两个比特,表示一个指令帧的结束;D0~ D7为8 位控制数据,其电平组合从00000000一11111111 共有256个状态(对应十进制数的0~255),控制灯光的亮度时,可产生256个亮度等级,0000~ (0)对应灯光最暗,11111111(255)对应灯光最亮。DMX512指令的位宽(每比特宽度)是4 us,每一个指令帧11位,故指令帧宽度为44 us,传输速率为1/44us = 250kbps。

4.2.2 DMX512信息包

一个完整的DMX512信息包(Packet)由一个MTBP位、一个Break 位、一个MAB位、一个SC 和512个数据帧构成,如图27所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(32)

图27 数据帧

MTBP(MarkTimeBetween Packets)标志着一个完整的信息包发送完毕,是下一个信息包即将开始的“空闲位”,高电平有效。Break为中断位,对应一个信息包结束后的程序复位阶段,宽度不少于两个帧(22 比特)。程序复位结束后应发送控制数据,MAB位,由于每一个数据帧的第一位(即开始位)为低电平,所以必须用一个高电平脉冲间隔前后两个低电平脉冲,这个起间隔、分离作用的高电平脉冲即MAB(MarkAfter Break),此脉冲一到,意味着“新一轮”的控制又开始了。

SC(StartCode)意为开始代码帧(图1中的第0帧),和此后到来的数据帧一样,也是由11 位构成,除最后的两个高电平的结束位之外,其他9位全部是低电平,通常将其叫做第0 帧或第0通道(Channel No 0),可理解为一个不存在的通道(NonexistentChanne1)。

表2 DMX512 信息包定时表

机械矩阵控制原理(大神分享多点矩阵控制系统)(33)

表2 是DMX512 信息包的定时表,表中NS意为自己设定,宽度没有严格限制,由程序设计者自行决定,比如MTBP的宽度可以介于0~1秒之间,其他建议采用典型值。控制台每发送一个信息包,可以对全部512个受控通道形成一次全面的控制。发送一个信息包的时间大约是23 ms,每秒钟将对所有512个受控通道完成44 次控制,即受控光路的刷新频率44 Hz,如果实际受控通道少于512个,那么刷新频率将相应提高。

5 软件流程图

软件流程如图28所示:

机械矩阵控制原理(大神分享多点矩阵控制系统)(34)

以上所说的硬件主要包括主控器,中继器和驱动器,主控器主要是起到主机的作用,中继器主要起到中继的作用,驱动器主要起到驱动电机的作用。

原标题:多点矩阵控制系统

原作者:eyesee2008

本文为21ic有奖征文作品,详情请见21ic论坛活动专区:第二届万元红包——蓝V达人有奖征文活动,如果您也有兴趣参与征文,欢迎进入论坛参与活动~

,