Forum: Mikrocontroller und Digitale Elektronik DMX-System


von Daniel R, (Gast)


Lesenswert?

Hallo,
habe mal eine Frage bezüglich des DMX-Buses. Habe ich das richtig 
verstanden, dass in einem DMX-Bus mehrere Sender möglich sind? Wie 
funktioniert die Übertragung genau? Werden konstant alle Kanäle mit dem 
eingestelltem Wert gesendet (44Hz Refreshrate), oder wird nur gesendet, 
wenn etwas geändert wird?
Leider habe ich keine Informationen über den Loopback-Kanal gefunden. 
Sendet das DMX-Gerät (Emüfänger mit Rückgabefunktion) auf dieser Leitung 
seinen Kanal und seinen Wert oder funktioniert das Protokoll anders?

von Sonic (Gast)


Lesenswert?

Es wird eine Startkennung gesendet, der Folgen hintereinander weg immer 
alle 8-Bit-Worte mit einer Baudrate von 250 kbaud.

von Sonic (Gast)


Lesenswert?


von Jürgen B. (hicom)


Lesenswert?


von mmerten (Gast)


Lesenswert?

leider gibt`s die komplette doku nicht frei im netz
DMX512(A)  ANSI E.11-2004
DMX512 RDM ANSI E.20-2006
aber die nächste uni bibliothek hat sie wohl zur einsichtnahme
vorrätig

von Matthias S. (da_user)


Lesenswert?

> Habe ich das richtig
> verstanden, dass in einem DMX-Bus mehrere Sender möglich sind?

Nein

> Werden konstant alle Kanäle mit dem
> eingestelltem Wert gesendet (44Hz Refreshrate), oder wird nur gesendet,
> wenn etwas geändert wird?

Ersteres. Meist Senden die Pulte allerdings "nur" die belegten Kanäle.

> Leider habe ich keine Informationen über den Loopback-Kanal gefunden.
> Sendet das DMX-Gerät (Emüfänger mit Rückgabefunktion) auf dieser Leitung
> seinen Kanal und seinen Wert oder funktioniert das Protokoll anders?

Es gibt auf nem DMX-"Bus" einen Sender und Max. 256 Empfänger. Ein 
Sender kann nur senden, ein Empfänger nur empfangen => keine 
Rückmeldung.

Auch gibts keine Fehlerkorrektur (Prüfbit od. ähnl.)

Was erwartest du von einem Protokoll dass als Schnapsidee auf einem 
Bierdeckel entstanden ist?

von fieser, klugscheissender Rahul (Gast)


Lesenswert?

>Was erwartest du von einem Protokoll dass als Schnapsidee auf einem
>Bierdeckel entstanden ist?

Wie soll sowas auch anders entstanden sein, was im Hell- und 
Lala-Business benutzt wird?

von Michael Wilhelm (Gast)


Angehängte Dateien:

Lesenswert?

>Wie soll sowas auch anders entstanden sein, was im Hell- und
>Lala-Business benutzt wird?

Welche anderen Bussysteme kennst du denn, die ca. 20 Jahre alt sind und 
den Datendurchsatz haben?

MW

von fieser, klugscheissender Rahul (Gast)


Lesenswert?

>Welche anderen Bussysteme kennst du denn, die ca. 20 Jahre alt sind und
>den Datendurchsatz haben?

Ethernet...10MBit (Statt läppischen 250kBit).
CAN müsste auch etwas so alt sein (naja, etwas älter, dafür auch 
längenbegrenzter...)

Nur mal so am Rande:
Was ist an der Aussage falsch: "Zwei Musiker gehen an einer Kneipe 
vorbei."

In meiner Fraktkums-Firma haben wir ein Gerät auf dem Fußboden gemalt 
und es so entwickelt... (Es ging nur um die äusseren Abmaße).
Was heissen soll:
Dass ein Protokoll, das im Show-Business benutzt wird, zu entwickeln, 
bietet sich nun mal eine Servierte, ein Taschentuch oder eben ein 
Bierdeckel an. Und Alkohol hat ja in gewissen Mengen auch noch eine 
bewustseinserweiternde Wirkung...
Man kann aber auch in meiner Aussage lesen, dass ich DMX und alles, was 
damit zu tun hat, für total bescheuert halte. Kann man...

von Michael Wilhelm (Gast)


Lesenswert?

Du gehst von falschen Voraussetzungen aus. Ethernet z.B.: du schiebst 
eine karte in den rechner, schon ist Ethernet da. DMX ist so aufgebaut, 
dass sowohl die Hardware als auch die Software in ein X-beliebiges Gerät 
integriert werden kann ohne einen 8-fach Multilayer zu benötigen. Der 
Controller in den Geräten verarbeiten DMX so mal am Rande mit. Von den 
Voraussetzungen musst du ausgehen. Weiter geht das ganze über die Kabel. 
Vor 20 jahren waren das BNC-Kabel (bei Ethernet). Wenn ein Gerät 
ausfällt was dann? Also für die Zeit, für den Anspruch war das ganze 
doch ok. Dein Chef wird dir (höchst)wahrscheinlich des öfteren sagen: so 
gut als nötig und nicht so gut als möglich.

MW

von fieser, klugscheissender Rahul (Gast)


Lesenswert?

>>Welche anderen Bussysteme kennst du denn, die ca. 20 Jahre alt sind und
>>den Datendurchsatz haben?
>Du gehst von falschen Voraussetzungen aus.
Ne, tue ich nicht. (Guck lieber mal in den Speigel...)

>DMX ist so aufgebaut,
>dass sowohl die Hardware als auch die Software in ein X-beliebiges Gerät
>integriert werden kann ohne einen 8-fach Multilayer zu benötigen. Der
>Controller in den Geräten verarbeiten DMX so mal am Rande mit
Seit wann ist DMX sternförmig aufgebaut?
So wie die Geräte kenne, kommt aus dem Controller ein Kabel heraus.
(Soviel zu BNC-Kabeln, die übrigens per T-Stück miteinander verbunden 
wurden. Da war es egal, ob ein Gerät ausfiel oder nicht.)

Wer braucht 8fach Multilayer für Ethernet?
Guck dir doch mal die Webserver von Ulrich Radig etc an. Die sind auf 
einer Doppelseitigen Platine entstanden.

>so gut als nötig und nicht so gut als möglich.

Wird er nicht sagen, der kann richtig Deutsch...

>Du gehst von falschen Voraussetzungen aus.
Tu ich immer noch nicht. Aber vielleicht solltest du mal aufhören, 
andere Leute wie kleine Kinder zu behandeln.



von Daniel R, (Gast)


Lesenswert?

Danke für die Antworten. Jetzt hab ichs verstanden. Es hat mich nur 
gewundert, dass in mehreren Artikeln ein Loopback-Kanal erwähnt wurde, 
aber nirgendwo erklärt wurde wie er funktioniert. Deswegen ging ich 
davon aus, dass es auch mehrere DMX-Sender geben könnte.
Hat sich ja jetzt geklärt.
Eigentlich hatte ich vor eine kleine Lichtsteuerung für einen Saal zu 
bauen.
Es sollten mind. 8 dimmbare Kanäle (mind. 300W pro Kanal), 8 schaltbare 
Kanäle per TRIAC (Licht), 4 schaltbare Kanäle mit Relais (Steckdosen) 
und mind. 3 Leinwände/Rollos steuerbar sein. Bei den Leinwänden wäre ein 
Rückkanal für die Position nicht schlecht, aber nicht unbedingt nötig.
Leistungsteile werden separat vom Bedienteil installiert (mind. 10m). 
Das Bedienteil soll auf über einen PC steuerbar sein (erstmal 
zweitrangig). Ausserdem soll es eine Fernbedienung mit den nötigsten 
Funktionene geben (ohne LCD, per Funk)geben.
Alles natürlich auf niedrigstem Kostenniveau. Jetzt fällt das 
wahrscheinlich in das Hausbus-Forum. Habe das aber hier gepostet, weil 
es im Hausbus-Forum überhaupt nichts über DMX gab. Bauteilkosten und 
Entwicklungsaufwand wären meiner Meinung nach für den DMX-Bus relativ 
niedrig gewesen (siehe 
http://www.hoelscher-hi.de/hendrik/light/dmxdimmer.htm). Die Firmware 
hätte ich übernommen, aber eine SMD-Platine geroutet. Die Lastteile sind 
auch ausreichend;-)
Was wäre euer Vorschlag? Der Preis ist sehr wichtig, Erweiterbarkeit 
wäre gut.

von Daniel R, (Gast)


Lesenswert?

Wollte ein CAT5 Kabel als Daten- und evtl. als 
Spannungsversorgungsleitung benutzen.
Es wäre theoretisch für jedes Empfangsmodul eine eigene Stromversorgung 
vorhanden, würed aber eine Stromversorgung über den Bus vorziehen.

von Sonic (Gast)


Lesenswert?

@ Matthias S.:
>Ersteres. Meist Senden die Pulte allerdings "nur" die belegten Kanäle.

Wie soll denn das funktionieren? Das geht nur wenn die Kanäle direkt 
aufeinanderfolgend belegt werden. Das ist meist nicht der Fall.
Ich denke du meintest 'senden nur bis zum letzten belegten Kanal'. So 
wird 'n Schuh draus.

von Stefan K. (_sk_)


Lesenswert?

Bereits vor 20 Jahren war es möglich, mit einem 8-Bit 8051 ein 
Single-Chip System mit DMX512-Schnittstelle aufzubauen. Hätte man damals 
stattdessen auf die Ethernet-Schnittstelle gesetzt, wären die die 
Lichtmulticores wohl bis heute noch nicht abgelöst worden.

Die DMX-Schnittstelle hat ihren Anfang auch nicht im Musiker-Gewerbe, 
sondern kommt aus dem Theater-Bereich (siehe z.B. die Firma Strand 
lighting).

Strand ligthing hat übrigens ziemlich zeitgleich ein Protokoll für echte 
Männer entwickelt, das SMX-Protokoll. Wunderbar aufgebaut nach 
OSI-7-Schichten-Modell, die Protokollbeschreibung hat ca. den 10-fachen 
Umfang wie die DMX512-Beschreibung. Durchgesetzt hat sich (zum Glück) 
DMX512.

Deine Geringschätzung gegenüber der Musikertechnik ist ungefähr 
vergleichbar mit der Geringschätzung der Graphikprofis vor 5-10 Jahren, 
als diese noch über Gamer-Graphikkarten gelacht haben.

Gruß, Stefan

von Stefan K. (_sk_)


Lesenswert?

@Daniel:

Bei DMX findest Du sehr günstige Bausätze oder Platinen, mit denen Du 
die meisten Teile Deines Projektes abdecken kannst. Wenn Du auf der 
sicheren Seite sein willst, kannst Du die 230V-Seite komplett fertig 
einkaufen und nur das Pult selberbauen.

Bei CAN hast Du zwar eine bidirektionale Verbindung, musst aber 
praktisch alles selber bauen.

Ev. kommt noch eine dritte Möglichkeit für Dich in Betracht: nimm 
fertige DMX512-Platinen z.B. für die Dimmer und 230V-Schalter. Ändere 
den Source von den DMX512-Dimmern auf ein bidirektionales 
RS485-Protokoll. Baue die Teile, die eine Rückmeldung liefern müssen 
(z.B. Endschalter für die Leinwand), selber auf.

Der CAN-Bus hat gegenüber dem RS485-Bus den Vorteil, dass er keinen 
Master benötigt. So wie es aussieht, brauchst Du das aber auch garnicht: 
Du hast einen Master (Dein Pult), das den Dimmern bzw. Schaltern Daten 
schickt und Infos von z.B. der Leinwand anfragt. Die Leinwand (als 
Slave) antwortet Deinem Pult nur auf Anfrage.

Viele Grüße, Stefan

von Sonic (Gast)


Lesenswert?

Das neueste DMX-Prokoll (DMX2000 meines Wissens) sieht hardwaremäßig 
einen Rückkanal vor. Kenne aber den Aufbau nicht genau.

von mmerten (Gast)


Lesenswert?

der Rückkanal nebst protokoll ist umfänglich in
DMX512 RDM ANSI E.20-2006 beschrieben
In jedem DMX universe gibt`s immer nur einen master, aber jedes endgerät 
(slave) darf nach aufforderung auch senden. alternativ nutzen einige
hersteller auch den 2. link als rückkanal, dort auch oftmals mit eigenem
nicht dokumentiertem protokoll.

