Forum: Mikrocontroller und Digitale Elektronik Abschlußwiderstände an RS485-Datenleitung


von Transpluto (Gast)


Lesenswert?

Hallo,

eine RS485-Datenleitung soll als Kreis mit mehreren Busteilnehmern 
aufgebaut werden.
Wo müssen dabei die sonst üblichen Abschlußwiderstände angebracht 
werden?

Viele Grüße
Transpluto

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> eine RS485-Datenleitung soll als Kreis mit mehreren Busteilnehmern
> aufgebaut werden.
Bitte ein Bild.

Willst du wirklich einen Ring machen?
Das kann heftige Reflexionen geben...

von HildeK (Gast)


Lesenswert?

Den Kreis nicht schließen und an der Trennstelle an beiden Enden die 
Abschlußwiderstände anbringen.

von Transpluto (Gast)


Lesenswert?

> Willst du wirklich einen Ring machen?

Ja.

> Den Kreis nicht schließen und an der Trennstelle an beiden Enden die
> Abschlußwiderstände anbringen.

Das geht leider nicht: der Kreis muß geschlossen sein, da sich wirklich 
an allen (!) Stellen im Kreis Teilnehmer befinden können.

von (prx) A. K. (prx)


Lesenswert?

Wenn das wirklich ein physikalisch geschlossener Ring mit durchgehendem 
Kupfer werden soll, dann wirst du wohl nicht drum herum kommen, den Ring 
mit derart langsamen Flanken zu betreiben, dass die Lust auf 
Reflektionen garnicht erst aufkommt.

Warum der Ring aber geschlossen sein muss erschliesst sich mir immer 
noch nicht. Eine ringförmige Anordnung mit eine wenige Millimeter 
breiten Lücke für die beiderseitigen Abschlüsse schränkt die 
Anschlussmöglichkeiten in keiner Weise ein. Die Abschlüsse sind ja nicht 
Bestandteil einer Node, sondern Teil der Verkabelung.

von Transpluto (Gast)


Lesenswert?

@ A. K.

Nun ja, die Datenübertragungsrate liegt bei 115,2 kBaud.

Leider geht auch aus technischen Gründen eine wenige Millimeter breite 
Lücke nicht, obwohl ich sie auch gerne hätte.

von (prx) A. K. (prx)


Lesenswert?

Ist nicht grad der übliche Anwendungsfall für RS485. Soll heissen: 
Probier aus ob damit irgendwas geht und schreib es hier rein, damit 
andere auch davon profitieren. Logischerweise ist es bei so einer 
Topologie völlig wurscht wo Abschlüsse sitzen und wahrscheinlich ist man 
mit verteiltem Abschluss (also pro Node) besser dran als zentral.

Warum da keine Lücke sein kann würde mich schon mal interessieren, ich 
kann mir auf Anhieb nichts vorstellen. Willst du die häusliche 
Warmwasserleitung nebenbei als RS485-Bus verwenden?

von (prx) A. K. (prx)


Lesenswert?

Transpluto schrieb:

> Nun ja, die Datenübertragungsrate liegt bei 115,2 kBaud.

Was bei 10m Ring sicherlich kein Problem ist. Von der Länge war ja 
bisher nicht die Rede.

von Kai Klaas (Gast)


Lesenswert?

>Das geht leider nicht: der Kreis muß geschlossen sein, da sich wirklich
>an allen (!) Stellen im Kreis Teilnehmer befinden können.

Erschließt sich mir nicht, warum du da keinen Gap machen kannst. Eines 
ist auf jeden Fall sicher, du wirst Probleme ohne Ende bekommen! Der 
Ring wirkt wie eine Induktionsschleife, der jedes Magnetfeld in eine 
Störspannung verwandelt. Ich spreche hier nicht mal von Blitzen oder 
Endladungen, sondern so simple Sachen wie ein Staubsauger, den du 
einschaltest, oder der Kühlschrank...

Transpluto, ein Ring ist ein absolutes No no! Wenn du dich darauf 
einläßt, ist das nicht professionell.

Kai

von torsten (Gast)


Lesenswert?

Hallo
bei der firma Hedintex  http://www.hedintex.de/  eine spezialfirma für 
rs485  giebt es auch Leitungstreiber mit den du einen rs584 rinstrucktur 
herstellen kannst. kostet aber etwas geld,funktioniert dafür in industie 
qualität.

von (prx) A. K. (prx)


Lesenswert?

Wenn ich den Laden richtig interpretiere, dann kriegt er damit zwar 
seinen physikalischen und topologischen Ring, aber kein durchgehendes 
Kupfer. Also statt einer einzigen Unterbrechung kriegt er nun für jene 
Node eine Art Unterbrechung.

Und das in Glasfaser - das ist jedenfalls dort der einzige gezeigte 
Ring.

von Gast (Gast)


Lesenswert?

Ich habe einmal nur zum Spass eine 25m lange RS485 Leitung als Ring 
geschlossen und die Abschlusswiderstände entfernt.

Es ging Problemlos allerdings mit 39Kbaud

Die Abschlusswiderstände sind nur dazu da Reflexionen am Leitungsende zu 
vermeiden. Wenn Du ein richtiges 120 Ohm Twin Kabel hast, kannst Du ohne 
weiters den Ring schliessen.

