DMX512受信実験基板

DMX512プロトコル
DMX512は照明コントロール用のプロトコルでRS-485で実現されていいます。送信側から受信側へ一方的にある周期で512バイト分のデータを送信します。伝送路はRS-485なので比較的長距離伝送が可能です。受信確認や誤り制御がないので、このプロトコルを安全にかかわる分野へ応用するのはやめたほうが良いとおもいます。

RS-485用のICがそのまま使えるのでハードウエアは特殊なパーツを使わずに実現できます。

DMX512受信回路

実験した回路図は以下の通りです。
この回路は、受信したDMX信号のうち特定の1バイトの内容をLEDを使って表示する回路です。JP3でDMX信号を受信し、LED5−LED12で受信した内容を表示します。

PICは、PIC18F452(PLCC)を使っています。回路図上のIC2はMAX485で、レベルコンバート&平衡不平衡の変換として機能しています。
他のRS-485用ICを使っても同様です。この部分でRS-485信号(DMX512信号)を受信します。
またMAX232はRS232Cの通信用として使っています。PIC本体のUSARTはDMX用にに割り当てていますので、RS232CのようはソフトウエアUARTライブラリ(mikroC)を使っています。RS232CではPCと接続し、PCから受信する特定のバイトを指定します。512バイトのうち1バイトを指定して受信したバイトのビットイメージをLEDで表現します。ソフトウエアUARTは本体のUSARTでの割り込みと共存できないのでPORTD.F3がHIのときは、DMXの受信、LOのときは設定モードとしてソフトウエアUARTで受信バイトの設定用としています。


DMX受信基板

実験で使用した基板は以下の通りです。RS232CにはPCを接続し受信するバイトを指定します。

JP3にはDMX送信機として下のDMX Testerを接続し確認しました。RS-485の終端抵抗は、実際のアプリケーションでは使わないことが多いそうですが、上の写真は終端抵抗は使っていません。その後終端抵抗を使っても確認しましたがRS−485の電圧レベルから発熱量は大きいのでそれに耐えるワット数が必要です。
DMX512 送信機



DMX受信ソフトウエア

DMX受信部分では、ブレーク信号検出待ちループでブレーク信号を待ちます。ブレーク信号受信後は、順次送られてくるDMX信号を1バイトづつ受信して目的のバイトが来たときにローカル変数に保存してLEDを点灯しています。


戻る