Seite 1 von 1

DMX512 Modul

Verfasst: 19.06.2008, 20:58
von guenter1604
Hallo c't-Lab er,

zum testen von DMX512 Geräten (Lichteffekte, Nebelmaschinen, Dimmerpacks usw. aus dem Musikerbereich) hab ich mir ein Modul zusammengezimmert. Die 512 Kanäle können vom Optobus aus gesteuert werden:

7:157=213

bedeutet z.B.
7 ist die Modulnummer (per Jumper einstellbar)
157 ist der DMX Kanal (1-512)
213 ist der Wert (0-255)

Mnemonics bis jetzt:
DMX kann vor den Kanal gesetzt werden
IDN meldet die Modulversion

Wenn interresse da ist, werde ich alles veröffentlichen und nen Plan zeichnen. Ebenso wäre ein Display und Tasten möglich...
Was ich jedoch nicht kann:
Ein hübsches Frontend ala JLab zusammenbasteln.

Verfasst: 19.06.2008, 21:51
von EXA
Immer her damit :D

MfG
EXA

Verfasst: 19.06.2008, 22:15
von guenter1604

Verfasst: 22.06.2008, 19:22
von EXA
Vielen Dank für den Post. Direkt brauchen tu ich das Modul zur Zeit zwar nicht, aber man weiß na nie ... :)

Prototyp

Verfasst: 30.06.2008, 09:50
von guenter1604
Hallo,

der erste Prototyp läuft. Jetzt ist der Anschluss für ein PM8 dran. Prinzipiell ist das mit I2C kein grosser Akt. Die Taster über I2C laufen schon. Auch die LEDs sind kein Problem. Beim Inkrementalgeber und Display wirds ein bisschen kniffliger, da der Highlevelbefehl ENCODER für Inkrementalgeber nicht gerade der Weisheit letzter Schluß ist. Außerdem müssen die Highlevelbefehle fürs Display auf den I2C-Bus umgeleitet werden. Aber der Weg ist das Ziel ;-)

Verfasst: 04.07.2008, 16:55
von guenter1604
Hallo Forum,

jetzt geht auch der Inkrementalgeber.

Das Problem ist:

Damit der Geber optimal läuft, muss man entweder mit einem Timer die Kontakte regelmässig abfragen (wie der Highlevelbefehl in Pascal) oder man macht es über 2 Interrupts an den Ausgangspins. Ich hab mich für den Timer entschieden. Der Schönheitsfehler liegt in der Tatsache, daß eine Geberabfrage während der timingkritischen DMX-Signal-Erzeugung das Signal um mehrere hundert Nanosekunden verzerrrt. In der Praxis hat das jedoch keine Auswirkungen gezeigt. Man könnte auch den Takt noch verdoppeln um so die Verzögerungen zu halbieren. Mal sehen, man könnte den Geber auch mit einem extra Chip abfragen....
Tja, es bleibt jetzt noch das Display selbst. Dafür gibts in Bascom keinen passenden Highlevelbefehl wie in Pascal (noch nicht) ;-)

Verfasst: 12.07.2008, 12:57
von guenter1604
Hallo Forum,

für das Display gibts jetzt eine Library von mir, die die Highlevelbefehle von Bascom auf den I2C-Bus umleiten.

Somit wird jetzt das PM8 voll unterstützt.