von Daniel R, (Gast)


Lesenswert?

@ Stefan:
Danke für die Ausführung :-)

Meine Überlegung ist nun, ob der CAN-Bus besser wäre bezüglich der 
PC-Anbindung. Es gibt doch bestimmt günstige USB--> CAN Adapter oder 
sogar Bausätze(Schaltpläne).
Sonst müsste ich an meinem Panel USB implementieren(lange 
Einarbeitungszeit). Was ist eure Meinung?
Was wäre die beste Möglichkeit für die Fernbedienung. Sie sollte einfach 
nur ~6 Kanäle schalten können. Dimmfunktion über mehrfaches drücken der 
AUS-Taste.
µC würde ein AT91SAM7S256 sein (falls kein CAN), oder ein LPC.
Danke für die Antworten

von fieser, klugscheissender Rahul (Gast)


Lesenswert?

Klarstellung:
Ich habe nie etwas gegen das DMX-Protokoll selbst geschrieben (Zumindest 
nicht so gemeint).
Jemand anders schrieb, dass dieses Protokoll bzw. die Schnittstelle als 
"Schnapsidee auf einen Bierdeckel" entstanden ist.
Dass Musiker, Beschaller und Beleuchter sich gerne in Kneipen 
"rumtreiben" ist ja auch kein Geheimnis. Da lag es nahe, dass ein 
Protokoll für entsprechende Berufgruppen in einer entsprechenden 
"Entwicklungsabteilung" passiert.
Ich möchte nicht noch persönöich werden...

