朱洪濤,廖文國
(南昌大學 機電科學與工程研究所,江西 南昌 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
朱洪濤,碩士。教授、博士生導師,主要從事傳感器與智能儀表開發,軌道狀態檢測裝置研究。
廖文國,南昌大學機械電子工程專業在讀碩士研究生。