ENTTEC DMX USB PROとCycling '74 Max 8でDMX制御を行う話です。
DMXによる制御を勉強する必要があり、目標としてノートPCからDMX対応照明のコントロールが出来るようになる、を掲げました。
まず、DMX512A規格を調べます。
参考リンク:ANSI DMX512A仕様書
American National Standard ANSI E1.11 2008 (R2018)
Entertainment Technology USITT DMX512-A
Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories
https://tsp.esta.org/tsp/documents/docs/ANSI-ESTA_E1-11_2008R2018.pdf
有限会社 タマ・テック・ラボ DMX講座 中級編
http://www.tamatech.co.jp/tamada/benkyo04.php
RS-485で250kbpsの決まった信号を絶えず出し続けなければならない、と言う事が分かり、シリアル通信コンソールアプリで指定のコマンドを送信するだけでは何も出来ないようです。照明側は絶えず来る最大512chのDMXデータの中から、自分が該当するアドレスのデータのみを受け取る仕組みです。基本的にコマンドが途絶えれば照明は消えてしまいます。
※仕組み上、分配(スプリット)は簡単に行えますが、合成(マージ)が難しく、実装するにはコマンドのリジェクトをするためのフィルタが必要です。
QLC+とUSB to RS-485コンバータでDMX制御は可能でしたが、GUIを好きなように出来ない事と、ムービングライト制御にちょっとしたプログラミングが必要だった為、今回はCycling '74 Max 8でDMX制御を行う事にしました。
Cycling '74 Max 8でDMX制御を行うために必要なのが、ENTTEC DMX USB PROです。
ENTTEC DMX USB PRO
コネクタ
基板
ENTTEC DMX USB PRO主な部品
・アイソレーションDCDCコンバータ
Mornsun B0505XT-1WR3
・マイコン
ATMEL MEGA88PB
・USBパラレル変換IC
FDTI FT245RL
・RS-422/RS-485 インターフェース IC
SP485EE
・汎用 デジタル型アイソレータ
NVE IL514
使用したMaxオブジェクト
dmxusbpro - DMX 512 external for Max
http://www.nullmedium.de/dev/dmxusbpro/
RS-485なのになぜ入力と出力があるのか?なぜマイコンが乗っているのか?調べてみるとどうやらこのENTTEC DMX USB PROがDMX通信を保証し、入力に変化があった際にDMX信号を変更する、と言った仕組みの様です。(MIDIと同じ方式になる)
ENTTEC DMX USB PROはPCからはCOMポートとして扱われますが、それはダミーでありその向こう側のマイコンがDMXのやり取りをしています。dmxusbproオブジェクトはMAX上ではシリアルポートの様な扱いを受けていますが、実際の挙動は異なります。dmxusbproオブジェクトを他のUSBシリアル変換器に繋いで使用する事は出来ません。
※どうやら、250kbpsのインターバルのシリアルコマンドをCycling '74 Max 8ソフトウェアのみで送出する事は難しい様です。
参考MAXパッチ
Cycling '74 Max 8でDMX制御を行う
実際に操作している動画です。
ムービングライトのパンチルト(直交座標系)を極座標系コントロールに置き換えるMAXパッチ
ムービングライトを触ってみて分かりましたが、ほとんどのムービングライトは直交座標なのですね。今当たっている光を真横に動かしたい、と言った要求に答えるためには極座標コントロールを行う必要がありますので、これの変換式をMAXで作りました。高校数学の出番ですね・・・度数法とラジアン・・・・。
ムービングライトは基本は0-255の8bit分解能ですが、隣接チャンネルを使用し、8bit + 8bitで16bit分解能(0-65535)での制御が可能なものが多いようです。
※まぁー照明の説明書って不親切で、その辺の細かい仕様は基本的に説明が不足しています。と言うのも、照明のモデル名を操作卓が呼び出し、各機材に合ったプロトコルを適切に選択できる様な仕組みになっている模様です。普段、機材の制御を行っている筆者としてはあり得ない仕様書の記載不足だな、という感想を持ちます・・・
2週間ほど勉強し、Cycling '74 Max 8でDMX制御を行う事が可能になりました。
ここで学んだ事を礎に業務に生かします。
MAXパッチ、照明の仕様が分からないと何の意味も持ちませんので特に公開しません。
もし見たいと言う方がいらっしゃいましたらコメントかその他連絡をお願いします。