von Transpluto (Gast)


Lesenswert?

> Transpluto, ein Ring ist ein absolutes No no! Wenn du dich darauf
> einläßt, ist das nicht professionell.

Ich stimme zu, daß alle bisher genannten Einwände ihre Berechtigung 
haben. Trotzdem muß die Anlage im professionellen Bereich unter den 
geschilderten Bedingungen funktionieren. Eine Unterbrechung des Kreises 
würde einen sehr großen technischen Zusatzaufwand bedeuten, der vom 
Aufwand her kaum zu vertreten ist und die Gesamtfunktion des Systems 
einschränkt.

von Stefan_KM (Gast)


Lesenswert?

Schneid das Kabel an einer Stelle durch und klemm deine Widerstäden an!

Wo ist denn da bitte schön der Aufwand?
Und du hast damit keinen Einfluss auf die Gesamtfunktion des RS485 
Systems.

von Transpluto (Gast)


Lesenswert?

@ Stefan_KM

Und was macht dann der arme Busteilnehmer, der genau in der Lücke der 
Ringleitung seine Daten abgreifen möchte?

von Stefan_KM (Gast)


Lesenswert?

Dieser Teilnehmer ist der letzte (oder der erste) am Bus und 0,1mm 
daneben hört das Kabel auf.

Leg das Kabel so, dass ist optisch einen Ring bildet. An einer Stelle 
treffen sich die beiden Enden sind aber nicht verbunden.

Wenn du diese Diskusion nicht weiter führe möchtest, solltest du sagen 
wieso es denn nicht geht. Ich glaube dann hätte jeder Verständnis für 
das Problem!!! :-)

von Anon Y. (avion23)


Lesenswert?

Transpluto schrieb:
> @ Stefan_KM
>
> Und was macht dann der arme Busteilnehmer, der genau in der Lücke der
> Ringleitung seine Daten abgreifen möchte?

Wer ist so schlau und positioniert einen Teilnehmer in einer 1mm Lücke 
auf 10m?

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Transpluto schrieb:
> @ Stefan_KM
>
> Und was macht dann der arme Busteilnehmer, der genau in der Lücke der
> Ringleitung seine Daten abgreifen möchte?

Dieser hat dann die frei Wahl, ob er den rechten oder den linken 
Leitungsstrang benutzen möchte. An dieser Stelle liegen dann ja physisch 
beide Leitungsenden von dem Ring.

von Transpluto (Gast)


Lesenswert?

@ Stefan_KM

Was ist, wenn sich jetzt der arme Busteilnehmer auch noch bewegt und 
über die Kabellücke fahren möchte? Damit trifft er mit seinen Kontakten 
immer exakt die Lücke. Oder er schließt beide Kabelenden kurz, womit der 
Kreis dann wieder geschlossen ist.

von Stefan_KM (Gast)


Lesenswert?

Ah ha....

Jetzt kommen wir der Sache näher.
Du hast also Schleifkontakte (oder so was ähnliches) auf deinem BUS und 
die Teilnehmer bewegen sich am Ring entlang.

In diesem Falle ist natürlich eine Lücke tödlich. Dann bleibt nix 
anderes übrig, als es entweder mit 115kBaud zu versuchen oder deine 
Baudrate runter zusetzen. Sinnvoll wäre es dann sicherlich, wenn alle 
Teilnehmer intern einen Terminierungswiderstand bekämen.

Wenn das geht!?

von (prx) A. K. (prx)


Lesenswert?

Mal abgesehen davon, dass der Wellenwiderstand so einer Verbindung wohl 
unbekannt sein dürfte.

Nützlich wäre es dabei, wenn die Flankensteilheit der Transmitter der 
Kabellänge angepasst wird. Asynchrone Übertragung ist zwar nicht sehr 
empfindlich gegenüber Reflexionen, aber die üblichen High-Speed 
Transceiver für RS485 funken sonst Störungen in die Landschaft. Welche 
RS485 Transceiver das können habe ich nicht parat, bei CAN-Transceivern 
ist diese Möglichkeit üblicherweise enthalten.

von Helmut L. (helmi1)


Lesenswert?

Machs dir doch einfach und nimm 2 RS485 Receiver auf dem Fahrzeug
So kannst du eine Luecke haben aber trotzdem steht immer ein Kontakt auf 
dem Leiter und sicher die Kommumikation. Ist zwar ein bisschen 
aufwendiger aber dafuer hast du das Problem mit dem Abschluss nicht.



------------GAP------------
        ^          ^
        |          |
       RS485_1    RS485_2
        |          |
       Uart1      Uart2
        |          |
        +----+-----+
             |
           Fahrzeug Controller

Gruss Helmi

von Transpluto (Gast)


Lesenswert?

@ Helmut Lenzen

So einfach ist das mit den zwei UARTs nicht. In dem Moment, in dem ein 
Kontakt die Lücke trifft, erhalte ich zwei verschiedene Signale. Welcher 
UART glaube ich dann?  Auch muß ich mich entscheiden, über welche UART 
ich gerade senden soll.
Der technische Aufwand, diese Probleme zu lösen ist nicht gerade klein.

