Forum: Mikrocontroller und Digitale Elektronik RS485 Pegelunterschiede


von Mario (tola-emma)



Lesenswert?

Hallo liebe Mikrocontroller Gemeinde,
ich bin auf der Suche nach einem experten was die RS485 Signalpegel 
angeht.
Ich möchte gerne das Display von meinem Wohnmobil (Infomationen über 
Batteriespannungen, Tankinhalte, Beleuchtung und Wasserpumpe schalten) 
gegen eine Raspberry Pi 5 mit Display und TTL_to_RS485 wechseln um die 
Information zu erweitern und besser anzuzeigen. Laut Internet ist das 
alte Display über eine RS485 Verbindung mit der Wohnmobilsteuerung 
verbunden. Den Datenstring habe ich auch schon aufgeschlüsselt. Leider 
sind die Signalpegel unterschiedlich (siehe Bilder). Die Kabellänge 
beträgt 5m und hat im Original keine Abschlusswiederstände. Auf den 
beiden Bildern erkennt man den Datenstring vom Master (die ersten 5Byte) 
und die Daten von der Steuerung (die hinteren 20 Byte).
Bei dem Bild "Wohnmobilsteuerung mit TTL_to_Rs485" kommt der Datenstring 
vom Master nicht sauber an.

Ich hoffe das alles verständlich ist und aus den Bildern die richtigen 
Rückschlüsse gezogen werden können

Lieben Gruß
Tola-Emma

von Hmmm (hmmm)


Lesenswert?

Kann es sein, dass Du am Anfang den Treiber eingeschaltet hast und somit 
die Gegenstelle störst?

von Achim M. (minifloat)


Lesenswert?

Hallo,

hast du eine Masseleitung mit dem RS485 mitgeführt? Auch zum 
Oszi-Ground?

Der negative Haken da am Ende sieht komisch aus.

Kannst du ein Schema-Schaltplan mit Kabellängen, jeweils genutzten 
Massepunkten, DCDC usw. erstellen?
Dabei auch einzeichnen, woher das Oszi seinen Groundbezug her hat.

Notfalls muss die Versorgung des R-PI eben in der Nähe des 
Aktuator-Steuergeräts abgegriffen und mit durch die Bude entlang des 
RS485 geführt werden.

mfg mf

: Bearbeitet durch User
von Uwe (uhi)


Lesenswert?

Zwei Dinge:
1. Du brauchst ein Bias-Netzwerk, dass den roten Pegel auf high zieht, 
wenn keiner sendet. Dieses war offenbar im originalen Display, aber nun 
fehlt es.
2. Ein "richtiger" RS-485-Knoten würde beide Pegel aktiv treiben können, 
während er aktiv ist. Der neue Knoten treibt allerdings nur "rot runter, 
blau hoch", nicht andersrum. Daher sind die Flanken seeeehr rund, viel 
länger als eine Bitzeit, und damit unbrauchbar. Das ist offenbar die 
"Sparschaltung", wo die Sende-Empfangs-Umschaltung als Sendeleitung 
verwendet wird. Abhilfe sollte auch dagegen ein starkes Bias-Netzwerk 
schaffen.

