maltepöggel.de

uDMX

USB DMX Interface

Das uDMX ist ein Open Source (GPL v2 lizensiertes) USB zu DMX Interface zur Steuerung von professionellem Lichtequipment. Es basiert auf einem Atmel Mega8 Mikrocontroller, und ist mit vielen Lichtsteuerungsprogrammen kompatibel. Auch ein ArtNet Server ist vorhanden.

Das Original ist so klein das es in einen XLR Stecker passt, bietet jedoch weder einen Galvanisch getrennten Ausgang, noch die Möglichkeit einer zusätzlichen Stromversorgung oder USB Buchse zum Anschluss von Kabeln in der gewünschten Länge. Als Anregung zur galvanischen Trennung diente der Schaltplan vom ilLU[TZ]minator der jedoch noch etwas modifiziert, sowie um externe Stromversorgungsmöglichkeit erweitert wurde.

Bild: uDMX im Gehäuse

Die Platine misst 100x100mm und ist zum Einbau in ein robustes Aluminiumgehäuse von Reichelt vorgesehen. Um den USB Bus Spezifikationen gerecht zu werden wird der Mikrocontroller mit 3,3 Volt betrieben. Die Stromversorgung wird entweder via USB, oder sofern ein Netzteil (9 bis 12 Volt) angeschlossen ist aus diesem bezogen.

Bild: uDMX Platinenunterseite

Widerstände und Folienkondensatoren sind in SMD 1206er Bauteilen auf der Unterseite bestückt.

Zur galvanischen Trennung wird die Betriebsspannung des RS485 Bustreiberbausteines über einen DC-DC Wandler erzeugt. Das Datensignal wird mit einem High Speed Optokoppler (6N137) getrennt. Somit ist bei Installationsfehlern in der Lichtanlage der USB Anschluss am Rechner geschützt. Der veraltete SN75176 Bustreiber wurde durch den pinkompatiblen MAX485 ersetzt. Dieser verbraucht wesentlich weniger Strom, und entlastet so den Hostrechner. Das aktuelle Layout wurde außerdem für maximalen Schutz um TVS-Dioden am USB Port und am DC Eingang erweitert.

Bild: Schaltplan

Durch Verwendung des AVR V-USB Stacks und LibUSB ist ein Betriebssystemunabhängiger betrieb des Interfaces möglich. Unter Windows setze ich am liebsten FreestylerDMX ein. Den Treiber habe ich problemlos unter Windows XP, Vista und Windows 7 testen können. Bei Unix basierenden Betriebssystemen ist die LibUSB direkt im Kernel integriert.

Update: Die Verwendung von Vista x64 oder Windows 7 x64 erfordert signierte Treiber. Dies ist aber ab sofort kein Problem mehr: libusb-win ist ab Version 1.20 direkt signiert. Ein aktualisierter Treiber steht auf der letzten Seite zum Download bereit.

Unter Linux kann man MagicQ von Chamsys oder QLC verwenden. Andere Betriebssysteme oder Programme sind mit dem ArtNet Server nutzbar.

Die Firmware Sourcecodes musste ich etwas anpassen, da ältere oder nicht ganz DMX konforme Geräte Probleme mit fehlenden Pausen zwischen den Kanal Bytes (Interbyte Gap) haben. Die offizielle Spezifikation definiert zwar keine Länge, aber wenn Fehlfunktionen auftauchen kommt man nicht mehr darum. Unter anderem betrifft dies den Eurolite TS-5 Scanner oder Coemar CF-1200 Movingheads. Die modifizierten Zeiten sind ab meiner Version 1.2a fest eingebaut und haben sich in diversen Tests als gut erwiesen. In meiner aktuellen Version 1.2b wurde außerdem noch eine Erkennung eingebaut, ob das Interface extern mit Strom versorgt wird. Das Gerät meldet sich dann als Host- oder Selfpowered. Dies erforderte auch eine kleine Schaltungsänderung und einen gepatchten V-USB Stack.

Bild: Gehäuse

Downloads

Aktuelle Version 1.2b - DC IN Erkennung, IB-Gap, ESD Schutzdioden

Alte Version 1.2a - Nur IB-Gap Patch

PC Treiber

* Für maximale Performance sollte der uDMX Artnet Konverter von Lutz eingesetzt werden!

Letzte Änderung: 13.01.2013