www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS485 Abschlußwiderstand


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu RS485 habe ich an verschiedenen Stellen gelesen dass man neben dem 
Terminierungswiderstand von 120 Ohm noch Pullup/downs zwischen 1K und 
100K an A/B anschließen sollte, wobei auch noch wichtig sein soll ob 
Pullup an A oder an B.
Aber was hat das für einen Sinn?
Zusammen mit den Abschlusswiderständen stellt sich doch dann einfach 
2,5V+-ein paar milliVolt ein,
egal ob Pullup an A oder B.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Markus,

die Pull-Up/Downs dienten bei früheren RS485-Treibern fürs sogenannte 
"FailSafe Biasing". Das diente einfach dazu, die A/B-Leitungen auf 
Ruhezustand zu bringen, wenn sonst nix am Bus hängt. Neuere Treiber 
haben das intern, den 120R brauchst du jedoch immer noch. Desweiteren 
ist evtl. eine "C"-Leitung für den Potentialausgleich zwischen den 
Baugruppen nötig.
Ausserdem garantieren neuere Treiber auch, dass auch bei Kurzschluss der 
A/B-Leitungen der Ruhezustand der seriellen Schnittstelle (also Richtung 
µC) eingehalten wird.

Du kannst dir das Konzept der neuen Treiber in den entsprechenden 
Datenblättern mal angucken. Ein Treiber wäre z.B. der LT1791 von Linear 
Technology.

Ralf

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
irgendwie versteh ich's nicht:
ich habe einen 75176 und bei dem steht im Datenblatt

wenn –0.2 V < VID < 0.2 V  -> Ausgang unbestimmt
(VID ist die Differenzspannung am Eingang)

aber das ist doch gerade der Fall wenn alle Busteilnehmer auf Lesen 
geschaltet
wenn dann z.B. der Master auf senden schaltet kriege ich doch evtl. 
einen Pegelwechsel bei den Empfängern

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da hätte ich vielleicht lieber "E-Herd defekt" in den Betreff schreiben 
sollen ...

Autor: Danilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

ich hatte vor ein paar Monaten lange mit meinem RS485-Netzwerk gekämpft. 
Es lief einfach nicht. Habe immer ein paar Flanken zu viel am Empfänger 
erhalten, welche dann einen falschen UART-Interrupt generierten. 
Passiert ist das immer wenn der Master von Empfang auf Senden geschalten 
hat. Letztendlich habe ich die 120 Ohm-Terminierung weggelassen. Dann 
gings.

Gruß

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Danilo,

genau so gehts mir auch, aber ich hoffe immer noch auf Tipps ...

Autor: noeppkes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite hier in einer Firma, bei der wir schon über 10 Jahren in 
industriellen Bereich mit RS485 arbeiten.
Hier DEFINITIV der korrekte Abschluss eines RS485-Bussystemes !

Am Anfang UND am Ende des Busses wir je ein 120R zw. A und B geschaltet.
Des weiteren am Anfang UND am Ende jeweils ein 390R gegen +5V und GND, 
wob ei es hier sehr wichtig ist, dass von A ein 390R nach +5V geht und 
von B ein 390R gegen Masse. NICHT ungekehrt !!!

Wie gesagt. Wir sind im industriellen Bereich taätig und ich 
programmiere schon seit über 5 Jahren RS485-Datenübertragungen bis 
115200 Baud.

Mit diesem Abschluss gibt es bisher keine Probleme.

noeppkes.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ noeppkes,

das funktioniert aberdoch nur, wenn der Bus aus einem Master und einem 
Slave besteht, oder? Bei DMX z. B. (1 Master und bis zu 32 Slaves) kann 
das nicht funktionieren.

MW

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MW: Warum sollte das nicht funktionieren? Bitte nicht nur Behauptungen 
aufstellen, sondern ggf. beweisen!

Helmut.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte das wäre klar. 32 Busteilnehmer, alle mit 120 Ohm terminiert, 
ergibt einen Gesamtwiderstand von < 4 Ohm. Das muss der Treiber 
(RS485-Sender) dann auch schaffen. Da werden wohl die meisten Sender in 
die Kniehe gehen, da der Bus quasi parallel geschaltet ist. Obwohl oft 
der Begriff Daisy-Chaining in dem Zusammenhang fällt, ist es eine 
Parallelschaltung.

MW

Autor: sous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer lesen kann ist klar im Vorteil:
Es wurde richtig geschrieben: "...am ANFANG UND AM ENDE ...", also an 
genau zwei Busteilnehmern, nicht mehr!

Autor: Waaas? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Terminiert wird am der physischen Busleitung nur gaaaanz vorne und 
gaaaanz hinten! Zwei 120-Ohm-Widerstände. Sonst nirgends. Unabhängig 
davon wo Sender und Empfänger sitzen. Wellenwiderstandsrichtiger 
Abschluß der Leitung ist das Zauberwort.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gast2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wichtig noch:

Keine Sternverkabelung!
Nur ein Strang, der irgendwo beginnt (mit 120R) dann nacheinander alle 
Busteilnehmer besucht und dann irgendwo endet (wieder mit 120R).

Gast2

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man wie bei DMX nur einen Master hat, der permanent auf Sendung 
ist, kannste dir die Widerstände gegen Vcc und GND auch gleich schenken. 
Andererseits...wenn da mal jemand den Bus ausstöpselt...