von Daniel R, (Gast)


Lesenswert?

hat keiner mehr Vorschläge? Ist das alles zu utopisch oder zu simpel?

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>Meine Überlegung ist nun, ob der CAN-Bus besser wäre bezüglich der
>PC-Anbindung. Es gibt doch bestimmt günstige USB--> CAN Adapter oder
>sogar Bausätze(Schaltpläne).

Warum nicht einen funktionierenden Standard benutzen?

>Sonst müsste ich an meinem Panel USB implementieren(lange
>Einarbeitungszeit). Was ist eure Meinung?

Schon was von USB-RS232-Unsetzern gehört? Die sind novh verbreiteter als 
USB-CAN-Umsetzer

>Sie sollte einfach nur ~6 Kanäle schalten können. Dimmfunktion über >mehrfaches 
drücken der AUS-Taste.
>µC würde ein AT91SAM7S256 sein (falls kein CAN), oder ein LPC.

Warum ein Rechenmonster wie einen ARM für solchen Pippifax missbrauchen?
Mit etwas sinnigem Schaltungsdesign bekommt man das alles in einen 
ATmega8.
Dazu gibt es auch schon Beispiele zu hauf...

von Stefan K. (_sk_)


Lesenswert?

Ehrlich gesagt verstehe ich das Konzept nicht (mehr) ganz. Soll der PC 
direkt die Dimmer, Schalter etc. ansteuern oder nur das Pult? In 
letzterem Fall kannst Du Dir doch die Schnittstellen jeder Seite gabz 
unabhängig aussuchen, z.B.:

PC   --(USB)-----> Pult
Pult --(DMX512)--> Dimmer, Schalter

Hast Du schonmal was mit dem ARM gemacht? Erfahrungen mit AVR oder 
anderen mc?
Soll das Ganze ein Einzelstück werden oder willst Du das professionell 
bauen?

>Ist das alles zu utopisch oder zu simpel?
Das hängt ganz von Dir ab ;-))

Gruß, Stefan

von Daniel R, (Gast)


Lesenswert?

Hallo,
mein Konzept ist folgendes:
Pult --> (DMX oder CAN) --> Licht etc.
und
PC --> USB --> (Pult OR Licht etc.)
Hängt jetzt vom System ab.
1. Wenn ich DMX benutze, habe ich ja nur einen Master, muss also per USB 
das Pult steuern und mich tief in USB einarbeiten(interessant wegen 
neuen Erfahrungen mit USB).
2. Wenn ich CAN oder anderen Bus mit mehreren Mastern benutze brauche 
ich nur einen USB --> WasAuchImmer Umsetzer.

Soll ein Einzelstück, evtl. aber auch ein paar mehr. Hängt davon ab wie 
gut das klappt und wie teuer das wird. Bleibt aber alles im privaten 
Bereich.

Habe Erfahrungen mit AVR's und ein wenig mit ARM's (LPC21xx&LPC22xx).
Dachte auch an einen funktionierenden Standard, wollte mir aber keine 
Module á la LON kaufen (Preis!!).

