Wird für dieses RS485/422-Szenario eine Masseverbindung zwischen Master und Slave benötigt?

Ich werde an einem kleinen Projekt arbeiten, bei dem SSI-Ausgangsdaten (Winkeldaten) eines Drehgebers von einem Mikrocontroller-Board (z. B. einem Arduino-Board) gelesen werden und der Mikrocontroller diese Daten dann an den sendet PC über USB-Anschluss. Der Abstand zwischen Encoder und Arduino-Board/PC beträgt nicht mehr als sechs Meter.

Diese Arten von Encodern verwenden eine differenzielle elektrische RS422/RS485-Schnittstelle, ein Paar für Daten und ein anderes Paar für die Uhr, wie folgt:

Geben Sie hier die Bildbeschreibung ein

Ich habe eine Zeichnung für diese spezielle Implementierung gemacht und die Signalkette wird wie folgt aussehen:

Geben Sie hier die Bildbeschreibung ein

Die Steuerplatine sendet die Daten per USB an den PC. Der PC ist geerdet, was bedeutet, dass sein Motherboard vollständig mit dem Gehäuse und dann mit der Netzerde verbunden ist. Das Arduino-Board wird auch über USB mit Strom versorgt.

U1 und U2 sind zwei dieser Differentialbus-Transceiver (scheint keine galvanische Trennung zu geben). Diese Transceiver werden also mit einer 5-V-Versorgung oder vom 5-V-Anschluss der Arduno-Platine gespeist. Die Transceiver und die Platine haben eine gemeinsame Masse, wie im obigen Diagramm dargestellt.

Encoderseitig kann der Encoder jedoch über ein separates Netzteil versorgt werden (so ist zumindest der Plan). Im Diagramm ist die Encoder-Masse (auch die Masse der Encoder-Versorgung) gegenüber der Controller-Masse erdfrei.

Meine Fragen sind:

  1. Sollte die Encoder-Masse besser über einen eigenen Draht direkt mit der Controller-Masse verbunden werden?

  2. Wenn ich die gleiche Stromversorgung für die Transceiver und den Encoder verwende, spielt es dann eine Rolle, wo sich die Stromversorgung befindet? Kann die Stromversorgung des Encoders vom Encoder entfernt sein?

  3. Wo sollten Abschlusswiderstände sein?

Ich bin auf diesen Artikel gestoßen, aber er ist ziemlich verwirrend.

BEARBEITEN:

Ein detaillierteres Diagramm:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Randnotiz: Bei einem 6m Kabel sollten an den Enden der Bussignale Abschlusswiderstände verwendet werden, um Reflexionen zu eliminieren. Also eines bei µC Data Diff Pair und eines bei Encoder CLK Diff Pair.
Wenn wir den Wellenwiderstand der Paare nicht kennen, würden 100 Ohm für die Terminierung ausreichen? 100 Ohm ergibt 50mA. Würde es die Strombegrenzung für den Transceiver verletzen?
Faustregel: DC-Kopplung braucht immer [irgendeine] Masse.
Übrigens habe ich nur einen davon abgelehnt.

Antworten (4)

Kurz gesagt: Aufgrund der Eigenschaften von RS485 wird keine Erdung benötigt. Isolierung ist in den meisten Fällen am besten.

TIA/EIA 485 legt fest, dass nicht mehr als ±7 V Potential zwischen den Erdungen zweier separater Geräte liegen dürfen (unten als GPD dargestellt).

Die richtige Methode zum Entwerfen einer differentiellen Datenverbindung ist ohne Erdungskabel. Verwenden Sie für Massepotentialdifferenzen, die höher als die in EIA-485 angegebenen ±7 V sind, Transceiver mit hoher Gleichtaktfähigkeit oder isolierte Bus-Transceiver.

Geben Sie hier die Bildbeschreibung ein
Quelle: https://www.planetanalog.com/signal-chain-basics-84-why-rs485-does-not-need-ground-wires/

