Forum: Mikrocontroller und Digitale Elektronik Pegelwandler bei RS485 auf RS232 Adapter erforderlich?


von Ch S. (spelli)


Lesenswert?

Hallo,

habe hier eine serielle Schnittstelle einer Motorsteuerung (CMOS 5V) die 
ich ansprechen möchte. Eigentlich ist mir bzgl. Pegelwandler immer alles 
klar. Aber jetzt stehe ich auf dem Schlauch:

diese serielle Schnittstelle (CMOS 5V, Seite der Motorsteuerung) wir an 
einem RS232-to-RS485 Adapter an einem PC (PCseitig RS485) angeschlossen.

Gibt es da Probleme wegen den CMOS 5V? Würde ich die serielle 
Schnittstelle direkt am PC anschliessen gibts Probleme das weiss ich.

Danke und Gruß
Christoph

von Michael M. (eos400dman)


Lesenswert?

Spontan würde ich sagen, ja du brauchst einen Pegelwandler.

Gruß Michael

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Ch Sp schrieb:
> habe hier eine serielle Schnittstelle einer Motorsteuerung (CMOS 5V)
ist das eine UART mit TTL-Pegel?

> diese serielle Schnittstelle (CMOS 5V, Seite der Motorsteuerung) wir an
> einem RS232-to-RS485 Adapter an einem PC (PCseitig RS485) angeschlossen.
???  Unplausibel.
Wenn das TTL-Pegel wäre, sollte es nicht auf RS232 gehen.
Irgend welche Bastelösungen gibt es zwar immer und die funktionieren oft 
auch, aber was du nun wirklich hast, weiß ich nicht.

> Gibt es da Probleme wegen den CMOS 5V? Würde ich die serielle
> Schnittstelle direkt am PC anschliessen gibts Probleme das weiss ich.
Und welche Probleme wären das?

Zumindest ist RS232 gegenüber TTL-Pegel an der nackten UART negiert.
Ruhepegel 5V ist bei RS232 kleiner -3V.

Plausibel wäre, wenn man den TTL-Pegel auf RS232 bringt.
Wenn du aber am PC RS485 hast, warum dann nicht gleich von TTL auf 
RS845?

Gruß Öeletronika

von Ch S. (spelli)


Lesenswert?

Hallo!

Pegel ist TTL 5V.

Ich habe zwei Anwendungsfälle:

1)
per RS232 inkl. Pegelwandler - kein Problem

2)
hier habe ich (nur) RS-485 zur Verfügung 
(http://www.axis.com/de/files/manuals/um_m7014_54168_en_1310.pdf) und 
muss von RS485 auf RS232 Motorsteuerung umsetzen. Und hier ist die Frage 
ob der Converter 
(http://www.allthings.com.au/Catalogue/PC%20MAC%20APPLE/RS232%20TO%20RS485%20CONVERTER.pdf) 
Pegel umwandelt bzw. was liegt am Ende des Converters an RS232 an, wenn 
Eingangsseitig RS485 am PC angeschlossen ist.

Vermutlich fahre ich mit Pegelwandler besser...

von Stefan F. (Gast)


Lesenswert?

Nimm einen Max485.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Ch Sp schrieb:
> Pegel ist TTL 5V.
Das scheibst du oben schon -> CMOS 5V
Es sagt allerdings nicht sehr viel.
Dieser Pegel kann von einer UART kommen, aber auch in einem I²C-BUS
oder bei SPI oder sonst irgend welchen Interfaces verwendet werden.

> Ich habe zwei Anwendungsfälle:
> 1)
> per RS232 inkl. Pegelwandler - kein Problem

> 2)
> hier habe ich (nur) RS-485 zur Verfügung
> (http://www.axis.com/de/files/manuals/um_m7014_54168_en_1310.pdf) und
Was hat jetzt ein Videoencoder mit motorsteuerung zu tun?
> muss von RS485 auf RS232 Motorsteuerung umsetzen.
Wieso ???
Oben schreibst du doch, dass du an der Motorsteuerung 5V-TTL-Pegel hast.

> Und hier ist die Frage
> ob der Converter
> 
(http://www.allthings.com.au/Catalogue/PC%20MAC%20APPLE/RS232%20TO%20RS485%20CONVERTER.pdf)
> Pegel umwandelt bzw. was liegt am Ende des Converters an RS232 an, wenn
> Eingangsseitig RS485 am PC angeschlossen ist.
> Vermutlich fahre ich mit Pegelwandler besser...
Ja, sehr wahrscheinlich, nur das es sehr wahrscheinlich ein Wandler
von TTL-Pegel auf RS485 sein sollte.
Beachte, dass RS485 ein Umschaltsignal zum Senden an der Motorsteuerung 
braucht. Wenn da nur Rxd und Txd anliegen sollte, dann geht es nicht so 
einfach.

Ein Umsetzer TTL-RS232 geht aber.
Ein Umsetzer RS232 - RS485 mit intergeirten uC regelt dann aber das 
Problem mit der Richtungsumschaltung.

Alternativ nimmt man eben RS422 mit 4-Drahtleitung.
Gruß Öletronika

von Ch S. (spelli)


Lesenswert?

Hallo,

ja, ein Encoder mit Motorsteuerung.

Was geht:

1)
ENCODER -> RS485 zu RS232 Converter -> Max232 Pegelwandler -> TTL 5V 
Motorsteuerung

2)
Ich habe mir nun ein solches Modul hier bei eBay gekauft: 
http://yourduino.com/sunshop2/index.php?l=product_detail&p=323.

