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?
Es wird eine Startkennung gesendet, der Folgen hintereinander weg immer alle 8-Bit-Worte mit einer Baudrate von 250 kbaud.
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
> 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?
>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?
>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
>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...
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
>>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.
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.
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.
@ 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.
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
@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
Das neueste DMX-Prokoll (DMX2000 meines Wissens) sieht hardwaremäßig einen Rückkanal vor. Kenne aber den Aufbau nicht genau.
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.
@ 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
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...
>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...
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
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
>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
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).
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.