Bei einigen industriellen Anwendungen ist es durchaus möglich, große Bodenschwankungen zwischen verschiedenen Standorten zu haben. Dies kann mit einem Multimeter zwischen den beiden Standorten gemessen werden. Sie sollte 7 V (im DC- oder AC-Modus) nicht überschreiten. Wenn dies der Fall ist, ist eine Isolierung erforderlich, um innerhalb der Spezifikation zu bleiben.

Sollte die Encoder-Masse besser über einen eigenen Draht direkt mit der Controller-Masse verbunden werden?

Die Masse des Encoders sollte zurück zur Stromversorgung gehen, wenn die Stromversorgung vom Arduino entfernt ist, dann ist es nicht notwendig, die Masse zusammenzubinden (vorausgesetzt, dass zwischen Arduino und Encoder wie oben beschrieben weniger als ±7 V anliegen.

WENN der für den Encoder zum Arudino zurückgeführt und nicht an eine Stromversorgung am anderen Ende angeschlossen ist (oder die Stromversorgung am Arudino ist), sollte das obige Design auch funktionieren (vorausgesetzt, dass Gleichtaktrauschen vom Kabelwiderstand ist akzeptabel (große Ströme durch lange Kabel können Masseprellen verursachen, und der Strom hängt vom Strom des Encoders ab.) Kabelspannungsabfall ist auch ein Problem, wenn sich die Stromversorgung am Arduino befindet.

Wenn ich die gleiche Stromversorgung für die Transceiver und den Encoder verwende, spielt es dann eine Rolle, wo sich die Stromversorgung befindet? Kann die Stromversorgung des Encoders vom Encoder entfernt sein?

Es hängt wirklich vom Widerstand der Kabel zwischen Encoder und Transceiver/Arduino ab. Wenn sich die Stromversorgung am Arduino-Ende befindet, muss der Kabelverlust berücksichtigt werden.

Beispiel: 22 AWG hat 0,053 Ω Verlust pro Meter. Wenn der Encoder 10 mA Strom zieht, sind das nur 5 mV Verlust für 10 m Kabel. 100 mA und es sind ~ 50 mV, mehr als 50 mV und es könnte ein Problem sein.

Es gibt also einige Optionen, eine größere Kabelgröße oder die Stromversorgung am Encoder, was für RS485 in Ordnung ist (solange die Erdung innerhalb der Toleranz liegt).

Wo sollten Abschlusswiderstände sein?

Für eine Rs422-Konfiguration ist das, was Sie haben, in Ordnung (das Diagramm unten hat Daten unten und eine Uhr oben, gegenüber Ihrer), ein Abschlusswiderstand sollte auf der Master-Empfangsseite und auf dem Slave-Gerät (dem Encoder) sollte er auch eingeschaltet sein der Empfänger.

Geben Sie hier die Bildbeschreibung ein
Quelle: https://en.wikibooks.org/wiki/Serial_Programming/RS-485

Wenn Sie nur ein RS845-Gerät verwenden, ist ein Widerstand am Encoder-Ende und am Arudino-Ende angebracht, wie unten gezeigt

Geben Sie hier die Bildbeschreibung ein
Quelle: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html

Wenn Sie mehrere Encoder verwenden, benötigen Sie einen Widerstand am letzten Gerät und am Master (Arduino).

Geben Sie hier die Bildbeschreibung ein
Quelle: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben . Alle erzielten Schlussfolgerungen sollten in die Frage und/oder die Antwort(en) zurückbearbeitet werden.

Da die Transceiver nicht isoliert sind, können die Busdrähte 7 V unter dem GND-Pin und 7 V über dem VCC-Pin liegen.

Das bedeutet, dass zwischen GND dieser Platine und Masse des Encoders nicht mehr als 7V Potentialunterschied bestehen dürfen.

Da diese Platine ihr Massepotential auf einem geerdeten PC-Chassis über eine USB-Verbindung hat, bedeutet dies, dass die Masse des Encoders auch über einen Weg mit dem gleichen Massepotential verbunden werden muss, mit einer angemessen niedrigen Impedanz, die nicht mehr als die angegebenen +/- 7 V zulässt Unterschied zwischen ihnen.

1) Basierend auf dem Obigen kann der Encoder nicht in Bezug auf die Steuerung schweben. Wenn der Encoder mit einer separaten erdfreien Stromversorgung auf der Encoderseite versorgt wird und diese Versorgung oder dieser Encoder keinen anderen Bezug zum Erdpotential hat, bedeutet dies, dass ein Erdungskabel von der Transceiverplatine zum Encoder vorhanden sein sollte, um ihr Potential zwischen beiden zu halten endet genauso. In diesem Kabel sollte während des normalen Gebrauchs kein Strom fließen, da dies nur dazu dient, ihr Potenzial gleich zu halten. Wenn die separate Stromversorgung nicht erdfrei ist, aber eine Massereferenz hat, ist ein separates Erdungskabel zwischen den Geräten möglicherweise nicht erforderlich. Sie können immer einen Stecker und ein Kabel auswählen, sodass die Erdung konfigurierbar ist, sodass Sie später entscheiden können, ob Sie die Erdung entweder anschließen oder getrennt lassen möchten, möglicherweise mit einer Lötbrücke oder einem Jumper.

2) Wenn Sie die gleiche Versorgung für Encoder und Controller verwenden, besteht bereits eine Masseverbindung zwischen Controller- und Encodermasse. Der Ort der Stromversorgung spielt keine Rolle, ob in der Nähe des Encoders oder der Steuerung. Aufgrund des im Erdungskabel fließenden Stroms gibt es einen kleinen Potentialunterschied zwischen den Enden, aber Sie können dies ignorieren, solange der Spannungsabfall nicht zu groß ist und immer noch genügend Spannung an das entfernte Ende für einen ordnungsgemäßen Betrieb liefern kann. Beachten Sie jedoch, dass die Controller-Masse immer noch über die PC-USB-Masseverbindung zum Controller geerdet ist, selbst wenn der Controller von einer separaten Versorgung anstelle von +5 V vom USB gespeist wird.

