RS485: Wann kommt woher Spannung?

OP #7540599
Lesenswert?

Hallo Zusammen,

zuerst einmal:

  1. Ich bin leider keine Elektrofachkraft - vielleicht wäre dann diese Frage nicht notwendig
  2. Ich habe viel gegooglet und auch hier im Forum gelesen
  3. und Youtube-Videos zu RS485 geschaut

Trotzdem habe ich leider keine Antwort auf eine grundlegende RS485 Verständnisfrage gefunden: Wann kommt woher Spannung auf den Bus?

Erstmal die eine Frage: Von Woher kommt Spannung auf den Bus? Gibt es nur eine einzelne Spannungsquelle auf dem Bus (dann wahrscheinlich der Master) oder mehrere (dann alle Busteilnehmer)?

Und dann noch die wichtigere Frage: Wann "kommt" Spannung auf den Bus? Ist dauerhaft Spannung auf dem Bus, oder nur, wenn Kommunikation stattfindet?

Ich hoffe, die Fragen sind verständlich. Schonmal danke für eure Antworten!

Viele Grüße Philipp

#7540603
Lesenswert?

Philipp schrieb:

nur eine einzelne Spannungsquelle auf dem Bus (dann wahrscheinlich der Master) oder mehrere (dann alle Busteilnehmer)?

Jeder Teilnehmer muss die Spannung auf dem Bus zum Kommunizieren verändern können. Alle Slaves hören zu, der Master spricht einen Slave an, geht auf zuhören und der angesprochene Slave antwortet durch Änderung der Spannungsdifferenz zwischen A und B.

Philipp schrieb:

Wann "kommt" Spannung auf den Bus? Ist dauerhaft Spannung auf dem Bus, oder nur, wenn Kommunikation stattfindet?

Gegen Masse ist dauerhaft eine Spannung auf dem Bus durch Bias-Widerstände in jedem Slave.

Wenn Kommunikation stattfindet, wird diese Spannung von dem "sprechenden" Gerät verändert.

#7540627
Lesenswert?

Philipp schrieb:

Hallo Zusammen,

zuerst einmal:

  1. Ich bin leider keine Elektrofachkraft - vielleicht wäre dann diese Frage nicht notwendig

Normalerweise kann eine Elektrofachkraft gerade so, an einem guten Tag, einen Lichtschalter anschließen. Natürlich werden alle Kabel zu kurz abgeschnitten und alles mit dem Hammerstil in die Dose gehämmert. Aber die Lampe leuchtet ab und zu.

Von diesem Thema hier verstehen die sicher nichts.

OP #7540660
Lesenswert?

Hallo Sebastian,

danke für deine Antwort!

Sebastian R. schrieb:

Jeder Teilnehmer muss die Spannung auf dem Bus zum Kommunizieren verändern können. Alle Slaves hören zu, der Master spricht einen Slave an, geht auf zuhören und der angesprochene Slave antwortet durch Änderung der Spannungsdifferenz zwischen A und B.

Das Grundlegende Schema, wie Master und Slaves über den Bus kommuniziert wird, ist mir soweit bekannt. Aus deiner Antwort entnehme ich, dass die Busteilnehmer selbst keine Spannung auf den Bus geben, sondern die Spannung von einer externen Quelle kommt und die Busteilnehmer diese Spannung lediglich ändern? Hintergrund der Frage ist, dass ich ein Endgerät habe, das partout nicht Modbus mit mir sprechen will - ich habs mit mehreren Mastern versucht. Zwischen A und B liegen an diesem Endgerät 3,3V an. Das hat mich stutzig gemacht, deswegen will ich nun die physische Ebene der Kommunikation besser verstehen.

Sebastian R. schrieb:

Gegen Masse ist dauerhaft eine Spannung auf dem Bus durch Bias-Widerstände in jedem Slave.

Mal wieder eine "Nicht-Elektriker" Frage dazu: Du sprichst von einer Spannung gegen die Masse. Ist denn auf dem eigentlichen Bus (A und B) dauerhaft eine Spannung, oder nur wenn kommuniziert wird?

Danke & Grüße Philipp

#7540663
Lesenswert?

Philipp schrieb:

Erstmal die eine Frage: Von Woher kommt Spannung auf den Bus?

