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.
DMX512 Modul
-
- kann c't-Lab-Bausätze bestellen
- Beiträge: 20
- Registriert: 03.06.2008, 13:11
-
- kann c't-Lab-Bausätze bestellen
- Beiträge: 20
- Registriert: 03.06.2008, 13:11
-
- kann c't-Lab-Bausätze bestellen
- Beiträge: 20
- Registriert: 03.06.2008, 13:11
Prototyp
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
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

-
- kann c't-Lab-Bausätze bestellen
- Beiträge: 20
- Registriert: 03.06.2008, 13:11
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)
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)

-
- kann c't-Lab-Bausätze bestellen
- Beiträge: 20
- Registriert: 03.06.2008, 13:11