3) Der Transceiver-Treiberteil kann bis zu 60 mA Last oder bis zu 54 Ohm oder etwa 110 Ohm Abschluss an beiden Enden treiben. Da die Übertragungsleitungen nur unidirektional und nur zwischen zwei Geräten als Punkt-zu-Punkt-Verbindung statt als Multi-Empfänger-Bus verlaufen, reicht es oft aus, nur am Empfänger mit dem Wellenwiderstand der Leitung zu terminieren. Es ist auch üblich, beide Enden der Übertragungsleitung zu terminieren, so dass in diesem Fall die Abschlusswiderstände direkt an den Pins des Transceiver-Chips liegen würden. Ziehen Sie also die Widerstände auf den Chip, und Sie können den Abschlusswiderstand des Senders weglassen, wenn Sie feststellen, dass er nicht erforderlich ist, oder einen Jumper oder eine Lötbrücke setzen, um ihn zu aktivieren/deaktivieren.

Zitat aus TI Application Note slla070d.pdf Seite 18:

Üblicherweise werden RS-422- und RS-485-Systemkonfigurationen ohne separates Erdungskabel dargestellt. Physikalische Gesetze erfordern jedoch immer noch eine solide Masseverbindung, um eine fehlerfreie Kommunikation zwischen Treibern und Empfängern zu gewährleisten.

Zitat aus "Understanding EIA-485 Networks" von Contemporary Controls:

Der Standard besagt eindeutig, dass Generatoren und Empfänger einen Rückweg zwischen Schaltungsmasse an jedem Ende einer Verbindung benötigen. Dieser Rückweg könnte ein tatsächlicher Draht in dem Kabel sein, das jede der logischen Erdungen miteinander verbindet, oder Erde kann den Rückweg bereitstellen, indem jede logische Erde zur Erde zurückgeführt wird.

Zitat aus Integrity Instruments Application Notes Release 1:

Die Erdung ist für den zuverlässigen Betrieb eines RS-485-Netzwerks unerlässlich. Es ist auch das am meisten übersehene und am wenigsten verstandene. Der einfachste Weg, Ihr RS-485-Netzwerk zu erden, besteht darin, einfach „Erde“ als Rückweg zu verwenden. Obwohl dies einfach ist, ist dies möglicherweise nicht die beste Methode zum Erden Ihrer Anwendung, da Leckströme von Geräten, elektrostatische Entladungen (ESD) und Blitze alle Strom durch diesen Pfad treiben, was zu einem hohen Rauschgehalt führt. Der Grund für diesen erhöhten Rauschpegel liegt in der Tatsache begründet, dass „Erde“ einen relativ hohen Widerstand darstellt. RS-485 ist für den normalen Betrieb mit einer Massepotentialdifferenz von +/- 7 Volt ausgelegt. ... Eine gute Möglichkeit, diese Erdung zu reduzieren und diese Erdpotentialdifferenz innerhalb der Standards zu halten, besteht darin, eine dritte Leitung zu verlegen

Zitat aus Robust DataComm Anhang 5, das angeblich den RS485-Standard selbst zitiert. ( Link zur Appnote ):

„Der ordnungsgemäße Betrieb der Generator- und Empfängerschaltungen erfordert das Vorhandensein eines Signalrückwegs zwischen den Schaltungserden der Geräte an jedem Ende der Verbindung. Die Schaltungsreferenz kann durch einen dritten Leiter hergestellt werden, der die gemeinsamen Leitungen der Geräte verbindet, oder es kann durch Verbindungen in jedem verwendeten Gerät zu einer Bezugserde hergestellt werden."

Bitte erklären Sie die Ablehnungen, und ich werde die Antwort verbessern. Ich werde es sowieso bald verbessern, aufgrund all der Informationen, die ich in der Begründung gefunden habe, um meine Behauptungen zu untermauern. Aber kurz gesagt, wenn die PC-Seite geerdet ist, benötigt der Encoder auch einen Erdbezug, entweder über eine geerdete Stromversorgung oder im Falle einer erdfreien/nicht geerdeten Stromversorgung von der PC-Seite mit dem Massebezugsdraht.

Es ist einfach. Ja, Sie benötigen eine GND-Verbindung, damit Sie sicherstellen können, dass der Gleichtakt nicht aus den Empfängerwerten herausschwebt. Die Masseverbindung muss nicht unbedingt gut sein, kurz oder was auch immer, aber sie muss da sein.

Der einzige Ausschluss ist, wenn Sie einen anderen seltsamen Weg haben, um sicherzustellen, dass es nicht schwebt, wie z. B. das Verbinden von gnd auf der einen Seite mit einem isolierten vcc auf der anderen Seite. Aber es ist seltsam und erfordert eine sehr sorgfältige Analyse beider Seiten.

Eine Sache noch. Es gibt eine Standardmethode für den Umgang mit Encodern: Stellen Sie Strom (5 V und GND) im selben Kabel bereit, in das die Kommunikation geht. Auf der Encoder-Seite gibt es sowieso nichts Elektrik. Eine Art Sackgasse.

  1. Sie sollten immer eine VERBINDUNG haben (nicht unbedingt eine Leitung), da diese nicht galvanisch getrennt ist. Es ist jedoch kein dediziertes Erdungskabel erforderlich, es sei denn, es wird batteriebetrieben oder ein Ende ist nicht geerdet. Das sagt der Artikel, den du verlinkt hast.

  2. Ist egal. Dafür sind Entkopplungskondensatoren da.

  3. Bei RS422/RS485 wird ein paralleler Abschluss verwendet, sodass er als nächster (idealerweise hinter) dem letzten Empfänger in der Daisy-Chain verläuft.