Vom gerade sendenden Teilnehmer.

Philipp schrieb:

Ist dauerhaft Spannung auf dem Bus, oder nur, wenn Kommunikation stattfindet?

Ein vernünftiger RS485-Bus hat Bias-Widerstände, die dafür sorgen, dass ein sauberer Ruhepegel (i.d.R. High) da ist, wenn niemand sendet.

Der Bus ist nicht dafür gedacht, die Teilnehmer zu versorgen, das musst Du anderweitig lösen, z.B. mit einem 4adrigen Kabel für RS485-A/B, GND und Versorgungsspannung.

Sebastian R. schrieb:

Gegen Masse ist dauerhaft eine Spannung auf dem Bus durch Bias-Widerstände in jedem Slave.

Die Bias-Widerstände sollten tunlichst nur bei einem Busteilnehmer (idealerweise dem Master) vorhanden sein, weil man sonst mit jedem weiteren Teilnehmer immer mehr die Ausgangstreiber quält, bis gar nichts mehr geht.

Ein brauchbarer Wert für einen 5V-Bus mit beidseitiger 120-Ohm-Terminierung ist 680 Ohm.

#7540668
Lesenswert?

Philipp schrieb:

Wann kommt woher Spannung auf den Bus?

Immer vom Sender.

Philipp schrieb:

Wann "kommt" Spannung auf den Bus?

Nur wenn jemand sendet.

Ist dauerhaft Spannung auf dem Bus, oder nur, wenn Kommunikation stattfindet?

Sebastian R. schrieb:

Gegen Masse ist dauerhaft eine Spannung auf dem Bus durch Bias-Widerstände in jedem Slave.

Ja, der Ruhepegel, nicht mal unbedingt ein Stopbit sondern oft 'illegal'. Man braucht ihn auf jeden Fall wenn keine dritte Leitung Masse verbindet.

OP #7541075
Lesenswert?

Hallo,

danke für die Antworten! Ich fasse zur Kontrolle nochmal mein bisheriges Verständnis zusammen:

  • Es gibt nicht eine einzelne Spannungsquelle für den Bus, sondern jeder Busteilnehmer "gibt" die Spannung auf den Bus
  • Das tun die Teilnehmer nur, wenn sie senden
  • Das würde für mich auch bedeuten, dass, wenn der Bus offen ist bzw. ein Teilnehmer noch gar nicht verdrahtet ist, keine Spannung an diesem Teilnehmer zwischen A und B messbar sein sollte? (Siehe meine Beobachtung mit den dauerhaften 3,3V an dem Endgerät, bei dem ich Kommunikationsprobleme habe).

Michael B. schrieb:

Ja, der Ruhepegel, nicht mal unbedingt ein Stopbit sondern oft 'illegal'. Man braucht ihn auf jeden Fall wenn keine dritte Leitung Masse verbindet.

Ich habe bisher immer nur mit 2-Draht gearbeitet. Hier wirds für mich nochmal spannend - zum Ruhepegel finde ich beim recherchieren wenig brauchbares. Dieser Ruhepegel ist keine Spannung zwischen A und B (würde ja den Feststellungen oben widersprechen)? So wie ich das aus einem ABB Handbuch verstehe, geht es da wieder um die Bias-Widerstände. Ich bastle keinen Controller zusammen sondern verwende einen "fertigen" Modbus-Master, wo diese Funktionalität ja bereits verbaut sein sollte.

Nochmals danke für euren Input, eure Antworten haben mir schon viel geholfen! Es wundert mich immer noch, dass ich bei meiner bisherigen Recherche keine Antwort auf die scheinbar einfache Frage "wann kommt von wo Spannung auf den Bus" gefunden habe...

Viele Grüße Philipp

#7541086
Lesenswert?

Philipp schrieb:

Nochmals danke für euren Input, eure Antworten haben mir schon viel geholfen! Es wundert mich immer noch, dass ich bei meiner bisherigen Recherche keine Antwort auf die scheinbar einfache Frage "wann kommt von wo Spannung auf den Bus" gefunden habe...

warscheinlich weil die KI noch nicht gelernt hat das umzusetzen in "welche Signalpegel liegen bei RS485 auf dem Bus".

#7541163
Lesenswert?