Die Variante unter 2) benötigt quasi zwei Bauteile/Module, jedoch kommt 
sie ohne zusätzliche Spannungsversorgung aus.

Muss das RS485 Module (Link oben) bei der Variante:

ENOCDER -> RS485 Module -> TTL 5V Motorsteuerung

extra mit Strom versorgt werden?


Das hier habe ich nicht verstanden:
"Beachte, dass RS485 ein Umschaltsignal zum Senden an der Motorsteuerung
braucht. Wenn da nur Rxd und Txd anliegen sollte, dann geht es nicht so
einfach."

Danke!

von U. M. (oeletronika)


Lesenswert?

Hallo,
> 1)
> ENCODER -> RS485 zu RS232 Converter -> Max232 Pegelwandler -> TTL 5V
> Motorsteuerung
Der Weg über RS232 ist umständlich und überflüssig.
Man kann auch gleich direkt gehen:
ENCODER /RS485 <------>  RS485/TTL-Motorsteuerung

> 2)
> Ich habe mir nun ein solches Modul hier bei eBay gekauft:
> http://yourduino.com/sunshop2/index.php?l=product_detail&p=323.
Das ist für Umsetzung TTL-RS485  und umgekehrt prinzipiell ok.

> Die Variante unter 2) benötigt quasi zwei Bauteile/Module, jedoch kommt
> sie ohne zusätzliche Spannungsversorgung aus.
Das Modul braucht auch Spannung (5V -> Vcc)

> Muss das RS485 Module (Link oben) bei der Variante:
> ENOCDER -> RS485 Module -> TTL 5V Motorsteuerung
> extra mit Strom versorgt werden?
5V von irgend wo her sind nötig.

> Das hier habe ich nicht verstanden:
> "Beachte, dass RS485 ein Umschaltsignal zum Senden an der Motorsteuerung
> braucht. Wenn da nur Rxd und Txd anliegen sollte, dann geht es nicht so
> einfach."
RS485 hat die Leitungen "A" und "B".
Das ist ein differenzielles Signal,welches aber immer nur in eine 
Richtung übertragen kann.
Die Schnittstelle kann also nicht Vollduplex, wie RS232, sondern nur 
Halbduplex.
http://de.wikipedia.org/wiki/Duplex_%28Nachrichtentechnik%29

Die Richtungsumschaltung erfolgt am Pin DE (Data-Enable).
Praktisch kann man aber RE und DE zusammenschalten.
Mach dich mal damit vertraut, wie RS485 überhaupt funktioniert.

Falls das ein Problem ist, dann brauchst du die RS485 doppelt, also für 
jede Richtung einmal (2x2 Leitungen).

Für rel. niedrige Baudraten, wie sie bei RS232 eh nur üblich sind (max. 
115kBaud) empfehle ich auch bandreitenbegrenzte RS485-Treiber,
z.B.
http://www.reichelt.de/ICs-M-MN-/MAX-483-CPA/3//index.html?ACTION=3&GROUPID=2914&ARTICLE=56996&OFFSET=16&WKID=0&;

Diese sind störsicherer, viel gutmütiger gegen Fehlterminierung und 
wenig empfinflich gegen schlechte Kabelqualität.
Das bischen Umschaltung kann man auch leicht auf Lochraster löten.
Gruß Öletronika

: Bearbeitet durch User
von Ch S. (spelli)


Lesenswert?

Hallo,

das Thema ist alt aber immer noch bzw. wieder aktuell:

Ich hatte folgendes lauffähig:

RS485 (2 Adern) auf RS232 Adapter (mit 5V versorgt, da Versorgung über 
Handshake nicht möglich) und dann per Pegelwandler auf TTL. Dies lief 
erfolgreich, dann stieg irgendwas aus.


RS485 -> da kommt alles richtig an
TTL -> da funktioniert alles z. B. mit einem USB-TTL Adapter