An den ARM dachte ich wegen dem GLCD. Nachdem was ich gelesen habe ist 
DMX mit den AVR's zeitkritisch. Da ich in C und nicht Assembler 
programmiere, noch ein GLCD betreiben möchte und evtl. die USB 
Geschichte ins Pult muss, dachte ich an den ARM7 von Atmel.

Meiner Meinung nach ist das nicht allzu Schwierig umzusetzen. Man muss 
halt nur ein gutes Konzept haben  :-)

Ausserdem habe ich noch eine andere Fragestellung:
Inwiewiet ist eine Modularisierung sinnvoll? Konzept von 
Hölscher(http://www.hoelscher-hi.de/hendrik/light/dmxdimmer.htm) oder 
lieber alles auf möglichst wenigen Platinen unterbringen?
Z.B. sollte es die Option geben, dass mehrere Rollos nachgerüstet 
werden.

MfG Daniel

von Stefan K. (_sk_)


Lesenswert?

>An den ARM dachte ich wegen dem GLCD. Nachdem was ich gelesen habe ist
>DMX mit den AVR's zeitkritisch. Da ich in C und nicht Assembler
>programmiere, noch ein GLCD betreiben möchte und evtl. die USB
>Geschichte ins Pult muss, dachte ich an den ARM7 von Atmel.

ulpss ...

den DMX auf der Masterseite anzusteuern ist per se unkritisch.
Auch auf der Empfängerseite sollte ein AVR keinerlei Probleme haben. Das 
funktionierte bei mir früher mit einem 8051 mit 1,5us Befehlszykluszeit 
...

USB funktioniert am einfachsten als Pseudo-USB. D.h. Du benutzt einen 
USB-RS232-Umsetzer. Am Microcontroller schliesst Du ihn an den UART an. 
Einen "echten" USB zu implementieren - das ist auch vielen Firmen zu 
aufwendig.

Mit DMX, USB-UART und GLCD ist ein AVR noch lange nicht am Ende. 
Pragmatisch gesehen würde ich den AVR nehmen. Aber vielleicht bringt der 
ARM7 Dir ja den höheren Spassfaktor ;-)

Gruß, Stefan

von Matthias S. (da_user)


Lesenswert?

schon mal an PC---(DMX)--->Pult---(DMX)--->Dimmer/... gedacht?

Dein Pult kann ja für deinen PC ein Slave sein und für den anderen 
Graffel der Master.
Dein Pult muss halt als ne art Repeater arbeiten und könnte dann dabei 
noch die Daten die vom PC kommen manipulieren! Und DMX-Umsetzer fürn PC 
gibts ja zuhauf (www.dmx4all.de). Freeware wäre evlt. DMXC(ontroll).

von Daniel R, (Gast)


Lesenswert?

Ist auch eine interessante Idee. Muss ich mir mal durch den Kopf gehen 
lassen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Einige Pulte haben von Haus aus MIDI-Schnittstellen, als Slave über DMX 
ist eher selten. Für MIDI gibt´s die verschiedensten Freewares, die 
Sequencer- oder Listenähnlich aufgebaut sind. Damit kann man sich dann 
die wildesten Abläufe zusammenprogrammieren. Es geht auch direkt vom PC 
aus mit DMX ohne Pult dazwischen, dafür mit AVR als Sender an der 
seiellen Schnittstelle. Gesteuert wird mit FreeStyler oder DMXControl. 
Letztendlich kann ein etwas größerer AVR alle Aufgaben eines DMX-Masters 
autonom lösen, ohne dicke Hardware dran. Ein paar Drehencoder, schönes 
großes Display und ein paar Tasten oder meinetwegen auch Analogfader und 
das war´s dann auch schon. Schönes Projekt zum Lernen.

von Stefan W. (wswbln)


Lesenswert?

Stefan Kleinwort wrote:
>>An den ARM dachte ich wegen dem GLCD....
>
> USB funktioniert am einfachsten als Pseudo-USB. D.h. Du benutzt einen
> USB-RS232-Umsetzer. Am Microcontroller schliesst Du ihn an den UART an.

Genau, und DMX am anderen UART. Also kämen am ehesten Mega162, Mega64 
oder Mega128 (alle mit 2 UARTS) in Betracht. Wenn Du mit dem GLCD und 
schönen Fonts spielen willst, läuft's dann auf den '128er raus wegen 
genügend Flash-Speicher.
M64 und M128 sind aber pinkompatibel, so dass man ggf. nochmal umsteigen 
kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.