von (prx) A. K. (prx)


Lesenswert?

Transpluto schrieb:

> So einfach ist das mit den zwei UARTs nicht. In dem Moment, in dem ein
> Kontakt die Lücke trifft, erhalte ich zwei verschiedene Signale. Welcher
> UART glaube ich dann?

Der mit dem korrekten Frame. CRC-Check sollte ja wohl obligatorisch 
sein.

> Auch muß ich mich entscheiden, über welche UART
> ich gerade senden soll.

Beide, würde ich mal annehmen. Wäre dabei evtl. sinnvoll, beide 
Transmitter mit dem gleichen Signal zu beschicken, also nur einen 
UART-Tx zu verwenden. Allerdings sollte die Bitrate der Laufzeit 
angepasst sein.

von Stefan_KM (Gast)


Lesenswert?

Wenn du ein Master Slave System hast (es spricht immer nur einer auf dem 
BUS und immer nur der Teilnehemer der gefragt ist. Können nicht zwei 
Sender gleichzeitig sprechen auch wenn das Signal das Gleiche ist und es 
auch nich Zeitgleich abgestrahlt wird. Sowas muss unbedingt vermiden 
werden. Ist viel zu riskant.

Bei 10m wird doch eigentlich gar keine Terminierung gebraucht!? Die 
Leitungen sind noch kurz, oder nicht.

von Transpluto (Gast)


Lesenswert?

> Der mit dem korrekten Frame. CRC-Check sollte ja wohl obligatorisch
> sein.

Damit verliere ich aber nicht nur ein Byte, sondern sofort eine ganze 
Sendung. Auch sind vom Mikrocontroller zwei statt einer UART zu 
verwalten, was in einem zeitkritischen System auch nicht gerade ein 
Vorteil ist.

> Wäre dabei evtl. sinnvoll, beide Transmitter mit dem gleichen Signal zu > 
beschicken

Das halte ich auch für eine spannende Sache, zumal beide Transmitter 
nicht absolut gleich arbeiten werden. Zusätzliche Störimpule im 
ns-Bereich könnten durchaus erzeugt werden.

Ich glaube, beide Vorschläge machen das System nicht unbedingt stabiler.

von Transpluto (Gast)


Lesenswert?

> Die Leitungen sind noch kurz, oder nicht.

Leider nein.

von (prx) A. K. (prx)


Lesenswert?

Stefan_KM schrieb:

> Wenn du ein Master Slave System hast (es spricht immer nur einer auf dem
> BUS und immer nur der Teilnehemer der gefragt ist. Können nicht zwei
> Sender gleichzeitig sprechen auch wenn das Signal das Gleiche ist und es
> auch nich Zeitgleich abgestrahlt wird. Sowas muss unbedingt vermiden
> werden. Ist viel zu riskant.

Nicht wenn man an Stelle des RS485 Transceivers einen CAN Transceiver 
nimmt. Da kann man dann auch gleich die Flanken passend einstellen.

> Bei 10m wird doch eigentlich gar keine Terminierung gebraucht!? Die
> Leitungen sind noch kurz, oder nicht.

Obacht. 10m war eine irgendwann von mir wild aus der Luft gegriffene 
Zahl, um den TE endlich dazu zu bringen, mal eine eigene Zahl in den 
Ring zu werfen. Was er aber nach wie vor standhaft verweigert - scheint 
jemand zu sein den man nur mit vorgehaltener Waffe zu Auskünften kriegt.

von Transpluto (Gast)


Lesenswert?

> ... scheint jemand zu sein den man nur mit vorgehaltener Waffe zu
> Auskünften kriegt.

... und der einige Wettbewerber kennt, die solch ein System auch gerne 
hätten. Deshalb muß er sich mit konkreten Angaben etwas zurückhalten. 
Zumindest so lange, bis das Projekt realisiert ist und mit vielen bunten 
Bildern im Internet dargestellt wird.

von morph1 (Gast)


Lesenswert?

garantiert

die welt eifert um deinen ringförmigen rs485 bus

will dich wirklich nicht auf den boden der realität zurückholen, aber 
danach was hier im forum dazu gebracht wird kräht kein hahn.

du machst es dir selbst und allen anderen die dir helfen wollen nur 
unnötig schwer.

aber was solls :)

von Helmut L. (helmi1)


Lesenswert?

>Auch sind vom Mikrocontroller zwei statt einer UART zu
>verwalten, was in einem zeitkritischen System auch nicht gerade ein
>Vorteil ist.

Fuer das bisschen langweilllt sich der Prozessor. 115KBaud sind doch 
Heutzutage fuer eine CPU keine belastung.


> Auch muß ich mich entscheiden, über welche UART
> ich gerade senden soll.

Uber den der denn letzten korrekten Frame empfangen hat.

von Transpluto (Gast)


Lesenswert?

@ morph1

So, so ...

Es gibt aber Firmen, die treiben in dieser Richtung doch einen ganz 
schönen Aufwand: http://www.vahle.de/

von Transpluto (Gast)


Lesenswert?

@ Helmut Lenzen

Du unterschätzt etwas die Geschwindigkeit, mit der innerhalb der 
Applikation gearbeitet wird. Der Mikrocontroller hat auch etwas mehr zu 
tun, als nur seine Schnittstellen abzufragen.

von (prx) A. K. (prx)


Lesenswert?

Man kann etwas, über das kaum irgendwelche dafür hilfreiche Information 
vorliegt, schon rein prinzipiell nicht gut einschätzen. Wie man in den 
Wald reinruft, so schallt es zurück. Auch bekannt als "Schrott rein 
Schrott raus".

von Transpluto (Gast)


Lesenswert?

@ A. K.

???

Bisherige Definition:
- RS485
- 115,2 kBaud
- geschlossener Ring
- Leitung länger, als daß es ohne Abschluß funktioniert
- mehrere Teilnehmer
- auf jeder Position muß es funktionieren

Was fehlt Dir denn?

von (prx) A. K. (prx)


Lesenswert?

Im Kontext deiner Antwort auf Helmut: Die Information, dass der einzelne 
Controller schon ohne Kommunikation beinahe überlastet ist.

von Transpluto (Gast)


Lesenswert?

> Im Kontext deiner Antwort auf Helmut: Die Information, dass der einzelne
> Controller schon ohne Kommunikation beihnahe überlastet ist.

Das hat nichts damit zu tun, ob es grundsätzlich funktioniert oder 
nicht. Auch ohne Timingprobleme muß es mir mindestens gelingen, ab und 
zu mal eine korrekte Sendung zu übertragen. Ohne Abschlüsse ist das bei 
115,2 kBaud leider garnicht möglich. Damit spielen die Fähigkeiten des 
Mikrocontrollers eine absolut untergeordnete Rolle.

von Helmut L. (helmi1)


Lesenswert?

>Du unterschätzt etwas die Geschwindigkeit, mit der innerhalb der
>Applikation gearbeitet wird. Der Mikrocontroller hat auch etwas mehr zu
>tun, als nur seine Schnittstellen abzufragen.

Dann bau einen 2. ein. Die Dinger kosten doch nichts mehr.
Und abfragen brauchst du die Schnittstellen auch nicht. Sowas macht man 
im Interrupt. Ich programmiere hier selber Applikation wo der Prozessor 
in 1 Sek. 256 KByte an Daten uebertraegt. Frage welche CPU setzt du den 
ein oder ist das geheim ?

von Transpluto (Gast)


Lesenswert?

@ Helmut Lenzen

Obwohl es für das eigentliche Problem keine Relevanz hat: wie setzen 
verschiedene PIC18F-Mikrocontroller ein.

Das Problem ist aber nicht die Verarbeitungsgeschwindigkeit, sondern die 
notwendige Datenübertragungsrate. Wir können nicht unter 115,2 kBaud 
gehen, da sonst unsere Applikation nicht mehr läuft. Mit 115,2 kBaud 
haben wir aber beim Kreis massive Probleme, die gelöst werden müssen. 
Die Probleme hätten wir auch mit jedem anderen Mikrocontroller, der die 
gesendeten Daten dringend braucht.

von holger (Gast)


Lesenswert?

Nur mal so eine Idee:

Der Sender trennt den Ring an seiner Position
per Relais auf und terminiert die beiden Enden.

Wenn das nicht erlaubt ist, dann kannst du eigentlich
nur noch am jeweiligen Sender automatisch terminieren.
Da die Empfänger an beliebiger Stelle sitzen können
ist eine automatische Terminierung dort unmöglich.

von Helmut L. (helmi1)


Lesenswert?

Deine erste Antwort sagt da aber noch was anderes aus. Da war die Rede 
davon das der Prozessor sonst fuer nichts anderes mehr Zeit hat.

Meinste du wirklich das ist eine gute Idee die Daten ueber 
Schleifkontakte abzugreifen ?
Auch ist so eine offene Leitung auch eine Ideale Antenne fuer 
Stoerungen.
Waere nicht Funk eine Alternative ?

von Michael H. (morph1)


Lesenswert?

er hat schleifringe, die er in seiner zusammenfassung immernoch nicht 
eingefügt hat.

auch die mechanischen eigenheiten eines systems sind erwähnenswert...

von Helmut -. (dc3yc)


Lesenswert?

Kleiner Tip, so wie wir das machen: an 4 oder 8 äquidistanten Stellen im 
Ring jeweils 240 oder 470 Ohm und gut isses.

Servus,
Helmut.

von Transpluto (Gast)


Lesenswert?

> Waere nicht Funk eine Alternative ?

Leider nein.

> auch die mechanischen eigenheiten eines systems sind erwähnenswert...

Die Probleme bei linienförmiger Topologie sind in Verbindung mit den 
mechanischen Eigenheiten gelöst.

Es geht wirklich nur um eine ringförmig aufgebaute RS485-Datenleitung!

von Transpluto (Gast)


Lesenswert?

@ Helmut -dc3yc

Gibt es Erfahrungswerte, wie groß bei dieser Vorgehensweise die Ringe 
werden dürfen?

von josef (Gast)


Lesenswert?

Zum Thema Ringstruktur RS485.

Selbstverstaendlich kann man den RS485 Bus physikalisch als Ring 
verdrahten. Vorteil - man braucht keine Terminierungswiderstaende und 
kann damit sehr flexibel das Bussystem erweitern.
Dieses Prinzip wird uebrigens schon seit fast 20 Jahren im Industrie 
Standard Feldbus P-NET umgesetzt!

-> http://www.proces-data.com/P-NET_Installguide.html

von Helmut -. (dc3yc)


Lesenswert?

@ Transpluto: kommt auf die zu übertragende Baudrate an... Bei kleineren 
Durchmessern (2m) sind bis 250kbit gar keine Abschlüsse nötig, wenn Zu- 
und Ableitungskabel abgeschlossen sind. Kommt auch drauf an, ob ein 
Gehäuse drum rum ist (EMV) oder nicht. Ansonsten kann ich 
CAN-Transceiver empfehlen, bei denen man die Flankensteilheit einstellen 
kann.

von Kai Klaas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Josef,

>Selbstverstaendlich kann man den RS485 Bus physikalisch als Ring
>verdrahten. Vorteil - man braucht keine Terminierungswiderstaende und
>kann damit sehr flexibel das Bussystem erweitern.

Bei allem Respekt, du solltest nicht so einen Mist schreiben. Hier geht 
es darum, ob eine einzige RS485-Leitung zu einem Ring geformt werden 
darf. Und was soll der Quatsch, daß keine Terminierungswiderstände 
gebraucht werden???

In dem folgenden Link steht, daß es keine gute Idee ist einen RS485-Bus 
zu einem Ring zu formen

http://www.national.com/an/AN/AN-979.pdf

Siehe auch im Anhang.

Wem das noch nicht reicht, der frage mal einen EMC-Experten üder die 
Idee mit dem Ring...

Kai Klaas

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

So habe das ganze mal LTSPICE simuliert.

Das ganze besteht aus 4 Transmissionlines. T1 und T3 mit 1500nS Delay
T2 und T4 mit 500nS Delay. Der Generator liefert 4.9MHz.

Die Impedanz der Leitungen betraegt 50Ohm. Da das ganze vom Generator 
aus gesehen jetzt 25 Ohm hat betraegt der Abschlusswiderstand von 
Generator und Last 25 Ohm.

Die Messung erfolgt zwischen T3 und T4. Hier scheint sich das ganze 
sauber einzuschwingen.

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

So hier das ganze jetzt falsch Terminiert.
Wieder am gleichen Punkt zwischen T3 und T4 gemessen.
Hier sieht man jetzt die Stufen die duerch die falschen 
Abschlusswiderstaende (jetzt 50 Ohm) verursacht werden.

Gruss Helmi

von Kai Klaas (Gast)


Lesenswert?

Hallo Helmut,

sehr interessant deine Simulation!

Daß bei gleich langen, parallel gehängten 50 Ohm Leitungen sich die 
Terminierungswiderstände halbieren, ist natürlich kein große 
Überraschung.

Interessant wird es, wenn die Terminierungswiderstände unsymmetrisch auf 
dem Ring verteilt sind, wenn also die beiden 50 Ohm Leitungen zwischen 
den Terminierungswiderständen ungleich lang sind, so wie es im 
praktischen Anwendungsfall immer irgendwie der Fall sein wird. Dann gibt 
es nämlich wieder störende Reflexionen, auch mit den 25 Ohm 
Terminierungsiwderständen. Das haben jedenfalls meine Messungen ergeben, 
die ich gerade durchgeführt habe. Man bedenke, daß man immer noch eine 
50 Ohm Leitung hat! Bei unsymmetrisch angeordneten 
Terminierungswiderständen, sieht das 50 Ohm Kabel mit der 25 Ohm 
Terminierung eine krasse Fehlanpassung (-> Teilreflektionen).

Es ist übrigens nicht damit getan, die beiden Terminierungswiderstände 
symmetrisch am Ring zu plazieren. Hängen mehrere Sender am Ring 
verteilt, haben immer noch fast alle einen unterschiedlichen Abstand zu 
den beiden Terminierungswiderständen haben. Also wird es immer störende 
Refelexionen geben...

Kai Klaas

von (prx) A. K. (prx)


Angehängte Dateien:

Lesenswert?

Yep, wenn das Signal nicht am Abschluss eingespeist wird sieht das 
Ergebnis nicht wirklich schön aus.

von (prx) A. K. (prx)


Angehängte Dateien:

Lesenswert?

Mit verteiltem Abschluss wird es etwas besser.

von (prx) A. K. (prx)


Angehängte Dateien:

Lesenswert?

Und jetzt mal mit gebremsten Flanken (1µs statt 10ns).

von Kai Klaas (Gast)


Lesenswert?

Hallo A.K.

genau so was habe ich gemessen! Egal wie man die 
Terminierungswiderstände anpaßt, nie bekommt man die Stufen aus den 
Flanken ganz heraus, vor allem nicht für alle Empfänger am Ring auf 
einmal.

Es gibt noch einen anderen Grund, warum das Ganze nicht wirklich 
funktioniert. Bei den nur noch halb so großen Terminierungswiderständen 
wird der RS485-Sender knalle heiß! Mein LT1785 hat bei Dauerbetrieb 
jedenfalls gekocht.

Vielen Dank für die Simulation!

Kai Klaas

von (prx) A. K. (prx)


Lesenswert?

Der exakte Wert der Terminierung ist abhängig von der Leitungsimpendanz. 
Mit Schleifkontakt wird das sicherlich keine 50 Ohm Leitung sein - 50 
Ohm ist einfach nur der Standardwert vom LTspice. Wenn man dabei 200 Ohm 
aufwärts zustande bringt, dann ist man bei den Transceivern in halbwegs 
normalem Fahrwasser.

Bischen klingeln sollte bei asynchroner Übertragung und präzisem 
Baudratentakt übertragungstechnisch kein Beinbruch sein, solange dadurch 
hervorgerufene Fehler sich auf den Zeitraum direkt nach der Flanke 
beschränken und das mittlere Drittel einigermassen stabil ist. In der 
Version mit verteiltem Abschluss ist man wohl nicht ganz chancenlos.

Ob das aber auch EMV-mässig akzeptabel ist, oder ob dann sämtliche Kurz- 
oder Mittelwellenradios der Umgebung Krawall schlagen, das ist eine 
andere Frage.

von Helmut L. (helmi1)


Lesenswert?

>Mit Schleifkontakt wird das sicherlich keine 50 Ohm Leitung sein - 50
>Ohm ist einfach nur der Standardwert vom LTspice.

Ich hatte die 50 Ohm auch nur direkt von LTSpice uebernommen.
Die RS485 Bausteine sind auch normalerweise fuer 120 Ohm Systeme 
ausgelegt.
Wieviel Ohm das System hatte wissen wir ja nicht und sollte durch eine 
Messung herauszubekommen sein.

Auch ist die Frage ob die Impedanz ueberall gleichmaessig ist.

@ A. K. (prx)

Mann sollte mal eine Simulation durchfuehren wo der RS485 Treiber nicht 
als Spannungquelle mit Innenwiderstand sondern als Stromquelle definiert 
ist und die Terminierungswiderstaende an feste Positionen bleiben.

Das mit der EMV hatte ich bereits erwaehnt.

Gruss Helmi

von (prx) A. K. (prx)


Angehängte Dateien:

Lesenswert?

Hmm - aber welcher Strom wäre bei einer Stromquelle richtig? Da hört's 
bei mir auf, und was ich grad durchprobiert habe führt zu ziemlich 
erbärmlichem Ergebnissen.

Interessant ist eine andere Variante: Wenn man den Innenwiderstand der 
Spannungsquelle in der Version mit kontrollierter Flankensteilheit 
deutlich reduziert, also bewusst fehlanpasst, dann kriegt man zwar an 
manchen Stellen heftige Overshoots, aber die an anderen Messpunkten noch 
deutlichen Untershoots danach werden weitgehend kompensiert.

Ich habe das mal zwei der 500ns Strecken zweite Teile getrennt, damit 
Einspeisung und Messung auch zwischendrin möglich ist. Ändert nichts, 
nur die vorher erkennbare Überlagerung der 6 Messpunkte auf 4 Kurven 
entfällt dabei.

von Helmut L. (helmi1)


Lesenswert?

>Hmm - aber welcher Strom wäre bei einer Stromquelle richtig?

Der Strom muesste in der Groessenordnung liegen das er am 
Gesammtabschlusswiderstand eine Spannung groesser als die Hysterese der 
Empfaenger erzeugt.

von (prx) A. K. (prx)


Angehängte Dateien:

Lesenswert?

Nicht zu empfehlen. Ergibt ungefähr das Gegenteil der fehlangepassten 
Spannungsquelle vorher. Katastophaler Untershoot an der Einspeisestelle 
(gelb oder hellgrün) und klingelt bis zur nächsten Flanke.

Stromquelle +/- 25mA, ohne Flankenbegrenzung. Ist aber unabhängig vom 
Strom immer gleich mies, es ändert sich nur die Spannung,

von Helmut L. (helmi1)


Lesenswert?

Dann kann man sagen das das mit der Ringleitung so nicht sauber 
funktioniert was vorher ja schon theoretisch erörtert wurde.

@A. K. (prx)
Schön das du weiter simuliert hast

Gruss Helmi

von (prx) A. K. (prx)


Lesenswert?

Helmut Lenzen schrieb:

> Dann kann man sagen das das mit der Ringleitung so nicht sauber
> funktioniert was vorher ja schon theoretisch erörtert wurde.

Würde ich so nicht sagen. Der Trick könnte darin bestehen, einen Ring 
verteilt so abzuschliessen, dass Undershoots von gleichzeitigen 
Overshoots weitgehend kompensiert werden. Mit kumulierenden Overshoots 
kann ein RS485-Receiver hingegen leben. Ob das bei jedem Ring geht ist 
mir nicht klar, es könnte auch eine individuelle Anpassung erfordern.

Aber liebe Leutchen, wozu habt ihr alle E-Technik statt BWL studiert? 
Müsste man doch analytisch angehen können statt zu raten. Für irgendwas 
muss die ganze Theorie doch gut sein. ;-)