Philipp schrieb:

Es wundert mich immer noch, dass ich bei meiner bisherigen Recherche keine Antwort auf die scheinbar einfache Frage "wann kommt von wo Spannung auf den Bus" gefunden habe

Weil der ganze Rest der Welt weiss, dass ein Punkt immer eine Spannung (die wird nämlich gegenüber einem anderen Punkt gemessen) hat, auch eine Wolke gegenüber der Erde.

Die Frage ist eher, wie belastbar die Spannung ist. So eine elektrostatische Spannung auf einer Plastikoberfläche halt eher wenig. Ein Starkstromkabel eher mehr. Und wenn ein Starkstromkabel an beiden Enden nicht angeschlossen ist liegt jeder Leiter trotzdem auf einer Spannung z.B. gegenüber Erde aber es wird kein Strom fliessen wenn man ihn verbindet, z.B. erdet sondern die Spannungsdifferenz zwischen beiden wird schnellstens zusammenbrechen.

Es gibt kein Kabel 'ohne Spannung', es gibt nur eine Spannungsdifferenz von 0 zwischen 2 Leitern, und da Bias-Widerstände bei RS485 oft gehen Masse der angeschlossenen Geräte gehen, ist die Differenz wenn keiner sendet oft 0 und liegt damit im illegalen Bereich.

Erst wenn einer sendet wird von ihm eine positive bzw. negative Differenzspannung aufgelegt.

#7541175
Lesenswert?

Es wundert mich immer noch, dass ich bei meiner bisherigen Recherche keine Antwort auf die scheinbar einfache Frage "wann kommt von wo Spannung auf den Bus" gefunden habe...

Na ja, du hast u. a. bei Youtube recherchiert, wie du sagst. IMHO ist das eine Informationsquelle der Art, wie sie Hauisfrauen nutzen, wenn sie Tipps für Hefeteig suchen. SCNR.

In Wikipedia siehst du Bilder der Transmitter und eine Tabelle mit den Buszuständen. Außerdem wird gesagt, dass die Amplitude der Transmitter knapp unter der Betriebsspannung liegt. Alle diese Informationen zusammengenommen erlauben nur einen Schluss: Solange Spannung da ist, kommt sie (wenn alles in Ordnung ist) in jedem Moment immer von einem einzigen Transmitter. Solange dieser eine Transmitter seinen Ausgang nicht freiwillig hochohmig schaltet und dies allen anderen vorher mitteilt, darf kein anderer Spannung auf den Bus geben. Gut, der WP-Autor hätte das explizit sagen können. Aber eigentlich ist es ja nach seiner Beschreibung klar.

Beitrag #7541206 wurde von einem Moderator gelöscht.
#7541239
Lesenswert?

Philipp schrieb:

Das würde für mich auch bedeuten, dass, wenn der Bus offen ist bzw. ein Teilnehmer noch gar nicht verdrahtet ist, keine Spannung an diesem Teilnehmer zwischen A und B messbar sein sollte?

Kommt darauf an. Wenn Bias-Widerstände vorhanden sind, sorgen die wie gesagt für den Ruhepegel.

Philipp schrieb:

Dieser Ruhepegel ist keine Spannung zwischen A und B (würde ja den Feststellungen oben widersprechen)?

Dir fehlen wirklich massiv Grundlagen.

Die Bias-Widerstände ziehen A auf High-Pegel (meistens 5V) und B auf Low-Pegel (GND), was natürlich zu einer entsprechenden Differenz zwischen A und B führt.

Diese Differenz fällt aber bei einem sauber terminierten Bus geringer aus, weil Bias- und Terminierungswiderstände einen Spannungsteiler bilden. Der Standard schreibt mindestens 200mV vor.

Philipp schrieb:

Ich bastle keinen Controller zusammen sondern verwende einen "fertigen" Modbus-Master, wo diese Funktionalität ja bereits verbaut sein sollte.

Mit einem Oszilloskop und einem Logic Analyzer sollte man das Problem eingrenzen können, aber ich glaube, dafür brauchst Du jemanden vor Ort, der sich damit auskennt.

#7541290
Lesenswert?

Rainer W. schrieb:

Michael B. schrieb:

Ja, der Ruhepegel, nicht mal unbedingt ein Stopbit sondern oft 'illegal'.

Was für ein Schwachsinn. Ein Stopbit bezeichnet ein Zeitfenster nach der Übertragung der Daten. Hier geht es um den Ruhepegel, der logisch dem Pegel während des Stopbits entspricht. Der Ruhepegel muss innerhalb der Spezifikation liegen. Was ist daran illegal?

Gehirn zu Hause vergessen ? Einfach mal rumstänkern wollen ohne Sachverstand ?

Illegal ist ein Pegel, wenn er weder der logischen 1 noch der logischen 0 zugeordnet ist.

Und RS485 definiert eine Differenz >0.2V als 1 und eine <-0.2V als 0. Liegt die Spannung beider Leitung weniger auseinander, z.B. 0V, ist das ein illegaler Zustand.

Klug wäre, die Leitung durch die Bias Widerstände nicht auf den Wert des Startbits, sondern den Wert des Stopbits zu legen, damit eine neginnende Kommunikation unmittelbar synchronisiert. Bei zumindest 55 Ohm sind dafür aber 3.7mA oder 645 Ohm an 5V und GND nötig. Die üblichen bias-Widerstände sind viel grösser, 4k7 oder 10k, so dass nicht mal die Parallelschaltung aller dafür reicht.

Sie dienen nur der Übermittlung eines Potentialbezugs bei nicht-vorhandener GND Verbindung und gehen meist bei A und B an GND.

#7541398
Lesenswert?

Michael B. schrieb:

Rainer W. schrieb:

Eben - das Bias-Netzwerk wurde genau erfunden, um einen definierten Zustand sicherzustellen, auch wenn gerade niemand auf den Bus sendet.

DAS TUT ES ABER NICHT .

Wenn man es vermurkst, natürlich nicht.

Michael B. schrieb:

Die üblichen bias-Widerstände sind viel grösser, 4k7 oder 10k

Das mag vielleicht auf irgendwelchen Chinamodulen üblich sein, die bei Leuten mit ein paar cm Buslänge und daher ohne Terminierung auf dem Schreibtisch betrieben werden.

Wenn man einen ernsthaften Bus betreiben will, muss man es schon richtig machen:

Hmmm schrieb:

Ein brauchbarer Wert für einen 5V-Bus mit beidseitiger 120-Ohm-Terminierung ist 680 Ohm.

#7541476
Lesenswert?

Michael B. schrieb:

DAS TUT ES ABER NICHT .

Dietrich L. schrieb:

Oder bei Wikipedia: https://de.wikipedia.org/wiki/EIA-485#/media/Datei:Rs485-bias-termination.svg

Was tut es nicht? Wenn man das Netzwerk an 5V anschließt, entsteht zwischen A und B eine Potentialdifferenz von über 400mV.

Michael B. schrieb:

Klug wäre, die Leitung durch die Bias Widerstände nicht auf den Wert des Startbits, sondern den Wert des Stopbits zu legen, damit eine neginnende Kommunikation unmittelbar synchronisiert.

Sehr kluge Idee. So macht man das gewöhnlich. Nur Leute die nicht verstanden haben, dass es bei RS485 mit den Signalzuordnungen "A" und "B" munter durcheinander geht, kommen auf die Idee, den Bus auf Startbit-Pegel vorzuspannen.

#7541593
Lesenswert?

Fred R. schrieb:

Für 24V findest du hier einen Schaltplan, wie ein aktiver Terminator funktioniert: https://www.ramser-elektro.at/shop/hydrothyr-5-und-zubehoer/aktiver-modbus-abschlusswiderstand-modbus-bias-modul/

Auch dort ist der obere Biaswiderstand viel zu groß, um genügend Strom durch den Abschlusswiderstand fließen zu lassen. Ein der Spezifikation entsprechender Pegel wird nicht erreicht.

Vielleicht sollte man einfach einmal jemand zu Wort kommen lassen, der sich mit Modbus auskennt (s. Kap. 3.1 RS485 Bus Verdrahtung (Modbus RTU) auf S.6). https://www.ics-schneider.de/wp-content/uploads/2021/12/Bedienungsanleitung_VA_5xx_Modbus_RTU_Slave_Installation.pdf

OP #7541744
Lesenswert?

