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:
Ich habe eine Zeichnung für diese spezielle Implementierung gemacht und die Signalkette wird wie folgt aussehen:
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:
Sollte die Encoder-Masse besser über einen eigenen Draht direkt mit der Controller-Masse verbunden werden?
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?
Wo sollten Abschlusswiderstände sein?
Ich bin auf diesen Artikel gestoßen, aber er ist ziemlich verwirrend.
BEARBEITEN:
Ein detaillierteres Diagramm:
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.
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.
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
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).
Quelle: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html
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."
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.
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.
Ist egal. Dafür sind Entkopplungskondensatoren da.
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.
rdtsc
Diskette380
Filo
Spannungsspitze