Ich habe gerade mit einem detaillierteren Diagramm aktualisiert. Ich bin auf ein Beispiel gestoßen und zeichne ein Diagramm. Was denken Sie darüber?: i.stack.imgur.com/VULz5.png Ich kenne den Zweck von R1 und R2 und DE RE nicht.
RE und RE sind Freigabesignale für Sender und Empfänger. Wird für RS485 verwendet, wenn die Kommunikation Halbduplex ist. Sie sollten im Datenblatt nachschlagen, was Pinbelegungen bedeuten, da Pin-Namen nicht universell sind.
R1 soll ein schwebendes Signal verhindern, wenn der Empfänger deaktiviert ist. Nicht erforderlich, wenn der Transceiver im deaktivierten Zustand nicht hochohmig wird. Aber das ist bei diesem Chip nicht der Fall. Siehe Tabelle 3. Empfängerfunktionstabelle des TI-Datenblatts.
Ist die Position der Abschlusswiderstände R3 und R4 hier korrekt?: i.stack.imgur.com/zuFMw.png
@floppy380 Ja.
Sie haben auch "(nicht unbedingt ein Draht)" geschrieben. Aber wie kann eine gemeinsame Basis ohne Draht hergestellt werden? Ich verstehe diesen Teil nicht.
@floppy380 Es gibt Überschneidungen zwischen Namen. Verstehst du, was heiß, neutral und Masse für Wechselstrom sind? Für DC gibt es V+ und Masse, aber DC-Masse entspricht tatsächlich AC-Nullleiter, nicht AC-Masse. Erde ist ein dritter Anschluss für Gleichstrom und entspricht Masse für Wechselstrom.
Ja die kenne ich alle. Aber ohne einen Draht zwischen der Encoder-Masse und einer weit entfernten Arduino-Masse, wie wären die Masse gemeinsam? Ich hoffe, du redest hier nicht vom Erdboden..
@floppy380 Wie weit ist weit? Es gibt einen Unterschied zwischen Festinstallationen, bei denen beide Seiten aus Sicherheitsgründen geerdet sind, und ungeerdeten Installationen. Der Gleichtaktbereich in den Transceivern nimmt die Differenz des DC-Massepotentials zwischen beiden Enden aufgrund einer unvollständigen Verbindung durch die Erde auf, und die Transceiver verwenden differenzielle Signale, sodass sie die Erde nicht als Referenzspannung verwenden, aber Elektronen müssen in der Lage sein, sie zu finden trotzdem ihren Weg zurück.
Warum zeichnest du nicht einfach, was du meinst. Es erleichtert das Lesen. Diagramme sind die einzige Möglichkeit zu sehen. Bitte zeichnen Sie ein Diagramm. Encoder und Arduino-Board sind sechs Meter voneinander entfernt. Ich frage mich, was sonst als ein Draht eine gemeinsame Basis zwischen ihnen herstellen kann.
Ich kann nur denken, wenn beide analogen Erdungen geerdet sind. Aber das verursacht Brummschleifen.
@floppy380 Ihre Zeichnung enthält nicht genügend Details, da Versorgungsdetails weggelassen werden, aber bei 6 m spielt dies keine Rolle, da die Potenzialdifferenz zwischen zwei Erdungspunkten gering ist. Sie erden einfach beide Enden, verlegen einen Kupferdraht oder beides, da die Entfernung zu gering ist, als dass die Erde an beiden Enden anders als die Erde sein könnte. Diese Artikel sprechen Dutzende oder Hunderte von Metern.
Ich denke, Sie verwechseln einen Pfad für Rückströme mit dem, was als Spannungsreferenz für Signale verwendet wird. Normalerweise sind sie für Systeme mit nicht differenziellen Signalen gleich. Nicht so hier. Die Bilder sind in dem verlinkten Artikel. Meine wäre etwas anders.
Beide Analogmassen erden?
@floppy380 Könntest du. Nicht viel Sinn bei 6m, vor allem wenn keine Festinstallation (was ich nicht wegen Arduino annehme). Selbst bei 6m könnte man nur ein Ende erden. Wie gesagt, die Entfernung ist zu gering, um einen großen Unterschied in den Erdpotentialen zu haben. Aber wenn nicht geerdet, dann verlegen Sie ein Erdungskabel zwischen den beiden für Rückströme (dh wenn beide Enden von verschiedenen Batterien gespeist wurden), aber Sie brauchen das sowieso, weil Sie die Versorgung teilen