朱洪涛,廖文国
(南昌大学 机电科学与工程研究所,江西 南昌 330031)
浅谈舞台灯具多步进电机协同控制系统设计
朱洪涛,廖文国
(南昌大学 机电科学与工程研究所,江西 南昌 330031)
介绍用于舞台灯光控制的DMX512协议,舞台电脑灯控制系统的软件设计部分,以及系统主要组成部分具体功能的实现。
DMX512协议;舞台灯具;Protothreads;多电机;协同控制
近些年来, 步进电机作为一种重要的执行元件,①由于具有精度高、惯性小、工作可靠和能实现高精度快速开环控制的特点,②而被广泛应用在舞台灯的运动控制系统中。舞台灯控制系统要求步进电机能够高速、精确地运行,即保证步进电机在不失步和不过冲的情况下,以最快的速度平稳地运行到指定位置,这就对步进电机的升降速控制以及多步进电机的协同控制提出了很高的要求。②
舞台灯具作为众多舞台设备中极为重要的一部分,可以实现诸如变化灯光颜色、背景图案、空间位置、效果等复杂的功能组合。舞台灯具控制的实质是对多个步进电机的协同控制,笔者以本文合作企业现有的舞台灯机械结构为基础,介绍在快速性、定位精度、转动惯量等控制要求方面存在巨大差异的16路步进电机间开展协同控制的技术研究与系统设计情况。
舞台灯与控制台之间的通信遵循DMX512协议。DMX512协议是美国戏剧技术协会(USITT)于1990年修订发布的一种灯光控制台与灯光设备进行数据传输的协议,包括电气特性、数据协议、数据格式等各方面的内容。DMX512电气特性与RS-485完全兼容,包括驱动器/接收器的选择、线路负载和多站配置等方面的要求都是一致的,DMX512数据协议规定使用250 Kbps的波特率。③DMX512信号时序图如图1所示。
图1 DMX512信号时序图
舞台灯光系统框图如图2所示。系统主要包括通信模块、键盘和LCD显示、步进电机驱动、电机状态检测和温度检测等。MCU(微控制单元)把接收到的控台指令翻译成每个电机的位置或状态,进而驱动步进电机运动到达目标位置或状态。
舞台灯具控制系统包括色盘、图案盘、光圈、频闪、调焦、放大等16个电机的控制。这些电机可按要求独立受控运动,多个电机能同时运转,彼此间也能协同工作。传统的前后台系统是无法实现这些功能的。为了完成各电机逻辑运动关系,本系统在Protothreads任务系统的源代码基础上进行了适当的修改,使之更加符合系统的控制要求。如图3所示,主板各步进电机在Protothread主板电机任务调度器调度下,根据控制系统的要求调度各电机的运转。
任务调度器的主要目的是根据控制要求灵活地调度各电机的驱动模块,LPC2148微控器④的主频为60 MHz,而步进电机的最高刷新频率也只有10 kHz ~20 kHz,由于系统选择的步进电机的驱动芯片NJU39610芯片内带数据锁存器,⑤因此,只要在规定的最快刷新频率完成任务的调度,就能实现所有电机的同时转动。这对于LPC2148的处理速度来说是绰绰有余的,加上Protothread嵌入式系统所具有的特性,使得各电机调度所花费的时间和空间都非常少,可见系统的控制性能和实时性都非常优良。
本系统设计的任务调度器主要设计思想是:根据各电机的任务优先级定义一个任务控制块(TCB)队列,每个电机对应任务控制块内一个节点,任务间的调度由中断服务程序来实现,定时器中断函数系统根据上次记录的任务控制块(TCB)队列和当前的电机控制要求来更改TCB队列记录,而调度函数所需要做的就是根据控制块队列所记录的信息来刷新那些需要更新驱动数据的电机。调度器采用基于时间触发方式,这种触发方式是根据CPU定时器产生一个恒定的时间间隔的中断来触发和管理任务的调度,在这种触发方式下,控制系统在一个固定也可变的时基下完成各项任务的调度、运行,时基短则数据刷新得快,但时基过短的话,会造成处理任务的时间不够,一个合理的时基定制是非常重要的。时基定好了也可能碰上一些比较耗时的任务,这就造成单次调度不能完成该任务,本系统采用的解决方法是将这类比较耗时的任务细分成若干个子任务加以调度。
在Protothread任务调度器的管理下,每个步进电机在数据准备好后都能得到更新。下面以色盘的控制过程为例来体现电机的实现功能。
图4为色盘对应机械结构,色盘上均匀分布了8个不同颜色的色片,每个色片间的夹角为45°,步进电机的转轴安装在色盘的中心点,当电机按一定的角度转动时会带动色盘转动,灯泡发射的光经过不同的色片时就能产生不同的颜色效果。色盘程序主要完成三种控制要求:1. 不同颜色间的随机转换;2. 单一颜色的获得;3. 不同颜色的连续转换。
图2 舞台灯控制系统
图3 主板电机控制框图
从色盘的机械结构可以看出色片是均匀分布在颜色盘上的,所以,通过简单计算即可得出,相邻两颜色片之间的夹角为45°,计算公式如下:
系统所选的电机为两相步进电机,电机步距角为1.8°。而由色盘的机械结构可得所需转的夹角为45°,选择合适的细分就能知道到达不同色片之间的所需要走的步数为多少,为了简化程序,减短数据处理时间,设计中将色盘色片位置对应的步数置成数组,保存在CPU的ROM中。以32细分为例,如表1所示。
在Protothreads体系中,色盘功能属于TCB数据队列中一个节点,在中断中根据控制要求刷新数据,在调度函数中对应一个任务(task_Color(struct pt *pt)),这个任务的执行和阻塞算法由调度函数根据TCB中的现有情况、控制台所发的控制命令和任务的优先级得来。色盘的控制要求就在接受控台的命令后转换8个不同的色盘位置,在色盘控制程序中涉及到几个重要的参数:控台发送的位置命令、色盘的最大位置、色盘的最小位置、色盘的目标位置、色盘的当前位置和速度因子。目标位置由控台发送的数据确定,色盘的最大最小位置由色盘的机械结构决定,其流程图如图5所示。
本文主要介绍了舞台灯控制系统的软件设计部分,主要包括Protothread嵌入式系统下的多任务调度器的设计,及在该调度器的调度下主板电机的调度方式,解决了舞台灯具控制中多电机协同控制的难点,本控制系统成功应用于1 500 W大功率电脑摇头灯中。
注释:
① 蔡锦达,石恩琪,储茂兵.基于单片机的步进电机S形曲线调速控制[J].包装工程,2007(07):77-78
② 李晓菲,胡泓,王炜,程云涛.步进电机加减速控制规律[J].机电产品开发与创新,2006(1):122-123
③ 钱明光.DMX512信号格式及其应用.广播电视技术,2005(5)
④ 周立功,张华.深入浅出ARM7-LPC213x_214x,北京:航空航天大学出版社,2005 年6月
⑤ 周开勇.高性能步进电机驱动芯片PBL 3771/PBM3960 及应用[J].电子技术应用,1997(5),49-51
(编辑 张 淼)
The Design of Multi-Stepper Motor Cooperative Control System of Stage Lighting
ZHU Hong-tao, LIAO Wen-guo
(The Institute of Mechanical and Engineering, Nanchang University, Nanchang Jiangxi 330031, China)
This paper introduces the DMX512 protocol used for Stage Lighting,the software design of control system in Stage Lighting, which includes the design of task scheduler based on Protothreads embedded system for 16 stepper-motors on the mother board, the dispatch of mother board's stepper-motors, and the specif i c realization of the color disk motor in the system.
DMX512; stage lighting; Protothreads; multi- stepper motor; cooperative control
10.3969/j.issn.1674-8239.2011.03.002
朱洪涛,硕士。教授、博士生导师,主要从事传感器与智能仪表开发,轨道状态检测装置研究。
廖文国,南昌大学机械电子工程专业在读硕士研究生。