von Kai Klaas (Gast)


Lesenswert?

>Aber liebe Leutchen, wozu habt ihr alle E-Technik statt BWL studiert?
>Müsste man doch analytisch angehen können statt zu raten. Für irgendwas
>muss die ganze Theorie doch gut sein. ;-)

Also, ich habe weder E-Technik noch BWL studiert, aber vielleicht kann 
ich das mal aus meiner Sicht schildern:

Die RS485-Datenübertragung verwendet zum Übertragen ihrer Signale das 
Prinzip der Transmissionline. Hierbei handelt es sich um eine Anordnung, 
die aus zwei Leitern besteht, die dicht nebeneinander verlegt werden. 
Die Leiteranordnung (Kabel) besitzt eine gewisse Induktivität und 
Kapazität, die den Wellenwiderstand des Kabels bestimmen.

Wird nun an irgendeiner Stelle eine "Störung" in das Kabel eingekoppelt, 
breitet sich nach beiden Richtungen eine elektromagnetische Welle aus, 
in Gestalt einer Wellenfront. Diese Wellenfront rast mit fast 
Lichtgeschwindigkeit in beide Richtungen und wird beim Erreichen des 
jeweiligen Endes des Kabels (zumindest teilweise) zurück reflektiert, es 
sei denn, am Ende des Kabels wird die Leitung mit einer Impedanz 
abgeschlossen, die gleich dem Wellenwiderstand des Kabels ist. Mit 
diesem Terminierungswiderstand wird der Wellenfront vorgegaukelt, daß 
das Kabel unendlich weiter läuft.

