Hallo zusammen, ich grüble etwas über Kommunikationsprobleme an einer Kundenanlage... Im Groben besteht der Informationsteil aus einem Master und 3 Slaves, die wie im Anhang "RS485_Problembus.png" dargestellt über eine RS485-Schnittstelle miteinander reden. Das scheint mir irgendwie schon nicht ganz sauber mit den fliegenden Massen. Der Kunde sagt zwar, die Kommunikation funktioniere so "normalerweise", das glaube ich aber nicht so recht. Denn die Baudrate ist mit 9600bd lächerlich gering und sobald das Fördersystem der Anlage anläuft sind gefühlt mehr fehlerhafte als korrekte Übertragungen vorhanden ;-). Sagt zumindest der Master... Ich weiß, dass das hier wohl in die x-te "mit vs. ohne Masse"-Diskussion führt, aber sieht jemand außer diesem Umstand eine andere Ursache im Schaltplan? Würde nächste Woche mal in den Installationsschacht steigen und die Verdrahtung wie in "RS485_Problembus_Korrektur.png" gezeigt ändern, also die isolierten Massen aller Slaves zum Master und dort auf die Systemmasse legen. Sollte mich das zum Erfolg führen oder bringt das noch mehr Probleme? Grüße ins Wochenende
Stephan S. schrieb: > Das scheint mir irgendwie schon > nicht ganz sauber mit den fliegenden Massen. Da ist 'ne galvanische Trennung, da ist 'ne Vorspannung, das ist so schon in Ordnung. So sauber und ordentlich aufgebaut sieht man sowas selten. Da sind jumperbare Abschlusswiderstände; sind die auch irgendwo aktiv? Häng' da mal ein Oszilloskop dran und sieh' Dir die Signale an. Wenn es zu Problemen kommt, könnte das möglicherweise an falscher Ansteuerung der Sender-/Empfänger-Umschaltung der RS485-Treiber liegen, lässt sich derjenige, der gesendet hat, zu viel Zeit mit der Deaktivierung, stört er die Übertragung dessen, der als nächster senden will.
Eigentlich vom Feinsten. - Die Richtung der Transceiver wird aktiv umgeschaltet. Check. - Bias-Netzwerk im Master niederohmig. Check. - Extra Isolator in jedem Knoten, so dass auch hunderte Volt Masseversatz nichts ausmachen. Check. Etwas kritisch seh ich die 1nF, die für hochfrequente Störungen die Isolation unwirksam machen. Wenn es gestörte Daten gibt, würde ich mit Oszi auf die Leitungen schaun. Vielleicht ist der Schaltplan die feine Theorie und in der Praxis hat sich ein Fehler eingeschlichen. Eine grundsätzlich fehlende Masse seh ich nicht.
Hallo Harald, Hallo Uwe, Danke für die Antworten soweit! Oszibilder reiche ich nach, die habe im Eifer des Gefechts vergessen. Was die Abschlusswiderstände angeht: Ja, die Anzahl und Position ist richtig, auch alles wie im Lehrbuch. Zweimal je 120 Ohm, an beiden Enden des Busses. Zur Masse muss ich nachfragen, das will mir noch nicht einleuchten. Jeder Slave sowie der Master haben ihr eigenes "GND iso." sowie "+5V iso.", wie habe ich hier einen Massebezug zwischen den Transceivern? Über den 1Meg||1nF kommt doch kaum was an Strom. Irgendwo stehe ich da noch richtig auf dem Schlauch...
Stephan S. schrieb: > eder Slave sowie der Master haben ihr eigenes "GND iso." sowie "+5V > iso.", wie habe ich hier einen Massebezug zwischen den Transceivern? Das läuft über die Vorspannung, d.h. die Pullups und -Downs an den Datenleitungen (in der Schaltung sind das 820-Ω-Widerstände).
Stephan S. schrieb: > Zur Masse muss ich nachfragen, das will mir noch nicht einleuchten. > Jeder Slave sowie der Master haben ihr eigenes "GND iso." sowie "+5V > iso.", wie habe ich hier einen Massebezug zwischen den Transceivern? Schreibe 100x an die Tafel: "Der RS485-Bus benötigt keine Masse." Nochmal erklär ich es nicht, siehe hier.. Beitrag "Re: RS485 Pegelunterschiede"
> Das läuft über die Vorspannung, d.h. die Pullups und -Downs an den > Datenleitungen (in der Schaltung sind das 820-Ω-Widerstände). Richtig. Anders ausgedrückt: Die Bias-Widerstände sorgen dafür, dass die Datenleitungen ungefähr mittig zwischen 5Viso und GNDiso liegen. Und da sonst kein weiterer Bezugspunkt da ist, folgt der 5Viso immer dem Bus+2.5V und der GNDiso dem Bus-2.5V. So haben alle GNDiso, obwohl nicht verbunden, das gleiche Potential. Bis auf Abweichungen, die durch Toleranzen der Widerstände zustandekommen. Die paar (hundert) Millivolt stören aber nicht, weil die Transceiver schon von sich aus mit Gleichtaktstörungen von deutlich mehr klarkommen. Du kannst die GNDiso zusätzlich verbinden, das macht es weder besser noch schlechter.
:
Bearbeitet durch User
Icke ®. schrieb: > Schreibe 100x an die Tafel: "Der RS485-Bus benötigt keine Masse." > > Nochmal erklär ich es nicht, siehe hier.. Das ändert nichts daran, dass die Potentiale der verbundenen Geräte nicht beliebig liegen dürfen, weil sonst die Bias-Widerstände, wegen ihrer Bemühung den Bus halbwegs in der Mitte zu halten, schlimmstenfalls einfach durchbrennen. Solange alles potentialmäßig frei durch die Gegend treiben kann, funktioniert es, aber bei harten Potentialdifferenzen helfen die Bias-Widerstände auch nicht immer. Daher muss man sich grundsätzlich über die Potentiale zwischen den Geräten im Klaren sein. Mit einfach "RS485 braucht keine Masse" ist es nicht getan.
:
Bearbeitet durch User
Rainer W. schrieb: > Das ändert nichts daran, dass die Potentiale der verbundenen Geräte > nicht beliebig liegen dürfen Und was könnte die galvanische Trennung bewirken, hmm?
Harald K. schrieb: > Und was könnte die galvanische Trennung bewirken, hmm? Die galvanische Trennung kommt als Anforderung heraus, falls man frei von Potentialdifferenzen zwischen Systemen sein möchte - so ist das nun einmal. Entweder man stellt bei jedem Busteilnehmer (evtl. bis auf einen) potentialfreie Versorgung und Busisolatoren zur Verfügung, so dass die über die Bias-Widerstände auf ausreichend gleiches Potential gezogen werden können oder man hat eine mitgeführte Versorgung für den Bus und rückt vom reinen 2-Draht System ab. Die Netzbezeichnung mit "+5V Iso." und "Gnd Iso." bedeutet im Schaltplan normalerweise, dass bei den Baugruppen (hier Master und Slave[1..3]) die Busversorgungen verbunden sind, was in dem oben gezeigten Schaltplan aber wohl nicht so gemeint ist, wie es geschrieben steht, da innerhalb jedes Rahmens ein eigener, isolierender DC/DC-Wandler vorhanden ist. Kurz: Die Netznamen müssten verschieden sein, z.B. "+5V Iso1", "Gnd Iso1", "+5V Iso2", "Gnd Iso2" usw. Für die im ECAD-Systemen aus dem Schaltplan generierte Netzliste interessieren irgendwelche Linien zu Trennung von Baugruppen normalerweise nicht.
:
Bearbeitet durch User
Stephan S. schrieb: > Das scheint mir irgendwie schon nicht ganz sauber mit den fliegenden > Massen. Ja. > Der Kunde sagt zwar, die Kommunikation funktioniere so > "normalerweise", das glaube ich aber nicht so recht. Bei wirklich fliegenden Massen (nur Funkentstörkondensatoren der jeweiligen Masse zum PE) entsteht ein annähernd gleiches Potential durch die Schutzdioden, bei dir SMBJ5 statt der internen im MAX485, aber das ist sehr unsauber und leicht störbar, da ist es sogar besser die baudrate zu erhöhen. Richtig zuverlässig wird es aber erst, wenn man die Empfängermasse auf zumindest +/-1.5V zusammenführt, z.B. durch Anschluss an PE (also PELV statt SELV). Daher sind 2-Draht RS485 Leitungen eigentlich Unsinn, Masse sollte man mitfuhren. Bei dir wird eine Spannungsversorgung mitgeführt, aber ich nehme mal an, Gerätemasse ist absichtlich nicht an deren Minus angeschlossen.
Und taeglich gruesst das Murmeltier... Wer mit vollem Ernst immer wieder gebetsmuehlenartig wiederholt, dass RS485 keine Masse benoetigt, sollte sich mal bezueglich der Funktion eines OPV weiterbilden, Stichwort: Rail to rail behaviour. RS485 ist immer noch nicht DC-frei, wie Ethernet oder HDMI, wo man (sic!) ohne absolute Potentiale arbeiten kann. Auch bei galvanischer Trennung muss der Arbeitsbereich auf dem Bus je nach Bauteil stimmen, ausser, es wurde vorher schon DC-frei encodiert, dann darf eine 'virtuelle Masse' kapazitiv gekoppelt herumfloaten. Ende vom Lied: Masse immer verdrahten, und in den Boden stecken reicht nicht, im Umkreis einer TGV-Strecke sind auch heutzutage mal noch eben um die 100V Potentialunterschied auf einen Meter zu messen.
Michael B. schrieb: > Richtig zuverlässig wird es aber erst, wenn man die Empfängermasse auf > zumindest +/-1.5V zusammenführt, z.B. durch Anschluss an PE (also PELV > statt SELV). Genau das tun die 820 Ω Widerstände, solange man den isolieren Spannungen und Bustreibern erlaubt (ausreichend hochohmig) zu driften. Damit der Bus nicht irgendwo hin driftet, muss er irgendwo z.B. nach PE gezogen werden, aber nicht unbedingt hart.
:
Bearbeitet durch User
Martin S. schrieb: > Und taeglich gruesst das Murmeltier... Allerdings. Wenn Leute einfach nicht verstehen WOLLEN, wie der RS485-Bus arbeitet, kann man nichts machen. Einfaches Experiment, verbinde zwei batteriebetriebene, gegen Erde isolierte Geräte (häng sie z.B. an einem Perlon-Faden in die Luft) ausschließlich mit den Adern A und B. Erkläre dann, wieso die Übertragung funktioniert, obwohl Masse vollständig fehlt.
Rainer W. schrieb: > Michael B. schrieb: >> Richtig zuverlässig wird es aber erst, wenn man die Empfängermasse auf >> zumindest +/-1.5V zusammenführt, z.B. durch Anschluss an PE (also PELV >> statt SELV). > > Genau das tun die 820 Ω Widerstände, solange man den isolieren > Spannungen und Bustreibern erlaubt (ausreichend hochohmig) zu driften. > Damit der Bus nicht irgendwo hin driftet, muss er irgendwo z.B. nach PE > gezogen werden, aber nicht unbedingt hart. Nein, und nochmals Nein. Ein Massebezug ist ausschließlich innerhalb der Endgeräte relevant, NICHT auf dem Bus! Die BIAS-Widerstände sorgen für einen Stromfluß über den Terminierungswiderstand, damit die Adern A und B im Ruhezustand eine definierte, stabile Polarität mit einem Mindestpegel von 200mV haben. Siehe u.a. hier: Beitrag "Re: RS485 Pegelunterschiede"
Icke ®. schrieb: > Nein, und nochmals Nein. Ein Massebezug ist ausschließlich innerhalb der > Endgeräte relevant, NICHT auf dem Bus! Nimm irgendeinen RS485-Treiber. Die Spannung zwischen dessen Gnd und den Signalleitungen darf die im Datenblatt genannten Grenzwerte nicht unter- bzw. überschreiten. Und genau das wird bei (weitgehend) floatenden Geräten sichergestellt, indem über die Bias-Widerstände ein Potentialangleich zwischen den Massen der beteiligten Geräte statt findet. Willst du das leugnen?
:
Bearbeitet durch User
Rainer W. schrieb: > Willst du das leugnen? Bullshit-Vokabular. Du hast die Funktion der BIAS-Widerstände NICHT verstanden.
Icke ®. schrieb: > Du hast die Funktion der BIAS-Widerstände NICHT verstanden. Wenn die Bias-Widerstände in ihrer Zweitfunktion nicht die Potential angleichen würden, könnte man sich Isolatoren sparen.
Icke ®. schrieb: > Nochmal erklär ich es nicht Das ist auch gut so, denn das Modell des Receivers mit den LEDs und die darauf aufbauende Erklärung sind schlicht falsch. Die Angabe eines Gleichtakt-Eingangsspannungsbereichs im Datenblatt von RS485-Receivern weist deutlich auf die Verwendung eines Differenzverstärkers im Eingang eines Receivers hin. Beim Umschalten fließt der Strom nicht durch einen Eingang in den Differenzverstärker des Receivers und durch den anderen Eingang wieder hinaus, sondern von den Ausgängen A und B des Transmitters durchs Kabel und von dort auf der Massseleitung wieder zurück. Es gibt theoretisch eine Gleichtakt-Spannung auf dem Bus, bei der sich der Strom aus dem A-Ausgang des Transmitters mit dem aus dem B-Ausgang des Transmitters in der Summe näherungsweise aufheben - in der Praxis hat das aber keine Bedeutung.
Könntest du diese Aussagen bitte mit einer Skizze veranschaulichen, mit eingezeichneten Strompfeilen und beispielhaften Werten?
Icke ®. schrieb: > Allerdings. Wenn Leute einfach nicht verstehen WOLLEN, wie der RS485-Bus > arbeitet, kann man nichts machen. Einfaches Experiment, verbinde zwei > batteriebetriebene, gegen Erde isolierte Geräte (häng sie z.B. an einem > Perlon-Faden in die Luft) ausschließlich mit den Adern A und B. Erkläre > dann, wieso die Übertragung funktioniert, obwohl Masse vollständig > fehlt. Schau, deine empirische Herleitung genuegt schlicht nicht in einer industriellen Umgebung, wo Potentialunterschiede vorliegen. Dein Gedankenexperiment uebertraegt dann nicht mehr ordentlich, wenn ich einen van-der-Graaf-Generator oder ordentliche Funkenspritze danebenstelle. Erklaere, warum. Alles andere wurde schon oben gesagt.
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.