Mir ist eben aufgefallen, dass ich bisher noch nie die 
Abschlusswiderstände (DMX ist das) angeklemmt hab, es hat immer 
funktioniert. Was aber wohl eher Glück als Verstand war...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uups, erst nix und dann so viele Antworten, besten Dank.

Ich habe inzwischen auch noch etwas rum geforscht und habe bei National 
ein paar App Notes dazu gefunden.
Da das ganze mit Akku betrieben wird kann ich nicht so viele 
Amperestunden verschwenden mit 390 Ohm Pullup/down, ich werde mal die AC 
Terminierung mit einem RC Abschluß probieren.

@noeppkes
warum ist Pullup an A und Pulldown an B so wichtig, gibt es da schon 
interne Pullup/down?
Ich würde es nämlich gern anders rum machen.

Autor: stepp64 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DMX kann bis zu 512 Teilnehmer haben. Die DMX-Geräte haben immer einen 
Eingang und einen Ausgang. Auf den ersten und letzten kommet dann ein 
Stecker wo der Abschlußwiderstand drin ist. Bei kurzen Leitungslängen 
geht es aber meist auch ohne die Widerstände.

Sven

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>DMX kann bis zu 512 Teilnehmer haben. Die DMX-Geräte haben immer einen
>Eingang und einen Ausgang. Auf den ersten und letzten kommet dann ein
>Stecker wo der Abschlußwiderstand drin ist. Bei kurzen Leitungslängen
>geht es aber meist auch ohne die Widerstände.

>Sven

Schwachsinn.

Such mal danach, die DMX-Specs habe ich vor einigen Wochen hier 
reingestellt. Die 512 bezieht sich auf die maximale Anzahl der 
Teilnehmer in einem Universum, aber getrieben von einem Master, bzw. von 
einem Splitter, Booster, o. ä. sind 32.

MW

Autor: noeppkes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HHHAAALLLLLOOOO !

AUF KEINEN FALL die Wiederstände gegen +5V und GND weglassen.
Das dient dazu den Bus definitiv auf Pegel zu halten, falls der Master 
mal nicht sendet oder gezogen wird !!!!!

Ansonsten habt ihr einen Differenzpegel um 0V, was ganz schlecht ist für 
den Empfängerbaustein.
Dies toggelt dann die TX-Leitung, was euch wieder probleme in den Slaves 
bereiten könnte

Die 2 Widerstände gegen +5V und gegen GND so wie gesagt dafür da, dass 
der Differenzpegel aufrecht erhalten wird, sofern der Master nciht aktiv 
inst oder vom Bus abgesteckt ist.
Sonit haben alle Slaves eine definitive TX-Leitung die auch nicht 
toggelt.

Der Rewst wie oben beschrieben.
KEINE Sternverkabelung.
Nur am Anfang und am Ende die jeweils 3 Abschlusswiderstände.

Dann funktioniert das perfekt.

noeppkes ...

Autor: noeppkes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@stepp64

Hallo,

ja das stimmt. Es gibt RS485-Systeme mit 512 Teilnehmer.
Allerdings muss dann auch das Treiber-IC und die Empfänger-IC's dfür 
ausgelegt sein.
Das Treiber-IC MUSS 512 Teilnehmer treiben könne, und die Empfänger 
dürfen dann somit "nicht so viel Strom" von der Leitung nehmen.
Bei 512 Teilnehmer kommt gleich was zusammen !

Normalerweise sind es aber nur 32 Teilnehmer. Dann muss man wieder 
verstärken.

@Bei kurzen Leitungen. Kein Abschluss.
Siehe meine Antwort oben.
Es geht zwar, aber ihr handelt euch Probleme ein, sofern der Master 
nicht aktiv ist oder vom Bus getrennt ist.
ansonsten würde es funktionieren.

Aber was soll denn die Diskussion um 6 Widerstände ?

Am sichersten ist es, wenn die Wiederstände am Bus sind.
Das ist doch kein Aufwand.

P.S. Ich bin im Busbetrieb sehr erfahren. (Seit 5 Jahren mache ich fast 
ncihts anderes)
Ich kann euch sagen, ich habe schon einmal 6 Stunden in der Software ein 
Fehler gesucht, nur weil die Abschlusswiderstände falsch angebracht 
wurden.
Somit war das Startbit falsch, was zu einem falschen Empfang führte.
Also:
Haltet euch an die von mir weiter oben beschriebene Abschlüsse und ihr 
werdet Freude an der Stabilität haben!

noeppkes ...

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> AUF KEINEN FALL die Wiederstände gegen +5V und GND weglassen.
> Das dient dazu den Bus definitiv auf Pegel zu halten, falls der Master
> mal nicht sendet oder gezogen wird !!!!!

Nochmals: Entsprechende Schaltungen sind in vielen aktuellen 
Transceivern integriert. Bei einigen auch brauchbare 
Hot-Swap-Fähigkeiten
Z.b. MAX307xE, ADM307xE etc.

Batterie/Akkubetrieb: Da ist der 75176 der denkbar ungeeignetste 
(Stromverbrauch ohne Last >>20 mA afair) Kandidat. Eher sowas wie die 
oben genannten oder wenn es von der Datenrate her reicht MAX3471 
(allerdings ohne integrierten ESD-Schutz). Zu überlegen wäre dann auch, 
ob nicht eine Schottky-Terminierung bei jedem Teilnehmer besser bzw. 
ausreichend ist.
http://www.maxim-ic.com/appnotes.cfm/an_pk/1090

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.