Wird das Kabel an den beiden Enden nicht mit dem Wellenwiderstand 
abgeschlossen, wird die Wellenfront an den Enden immer wieder zurück 
reflektiert und man muß unzählige Laufzeiten warten, bis sich die 
Situation an den Kabelenden stabilisiert hat. Am schnellsten geschieht 
dies, wenn das Kabel an beiden Enden mit dem Wellenwiderstand 
abgeschlossen wird, wenn also gar keine Reflektionen auftreten.

Um eine RS485-Datenübertragung mit maximaler 
Datenübertragungsgeschwindigkeit durchführen zu können, muß das 
RS485-Kabel an beiden Enden daher mit dem Wellenwiderstand abgeschlossen 
werden. Diese Terminierungen dürfen nicht irgendwo dazwischen angeordnet 
werden, da jede Terminierung wirkt, wie ein zusätzlich angschlossenes 
Kabel mit einer Impedanz dieser Terminierung. Montiert man also irgendwo 
an ein weiterlaufendes 100 Ohm Kabel einen 100 Ohm Widerstand, dann 
verhält sich diese Stelle wie ein Knoten in den ein 100 Ohm Kabel mündet 
und zwei 100 Ohm Kabel abzweigen. Diese Inhomogenität wird wieder mit 
störenden Reflektionen quittiert. Der Sinn der Terminierungen ist aber 
immer, der Wellenfront bei Erreichen des jeweiligen Endes des Kabels 
vorzugaukeln, daß es unendlich weiter läuft. Deswegen dürfen 
Terminierungswiderstände immer nur an den Kabelenden angebracht werden.

