Licht

DMX 512 – Messpraxis Lichttechnik

Um das digitale DMX-512-Protokoll zu veranschaulichen, kann man es messtechnisch mithilfe eines Oszilloskops sichtbar machen.

Oszilloskop mit DMX-Protokoll im Display
Speicherosziloskope sind ideal zum Aufzeichnen von Digitalprotokollen, wenn man bitweise bzw. Timingprobleme oder Signalverschleifungen untersuchen muss, falls das Protokoll nicht so gelesen wird, wie es eigentlich erfolgen sollte. (Bild: Herbert Bernstädt)

Zunächst kann man sagen, dass die Höhe eines Lichtstrahls auf dem Oszilloskopschirm der Höhe einer Spannung entspricht. Das ist die Ablenkung in Y-Richtung. Die Auslenkung waagerecht in X-Richtung wird vom Oszillografen selbst generiert. Diese kann man verschieden schnell einstellen. Dabei zieht der Punkt von links nach rechts so schnell wie man die Zeiteinheit eingestellt hat. Schließt man nun eine sich sehr schnell verändernde Spannungsform an das Oszilloskop an, so ist man im Gegensatz zu einem trägen Multimeter in der Lage, die Amplitude der Spannung zu verschiedenen Zeitpunkten abzulesen, da durch die Zeitdehnung auf dem Bildschirm der Spannungsverlauf sichtbar wird. Damit diese Information nicht ständig überschrieben wird, lässt man den Strahl nur einmal durchlaufen (Singlel Shot). Diese Momentaufnahme wird gespeichert und kann dann ausgewertet werden.

Anzeige

Um ein DMX-Signal zu messen, schließt man den positiven Pol der Messleitung an das positive RS485-Signal am 5-poligen XLR-Steckverbinder Pin 3 an. Minus kann man am Differenzsignal Pin 2 anschließen. Den obligatorischen Abschlusswiderstand (120 Ohm) nicht vergessen.

Datenpakete
Zwei Datenpakete, die 250 ms hintereinander folgen. Ein Kästchen in der Horizontalen entspricht 50 ms, in der Vertikalen 1 Volt (Bild: Herbert Bernstädt)

Man erkennt das Paket an den vielen nach unten gerichteten Nadeln, die fast wie ein Block aussehen. Ein Paket beinhaltet alle Informationen für 512 Channel. Im Ruhezustand sendet hier ein Mikrocontroller fast alle 250 ms Datenpakete aus. Dies ist die Zeit, die vergeht vom Anfang des ersten Datenpakets bis zum Anfang des zweiten.

Steht „A 50 ms“ und „1 VDC“, bedeutet das, dass pro Zentimeterkästen nach oben eine Spannungsdifferenz von 1 Volt überbrückt werden muss. Das „DC“ steht für Gleichspannung. „A“für Kanal A des Oszilloskops und 50 ms ist die Zeitspanne in X-Richtung zwischen zwei Linien oder hier für einen Zentimeter.

Wenn das Pult keine neuen Werte an die Lampen senden will, so wird es aber in der Praxis dennoch Datenpakete absenden, damit ein Empfänger nicht auf die Idee kommt einen DMX-Fehler zu erkennen. Wenn man dagegen eine Überblendung fährt, dann versucht das Pult, dem Empfänger möglichst schnell neue Daten zur Verfügung zu stellen, wie wir es auf dem nächsten Bild (Bild 2) sehen können.

5112 Werte innerhalb eines DMX-Frames
In der Oberen Zeile sieht man viele Datenpakete hinereinandergereiht. Darunter eine Vergrößerung um den Faktor 10, um die Datenpakete besser sichtbar zu machen (Bild: Herbert Bernstädt)

Man hat die Zeitbasis weiter verkürzt auf 10 ms pro Division. Außerdem ist oben ein zehnfach komprimiertes Signal zu sehen. Dies ist das gesamte aufgenommene Signal aus dem wir uns eine Position zur Vergrößerung anzeigen lassen. Nun ist die Refreshrate zwischen den Paketen nur noch 50 ms. Nimmt man nun von den Sekunden den Kehrwert, erhält man die Frequenz, 20 Hertz. Folglich passt sich das Interface den Erfordernissen an. Dabei sei bemerkt, dass das menschliche Auge ein Flimmern von 25 bis 30 Hz gerade noch wahrnehmen kann, folglich ist das DMX in der Lage, ein gewolltes Flimmern zu ermöglichen. Dies wirkt sich zwar nicht bei Kontiuumstrahlern aus, kann bei LEDs aber durchaus beobachtet werden.

Start-Code des DMX-Signals
Sprung in der Zeit auf 10 µs, also 0,000.001 Sekunden pro Zentimeter, Zoomfenster mit Start-Code des DMX-Signals (Bild: Herbert Bernstädt)

Man kann in der gestauchten Darstellung oben die Einleitungssequenz erkennen. Mit einem Break wird dem Empfänger mitgeteilt, von jetzt an kommen Daten, bitte mitzählen. Das erste Byte, das übertragen wird, entspricht aber nicht dem ersten Datensatz von einem Dimmer oder Moving Light. Das erste Byte ist eine Kennung, die man nutzen könnte, um zu sagen, welchen Gerätetyp man mit den folgenden Daten ansprechen möchte – z.B. ob es sich um Dimmerdaten handelt. Eingebürgert hat sich der Wert null für Moving Lights und Dimmer. Wenn das erste Byte nicht den Wert 0 aufweist, kann es In der Praxis vorkommen, dass dann das angeschlossene Moving Light diesen DMX-Strang ignoriert und in seiner Bewegung einfriert.

Weiterhin kann man in der obigen gestauchten Abbildung nach dem Break und dem Nullbyte einige unsymmetrische Strukturen erkennen, die in ein symmetrisches Bild übergehen. Das hängt damit zusammen, dass die vorderen unterschiedliche Datenwerte beinhalten, während die nachfolgenden alle den wert 0 % aufweisen. Am rechten Rand erkennen wir im ungestauchten Bild einige Bitwechsel.

DMX-Wert für einen Kreis
Wir sind nun in dem Datenpaket ein wenig weiter nach hinten gerutscht, erkennbar an dem verschobenen Ausschnitt des gestauchten Bildes. Wir haben am Pult auf DMX-Adresse 1 den Wert 85 Dez ausgegeben. Nun können wir das am Spannungsabbild auch bestätigen. (Bild: Herbert Bernstädt)

Triggerimpulsgenerator

Oftmals liegt die Schwierigkeit das DMX-Signal definiert zu triggern, so dass eine Auswertung erfolgen kann. Wenn das Oszilloskop keine ausreichende Triggerfunktion hat, kann man sich mit folgender Schaltung behelfen, die für den externen Triggereingang eines Oszilloskops aus dem DMX-Signal einen Triggerimpuls generiert.

DMX Break Detector
Schaltung zur Erkennung des 88-µs-Breaks des DMX-Startsignals: Nicht jedes Oszilloskop kann auf Anfangswerte eines Protokolls getriggert werden. Dann bedient man sich einer Zusatzschaltung, die den Anfang dedektiert, um dann den externnen Triggereingang am Oszi zu bedienen. (Bild: ADB Lichttechnik)

ABB: dmx1.gif (Quelle: ADB Lichttechnik)

  • Kommentare für diesen Artikel

    Schreiben Sie einen Kommentar

    Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.