In etwa so: rot über 560 Ohm nach 5V, blau über 560 Ohm nach Masse. 
Zwischen den Leitungen 150 Ohm. (Werte angelehnt an 
https://de.wikipedia.org/wiki/EIA-485)

von Mario (tola-emma)


Lesenswert?

Hallo Hmmm,
ich schicke von der Raspberry Pi das Signal(FF 00 00 00 FF) immer wieder 
los und auf dem Oziloskop wird das Signal so angezeigt und der Slave 
(Wohnmobilsteuerung) kommt nur selten eine Antwort und die ist auch 
nicht immer korrekt.

Hallo Achim,
die Verbindung zwischen Steuerung und Display sind 4 Adern (+12VDC, 
Masse, A, B). An dem TTL_to_RS485 Modul habe ich Masse, A und B 
angeklemmt. Der Testaufbau hat nur 40cm Leitung und in der Mitte habe 
ich das Oziloskop mit Ground an Masse angeschlossen.

Gruß Tola-Emma

von Thomas (kosmos)


Lesenswert?

Deine Signale schauen schon sehr verschliffen aus. Ist der Bus am jedem 
Ende mit 120 Ohm abgeschlossen? Vielleicht hast du einen Teilnehmer 
entfernt der den Widerstand integriert hatte.

Schau dir mal hier die Signale an.
https://www.profibus.felser.ch/signale.html

von Hmmm (hmmm)


Lesenswert?

Ich würde an Deiner Stelle erstmal auf einen vernünftigen 
USB-RS485-Konverter mit FT232 umstellen.

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> ich schicke von der Raspberry Pi das Signal(FF 00 00 00 FF) immer wieder
> los und auf dem Oziloskop wird das Signal so angezeigt ...

Wo siehst du in Wohnmobilsteuerung_mit_TTL_to_RS485.png ein 0xFF 0x00 
0x00 0x00 0xFF?
Kein Wunder, dass das Wohnmobil da nichts versteht.

Wie sieht denn das Signal auf dem Bus aus, wenn du das Wohnmobil erstmal 
abklemmst?

Sollen die Zeichen, die du mit dem RaspPi sendest, die Datenausgabe vom 
Wohnmobil anstoßen oder plappert das von sich aus vor sich hin?
Wie werden bei deinem Aufbau die RS485-Sender aktiviert?

: Bearbeitet durch User
von Mario (tola-emma)


Lesenswert?

Hallo Uwe,
da ich an der RS485 Seite vom TTL_to_RS485 Konverter die Verbindung 
aufgebaut habe müsste ich doch das BIAS Netzwerk mit 12V beschalten und 
kannst Du mir sagen welche Widerstände ich dort benötige.

Gruß
Tola-Emma

von Uwe (uhi)


Lesenswert?

12V ist schlecht. Der Treiber müsste eine 5V-Leitung haben.

von Harald K. (kirnbichler)


Lesenswert?

Mario schrieb:
> habe müsste ich doch das BIAS Netzwerk mit 12V beschalten

Nee. 5V.

Ein Pullup an +5V, ein Pulldown an GND und dazwischen einen 
Abschlusswiderstand.

https://de.wikipedia.org/wiki/EIA-485

Siehe Zeichnung "Bias-Netzwerk"

von Hans (ths23)


Lesenswert?

Mario schrieb:
> ich schicke von der Raspberry Pi das Signal(FF 00 00 00 FF) immer wieder
> los und auf dem Oziloskop wird das Signal so angezeigt und der Slave
> (Wohnmobilsteuerung) kommt nur selten eine Antwort und die ist auch
> nicht immer korrekt.
Vermutlich liegt es an Deiner RasPi-Schnittstelle. Wie koppelst Du denn 
den Pi an die Wohnmobilsteuerung? Vermutlich brauchst Du da nur einen 
passenden Adapter, der die erforderlichen Pegel liefern kann.

Gute RS485 Boards haben die passenden Pullup-, Pulldown- und 
Abschlußwiderstände integriert, da muß man nix machen. Die haben auch 
eine Spannungsversorgung für die RS485-Seite, so daß die erforderlichen 
Pegel erreicht werden.

: Bearbeitet durch User
von Icke ®. (49636b65)


Lesenswert?

Die Signale auf den Bildern sehen wie TTL-Pegel aus und nicht wie RS485. 
Letzterer arbeitet differentiell, d.h. die Unterscheidung zwischen 0 und 
1 erfolgt mittels Umpolung. Die absolute Spannung spielt dabei keine 
Rolle, zuverlässige Erkennung ist schon ab ca. 0,2V gegeben. Die Signale 
im Eingangspost sind jedoch, bis auf Störungen, durchweg im positiven 
Bereich.

von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Die absolute Spannung spielt dabei keine Rolle,

Unsinn. Der Common Mode Bereich der Eingänge muss auf jeden Fall 
eingehalten werden.

von Icke ®. (49636b65)


Lesenswert?

OK, speziell für Erbsenzähler korrigiere/ergänze ich:

Die absolute Spannung spielt, anders als bei TTL, für die 
Signalerkennung keine Rolle, darf aber die spezifizierten Werte nicht 
überschreiten.

von Harald K. (kirnbichler)


Lesenswert?

Hans schrieb:
> Gute RS485 Boards haben die passenden Pullup-, Pulldown- und
> Abschlußwiderstände integriert, da muß man nix machen. Die haben auch
> eine Spannungsversorgung für die RS485-Seite, so daß die erforderlichen
> Pegel erreicht werden.

Abgesehen vom "bias network" ist natürlich beim RS485-Betrieb ein 
zeitlich passendes Umschalten vom Sende- auf Empfangsbetrieb 
erforderlich. Am einfachsten geht das, wenn man eine UART mit 
entsprechender Hardwareunterstützung dafür verwendet; die UART des Pi 
aber scheint das nicht zu können. Hier muss also ein zusätzlicher 
GPIO-Pin verwendet und passend angesteuert werden, was nicht trivial 
ist, denn die Umschaltung muss so schnell wie möglich erfolgen, nachdem 
das Stopbit des letzten zu sendenden Bytes das UART-Schieberegister 
verlassen hat.

Wenn man nicht auf Registerebene mit der UART kommuniziert, sondern den 
beliebten Schichtkuchen aus Library, Skriptsprache und 
Betriebssystemtreibern verwendet, ist das ein eher auswegloses 
Unterfangen.

Eine USB-Seriell-Bridge wie der FT232 aber enthält diese 
RS485-Unterstützung in Hardware und ist hier daher eindeutig zu 
bevorzugen, am besten in Form eines fertig aufgebauten 
USB-RS485-Adapters.


Was die Spannungsversorgung betrifft: Sofern der RS485-Wandler nicht 
galvanisch von der UART getrennt ist, ist die unkritisch, der Treiber 
benötigt lediglich 5V.

von Mario (tola-emma)


Angehängte Dateien:

Lesenswert?

Hallo Ihr Lieben,
ich habe noch einen USB_TO_RS485 
(https://www.reichelt.de/de/de/shop/produkt/raspberry_pi_-_usb-rs485-schnittstelle_ch340c-242783). 
An diesem habe ich einen 100Ohm Widerstand angeschlossen(hatte leider 
keinen 120Ohm) und diesen mit der Wohnmobilsteuerung 
verbunden(Kabellänge 20cm). Den Abgriff für das Oziloskop ist direkt am 
Widerstand abgenommen und die Masse vom GROUND(0V) der 
Wohnmobilsteuerung. Hierzu habe ich ein Bild eingestellt.
Der eingekreiste Bereich ist das Mastersignal (xFFx00x00x00xFF)vom USB 
Adapter und der Rest kommt aus der Wohnmobilsteuerung (Hex-Antwort).
Aber auch hier kommt das Sendesignal nicht sauber rüber. Ist der 
USB-Adapter nicht der richtige?

von Harald K. (kirnbichler)


Lesenswert?

Mario schrieb:
> Aber auch hier kommt das Sendesignal nicht sauber rüber.

Wieso? Weil der Decoder Deines Oszilloskops damit nicht zurecht kommt? 
Andere mal die Zeitbasis.

Beitrag #7854743 wurde vom Autor gelöscht.
von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> Den Abgriff für das Oziloskop ist direkt am Widerstand abgenommen

Wenn du die beiden Signale mal nicht immer so ineinander quetschen 
würdest, könnte man die Pegel deutlich besser ablesen.

> An diesem habe ich einen 100Ohm Widerstand angeschlossen(hatte leider
> keinen 120Ohm)

Hast du dir einmal ausgerechnet, wie groß der Unterschied wäre?`
Welchen Wert haben deine Bias Widerstände und was für Spannungen 
erwartest du auf den beiden Busleitungen, wenn beide Seiten ihren Sender 
abgeschaltet haben?

: Bearbeitet durch User
von Mario (tola-emma)



Lesenswert?

Hallo Ihr Lieben,
wenn ihr meint das die Sendesignale nur auf dem Oziloskop nicht richtig 
konvertiert wird ist mir dieses eigendlich egal.
Nun habe ich  den USB-Adapter jetzt mit der RasperryPI verbunden und die 
Schnittstelle zum Senden angepasst.
Wenn ich dieses Signal (xffx00x00x00xff) nur alle 12 Sekunden senden 
kommt eine Antwort der Wohnmobilsteuerung, aber mir ist aufgefallen das 
die B Leitung beim Sende eine höhere Spannung hat als die Antwort der 
Wohnmobilsteuerung. Sende ich das Signal einmal 1 der Sekunde bekomme 
ich keine Antwort von der Wohnmobilsteuerung. Mit dem originalen Display 
werden alle 100ms ein Signal ausgelöst und die Antwort kommt auch immer.

von Mario (tola-emma)


Lesenswert?

Hallo,
noch einen Nachtrag. In meiner RaspberryPI kommt folgender Wert auf der 
Empfangsseite:
b'\xfe\xff\xff\xf9'
Normalerweise sollte dort "b'\xff\x00\x00\x00\xff'" stehen.
Lieben Gruß
Tola-Emma

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> kommt eine Antwort der Wohnmobilsteuerung, aber mir ist aufgefallen das
> die B Leitung beim Sende eine höhere Spannung hat als die Antwort der
> Wohnmobilsteuerung.

Nochmal: Der Empfänger wertet die DIFFERENZ aus.
Guck dir den Aufbau eines RS485-Empfängers an.

von Uwe (uhi)


Lesenswert?

Auch der neue Adapter hat kein passendes Bias-Netzwerk. Wir brauchen 
neben "blau größer als rot" auch "rot größer als blau". Das sieht man 
jedoch nicht. Du brauchst ein Bias-Netzwerk, was rot nach oben (in 
Richtung 5V) und blau nach unten (in Richtung Ground) zieht. Weil bei 
RS-485 die Differenzspannung ausgewertet wird, und diese deutlich 
positiv und negativ sein muss.

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> In meiner RaspberryPI kommt folgender Wert auf der Empfangsseite:
> b'\xfe\xff\xff\xf9'

Um das festzustellen braucht man keinen Raspberry Pi.

Wenn du dir dein 
Wohnmobilsteuerung_mit_USB_to_RS485_100Ohm__an_RaspberryPI_1Sek.png 
ansiehst, könntest du erkennen, dass während der Übertragung der 0x00er 
das blaue Signal IMMER über dem roten liegt. Das kann nicht 
funktionieren.
Kannst du dir mit deinem Oszi direkt die Differenz der beiden Kanäle 
anzeigen lassen?
Liest du auch Fragen?

: Bearbeitet durch User
von Mario (tola-emma)


Lesenswert?

Hallo Uwe,
hast Du eine Ahnung ob ich die 5V und GND von den GPIO der Raspberry 
nehmen kann oder sollte ich diese direkt aus meiner USB 
Versorgungsbuchse nehmen.
Den 100 Ohm Wiederstand ersetze ich dann gegen die BIAS-Wiederstände aus 
deiner oberen Beschreibung?
Lieben Gruß
Mario

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ich glaube, der rote Ausgang ist defekt. Hat keine Kraft mehr, ein 
ordentliches Signal zu liefern.

von Uwe (uhi)


Lesenswert?

Mario schrieb:
> hast Du eine Ahnung ob ich die 5V und GND von den GPIO der Raspberry
> nehmen kann oder sollte ich diese direkt aus meiner USB
> Versorgungsbuchse nehmen.

Im besten Fall vom Transceiver. Wenn der keine galvanische Trennung zum 
USB hat, dann auch gern vom USB oder von der GPIO-Leiste des Raspberry 
oder vom 5V-Netzteil, was den Raspberry speist. Alles identisch.

Sherlock 🕵🏽‍♂️ schrieb:
> Ich glaube, der rote Ausgang ist defekt. Hat keine Kraft mehr, ein
> ordentliches Signal zu liefern.

In der Tat. Um 18:16 Uhr sah es noch gut aus, danach ist irgendwas 
kaputt (oder kurzgeschlossen oder Widerstand geändert oder so).

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Angehängte Dateien:

Lesenswert?

Uwe schrieb:
> oder kurzgeschlossen

Kurzschluss kann ausgeschlossen werden, denn im markierten Abschnitt hat 
die rote Linie gute Pegel.

von Mario (tola-emma)



Lesenswert?

Hallo Rainer,
sorry hatte die Frage übersehen!!!
Die Spannungen A und B bei beim Original Display und Wohnmobilsteuerung 
mit ausgeschalteten Display (keine Signale) betrugen die Spannung:
A= 88,8 mV
B= 4,401 V
Nach meiner Messung existieren keine Abschlusswiderstände.
Lieben Gruß
Mario

von Mario (tola-emma)


Lesenswert?

Hallo Uwe,
um 18:16 war dort nicht die Raspberry an dem USB Adapter angeschlossen 
sondern mein Handy von dem ich die Signale über den USB Adapter gesendet 
habe.

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Spannungen A und B bei beim Original Display und Wohnmobilsteuerung mit
> ausgeschalteten Display (keine Signale) betrugen die Spannung:
> A= 88,8 mV
> B= 4,401 V

A und B ist nicht ganz eindeutig, aber die gängige Definition der 
Transceiver-Hersteller ist A = non-inverting und B = inverting, in dem 
Fall müsste in Ruhelage A auf High- und B auf Low-Pegel sein.

von Uwe (uhi)


Lesenswert?

Mario schrieb:
> Die Spannungen A und B bei beim Original Display und Wohnmobilsteuerung
> mit ausgeschalteten Display (keine Signale) betrugen die Spannung:
> A= 88,8 mV
> B= 4,401 V

Das deutet auf eine Verwechslung von A und B hin. Wenn ich Wikipedia 
(https://de.wikipedia.org/wiki/EIA-485) und TI-Datenblatt 
(https://www.ti.com/lit/ds/symlink/sn65hvd3082e.pdf?ts=1743498914859&ref_url=https%253A%252F%252Fwww.mouser.at%252F) 
richtig verstehe, ist
A (auch + genannt, "nichtinvertierend") im Ruhezustand High
B (auch - genannt, "invertierend") im Ruhezustand Low

Ruhezustand heißt, dass der Controller high an RX und TX hat.

von Icke ®. (49636b65)


Lesenswert?

Rainer W. schrieb:

> Nochmal: Der Empfänger wertet die DIFFERENZ aus.
> Guck dir den Aufbau eines RS485-Empfängers an.

Ist wahrscheinlich zwecklos. Der Mann will einfach nicht verstehen, wie 
ein RS485-Bus funktioniert. Und das Gros der Helfer hier wohl auch 
nicht.

von Ate E. (drigo)


Lesenswert?

Der hat definitiv bereits einen 120R Widerstand eingebaut.
Außerdem werden da die 5V auch rauf gelegt!
Dient also gleichzeitig als passiver Abschluss!

von Rainer W. (rawi)


Lesenswert?

Ate E. schrieb:
> Außerdem werden da die 5V auch rauf gelegt!

Dann sollte sich der Pegel auch vernünftig in Richtung 5V bewegen, wenn 
der Master sendet.
Um festzustellen, welche Seite die Leitung irgendwo hin zieht, kann man 
vorübergehend einen kleinen Widerstand in die Leitung hängen und sieht 
dann, von welcher Seite ein Pegel kommt und wer gerade die Last 
darstellt.

von Mario (tola-emma)



Lesenswert?

Hallo ihr Lieben,
ich habe heute nochmal das alte Display(Master) und die 
Wohnmobilsteuerung(Slave) zusammengebaut und das Oziloskop 
angeschlossen.
Wenn ich die Leitungen A und B zwischen Master und Slave kommt eine 
Fehlermeldung am Display. Wenn ich den Anschluss am Ozilokop vertausche 
damit A High ist und B low ist. werden die Werte falsch angezeigt.
Meine Vermutung ist das die B Leitung High und A Leitung Low sein muss.
Die Informationen wie die Daten Aussehen habe ich von diesem Link 
herausgezogen: https://github.com/class142/ne-rs485/blob/master/spec.md

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Wenn ich die Leitungen A und B zwischen Master und Slave kommt eine
> Fehlermeldung am Display. Wenn ich den Anschluss am Ozilokop vertausche
> damit A High ist und B low ist. werden die Werte falsch angezeigt.
> Meine Vermutung ist das die B Leitung High und A Leitung Low sein muss.

Du siehst aber schon, dass Du Deinen UART-Decoder auf B gehängt hast, 
der also (sofern die Bezeichnung der üblichen Definition entspricht) das 
invertierte Signal auswertet, oder?

von Rainer W. (rawi)


Lesenswert?

Hmmm schrieb:
> Du siehst aber schon, dass Du Deinen UART-Decoder auf B gehängt hast,

Was gefällt dir daran nicht?
High-Pegel für die Datenbits bei 0xFF in 
Wohnmobilsteuerung_mit_alten_Display__A_high__B_low_.png hört sich 
eigentlich nicht so verkehrt an. Aber bei diesen zusammengequetschten 
und überlagerten Oszillogrammen guckt man sich die Augen aus und kriegt 
einen Knoten ins Hirn.

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Rainer W. schrieb:
> Hmmm schrieb:
>> Du siehst aber schon, dass Du Deinen UART-Decoder auf B gehängt hast,
>
> Was gefällt dir daran nicht?

Wenn das Signal auf der mit B beschrifteten Ader richtigrum ist 
(Ruhepegel high), ist es mit Sicherheit falschrum, wenn er seinen 
USB-RS485-Konverter dranhängt. Der erwartet nämlich i.d.R. auf A das 
nicht-invertierte Signal.

Hätte er längst testen können, indem er den einfach mal zum Lauschen 
dranhängt, während die Kommunikation der Original-Geräte läuft

Rainer W. schrieb:
> High-Pegel für die Datenbits bei 0xFF in
> Wohnmobilsteuerung_mit_alten_Display__A_high__B_low_.png hört sich
> eigentlich nicht so verkehrt an.

Dachte ich auch zuerst, aber das soll ja der nicht funktionierende Fall 
sein, wenn ich seine Ausführungen richtig verstanden habe.

Rainer W. schrieb:
> Aber bei diesen zusammengequetschten
> und überlagerten Oszillogrammen guckt man sich die Augen aus und kriegt
> einen Knoten ins Hirn.

Ja. Es wäre auch hilfreich, wenn er mal Fotos der Komponenten (mit 
lesbarer Beschriftung) und eine Zeichnung davon, was er wie 
angeschlossen hat, beifügen würde.

: Bearbeitet durch User
von Mario (tola-emma)


Lesenswert?

Hmmm schrieb:
> Ja. Es wäre auch hilfreich, wenn er mal Fotos der Komponenten (mit
> lesbarer Beschriftung) und eine Zeichnung davon, was er wie
> angeschlossen hat, beifügen würde.

Ich werde morgen mal versuchen euch ein paar Fotos der Komponenten 
zukommen zu lassen.

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> Wenn ich den Anschluss am Ozilokop vertausche
> damit A High ist und B low ist. werden die Werte falsch angezeigt.

Die Zuordnung der Buchstaben A und B zu den Leitungen ist nicht 
eindeutig, hat also nicht wirklich eine Bedeutung - manche Leute machen 
es so, andere anders.

Entscheidend ist die Polarität vom Start-Bit. Daran kannst du dich immer 
orientieren und musst dann deinen Dekoder so anschließen/einstellen, 
dass er das richtig versteht.

von Icke ®. (49636b65)


Angehängte Dateien:

Lesenswert?

Mario schrieb:
> Meine Vermutung ist das die B Leitung High und A Leitung Low sein muss.

Du hast den RS485-Bus noch immer nicht verstanden. RS485 arbeitet 
differentiell, d.h. es gibt kein HIGH oder LOW, weil der Empfänger die 
Leitungen A und B nicht über deren Bezug zu GND auswertet, sondern den 
logischen Pegel danach bestimmt, welche Polarität zwischen ihnen 
anliegt. Plus an A und Minus an B wird als logisch "1" interpretiert, 
Minus an A und Plus an B, als logisch "0". Es ist für die Funktion 
prinzipiell gar nicht erforderlich, zwischen Sender und Empfänger die 
Masse mitzuführen! Dies wird zwar häufig empfohlen, dient aber lediglich 
der Vermeidung unzulässiger Gleichtaktspannungen oder wegen der EMV. 
Schau dir das Bild mit der vereinfachten Prinzipdarstellung an. Es zeigt 
den Zustand bei logisch "1", der bei richtiger BIAS-Vorspannung auch 
Ruhezustand des Busses sein soll (den Widerstand habe ich nur für die 
Krümelkacker eingezeichnet, die ansosnsten monieren würden, daß die LEDs 
ohne ihn sofort kaputt gehen :P). Mit Plus an A und Minus an B leuchtet 
die obere LED für logisch "1". Jetzt drehe die Spannungsquelle um, sodaß 
Minus an A und Plus an B liegt. Nun leuchtet die untere LED für logisch 
"0". Es spielt dabei keine Rolle, wie hell die LEDs leuchten, sie müssen 
nur so hell sein, daß das Leuchten noch zu erkennen ist. Genau nach 
diesem Prinzip arbeitet der RS485-Bus. Für stabile Funktion muß der Bus 
jedoch korrekt terminiert sein (an jedem Ende 120 Ohm). Noch viel 
wichtiger ist aber die richtige Vorspannung mit BIAS-Widerständen. Bei 
2-Draht RS485 darf immer nur ein Gerät senden, deswegen schalten sich 
die Treiber hochohmig, wenn das Gerät gerade nicht sendet, damit ein 
anderes Gerät den Bus übernehmen kann. Wenn kein Gerät sendet, sind alle 
Treiber hochohmig und der Bus hängt in der Luft. In dieser Situation 
nimmt die Spannung bzw. Polarität zufällige Werte an und somit ist auch 
der logische Zustand zufällig. Dies kann zu erheblichen Störungen oder 
totaler Fehlfunktion führen. Die EMpänger (bzw. deren nachgeordnete 
Logik) erwarten nämlich als Startkondition ein logisch "1" (Plus an A, 
Minus an B). Ohne Vorspannung könnte rein zufällig aber auch gerade 
logisch "0" anliegen. Und wenn der Bus floatet, d.h. seinen Zustand 
aufgrund von Einstreuungen ständig ändert, bekommt die nachfolgende 
Logik eine sinnlose Folge von Nullen und Einsen serviert. Mit 
entsprechend unabsehbaren Folgen.
Bevor du weiter rumstocherst, solltest du sicherstellen, daß der Bus 
physisch korrekt aufgebaut ist, also BIAS und Terminierung stimmen. Das 
Oszi braucht nur einen Kanal, denn es gibt ja auch nur ein Signal, die 
Differenz zwischen A und B. Es macht keinerlei Sinn, A und B gegen Masse 
getrennt darzustellen. Verbinde GND des Oszis mit B und die Spitze mit 
A. Dazu ist natürlich galvanische Trennung des Oszis und der 
Schaltungsmasse erforderlich.

Eine böse Stolperfalle existiert allerdings noch. Wie schon weiter oben 
angesprochen, ist die Bezeichnung der Leitungen mit A und B nicht 
eindeutig, weil sich nicht alle Hersteller daran halten! Je nachdem 
könnte A auch die invertierte Leitung sein und B die nichtinvertierte. 
Ja, das ist ziemlich gemein. Man sollte also ins Datenblatt schauen, 
welche Definition der Hersteller benutzt. Manchmal stehen da z.B. solche 
Angaben drin wie "A+" oder "A-". Weitaus häufiger kommt in der Praxis 
die Definition A+ vor, sprich Plus an A (nichtinvertierte Leitung). 
Entscheidend ist aber immer die Polarität, nicht der Buchstabe!!

von Uwe (uhi)


Lesenswert?

Wow, danke, super erklärt. Ich würde gern 10 Pluspunkte vergeben.
Kleine Ergänzung zur Oszimessung gegen Masse: Messung beider Leitungen 
gegen Ground kann helfen, Gleichtaktprobleme zu bewerten. Idealerweise 
würde das Oszi einen berechneten Kanal A minus B anzeigen können, dann 
wird die Interpretation leichter, und an diesen Kanal dann den 
UART-Decoder hängen.

von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Es macht keinerlei Sinn, A und B gegen Masse
> getrennt darzustellen. Verbinde GND des Oszis mit B und die Spitze mit
> A. Dazu ist natürlich galvanische Trennung des Oszis und der
> Schaltungsmasse erforderlich.

Gefährliches Halbwissen

Sobald der USB-Seriell-Wandler am PC angeschlossen ist, ist Gnd bei den 
meisten mit PE verbunden. Genauso ist bei vielen Oszis der Gnd der 
Eingänge mit PE verbunden.

Einen Kurzschluss zwischen B und Gnd will keiner.

Heutige Oszis können aus den Signalen A gegen Gnd und B gegen Gnd selber 
die Differenz ausrechnen und anzeigen - genau aus o.g. Grund.

Außerdem würde sich der Treiber für die B-Leitung bedanken, wenn er das 
ganze Oszi potentialmäßig mit der Änderung vom B-Signal durch die Gegend 
schleifen soll.

: Bearbeitet durch User
von Icke ®. (49636b65)


Lesenswert?

Rainer W. schrieb:
> Sobald der USB-Seriell-Wandler am PC angeschlossen ist, ist Gnd bei den
> meisten mit PE verbunden. Genauso ist bei vielen Oszis der Gnd der
> Eingänge mit PE verbunden.

Genau deswegen schrieb ich "galvanische Trennung". Für mich heißt 
galvanische Trennung, es gibt (außer der gewollten am Tastkopf) keine 
galvanische Verbindung, auch nicht über PE. Kann man mit Trenntrafo oder 
Batteriebetrieb realisieren. Somit gibts auch keinen Kurzschluß oder 
Potentialprobleme.

Rainer W. schrieb:
> Heutige Oszis können aus den Signalen A gegen Gnd und B gegen Gnd selber
> die Differenz ausrechnen und anzeigen

Wenn man ein solches besitzt, wäre das eine Alternative. Die überlagerte 
Darstellung beider Leitungen ist aber nicht sinnvoll.

von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Kann man mit Trenntrafo oder
> Batteriebetrieb realisieren. Somit gibts auch keinen Kurzschluß oder
> Potentialprobleme.

Die galvanische Trennung mit einem Trenntrafo ändert nichts daran, dass 
der Treiber dann das komplette Oszi und den halben Trafo mit durch die 
Gegen schleifen muss. Ab gewissen Frequenzen wird das - vorsichtig 
ausgedrückt - LÄSTIG.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mario schrieb:
> einen USB_TO_RS485
> 
(https://www.reichelt.de/de/de/shop/produkt/raspberry_pi_-_usb-rs485-schnittstelle_ch340c-242783).
Obacht: bei diesen Chinaböllern ist der GND nicht herausgeführt. Das 
musst du selber machen. Denn auch wenn RS485 nur 2 Signalleitungen hat, 
bezieht sich doch jede einzelne davon auf diesen gmeinsamen GND.

von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Wenn man ein solches besitzt, wäre das eine Alternative.

Wenn es um differentielle Signale geht, ist das die einzig vernünftige 
Alternative (oder ein entsprechender Tastkopf). Auch besitzt nicht jeder 
einen Trenntrafo aus der Zeit der Röhrentechnik oder ein Oszi mit 
Batteriebetrieb.

Aber der TO verrät leider auch nicht, was er da aufgebaut hat und was er 
an Geräten/Hilfsmitteln zur Verfügung hat.

von Uwe (uhi)


Lesenswert?

Es driftet leicht ins Off-topic, aber es gibt USB-Oszis mit galvanischer 
Trennung, hobbytauglicher Preis, leider nur zwei Kanäle, OWON VDS1022i. 
Bin zufrieden damit.

von Icke ®. (49636b65)


Lesenswert?

Lothar M. schrieb:
> Denn auch wenn RS485 nur 2 Signalleitungen hat,
> bezieht sich doch jede einzelne davon auf diesen gmeinsamen GND.

Jetzt geht das wieder los. Die Aussage gilt prinzipiell nur innerhalb 
der Senderschaltung. Wenn du zwei batteriebetriebene Geräte 
ausschließlich mit A und B verbindest, funktioniert der Bus genauso, 
obwohl der Empfänger keinerlei Verbindung zum GND des Senders hat. Weil 
der Empfänger eben nur die Differenz zwischen A und B auswertet und die 
Signale NICHT auf GND bezieht. DAS ist das Prinzip von RS485! Und daß 
GND von vielen Entwicklern aus Gründen der Störsicherheit mitgeführt 
mit, ändert daran gar nichts. Aus starkstromtechnischer Sicht ist die 
Verbindung von entfernten Geräten über (PE-verbundenes) GND wegen der 
auftretenden Potentialunterschiede eigentlich ein NoGo. Wenn die 
Potentialunterschiede ausreichend groß sind und keine Maßnahmen zur 
Strombegrenzung getroffen werden, schmilzt dir deine GND-Leitung im 
Extremfall sogar weg. Ich habe sowas tatsächlich schon gesehen. Nicht 
bei RS485, aber bei Kupfer-Netzwerkkabeln, wo die Mantelisolierung 
angeschmolzen war.

von Icke ®. (49636b65)


Lesenswert?

Rainer W. schrieb:
> Auch besitzt nicht jeder einen Trenntrafo aus der Zeit der Röhrentechnik
> oder ein Oszi mit Batteriebetrieb.

Och, sogar mein uralter RFT EO174A kann über Batterie oder externe 12V 
betrieben werden :P

Rainer W. schrieb:
> Ab gewissen Frequenzen wird das - vorsichtig
> ausgedrückt - LÄSTIG.

Mag sein, aber die Wohnmobilsteuerung wird wohl nicht mit MHz arbeiten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Icke ®. schrieb:
> Jetzt geht das wieder los. Die Aussage gilt prinzipiell nur innerhalb
> der Senderschaltung.
Sie gilt auch prinzipiell für jeden Empfänger. Der hat nämlich einen 
Gleichtaktbereich. Wenn der verlassen wird, macht der Empfängerbaustein 
Käse.

> Weil der Empfänger eben nur die Differenz zwischen A und B auswertet und
> die Signale NICHT auf GND bezieht. DAS ist das Prinzip von RS485!
Genauso wie eine H-Brücke "im Prinzip" mit 4 Mosfets realisiert wird, 
und doch "in der Realität" laufend irgendwelche Anfänger mit der 
Ansteuerung der Highside auf die Nase fallen.

Wie auch immer: alle mir bekannten und erfolgreichen 
RS422/RS485/CAN/DMX/LVDS/uswusf-Hersteller empfehlen, den GND 
mitzuführen. Ich wünsche allen viel Glück, die das nicht tun. Sie 
brauchen es.

: Bearbeitet durch Moderator
von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Jetzt geht das wieder los. Die Aussage gilt prinzipiell nur innerhalb
> der Senderschaltung. Wenn du zwei batteriebetriebene Geräte
> ausschließlich mit A und B verbindest, funktioniert der Bus genauso,
> obwohl der Empfänger keinerlei Verbindung zum GND des Senders hat.

Hör doch auf mit deinen Spezialfällen.

Sobald die Geräte NICHT galvanisch getrennt sind, muss man darauf achten 
- fertig.

Icke ®. schrieb:
> Mag sein, aber die Wohnmobilsteuerung wird wohl nicht mit MHz arbeiten.

Aber mit 38.4kBd Datenraten und dann sollen die Pulse noch halbwegs 
rechteckförmig sein. Also müssen entsprechend Oberwellen auch noch heil 
rüber kommen.

: Bearbeitet durch User
von Icke ®. (49636b65)


Lesenswert?

Lothar M. schrieb:
> Sie gilt auch prinzipiell für jeden Empfänger. Der hat nämlich einen
> Gleichtaktbereich. Wenn der verlassen wird, macht der Empfängerbaustein
> Käse.

Nope. Guten RS485-Komponenten mit isolierten Transceivern ist die 
Gleichtaktspannung auf den Leitungen gegen GND so ziemlich egal, solange 
die nicht die Isolierung durchschlägt. Ich rede von vollständig 
isolierten, also auch mit galvanischer Trennung der Betriebsspannung. 
Ja, die sind nicht billig.
Siehe auch:

https://www.all-electronics.de/wp-content/uploads/migrated/article-pdf/126076/ejl09-11-i-016.pdf


> Wie auch immer: alle mir bekannten und erfolgreichen
> RS422/RS485/CAN/DMX/LVDS/uswusf-Hersteller empfehlen, den GND
> mitzuführen. Ich wünsche allen viel Glück, die das nicht tun. Sie
> brauchen es.

Da muß ich wohl unverschämtes Glück haben, denn ich betreue mehrere 
Anlagen, wo KEIN GND mitgeführt wird, über teilweise mehr als einen 
Kilometer Entfernung. Die dürften also gar nicht funktionieren, tun es 
aber trotzdem seit Jahrzehnten. Ausfälle gab es in dieser Zeit schon, 
allerdings immer  nach Blitzeinschlägen auf dem Gelände.

von Ate E. (drigo)


Lesenswert?

Lothar M. schrieb:
> Obacht: bei diesen Chinaböllern ist der GND nicht herausgeführt.

Das stimmt allerding.
Der GND wird über die USB Buchse gebildet -> Suboptimal

Bei anderen Chinaböllern sieht das weit besser aus.

von Icke ®. (49636b65)


Lesenswert?

Rainer W. schrieb:
> Hör doch auf mit deinen Spezialfällen.
>
> Sobald die Geräte NICHT galvanisch getrennt sind, muss man darauf achten
> - fertig.

Nochmal zum Verständnis, es geht NICHT um die Störsicherheit oder 
Toleranz gegen unliebsame Spannungen. Es geht um die Aussage, daß sich 
die Pegel der Leitungen A und B auf GND beziehen und dieses deshalb 
mitzuführen ist. Das stimmt eben so nicht!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite



Lesenswert?

Icke ®. schrieb:
> denn ich betreue mehrere Anlagen, wo KEIN GND mitgeführt wird
Da fahren dann über mehr als einen km die wie erwähnt "prinzipiell" 
reichenden 2 verdrillten Leitungen? Ohne jeglichen Schirm, der dann doch 
wieder "irgendwie" einen Massebezug herstellt?

Nehmen wir einfach mal sowas simples wie das isolierte Interface 
PSM-ME-RS232/RS485-P von Phoenix:
https://product-download.phoenixcontact.com/7909055?response-content-disposition=inline;%20filename%3D%22db_de_psm_me_rs232_rs485_p_100274_de_08.pdf%22&Expires=1743680849&Signature=RqPR372JfTx-kPjYxNU-4QbScAkzZfOYhZFmb0Vpba1GcyA8wiPsPK~6xgPua4fY5BgZDnZXjdoadvCNh65IM75hKZ6Q1PmxrNeHOsmXrXySJd7oaGZzVLqs-pmi-ZSXTrGBwluyYUmOTxCq~IKt79cKky4LVTKGrbWVERu4WVDoAZKyctn05DV5s41fgkQy6qSyKfiiakC8bEWNYO4a3Ze5H4JK5B~4iDFBhau2hQpve-OQAy103dWUle6yM9Yy68UYzJMPGX-nHDFYBgXoJH5Rs213mu5ZiF4F7YW4MOUS2OBAiYob0DSnmjMHwjDrc2Sng7bw8xqpQCU0bsiNpg__&Key-Pair-Id=K1I2N54A7B0GD

Dort wird im Bild 13 geschrieben, dass der GND nicht zwingend nötig sei, 
der Schirm aber auf beiden Seiten aufgelegt sein müsse. Und dieser 
verbundene Schirm stellt über den Widerstand rechts unten im Bild 6 den 
nötigen Potentialbezug her.

> Da muß ich wohl unverschämtes Glück haben
Ich würde an deiner Stelle mal den Lottoschein ausfüllen. Das sollte 
dort genauso gut funktionieren.

: Bearbeitet durch Moderator
von Mario (tola-emma)



Lesenswert?

Hallo Ihr lieben,
auch ich muss mich bei "Icke" bedanken für die tolle Bescheibung!!!
Und ja ich tue mich schwer mit der Differenzspannung, da bei mir im Kopf 
immer ein GND/ Masse verwendet wurde, deshalb bin ich ja froh das es 
solche Experten gibt die einem helfen, den man kann nicht alles wissen.
Ich habe jetzt ein paar Fotos von den Bauteilen und dem Blockschaltbild 
der WoMo Steuerung beigefügt und mit roten Kreisen makiert wo die 
Anschlüsse für die RS485 und 12V der Displayversorgung angeschlossen 
ist. Eine Genaue Beschreibung welcher PIN für was ist gibt es nicht, 
deshalb habe ich dieses mit einem Stift aufgeschrieben G=GND, +=12VDC, 
A, B( A und B nur geschätzt um die Verbindung korrekt zu verbinden.
Mein Oziloskop ist von PICO "PicoScope 2204A" und wird mit dem PC/Laptop 
über USB angeschlossen, ist also kein eigenständiges Gerät.
Ausserdem habe ich mir heute nochmal einen anderen USB Converter bei 
Amazon bestellt um besser die BIAS-Widerstände zu realisieren 
(https://www.amazon.de/dp/B07XZ3PV8T)

Ich hoffe das dieser Converter für meine Bedürfnisse passt.

[Mod: Lebenslauf aus Link entfernt]

: Bearbeitet durch Moderator
von Icke ®. (49636b65)


Lesenswert?

Lothar M. schrieb:
> Dort wird im Bild 13 geschrieben, dass der GND nicht zwingend nötig sei,
> der Schirm aber auf beiden Seiten aufgelegt sein müsse. Und dieser
> verbundene Schirm stellt über den Widerstand rechts unten im Bild 6 den
> nötigen Potentialbezug her.

Ganz genau, da steht wörtlich "GND wird empfohlen, ist aber nicht 
zwingend erforderlich". Deine Aussage oben..

Lothar M. schrieb:
> Denn auch wenn RS485 nur 2 Signalleitungen hat,
> bezieht sich doch jede einzelne davon auf diesen gmeinsamen GND.

..impliziert jedoch, daß GND für den Betrieb erforderlich wäre, weil 
sich die Signalleitungen darauf beziehen. Was aber eben nur 
endgeräteintern zutrifft, nicht aber für die Übertragungsstrecke. Der 
typische RS485 Einsteiger kann (und wird) dies falsch verstehen und 
annehmen, daß GND wie bei RS232 verbunden sein muß.
Die Frage der Abschirmung/Störsicherheit hat damit gar nichts zu tun, 
sondern ist ein eigenes Problem. Ich stelle doch gar nicht in Frage, daß 
dafür Maßnahmen getroffen werden müssen. Ich halte jedoch die Lösung mit 
vollständig isolierten Transceivern für deutlich besser als das 
Durchverbinden des GND vom Sender zum Empfänger.

> Da fahren dann über mehr als einen km die wie erwähnt "prinzipiell"
> reichenden 2 verdrillten Leitungen? Ohne jeglichen Schirm, der dann doch
> wieder "irgendwie" einen Massebezug herstellt?

Die Strecken gehen über hausinterne Verkabelung und mehrere 
Schaltschränke sowie Erdkabel nach draußen zu Säulen mit RFID-Lesern 
(weitere Leser hängen hausintern am selben Bus). Der Leser wird vor Ort 
von einem schutzisolierten Netzteil ohne PE stromversorgt und der Bus 
ist nur mit A und B angeschlossen. Da das Lesergehäuse aus Plastik 
besteht, hat es ebenfalls keinen Kontakt zu GND. Lediglich die Schirme 
der Kabel sind wohl geerdet, was ich aber nicht beschwören kann, da 
nicht meine Baustelle. Ist jedoch sehr wahrscheinlich, da die gesamte 
Anlage elektrotechnisch hochprofessionell gebaut wurde.

> Ich würde an deiner Stelle mal den Lottoschein ausfüllen. Das sollte
> dort genauso gut funktionieren.

Leider nicht, hab ich probiert.

von Hans (ths23)


Lesenswert?

Rainer W. schrieb:
> Sobald der USB-Seriell-Wandler am PC angeschlossen ist, ist Gnd bei den
> meisten mit PE verbunden. Genauso ist bei vielen Oszis der Gnd der
> Eingänge mit PE verbunden.
Was verstehs Du an
Rainer W. schrieb:
> Dazu ist natürlich galvanische Trennung des Oszis und der
>> Schaltungsmasse erforderlich.
nicht.

Er hat doch eindeutig geschrieben, daß beide Systeme, also das Bussystem 
und der Oszi, galvanisch getrennt sein müssen und demzufolge auch keine 
gemeinsame GND haben.
Wie man das am Ende realisiert steht doch auf einem ganz anderen Blatt.

von Hans (ths23)


Lesenswert?

Icke ®. schrieb:
> Och, sogar mein uralter RFT EO174A kann über Batterie oder externe 12V
> betrieben werden :P
Wir hatten seinerzeit den Oszi (EO213 oder die diversen Oszis sowj. 
Bauart) mittels Teufelsschwanz angeschlossen, damit wir potentialfrei 
messen konnten. Hat bestens funktioniert und die Leute sind auch nicht 
trotz getrenntem PE reihenweise umgefallen.
Trenntrafos waren meist nicht verfügbar und zum Mitschleppen bei 
Serviceeinsätzen auch viel zu schwer.

von Hans (ths23)


Lesenswert?

Icke ®. schrieb:
> Die dürften also gar nicht funktionieren, tun es
> aber trotzdem seit Jahrzehnten.
weil sie vom dem zu befürchtenten Ungemach nichts wissen ;-)

von Rainer W. (rawi)


Lesenswert?

Icke ®. schrieb:
> Das stimmt eben so nicht!

Natürlich nicht, wenn du die RS485-Schnittstellen bei allen, bis auf 
maximal einen Bus-Teilnehmern galvanisch trennst.

Solange der TO nicht verrät, was bei im für Bus-Treiber verbaut sind 
oder wie es bei ihm mit einer möglichen galvanischen Trennung aussieht, 
hilft diese Diskussion herzlich wenig weiter.

Das Messen ist dann noch ein anderes Thema.

: Bearbeitet durch User
von Icke ®. (49636b65)


Angehängte Dateien:

Lesenswert?

Mario schrieb:
> auch ich muss mich bei "Icke" bedanken für die tolle Bescheibung!

Keine Ursache. Der Vollständigkeit halber noch ein erweitertes 
Prinzipschaltbild, das die Funktion des Sendetreibers und der 
BIAS-Widerstände veranschaulicht. Rt sind die Terminierungswiderstände, 
die an jedem Ende des Busses (und nur dort) installiert sein sollten. 
Rb+ und Rb- sorgen für die Vorspannung des Busses, wenn kein Treiber 
aktiv ist. Ihre Werte sind von der Versorgungsspannung abhängig. Eine 
sichere Auswertung des Signals erfordert mindestens 200mV Pegel, zur 
Sicherheit kann man auf 300mV gehen. Die Terminierungswiderstände Rt 
liegen schaltungstechnisch parallel zueinander und die BIAS-Widerstände 
Rb+ und Rb- in Reihe dazu. Zweimal Rt á 120 Ohm parallel ergibt 60 Ohm, 
sodaß 5mA Strom durch die Kombi fließen müssen, um 300mV Pegel zu 
erzeugen. Bei 5V Betriebsspannung müßten die BIAS-Widerstände demzufolge 
rechnerisch jeweils 470 Ohm haben (470+470+60=1000, 5V/1000Ohm=5mA). Bei 
anderen Spannungen müssen sie entsprechend angepaßt werden, sollten aber 
nicht zu klein ausfallen, damit die Sendetreiber nicht unnötig dagegen 
arbeiten müssen. Diese legen einem Umschalter ähnlich die positive 
Betriebsspannung oder Masse (die Masse der Treiberschaltung!) dem 
logischen Pegel entsprechend an die Leitungen A und B. Mit dem "High 
Z-Schalter" trennt der Treiber seine Verbindung zum Bus, wenn er nicht 
sendet. Würden die BIAS-Widerstände fehlen, wäre der Bus über die 
Terminierungswiderstände quasi kurzgeschlossen und die Differenzspannung 
zwischen A und B gleich Null. In diesem Anschauungsbeispiel würde dann 
keine der LEDs leuchten und der logische Pegel wäre nicht definiert. 
Ähnlich verhält es sich in realen Empfängerschaltungen, die aus 
Komparatoren bestehen, welche die 200mV Mindestspannung benötigen, um 
stabil zu schalten.
Natürlich darf das BIAS-Netzwerk nur an einer Stelle des Busses aktiv 
sein, im Gegensatz zu den Terminierungswiderständen dafür an beliebiger 
Stelle. Manche RS485 Devices haben neben der Terminierung auch das BIAS 
schaltbar an Bord, sodaß es nicht extern bereitgestellt werden muß.

: Bearbeitet durch User
von Bruno V. (bruno_v)


Lesenswert?

Icke ®. schrieb:
> ..impliziert jedoch, daß GND für den Betrieb erforderlich wäre, weil
> sich die Signalleitungen darauf beziehen. Was aber eben nur
> endgeräteintern zutrifft, nicht aber für die Übertragungsstrecke.

Man kann es auch andersrum beschreiben:

Wenn GND auf beiden Seiten in etwa das gleiche Potential hat (+- 5 bis 
10V), dann braucht man keinen GND mitführen. Z.B. weil irgendein Gerät 
doch einen Erdbezug herstellt.

Wenn beide GND floatend sind, werden sie sich aufeinander einpendeln.

Wenn GND1 floatend ist und GND2 nicht, dann wird sich GND1 auf GND2 
einpendeln.

Probleme gibt es natürlich nur, wenn beide GND mehr als etwa 10V 
(abhängig vom Treiber) auseinander sind oder wenn z.B. kapazitive 
Einkopplungen den (free floatenden) GND verschieben.

Bei Galvanischer Entkopplung gilt das gleiche, nur dass die galvanische 
Entkopplung auf einer (oder beiden) Seite(n) für einen floatenden GND 
sorgt.

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Lothar M. schrieb:
> Obacht: bei diesen Chinaböllern ist der GND nicht herausgeführt.

Mich wundert, dass die das nach gefühlt 10 Jahren immer noch nicht 
verbessert haben. Wie so vielen anderen Murks auch. Mag sein, dass man 
GND nicht immer braucht, aber wenn doch, dann will und darf ich nicht an 
meinen Arbeitsgeräten (Laptop) herum fummeln. Und an der Steckdose habe 
ich formell als Softwareentwickler auch nichts verloren (unabhängig 
davon, dass ich das in der Berufsausbildung gelernt habe).

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Und ja ich tue mich schwer mit der Differenzspannung, da bei mir im Kopf
> immer ein GND/ Masse verwendet wurde, deshalb bin ich ja froh das es
> solche Experten gibt die einem helfen, den man kann nicht alles wissen.

Was Icke wortreich ausgeführt hat, hat bloss für Dich keinerlei 
praktische Relevanz. Ja, es ist ein differentielles Signal. Nein, man 
sollte deshalb nicht GND weglassen, auch wenn es häufig gutgeht. Und Du 
kannst weiterhin gegen GND messen, wie Du es bisher gemacht hast.

Die absoluten Spannungspegel sind zwar nicht so wichtig (innerhalb des 
erlaubten Gleichtaktbereichs sind mindestens 200mV Differenz zwischen A 
und B standardkonform), aber da aus den Treiber-Ausgängen i.d.R. Vcc- 
und GND-Pegel rauskommen, sind krumme Spannungen schon einen genaueren 
Blick wert, gerade bei so kurzen Leitungen.

Dein Hauptproblem dürfte wie gesagt ganz woanders liegen: Deinen 
Screenshots nach decodierst Du den RS485-Traffic auf der B-Ader, die 
nach der gängigen Definition der Transceiverhersteller die invertierte 
ist.

Wenn Du Deinen USB-RS485-Konverter anschliesst, muss daher mit 
ziemlicher Sicherheit dessen A-Ader (auch "A+", "RS485+" o.dgl. genannt) 
dort angeschlossen werden, wo für Dich aktuell B ist, und umgekehrt.

Ausprobieren kannst Du das am besten, indem Du das Original-Bedienteil 
angeschlossen lässt und zusätzlich (!) den USB-RS485-Konverter 
anklemmst, aber nur mitlauschen lässt, ohne von dort Daten zu senden.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Hmmm schrieb:
> Dein Hauptproblem dürfte wie gesagt ganz woanders liegen

Exakt. Das GND Potential ist hier nicht das Problem.

von Icke ®. (49636b65)


Lesenswert?

Bruno V. schrieb:
> Bei Galvanischer Entkopplung gilt das gleiche, nur dass die galvanische
> Entkopplung auf einer (oder beiden) Seite(n) für einen floatenden GND
> sorgt.

Das mußt du näher erklären. Wenn beide Enden nur über Erdpotential (PE) 
verbunden sind und ansonsten keinerlei galvanische Verbindung besteht, 
wie kommt das Floaten zustande?

von Harald K. (kirnbichler)


Lesenswert?

Icke ®. schrieb:
> Wenn beide Enden nur über Erdpotential (PE)
> verbunden sind

... sind sie nicht galvanisch getrennt.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Könnt ihr das GND Thema nicht woanders wiederkäuen? Das hilft im Fall 
des Threads nämlich kein bisschen.

von Uwe (uhi)


Lesenswert?

Vielleicht mal ein Wiki starten mit den ganzen Möglichkeiten, Vor- und 
Nachteilen. Da kann jeder seine Verschaltung darstellen und erläutern.

von Hans (ths23)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Wie so vielen anderen Murks auch.
Niemand wird gezwungen den "Murks" aus China zu kaufen - ist halt so 
schön billig und Geiz ist ja bekanntlich geil.

Sherlock 🕵🏽‍♂️ schrieb:
> Mag sein, dass man
> GND nicht immer braucht, aber wenn doch, dann will und darf ich nicht an
> meinen Arbeitsgeräten (Laptop) herum fummeln.
Dann nimmt man eben einen passenden Adapter mit den entsprechenden 
Anschlüssen.
Aber auch dann muß man aufpassen weil selbst die GND bei weit entfernten 
Geräten einen signifikanten Potentialunterschied haben können. Der 
Ausgleichsstrom fließt dann halt über die GND-Leitung mit allen 
bekannten Auswirkungen.

von Uwe (uhi)


Lesenswert?

Gerade erst entdeckt, es gibt das passende Wiki schon:
https://www.mikrocontroller.net/articles/RS-485
Gern Schaltbilder einfügen, mit und ohne Ground usw. Dann könnten wir 
hier beim Thema bleiben.

von Mario (tola-emma)



Lesenswert?

Hmmm schrieb:
> Wenn Du Deinen USB-RS485-Konverter anschliesst, muss daher mit
> ziemlicher Sicherheit dessen A-Ader (auch "A+", "RS485+" o.dgl. genannt)
> dort angeschlossen werden, wo für Dich aktuell B ist, und umgekehrt.
>
> Ausprobieren kannst Du das am besten, indem Du das Original-Bedienteil
> angeschlossen lässt und zusätzlich (!) den USB-RS485-Konverter
> anklemmst, aber nur mitlauschen lässt, ohne von dort Daten zu senden.

Ich habe die Bauteile mit einander verbunden und den USB RS485 Converter 
zum lesen der Daten angeklemmt und die Daten werden nur korrekt 
angezeigt wenn A und B am Converter vertauscht sind. Mit ist aufgefallen 
das die Signale am Oziloskop verändert haben wenn ich den Converter 
angeschlossen habe.
...Converter0 = Bauteile angeschlossen und nicht eingeschaltet und USB 
Converter nicht eingesteckt (Ruhesignal hat sich die Spannung 
verändert).
...Converter1 = Bauteile angeschlossen und eingeschaltet und USB 
Converter nicht eingesteckt(Ruhesignal Spannung geht langsam auf die 
Spannung vom Converter).
...Converter2 = Bauteile angeschlossen und eingeschaltet und USB 
Converter eingesteckt(Ruhesignal High geht sofort auf den Spannungslevel 
vom Converter und die Low Ruheleitung geht kurzzeitig in den 
Minusbereich)

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Ich habe die Bauteile mit einander verbunden und den USB RS485 Converter
> zum lesen der Daten angeklemmt und die Daten werden nur korrekt
> angezeigt wenn A und B am Converter vertauscht sind.

Also wie vermutet, der Hersteller der Wohnmobilsteuerung hat eine andere 
Vorstellung von A und B, wenn die Zuordnung von ihm stammt.

Mario schrieb:
> Mit ist aufgefallen
> das die Signale am Oziloskop verändert haben wenn ich den Converter
> angeschlossen habe.

Schalte mal am USB-RS485-Konverter die Terminierung ab, sofern möglich.

Der Abschlusswiderstand bildet mit den Bias-Widerständen im Display oder 
der Steuerung einen Spannungsteiler. Das ist nicht weiter schlimm, 
solange die Differenz mindestens 200mV beträgt, aber wenn der Hersteller 
auch keine Terminierung verbaut hat, lass sie einfach weg.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> Ich habe ...

Warum hast du immer noch nicht auf die Taste "Rechenkanäle" gedrückt und 
die Differenz berechnet (siehe Benutzerhandbuch Kapitel 5.21 
Rechenkanäle)?
Damit könntest du genau das sehen, was auch der RS485-Empfänger wahr 
nimmt.

Mario schrieb:
> Mit ist aufgefallen das die Signale am Oziloskop verändert haben wenn
> ich den Converter angeschlossen habe.

Und WAS hat sich geändert?
Wahrscheinlich ist der Eingang des Konverters irgendwie beschaltet. Das 
sollte dem Schaltplan des Konverters zu entnehmen sein.

Mario schrieb:
> (Ruhesignal High geht sofort auf den Spannungslevel
> vom Converter und die Low Ruheleitung geht kurzzeitig in den
> Minusbereich)

Es ist keine gute Idee, im laufenden Betrieb die Masseverbindung zu 
unterbrechen bzw. herzustellen, wenn Potentialdifferenzen bestehen. Das 
sieht so aus, als ob dort ein Kondensator in einer Leitung ist, der sich 
erst umladen muss, wenn der Treiber abschaltet.

: Bearbeitet durch User
von Mario (tola-emma)


Lesenswert?

Hmmm schrieb:
> Schalte mal am USB-RS485-Konverter die Terminierung ab, sofern möglich.
>
> Der Abschlusswiderstand bildet mit den Bias-Widerständen im Display oder
> der Steuerung einen Spannungsteiler. Das ist nicht weiter schlimm,
> solange die Differenz mindestens 200mV beträgt, aber wenn der Hersteller
> auch keine Terminierung verbaut hat, lass sie einfach weg.

Zur Zeit ist kein Widerstand eingesetzt, da der USB Converter keinen 
hat.

Rainer W. schrieb:
> Warum hast du immer noch nicht auf die Taste "Rechenkanäle" gedrückt und
> die Differenz berechnet (siehe Benutzerhandbuch Kapitel 5.21
> Rechenkanäle)?
> Damit könntest du genau das sehen, was auch der RS485-Empfänger wahr
> nimmt.

Was für ein Benutzerhandbuch meinst Du?

Rainer W. schrieb:
> Es ist keine gute Idee, im laufenden Betrieb die Masseverbindung zu
> unterbrechen bzw. herzustellen, wenn Potentialdifferenzen bestehen.
> Dein Konverter ist wohl nicht galvanisch getrennt.

Ich habe keine Verbindung getrennt wehrend des Betriebes.

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Zur Zeit ist kein Widerstand eingesetzt, da der USB Converter keinen
> hat.

Dann scheinen sehr hochohmige Bias-Widerstände verbaut zu sein. Aber 
kein Grund zur Sorge, die Kommunikation scheint ja auch störungsfrei zu 
klappen.

Was mich aber irritiert, ist die in Ruhelage auf 0V runtergezogene 
Leitung. Was für einen Konverter hast Du da genau im Einsatz?

: Bearbeitet durch User
von Mario (tola-emma)


Angehängte Dateien:

Lesenswert?

Rainer W. schrieb:
> Warum hast du immer noch nicht auf die Taste "Rechenkanäle" gedrückt und
> die Differenz berechnet (siehe Benutzerhandbuch Kapitel 5.21
> Rechenkanäle)?
Meintest Du die Differenz High-Low ( Bei mir B-A)?

von Mario (tola-emma)


Lesenswert?

Hmmm schrieb:
> Was mich aber irritiert, ist die in Ruhelage auf 0V runtergezogene
> Leitung. Was für einen Konverter hast Du da genau im Einsatz?

Zur Zeit verwende ich diesen von Reichelt:
https://www.reichelt.de/de/de/shop/produkt/raspberry_pi_-_usb-rs485-schnittstelle_ch340c-242783)
Hast Du einen besser geeigneten?
Mein Problem ist das ich das Display gegen die Raspberry Pi tauschen 
möchte und die Signale verkehrt herum ankommen oder gesendet werden, da 
die Steuerung "A" und "B" getauscht sind.
Nach meiner Logik muss der Konverter doch die Signale in dem 
Spannungspegel auch gedreht werden. Vieleicht ist es auber auch schon zu 
Spät am Abend für solche gedanken.

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Zur Zeit verwende ich diesen von Reichelt

Den hätte ich schon wegen der fehlenden GND-Klemme nicht genommen.

Mario schrieb:
> Hast Du einen besser geeigneten?

Mit diesem habe ich gute Erfahrungen gemacht:

https://www.reichelt.de/de/de/shop/produkt/usb_2_0_konverter_a_stecker_auf_rs-485-122187

Den darin verbauten FT232 setze ich seit vielen Jahren ein, der macht 
einfach stressfrei seinen Job und hat für RS485 eine tadellos 
funktionierende TX/RX-Umschaltung.

Mario schrieb:
> Mein Problem ist das ich das Display gegen die Raspberry Pi tauschen
> möchte und die Signale verkehrt herum ankommen oder gesendet werden, da
> die Steuerung "A" und "B" getauscht sind.

Das ist doch kein Hindernis, einfach richtigrum anschliessen. Du hast 
hier kein technisches Problem, das war einfach nur die von den 
Herstellern nicht einheitlich gehandhabte Bezeichnung von A und B.

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> Was für ein Benutzerhandbuch meinst Du?

Das zu deinem Picoscope.
Wahrscheinlich findest du die wesentlichen Infos, mangels speziellem 
Handbuch für die Version 7, bei der Vorgängerversion
https://www.picotech.com/download/manuals/PicoScope6SoftwareUsersGuide-de.pdf

Mario schrieb:
> Meintest Du die Differenz High-Low ( Bei mir B-A)?

Genau diese Funktion.

> Rechenkanaele.png

Wenn du für das "B-A"-Signal jetzt noch die 0-Linie sinnvoll auf das 
Gitter verschiebst, könntest du sogar sehen, wie kritisch die Drifterei 
des A Pegels ist, d.h. wo der 0-Pegel liegt und wie es mit dem 
200mV-Fenster aussieht.
Du könntest dieses Fenster sogar mit zwei Cursorn sichtbar machen, so 
dass du auf einen Blick erkennen kannst, ob das Signal noch im 
zulässigen Bereich bleibt.

Schön ist die Drifterei auf jeden Fall nicht und du solltest besser noch 
klären, was da mit A komisch läuft. Eine schlecht angeschlossene Leitung 
kannst du ausschließen?

: Bearbeitet durch User
von Hans (ths23)


Lesenswert?

Mario schrieb:
> Zur Zeit verwende ich diesen von Reichelt:
> 
https://www.reichelt.de/de/de/shop/produkt/raspberry_pi_-_usb-rs485-schnittstelle_ch340c-242783)
Naja, wer billig kauft, kauft halt zweimal.
Zu diesem Teil hätte ich auch kein Vertrauen und das nicht weil der GND 
fehlt.

Das Teil von Hmmmm mach da einen deutlich besseren Eindruck und scheint 
ja nach seinen Erfahrungen auch zu funktionieren.

Wenn man die Zeit rechnet die jetzt schon verdattelt hast, ist das Teil 
von Hmmmm aber locker drin.

von Mario (tola-emma)


Lesenswert?

Hmmm schrieb:
> Mit diesem habe ich gute Erfahrungen gemacht:
>
> 
https://www.reichelt.de/de/de/shop/produkt/usb_2_0_konverter_a_stecker_auf_rs-485-122187
>
> Den darin verbauten FT232 setze ich seit vielen Jahren ein, der macht
> einfach stressfrei seinen Job und hat für RS485 eine tadellos
> funktionierende TX/RX-Umschaltung.

Habe ich gerade bestellt!!!

Hmmm schrieb:
> Das ist doch kein Hindernis, einfach richtigrum anschliessen. Du hast
> hier kein technisches Problem, das war einfach nur die von den
> Herstellern nicht einheitlich gehandhabte Bezeichnung von A und B.

Das Problem was ich sehe ist das die Daten aus der Steuerung verkehrt 
herum (A-B) herauskommen. Wenn ich den USB- Converter die Anschlüsse 
vertausche bekomme ich das richtige Ergebnis aus der WoMo-Steuerung. 
Soweit so gut, sende ich jetzt aber ein Signal aus dem USB-Converter in 
die Steuerung, werden die Signale wieder gedreht und es kommen die 
falschen Daten in die Steuerung. Korrigiert mich wenn ich einen 
Gedankenfehler habe. Außerdem muss ich das "alte Display" abklemmen, da 
dieses sonst alle 100ms ein Pin (Daten) gesendet werden und ich nicht 
mit der Raspberry Pi auch meine Befehle senden kann.

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Soweit so gut, sende ich jetzt aber ein Signal aus dem USB-Converter in
> die Steuerung, werden die Signale wieder gedreht und es kommen die
> falschen Daten in die Steuerung.

Nein.

Mario schrieb:
> Korrigiert mich wenn ich einen Gedankenfehler habe.

Sei hiermit getan. Die A/B-Zuordnung gilt immer für Treiber und 
Empfänger, alles andere wäre absurd.

Mario schrieb:
> Außerdem muss ich das "alte Display" abklemmen, da dieses sonst alle
> 100ms ein Pin (Daten) gesendet werden

Ja. Wenn aber auch bei abgeklemmtem Display noch vernünftige Ruhepegel 
da sind, sitzen die Bias-Widerstände in der Steuerung, und Du kannst das 
Display ohne weiteres durch den RPi mit Konverter ersetzen.

Falls nicht, wäre das auch kein Beinbruch, denn dieser Konverter führt 
neben GND auch die 5V vom USB raus, ggf. könntest Du also zwei 
Bias-Widerstände mit auf die Klemmen legen.

von Rainer W. (rawi)


Lesenswert?

Mario schrieb:
> Das Problem was ich sehe ist das die Daten aus der Steuerung verkehrt
> herum (A-B) herauskommen.

Woran machst du fest, was richtig herum ist?
Das Startbit muss richtig rum auf den Leitungen liegen - fertig.
Alles andere ist Schall und Rauch.

Offensichtlich funktioniert doch deine Wohnmobilsteuerung mit dem alten 
Display und solange deine Signale prinzipiell anders aussehen, d.h. sich 
die Polarität vom Idle-Zustand oder vom Startbit im Differenzsignal 
davon unterscheiden, hast du etwas vertauscht angeschlossen. Falls der 
Decoder die Daten der funktionierenden Kommunikation nicht richtig 
erkennt, ist er falsch konfiguriert.

: Bearbeitet durch User
von Mario (tola-emma)


Lesenswert?

Hallo Ihr Lieben,
ES HAT FUNKTIONIERT!!!
Ich habe mir den USB-RS485 Converter von DIGITUS angeschaft und GND mit 
470 OHM an RS485- verbunden, genauso wie den 470 Ohm Widerstand mit 5V 
und RS485+ verbunden. Den 120 Ohm Widerstand habe ich erst einmal 
weggelassen da die ursprünglichen Signalpegel auch keinen hatte.
Hiermit möchte ich mich bei allen Bedanken die mich so TOLL unterstützt 
und weitergebildet haben. Ohne euch hätte ich noch Wochenlang gegrübelt 
und verzweifelt.
DANKE!!!!

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

Lies mal Seite 7/8

https://www.ti.com/lit/pdf/snla049&ved

MfG Spess

von Hmmm (hmmm)


Lesenswert?

Mario schrieb:
> Ich habe mir den USB-RS485 Converter von DIGITUS angeschaft und GND mit
> 470 OHM an RS485- verbunden, genauso wie den 470 Ohm Widerstand mit 5V
> und RS485+ verbunden.

Das solltest Du allerdings nur tun, wenn die Bias-Widerstände bisher im 
(jetzt demontierten) Display sassen. Ansonsten sitzen die jetzt parallel 
zu den bereits vorhandenen und könnten die Treiber unnötig belasten.

Mal rein interessehalber: Was kannst Du mit der eigenen Displayeinheit 
mehr anstellen als mit der serienmässigen?

von Mario (tola-emma)


Angehängte Dateien:

Lesenswert?

Hmmm schrieb:
> Das solltest Du allerdings nur tun, wenn die Bias-Widerstände bisher im
> (jetzt demontierten) Display sassen. Ansonsten sitzen die jetzt parallel
> zu den bereits vorhandenen und könnten die Treiber unnötig belasten.

Ich hatte die Widerstände eingesetzt und hatte gesehen das die 
Spannungspegel sehr ähnlich gegenüber dem alten Display war und deshalb 
habe ich auch die Terminierung weggelassen. Werde diese aber nochmal 
entfernen und schauen ob die Signale immer noch sauber gelesen werden.

Hmmm schrieb:
> Mal rein interessehalber: Was kannst Du mit der eigenen Displayeinheit
> mehr anstellen als mit der serienmässigen?

In dem alten Display konnte ich mir immer nur einen Wert zur Zeit 
anschauen (Spannung Fahrzeugbatterie, Spannung Boardbatterie, 
Wassertank, Abwassertank, Innentemperatur).
Meine Überlegung ist mit der Raspberry Pi und einem 7 Zoll Display alle 
Informationen auf einer Seite gleichzeitig anzuzeigen. Außerdem kann ich 
die Anlage beliebig erweitern wie z.B. Gasflaschenfüllstand, 
Kühlschranktemperatur,... Hier gibt es dann keine Grenzen.

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.