Bei einem RS485-Kabel, das zu einem Ring geformt wird, läuft das Kabel 
unendlich weiter, also wird dort eigentlich überhaupt keine Terminierung 
benötigt, da der Wellenfront ja nichts vorgegaukelt zu werden braucht. 
Dummerweise hat die Ringform jedoch zur Folge, daß jetzt zwei 
Wellenfronten in unterschiedlicher Richtung durch den Ring flitzen und 
sich dabei überlagern. Ein beliebiger Punkt am Ring wird also von zwei 
Wellenfronten erreicht, die gewöhnlich unterschiedlich lang für ihre 
jeweiligen Wegstrecken unterwegs sind.

Der Widerspruch beim zum Ring geformten RS485-Kabel besteht also darin, 
daß die beiden Wellenfronten nur durch eine Terminierung (wie an einem 
Kabelende) daran gehindert werden könnten sich gegenseitig den Weg zu 
kreuzen, daß eine Terminierung aber nicht zulässig ist, da das Kabel ja 
durch die Ringform unendlich weiterläuft.

Kai Klaas

von (prx) A. K. (prx)


Lesenswert?

Exakt so weit komme ich auch. Dass man Reflexionen kriegt ist nicht zu 
vermeiden.

Die interessante Frage ist halt, ob und wenn ja wie man bei verteilt 
angebrachten und nur in Summe stimmigen Abschlüssen sowas wie eine 
konstruktive Überlagerung der Over/Undershoots finden kann, die an jeder 
Position des Ringes zu einem zwar nicht schönen aber praktisch 
brauchbaren Signal führt. Analytisch, d.h. ohne alle Varianten 
durchzuprobieren.

