USB-RS485-Adapter als DMX-Adapter

OP (Firma: Q3) #4423775
Lesenswert?
• ▲
▼
Ich habe bei Ebay für ganze 3 Euro USB-nach-RS485-Adpter gefunden, die 
auch als DMX-Adapter nutzbar sein sollen. Hab mir einen kommen lassen 
und nach Installation des Original-FTDI-RS232-Treibers und der Software 
Freestyler kann ich problemlos einen testweise angeschlossenen 
Movinghead und ein par LED-Scheinwerfer steuern. Super! (Adapter wird 
als Emtec Open DMX eingerichtet).

Ich bin ja froh, dass es geht, aber trotzdem ist mir da Einiges 
rätselhaft. Bei DMX beträgt die Datenrate genau 250.000 Bit/s. Das ist 
aber kein Wert, den irgend ein Treiber so anbietet - wie machen die das? 
Auf welcher Ebene wird die Bitrate für den RS485-Adapter gesetzt?

Ich will nämlich auch mal mit eigener Software versuchen, ein par 
DMX-Befehle abzusetzen und da wäre es ganz hilfreich, dies zu wissen. 
Ich kenne bisher nur quasi "Stellvertreter-Werte" für die 
Inintialisierung der seriellen Schnittstelle, z.B. 1 für 300, 2 für 600, 
3 für 1200 usw. Es geht zwar am Ende bis deutlich über 250.000, aber 
eben immer nur in den Standardwerten für serielle Schnittstellen.

Vermutlich "verstecken" die gängigen Programmierumbebungen irgendwelche 
Init-Werte hinter diesen Ziffern ... also wie komme ich da ran, um auch 
Nicht-Standard-Werte zu setzen? (Windows und Mac).

Danke für Tips!
#4423783
Lesenswert?
• ▲
▼
Die FTDIs erlauben intern wesentlich mehr Baudraten als nur die 
Standard-Werte. Bei FTDI gibt es ein Tool, um die Standard-Baudraten auf 
fast beliebige baudraten zu mappen.
Ähnliche Tools gibt es auch von anderen Herstellern. Ich benutze z.B. 
einen CP2102, dessen Baudraten ich alle auf die von meiner Hardware 
verwendeten 125kbaud gemapped habe. So kann der Anwender einstellen was 
er will, die Baudrate zu meiner Hardware passt trotzdem immer.

Gruß, Stefan
Gast #4426424
Lesenswert?
• ▲
▼
Also damit DMX senden geht. Du kannst sogar die Adapter nutzen um damit 
ein RDM Protokoll zu fahren. Du must allerdings schon ein bischen 
tricksen und auf die Timings achten. Einfache Baudrate einstellen reicht 
dafür nicht. Man muss schon zwischenzeitlich die Baudrate in Software 
umschalten.
Ich nutze dafür die FTDI dll.

Ein Beispielprojekt ist auch hier zu finden:
http://www.hoelscher-hi.de/hendrik/light/openrdm.htm
OP (Firma: Q3) #4426435
Lesenswert?
• ▲
▼
Christian T. schrieb:
> Also damit DMX senden geht. Du kannst sogar die Adapter nutzen um damit
> ein RDM Protokoll zu fahren. Du must allerdings schon ein bischen
> tricksen


Ja, Danke - genbau das tu' ich inzwischen! Ich benutze für meine 
Mac/PC-Projekte RealBasic bzw. Xojo und die dortige Implementation für 
serial Sockets gestattet es

1. Nicht-Standard-Baudraten einzustellen (z.B. 250.000)
2. on-the-fly die Baudrate zu wechseln

Ich bin inzwischen soweit:

- Einstellung: non Parity, 8 Datenbit, 2 Stoppbit (!)
- Baudrate 50.000
- eine Null senden ("Break" zur Synchronisation aller Geräte am Bus)
- Baudrate 250.000
- eine Null als Startbyte senden
- Byte 1 bis 512 senden (entspricht dem vollen Rahmen für DMX512)

Funktioniert! :-)

Man muss übrigens nicht alle 512 Byte senden, es genügen so viele, wie 
man DMX-Kanäle (lückenlos, bei 1 beginnend) belegt hat.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.