Nun habe ich mir aber sowas hier 
(http://www.ebay.de/itm/MAX485-Module-RS-485-TTL-to-RS-485-Module-Konverter-Adapter-/141603002521?pt=LH_DefaultDomain_77&hash=item20f8325899) 
gekauft.

RS485 an der grünen Klemme angeschlossen und an RO und DI TTL 
angeschlossen. GND ist ebenfalls verbunden.
So funktioniert es leider nicht. kann mir jmd. helfen?

Danke und Sorry für die dilettantische Ausdrucksweise...

von Justus S. (jussa)


Lesenswert?

da könnte nach das "Driver Output Enable" fehlen...

von Ch S. (spelli)


Lesenswert?

Hallo Justus!

Okay. Ich hatte RE und DE verbunden - das hatte ich so irgendwo im 
Internet gefunden... weiß jetzt aber nicht weiter.

Was heisst Driver Output Enable genau?

Danke!

von Justus S. (jussa)


Lesenswert?

Ch Sp schrieb:
> Was heisst Driver Output Enable genau?

siehe Datenblatt

von Tom A. (toma)


Lesenswert?

Hallo Ch Sp,

die RS485 ist eine Multipunkt Schnittstelle mit bis zu 32 Teilnehmern. 
Sie arbeitet mit einem Differenzsignal (2 Leitungen) in Halb-Duplex 
(zwei Richtungen - aber nicht gleichzeitig), auf den gleichen Leitungen. 
Das erfordert, bei allen Teilnehmern, eine Richtungsumschaltung. Wenn A 
sendet muß B empfangen und umgekehrt. Dieses Umschaltsignal ist "Driver 
Output Enable" und muß beidseitig bedient werden.

Wenn du nur zwei Teilnehmer (Punkt zu Punkt) hast, ist RS485 nicht die 
Schnittstelle der Wahl, sie ist eine Netzwerkschnittstelle. In Punkt zu 
Punkt Verbindungen ist RS232 gut geeignet, oder wenn es störsicherer 
sein darf RS422 (Vierdraht). Beide Schnittstellen arbeiten Voll-Duplex 
und brauchen keine Richtungsumschaltung.

Gruß. Tom

: Bearbeitet durch User
von Ch S. (spelli)


Lesenswert?

Hallo Tom!

Danke für deine Ausführungen!

Ich kann nicht wählen zwischen RS232 und RS485. Bei dieser 
Punkt-zu-Punkt-Verbindung ist RS485 auf der einen Seite leider 
unabänderlich...

Es soll nur von RS485->TTL gesendet werden!

Danke!

Christoph

: Bearbeitet durch User
von Tom A. (toma)


Lesenswert?

Hallo Christoph,

ich habe mal, als Auftragsarbeit, einen passiven (RS232,USB,Eternet) 
nach RS485 Pegelwandler entwickelt. Passiv heißt in diesem Fall, ohne 
Prozessor. Der Pegelwandler kann die Richtungsumschaltung für eine der 
beiden Seiten selbst erzeugen

Das Problem dabei, ich kann die Schaltung, für die eine Firma bezahlt 
hat, nicht einfach veröffentlichen. Nachdem es aber grundsätzlich 
funktioniert ist sicher ein ähnliches Gerät, oder die Pläne dafür, 
irgendwo im Netz verfügbar?

Sowet ich mich erinnere wird die Richtungsumschaltung aus dem Startbit 
der eingehenden Daten erzeugt und der Datenstrom etwas verzögert 
weitergegeben.

Gruß. Tom

von Georg (Gast)


Lesenswert?

Tom Amann schrieb:
> wird die Richtungsumschaltung aus dem Startbit
> der eingehenden Daten erzeugt und der Datenstrom etwas verzögert
> weitergegeben.

Das Problem dabei ist, dass man im allgemeinen Fall die geeignete 
Verzögerung nicht kennt, weil sie von der Baudrate abhängig ist. Wählt 
man sie z.B. sicherheitshalber als eine Zeichenlänge bei 1200 Baud, so 
kann das bei 19kBaud oder mehr schon zuviel sein.

Georg

von spontan (Gast)


Lesenswert?

lieber Ch Sp

Irgendiwe ungeschickt einen alten Threat zu kapern, nur weil darin 485 
und TTL vorkommt.

Beschreib doch deine Anwendung mal genau... und mach einen eigenen 
Threat auf.

Wer hier ankommt, der liest das Problem eines anderen, was mit diener 
Aufgabenstellung wahrscheinlich nix zu tun hat. Mit den Tipps zum 
Originalproblem kannst du wahrscheinlich nicht viel anfangen.

Diesen Threat würd ich schließen lassen. Da mühen sich eine Menge Leute 
ab, ab zu welchem Problem eigentlich?

von Justus S. (jussa)


Lesenswert?

spontan schrieb:
> und mach einen eigenen
> Threat auf.

es ist sein eigener Thread...

von Route_66 H. (route_66)


Lesenswert?

spontan schrieb:
> lieber Ch Sp
>
> Irgendiwe ungeschickt einen alten Threat zu kapern, nur weil darin 485
> und TTL vorkommt.

Es ist sein eigener uralter Threat, zu dem er bisher keine Lösung 
fand!

von Ch S. (spelli)


Lesenswert?

Kann man sich selbst kapern?

-> ja habe den Sinn dahinter verstanden! ;-)

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.