Denn zumindest in den von mir simulierten Szenario ergab sich, dass sich 
bei sehr "hartem" Treiber und verteilten Abschlüssen zwar ein paar 
Overshoots stapelten, was den Receiver m.E. nicht stört, aber die 
Undershoots weitgehend kompensiert wurden. Ein Szenario mit dem man 
möglicherweise leben könnte.

von Kai Klaas (Gast)


Lesenswert?

Hallo A.K.,

>Ein Szenario mit dem man möglicherweise leben könnte.

Ein CE-Tester hat mir einmal erzählt, daß solche RS485-Kabel, die nicht 
korrekt terminiert sind, in denen also Reflektionen stattfinden, 
erheblich abstrahlen können und ein solches System oft nicht mehr die 
CE-Tests besteht.

>Analytisch, d.h. ohne alle Varianten durchzuprobieren.

Also der gemeine Theoretiker verbietet schlichtweg die Fehlanpassung. Er 
macht sich nicht viel Gedanken über eine möglichst optimale 
Fehlanpassung. Er sagt: "Hochwertiges Kabel verwenden, an beiden Enden 
mit Wellenwiderstand abschließen, fertig. Wer Fehlanpassungen macht, 
soll sich nicht wundern, wenn es nicht funktioniert."

Aber jetzt mal Hand aufs Herz: Ist es nicht viel einfacher den Ring 
irgendwo aufzutrennen und die beiden Trennstellen mit dem 
Wellenwiderstand abzuschließen, als eine kunstvolle Fehlanpassung 
vorzunehmen, die exakt über den Ring verteilt durchgeführt werden 
müßte??

