Hallo Experten, ich strebe eine RS485 Kommunikation mit mehreren Slaves (diverse Laborgeräte,3-4 an der Zahl) an - Master ist ein µC, Modbus ist das Protokoll. Hat jemand Erfahrung damit, ob Abschlusswiderstände nötig sind und wenn ja, wo und wie groß ? Was wäre sonst noch zu beachten gegenüber einer 1:1 Verbindung, die bislang problemlos läuft? Länge der Leitungen (A,B) zwischen den Slaves und dem Master max. 2-3 Meter, 3 Slaves werden angestrebt. Manche empfehlen 2 Widerstände zu je 120 Ohm am Ende der A/B Leitung zwischen A und B und am µC Anschluss. Wer hat Erfahrung und kann hierzu was sagen damit das Ganze möglichst unproblematisch von 1:1 auf 1:n erweitert werden kann?
David schrieb: > Hat jemand Erfahrung damit, ob Abschlusswiderstände nötig sind und wenn > ja, wo und wie groß ? Es gibt Datenblätter, Applikationsschriften und diverse Beschreibungen zum RS485-Bus. Wie kritisch das alles ist, hängt von der von dir verwendeten Übertragungsgeschwindigkeit ab.
David schrieb: > ob Abschlusswiderstände nötig > sind und wenn ja, wo und wie groß ? RS485 selbst (und seine Komponenten) sind hervorragend dokumentiert! Selbst Wikipedia liefert die allgemeinen Grundlagen zu deiner allgemeinen Frage.
Lies das: https://d1.amobbs.com/bbs_upload782111/files_48/ourdev_700533NAUWXP.pdf https://www.ti.com/lit/an/slla272d/slla272d.pdf und den offiziellen Standard: https://www.mikrocontroller.net/attachment/428561/eia485.pdf Und denke daran: RS485 ist ein Bus, eine Linie. Am Anfang muss ein Abschluss hin, um Reflektionen zu vermeiden, dann kommen die einzelnen Geräte ohne Stichleitungen und ohne Abzweigungen, und am Ende muss wieder ein Abschluss. Dazu irgendwo Failsafe-Widerstände, und dem Bus in Ruhe auf logisch 1 zu halten. fchk
Danke alle für die Antworten, RS485 ist noch Neuland für mich, gelesen hatte ich einiges darüber und auch eine 1:1 Verbinung/Kommunikation lauffähig ohne Probleme bekommen (9600 Baud) - aber die 1:1 Kommunikation war ohne jegliche Abschlusswiderstände. Insofern die Frage, ob man diese überhaupt braucht oder ob diese sogar u.U. eher "schädlich" sein können.
David schrieb: > und auch eine 1:1 Verbinung/Kommunikation lauffähig ohne Probleme > bekommen (9600 Baud) Vermutlich kurze Strecken. Dann ist es eine niedrige Datenrate, was auch unkritischer ist. Man kann Glück haben. Muss aber nicht. Wenn man es stabil haben will nimmt man paarweise Verdrillte Leitungen mit Schirm. Linien Topologie. Anfang und Ende mit Abschlusswiderstand. Aber das hat Frank ja auch schon alles erklärt.
David schrieb: > Insofern die > Frage, ob man diese überhaupt braucht oder ob diese sogar u.U. eher > "schädlich" sein können. Du willst es gar nicht wissen!
David schrieb: > RS485 ist noch Neuland für mich > ... > Insofern die Frage, ob man diese überhaupt braucht oder ob diese sogar > u.U. eher "schädlich" sein können. Mit RS485 speziell hat das wenig zu tun. Das sind Grundlagen der HF-Technik für die Ausbreitung von Signalen auf Leitungen. Impedanzstoßstellen erzeugen Signalreflektionen und die Reflektionen überlagern sich deinem Nutzsignal als Störung. Wie die sich auswirken hängt von der Signallaufzeit und damit vom Abstand ab.
Rainer W. schrieb: > Das sind Grundlagen der HF-Technik für die Ausbreitung von Signalen auf > Leitungen. Wenn man den Bus a) nicht allzulang macht (also eher nur ein paar Meter als ein paar hundert Meter) und b) sich bei der Baudrate zurückhält, dann kann man die HF-Technik eine ganze Zeit lang ignorieren. Modbus kann man auch mit 9600 Baud betreiben. Das ist dann sehr gutmütig, was Abweichungen vom Ideal angeht.
Harald K. schrieb: > Wenn ..., dann kann man die HF-Technik eine ganze Zeit lang ignorieren. Ach nee (1. Antwort). Rainer W. schrieb: > ... Wie kritisch ... Schädlich ist ein ordentlicher Aufbau aus technischer Sicht allerdings nie.
:
Bearbeitet durch User
David schrieb: > Manche empfehlen 2 Widerstände zu je 120 Ohm am Ende der A/B Leitung > zwischen A und B und am µC Anschluss. > Wer hat Erfahrung und kann hierzu was sagen damit das Ganze möglichst > unproblematisch von 1:1 auf 1:n erweitert werden kann? Du nutzt EINE lange Leitung mit Terminierung an beiden Enden und hängst die Controller daran auf wie Bushaltestellen auf der Strecke, ohne weitere Widerstände. Baue KEINEN Stern. Achte auf ähnliches GND Potential, sonst funktioniert es nicht. Du musst also GND sämtlicher Busteilnehmer über eine dritte Ader verbinden können ohne dass es funkt (und wenn das geht, kann die dritte Ader wieder weg).
Rainer W. schrieb: > Schädlich ist ein ordentlicher Aufbau aus technischer Sicht allerdings > nie. Nein. Aber man muss sich auch nicht unnötig verkrampfen oder eine Wissenschaft draus machen. Man kann natürlich auch damit anfangen, dann aber sollte man sich auch mit Augendiagrammen beschäftigen.
Michael B. schrieb: > Achte auf ähnliches GND Potential, sonst funktioniert es nicht. Du musst > also GND sämtlicher Busteilnehmer über eine dritte Ader verbinden können > ohne dass es funkt (und wenn das geht, kann die dritte Ader wieder weg). Welchen GND meinst du - den vom Gehäuse der Slaves? Von den jeweiligen RS485 Slave Schnittstellen gibt es selber nur die A/B-Anschlüsse, keine expliziten Massenanschluss der RS485 Schnittstelle.
David schrieb: > Welchen GND meinst du - den vom Gehäuse der Slaves? Er meint den elektrischen GND aller Busteilnehmer, auf den sich die Signale A und B beziehen.
David schrieb: > Welchen GND meinst du - den vom Gehäuse der Slaves? Den GND Anschluss der Treiber-ICs. Ja, RS485 hat meist nur 2 Adern. Das funktioniert dank der Widerstände auch wenn alle Busteilnehmer galvanisch unabhängig sind oder auf gleichem Potential liegen. Doch manchmal ist das nicht der Fall und der Anwender wundert sich,,warum es nicht funktioniert. Zum Test eine Masseleitung zu verlegen zeigt, ob es ohne gehen würde oder nicht. Es knallt dann nämlich, wenn es nicht gehen würde.
Michael B. schrieb: > Es knallt dann nämlich, wenn es nicht gehen würde. Nun hör doch auf, solchen Unsinn zu verbreiten. Nicht jede Potentialdifferenz zwischen den Massepotentialen der Geräte ist so niederohmig, dass es knallt. Auch kann es sein, dass der RS485-Treiber im Gerät galvanisch isoliert ist, so dass das Massepotential des Gerätes überhaupt nichts mit dem Gnd der RS485-Treibers zu tun hat und man schnell den falschen Gnd erwischt.
:
Bearbeitet durch User
Rainer W. schrieb: > Auch kann es sein, dass der RS485-Treiber im Gerät galvanisch isoliert > ist, so dass das Massepotential des Gerätes überhaupt nichts mit dem Gnd > der RS485-Treibers zu tun hat Was meinst du warum ich GND des Treibers und nicht GND des Geräts schreibe. Aber meine Beschreibung hat dich sicher überhaupt erst auf die Idee gebracht, dass da ein Unterschied sein könnte und nun verkaufst du es als deine eigene. Ärmlich. Rainer W. schrieb: > Nicht jede Potentialdifferenz zwischen den Massepotentialen der Geräte > ist so niederohmig, dass es knallt. Schlecht wäre, wenn sie nicht niederohmig aber auch nicht so hochohmig wäre dass die (4k7) Widerstände sie glattziehen könnten, denn dann funktioniert es trotz des Tests mit der Leitung nicht. Glücklicherweise sind solche mittelohmigen Masseverbindungen, also weder PELV noch SELF, nur in deiner Phantasie abzutreffen.
Wenn galvanisch getrennte Treiber verwendet werden und mit Pullup- und -Down-Widerständen eine Vorspannung erzeugt wird, dann ist ein reiner Zweidrahtbetrieb bei RS485 durchaus möglich. Es gibt hinreichend viele professionelle Geräte, die genauso konstruiert sind.
Michael B. schrieb: > Schlecht wäre, .., denn dann > funktioniert es trotz des Tests mit der Leitung nicht. Jetzt hast du es anscheinen verstanden. Die Welt IST manchmal schlecht und dein Knalltest versagt dann.
Harald K. schrieb: > Es gibt hinreichend viele professionelle Geräte, die genauso konstruiert > sind. So wie die Boeing 737 MAX?
Falk B. schrieb: > So wie die Boeing 737 MAX? Bei der ging es nicht um galvanisch isolierte Treiber, sondern um nicht zu Ende gedachte Algorithmen in der Software. Bei einer sauberen Trennung der Versorgung der Treiber reichen die A/B Signale zusammen mit dem Widerstandsnetzwerk, damit die Signale den Common-Mode Bereich nicht verlassen.
Rainer W. schrieb: > Bei einer sauberen Trennung der Versorgung der Treiber reichen die A/B > Signale zusammen mit dem Widerstandsnetzwerk, damit die Signale den > Common-Mode Bereich nicht verlassen. Das stimmt teilweise, ist aber dennoch nicht optimal. Denn damit wird der Gleichtaktbereich der EMPFÄNGER nur durch deren interne Eingangswiderstände definiert. Das funktioniert erstaunlich oft und gut, ist aber trotzdem nicht die 1. Wahl. Eine Masse kann man nur dann wirklich weglassen, wenn man eine galvanisch getrennte Übertragung mit Trafos macht, so wie Ethernet.
Manchmal habe ich so ein Gefühl, wie damals als Teenager. Wenn ich langeweile hatte ging ich manchmal zur Unterhaltung in ein Seniorenheim. Da haben bestimmte Personen immer wieder leidenschaftlich das selbe Thema durch gekaut. Man kam sich vor, wie in einer Endlosschleife. Heute kommt das Seniorenheim über Internet zu mir.
Rainer W. schrieb: > Jetzt hast du es anscheinen verstanden Ich hab schon lange verstanden, dass du mit irgendwelchen an den Haaren herbeigezogenen theoretischen Ausnahmesituation versuchst als kleiner Wadenbeisser dein Unwesen zu treiben.
Nochmal meine Frage/Problem: Die angeschlossenen Slaves haben nicht alle einen GND Anschluss an der RS485 Schnittstelle sondern führen lediglich die A/B Anschlüsse heraus. Der am µC (Modbus Master) angedachte TTL zu RS485 Konverter hat neben A/B auch einen GND. Also, was mache ich mit den Slaves, die mir keinen expliziten GND Anschluss an deren RS485 Port liefern ? Was ist mit "GND Anschluss der Treiber-ICs" gemeint, extern ist nur dieser erwähnte "TTL zu RS485" Konverter im Einsatz, Treiber ICs sind zumindest nicht bewusst im Spiel !?
David schrieb: > Also, was mache ich mit > den Slaves, die mir keinen expliziten GND Anschluss an deren RS485 Port > liefern ? Eben ohne GND anschließen. Nicht super, geht aber meistens. > Was ist mit "GND Anschluss der Treiber-ICs" gemeint, Eben das. GND vom IC / Chip im Konverter.
David schrieb: > Nochmal meine Frage/Problem: Die angeschlossenen Slaves haben > nicht alle > einen GND Anschluss an der RS485 Schnittstelle sondern führen lediglich > die A/B Anschlüsse heraus. Der am µC (Modbus Master) angedachte TTL zu > RS485 Konverter hat neben A/B auch einen GND. Also, was mache ich mit > den Slaves, die mir keinen expliziten GND Anschluss an deren RS485 Port > liefern ? Hier muss man unterscheiden zwischen Bastlerkram und professionellen Anwendungen z.B. in der Industrie. In der Industrie gibt es für jede Schnittstelle eines Gerätes eine Beschreibung, wie sie zu verwenden ist. Z.B. ob sie Potentialgetrennt ist Das ist der Startpunkt: Doku lesen! Dann gibt es Hersteller wie https://www.phoenixcontact.com/de-de/ oder https://www.wut.de/ Welche alle Möglichkeiten bieten um solche Dinge professionell/stabil zu lösen. Wandler Isolatoren und vieles weitere
:
Bearbeitet durch User
David schrieb: > Also, was mache ich mit > den Slaves, die mir keinen expliziten GND Anschluss an deren RS485 Port > liefern ? Wenn sie isolierte Schnittstellen haben: gar nichts, nur A und B anschließen. Wenn sie keine isolierten Schnittstellen haben: Die Geräte erden, und darauf hoffen (besser: messen), dass das Erdpotential an allen Geräten ungefähr gleich ist. David schrieb: > Was ist mit "GND Anschluss der Treiber-ICs" gemeint Genau das. Sorry, aber wenn du unsere Sprache nicht sprichst, musst du sie lernen. Es gibt keine einfachere Umschreibung dafür. > extern ist nur dieser erwähnte "TTL zu RS485" Konverter im Einsatz, > Treiber ICs sind zumindest nicht bewusst im Spiel !? In den Konvertern befinden sich Treiber ICs Irgendwo muss der Konverter ein GND Anschluss haben. Ich habe welche in Form von USB Sticks ohne herausgeführten GND Anschluss. Für den Fall der Fälle habe ich USB Isolatoren zum dazwischen-stecken. Zum Basteln mit kurzen Leitungen reicht das, aber für eine reale Anwendung taugen meine RS485 Sticks halt nicht.
:
Bearbeitet durch User
David schrieb: > Danke alle für die Antworten, RS485 ist noch Neuland für mich, gelesen > hatte ich einiges darüber und auch eine 1:1 Verbinung/Kommunikation > lauffähig ohne Probleme bekommen (9600 Baud) Das kleine Bruder der 485 ist die 422. Dieser wird für das im Audio-Bereich genutzte AES-EBU Protokoll benutzt. Da laufen bei mir 384kHz Audiodaten über gemessene 50m durch ein 75 Ohm Coax-Kabel in 1:1. Das entspricht einer Datenrate von 24,5 MHz bei einer etwa-Bandbreite von 200MHz. Ich würde sagen, daß das für 9600 Baud knapp reichen könnte ;-)
Update: Da die Meinungen für die genannten Bedingungen auseinander gingen, hatte ich es die letzten Tage einfach mal in der Praxis umgesetzt: - Baudrate 9600 - Leitungslänge ca. 3 Meter (habe 2 adrigen Klingeldraht benutzt) - 3 Slaves, 1 Master (PIC als µC) - 1 RS485 TTL Konverter Terminierung oder sonstige Widerstände zwischen Bus und Bauteilen waren unter diesen Bedingungen nicht nötig, auch keinen GND Anschluss - läuft jetzt seit über einen Tag stabil. Nur der Konverter/Adapter hatte ein paar Fallstricke, die aber mit dem Bus selber nichts zu tun hatten. (Allerdings hat laut Datenblatt der Konverter einen integrierten 120Ohm Abschlusswiderstand. Ob dieser entscheidend ist, kann ich nicht sagen, zusätzlich waren zumindest keine Abschlusswiderstände nötig)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.