Forum: Mikrocontroller und Digitale Elektronik USB-RS485-Adapter als DMX-Adapter


von Frank E. (Firma: Q3) (qualidat)


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!

von Stefan K. (stefan64)


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

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Heisst das, mit einem Tool wird der FTDI-Controller konfiguriert und der 
merkt sich das, egal mit welchen Einstellungen die Anwendung den 
virtruellen COM-Port öffnet? Steckt die Info dann wirklich in der 
Hardware oder oder "nur" im Treiber?

von Stefan K. (stefan64)


Lesenswert?

Hallo Frank,

hier ist die Baudrateneinstellung und Aliasing beschrieben:
http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-05_BaudRates.pdf

Der FTDI speichert das Aliasing nicht in der Hardware. Wenn Du das 
wünscht, dann schau Dir mal den CP2102 an, der speichert das im Eeprom.

Gruß, Stefan

von Christian T. (Gast)


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

von Frank E. (Firma: Q3) (qualidat)


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.

: Bearbeitet durch User
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.