Kai Klaas

von (prx) A. K. (prx)


Lesenswert?

Der offene Ring ist sicherlich viel einfacher, wie ich selber schon 
anfangs vermerkte. Wenn da nicht die Forderung des Fragestellers wäre, 
dass der Ring, weil per Schleifkontakt oder sowas in der Art aufgebaut, 
an absolut jeder Stelle Kontakt haben soll.

Könnte man freilich versuchen, einen Schleifkontakt zu entwickeln, der 
über eine Art Bügel immer auf einer Seite Kontakt hat und an der Stelle 
mit dem "Loch" auf die andere Seite umkippt (weiss nicht wie man das 
nennt, so einen Art Schmitt-Trigger mit Hysterese, nur mechanisch). Gibt 
nur eine zeitlich kurze Unterbrechung während er grad umkippt.

von Kai Klaas (Gast)


Lesenswert?

>Der offene Ring ist sicherlich viel einfacher, wie ich selber schon
>anfangs vermerkte. Wenn da nicht die Forderung des Fragestellers wäre,
>dass der Ring, weil per Schleifkontakt oder sowas in der Art aufgebaut,
>an absolut jeder Stelle Kontakt haben soll.

Ja, das stimmt.

Hast du mal simuliert, was passiert, wenn die Terminierungswiderstände 
ganz wegfallen?

Also, wenn man mal das ganze CE-Zeugs außer Acht läßt, dann ist in jedem 
Fall mal der UART, der das Signal verarbeiten muß, zufrieden zu stellen. 
Beim 8051 beginnt er mit dem Empfang, wenn er eine 1-0 Flanke 
feststellt. Dann will er bei 7/16, 8/16 und 9/16 der Bitzeit mindestens 
zwei mal das richtige Signal lesen.

Wenn mal also nur die Datenübertragungsrate genügend langsam wählt, daß 
das ganze Reflektionsgeschlabber vorbei ist, wenn das jeweilige Bit 
gelesen wird, sollte es eigentlich keine Probleme geben. Das hast du ja 
auch schon gesagt. Bei der allerersten Flanke kann durch die Stufigkeit 
des Signals ein Synchronisierungsfehler stattfinden, der ebenfalls 
berücksichtigt werden muß.

Kai Klaas

von (prx) A. K. (prx)


Lesenswert?

Kai Klaas schrieb:

> Hast du mal simuliert, was passiert, wenn die Terminierungswiderstände
> ganz wegfallen?

Ja. Grauenhaft.

von Helmut L. (helmi1)


Lesenswert?

>Ein CE-Tester hat mir einmal erzählt, daß solche RS485-Kabel, die nicht
>korrekt terminiert sind, in denen also Reflektionen stattfinden,
>erheblich abstrahlen können und ein solches System oft nicht mehr die
>CE-Tests besteht.

Wobei man noch bedenken muss das Kabel hat eine Abschirmung das offene 
Schleifsystem nicht. Auch weiss man den Wellenwiderstand nicht exakt von 
dem System. Vor allen gibts Probleme mit der Terminierung wenn das ganze 
System nur ein fliegender Aufbau ist. Ob die Monteure die das ganze 
mechanische Aufbauen auch das ganze elektrisch einmessen moechte ich 
bezweifeln.

Anstelle des Kippsystems was A.K. beschrieben hatte waere es vielleicht 
doch besser den Ring aufzuteilen und mit 2 Abnehmern und 2 Uarts zu 
arbeiten und halt ueber den Uart zu senden der das letzte gueltige 
Telegramm empfangen hat. Aber das will der TO ja nicht.

Gruss Helmi

von Timo D. (Gast)


Lesenswert?

Hallo Transpluto,

der Thread ist zwar schon etwas älter, aber es würde mich
mal interessieren, was aus dem Projekt "RS485 als Ring"
geworden ist.

Gruß,
T.

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
Noch kein Account? Hier anmelden.