Rolf schrieb:

In Wikipedia siehst du Bilder der Transmitter und eine Tabelle mit den Buszuständen.

Wikipedia war meine erste Recherchequelle. Wenn man sich mit dem Thema bereits auskennt, kann man aus diesen Informationen sicherlich meine Frage beantworten.

Hmmm schrieb:

Dir fehlen wirklich massiv Grundlagen.

Ja, das habe ich gemeint mit "ich bin keine Elektrofachkraft". Ich war zwar damals Jahrgangsbester im Physik-LK, aber das bringt für solche praktischen Fragestellungen wenig - bzw. ist einiges Wissen wohl auch einfach nicht mehr da :)

Hmmm schrieb:

Die Bias-Widerstände ziehen A auf High-Pegel (meistens 5V) und B auf Low-Pegel (GND), was natürlich zu einer entsprechenden Differenz zwischen A und B führt.

Daraus schließe ich, dass ich durch einfaches Messen der Spannung zwischen A- und B Ausgang eines Endgeräts im offenen oder Ruhezustand nicht schließen kann, ob es korrekt funktioniert - dazu müsste ich dann genauer wissen, wie das Gerät intern aufgebaut ist. An den Endgeräten, die ich auf dem Schreibtisch zur Verfügung habe, habe ich nachgemessen. Hier war sowohl im offenen als auch im Ruhezustand jeweils 0V zwischen A und B.

Hmmm schrieb:

Mit einem Oszilloskop und einem Logic Analyzer sollte man das Problem eingrenzen können, aber ich glaube, dafür brauchst Du jemanden vor Ort, der sich damit auskennt.

Zu dieser Einschätzung komme ich nun auch. Die 3,3V, die im offenen Zustand an dem Endgerät, mit dem ich nicht kommunizieren konnte, waren mein erster Strohhalm zur weiteren Fehlersuche...

#7541944
Lesenswert?

Philipp schrieb:

Daraus schließe ich, dass ich durch einfaches Messen der Spannung zwischen A- und B Ausgang eines Endgeräts im offenen oder Ruhezustand nicht schließen kann, ob es korrekt funktioniert - dazu müsste ich dann genauer wissen, wie das Gerät intern aufgebaut ist.

Die RS-485-Spezifikation erlaubt für einen Empfänger (also einen Transceiver mit inaktivem Sender) einen Widerstand von höchstens ca. 12 kΩ; für den genauen Zusammenhang zwischen Spannung und Strom siehe die Grafik. Das ist ein "Unit Load"; moderne Chips haben oft 1/8 UL. Du kannst also zwischen den Pins alles mögliche messen.

Ob ein Treiber korrekt funktioniert, kannst du nur messen, wenn er aktiv ist.

Zwischen A und B liegen an diesem Endgerät 3,3V an.

Das könnte ein Kurzschluss zur Stromversorgung sein (schlecht), oder einfach nur ein schwacher Pull-Up-Widerstand (OK).

Wie weit kann dein Treiber diese Spannung ändern? (Das kannst du nur mit einem Oszilloskop herausfinden.)

Angehängte Dateien:
OP #7542638
Lesenswert?

Hmmm schrieb:

Interessant wäre noch, um welche Geräte es überhaupt geht.

Als Master verwende ich verschiedene USB-RS485 Bridges, mit denen ich bisher immer erfolgreich Modbus "gesprochen" habe. Das Endgerät ist ein Ultraschall-Wasserzähler: https://www.thomsen-messtechnik.com/at600.htm Ich bin mit dem Hersteller im Kontakt, um die Kommunikation herzustellen. Die dauerhaften 3,3V waren eine erste Beobachtung, mit denen ich die Fehlersuche gestartet habe. Diese haben mich zu der Frage dieses Threads geführt :)

Clemens L. schrieb:

Du kannst also zwischen den Pins alles mögliche messen.

Ob ein Treiber korrekt funktioniert, kannst du nur messen, wenn er aktiv ist.

Danke für dieses Fazit. Und dieses Messen kann nur mit einem Oszilloskop erfolgen, für dessen korrekte Bedienung man wiederum viel Erfahrung braucht. Schonmal danke für eure schnelle Hilfe, schön, ein so aktives Forum zu haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren