Nabend,
ich habe vor mir eine Lichtsteuerung/Haus-Bus wie auch immer über einen
RS485 Bus aufzubauen. Beim lsden verschiedener Artikel zu dem Thema habe
ich eines nicht verstanden. Und zwar die Thematik mit der Terminierung.
1 Master und eine ungenaue Zahl Slaves hängen am Bus. Jetzt fährt man ja
bei längeren Leitungen am besten am Anfang und am Ende den Bus mit einen
120 Ohn Widerstad abzuschließen.
Wieso aber am Anfang und am Ende? Hängt doch sowieso Parallel zum Bus?
Und könnte so ein Terminierungs Widerstand nicht auch einfach auf JEDEM
Slave sein? Will die ja nich in die Leitung einlöten, sollten also am
besten mit auf die Platine.
Gruß Basti
>Wieso aber am Anfang und am Ende?
Weil du dem Kabel logischerweise nur am Anfang und am Ende elektrisch
vorgaukeln kannst, daß es unendlich lang ist. Nur dadurch kannst du
störende Reflexionen an den beiden Enden verhindern...
Leiti schrieb:> Weil du dem Kabel logischerweise nur am Anfang und am Ende elektrisch> vorgaukeln kannst, daß es unendlich lang ist.
Wenn sich das Bus Kabel nun aber vom Master Stern-förmig in verschiedene
Räume ausbreitet, muss dann an jedes Ende ein R? Oder geht sternförmig
gar nicht so einfach?
Und könnte nicht an jeden Teilnehmer ein R? Oder führt das zu falsch
Last auf dem Bus?
Basti
ich schrieb:> Einen Bus verlegt man nicht sternförmig.
ALso noch mal im kurzen... Bus in einer Linie verlegen.
Einen R am Anfang einen am Ende. KEINE weiteren? 120 Ohm sin ok?
Soweit richtig?
Basti
Stefan N. schrieb:> Wie lang planst du denn den Bus?
Naja das ist schwer zu sagen. Im moment denke ich an eine Lichtsteuerung
für einen Raum... also wird sich das im Rahmen von 10 - max. 30 Metern
bewegen.
Evtl wird daraus aber einmal mehr werden... Erst mal basteln ;)
Aber so quer durchs Haus sollte das ganze schon funktionieren wenn
möglich... Schätze ma so 200 - 300 Meter? (realistisch?)
Basti
Mein RS485 läuft im Moment über 1km und das ohne Zwischenverstärker..
also realistisch. ;) 120OHM Abschlusswiderstände sind Pflicht.
Bei längeren Leitungen können noch Pullup und Pulldown Widerstände
erforderlich sein. Kommt aber auf den Treiber an.. hast du Dir da schon
mal Gedanken gemacht?
Stefan N. schrieb:> Mein RS485 läuft im Moment über 1km und das ohne Zwischenverstärker..> also realistisch. ;) 120OHM Abschlusswiderstände sind Pflicht.
Quatsch.
Insb. bei Haustechnik spielet die Geschwindigkeit keine grosse Rolle.
Ich setze RS485 auch dienstl. in Messsystemen ein, die eine sehr hohe
Sicherheit in mehrerlei Hinsicht gewaehrleisten muessen.
Bei z.B. 9600 Bd kann nahezu jedes Wald- und Wiesenkabel verwendet
werden und man braucht auch keine Abschlusswiderstaende. Man kann's auch
noch langsamer machen, so dass man jedes Bit mit Handschlag begruessen
kann. Das ist dann fast Gleichspannung. Da spielt Reflektion ueberhaupt
keine Rolle mehr.
Also immer schoen langsam, dann kann man das Muster des Kabels (Stern,
Serie, Dreieck oder auch das Kamasutra) voellig frei festlegen.
Gruss hro
hro schrieb:> Bei z.B. 9600 Bd kann nahezu jedes Wald- und Wiesenkabel verwendet> werden und man braucht auch keine Abschlusswiderstaende.
Hör ich zum ersten Mal.. aber ich lass mich auch gerne eines besseren
belehren. Ich fahr im Moment mit 110Baud und ohne Busabschluss keine
Chance.
Aber ich denk mal, an 120 Ohm wirds nicht scheitern.
Stefan N. schrieb:> Hör ich zum ersten Mal.. aber ich lass mich auch gerne eines besseren> belehren. Ich fahr im Moment mit 110Baud und ohne Busabschluss keine> Chance.> Aber ich denk mal, an 120 Ohm wirds nicht scheitern.
Da musst Du dann aber ein anderes Problem haben. Wobei aber RS485
normalerweise nur auf 400m ?? spezifiziert ist. Aber 110 Bd? Ich lach
mich tot.
Wir haben bei 9600 Bd >20 Slaves an einem Bus, RS485 ist bei uns seit
.>10 Jahren auf Baustellen Standard. Der Grund ist, dass auch jeder Depp
irgendwo im Kongo ein Kabel reparieren koennen muss. Und wenn er's nur
abschneidet, abisoliert und neu verdrillt. Und das ist dann von 0,34mm2
... 2,5mm2 SV und Bus in einem Kabel jeweils (normalerweise aber nicht
immer twisted pair) zwischen den Slaves auch voellig unterschiedliche
Kabel oder sogar geflickt ...
Allerdings haben wir auch immer SW-Pruefsumme mitlaufen. Wenn's nicht
passt, dann wird's halt neu angefordert.
Zeig mal Deine Verschaltung ./ Elektronik ./ Bausteine. Gerne auch an
mcn@ostx.de
Gruss hro
PS: Mann, das Formatierungsgepfurzel nervt hier aber, laueft das Forum
auf Windoofs?
hro schrieb:> a musst Du dann aber ein anderes Problem haben. Wobei aber RS485> normalerweise nur auf 400m ?? spezifiziert ist.
Sorry.. da muss ich dich enttäuschen. Maximale Länge wird auf 4000ft
spezifiziert (ca. 1200m). Ist auch ohne weiteres machbar. Die 110Baud
hab ich einfach so mal gewählt.. entspricht in etwas denk ich den 50Hz,
wenn ich 0xAA sende. Mit der Baudrate könnte ich sicherlich noch nach
oben. Für Energiesparmaßnahmen werde ich auch demnächst noch
Verbesserungen vornehmen. Selbst Profibus besitzt Abschlusswiderstände..
versteh nicht ganz auf was du hinaus willst?! Ich würde sie einfach mit
einbauen, da ist man auf der sicheren Seite.
Alles klar, 4000 Fuesse warn's.
Schaden tun die Abschlusswiderstaende ja nicht. Wenn Du eine homogene
Leitung und klare Busstruktur hast, dann ist das sicher der richtige
Weg.
Gruss hro
Da Danke ich euch mal für eure fleißigen Antworten :)
Werde versuchen den Bus so linear wie nur möglich aufzubauen.
Baudrate werde ich so niedrig wie möglich und nur so hoch wie nötig
einstellen. Am Afang und am Ende kommen eine Failsafe-Terminierung.
VCC -> 390 Ohm -> A -> 120 Ohm -> B -> 390 Ohm -> GND
Damit sollte das geklärt sein und einer sicheren Datenübertragung nichts
mehr im Wege stehen.
Gruß Basti
Ich nehme gerne den LT1785A, weil er gegen ESD und andere Unbilden
geschützt ist. Ist aber leider sauteuer geworden.
Als Kabel könnte man Cat5 nehmen. Ist zwar ein 100R-Kabel aber preislich
recht günstig. Damit könntest du die Speisung mitführen und hättest noch
ein paar Extraleitungen für andere Zwecke (Handshake, Einschaltsignal,
Kabelbeleuchtung, ect...).
Ist aber niedrig - macht dann 74 Ohm effektive Terminierung. Biasing
braucht es nur einer Stelle und da reichen auch geringere Vorspannungen.
Und die Baudrate ist nicht allein entscheidend, es ist vielmehr die
Steilheit der Flanken, die sollte so niedrig sein, dass eine Welle in
einem Blindast sich innerhalb der Flanke totläuft. Oder habt Ihr im
RS485-Empfänger ein adaptives Filter?
Gruß Wolfgang
Wolfgang schrieb:> Ist aber niedrig - macht dann 74 Ohm effektive Terminierung. Biasing> braucht es nur einer Stelle und da reichen auch geringere Vorspannungen.
Versteh ich jetzt nicht so ganz... also die Failsafe Terminierung nur an
einer Seite des Buses und an der anderen ganz normal nen 120er?
>Versteh ich jetzt nicht so ganz... also die Failsafe Terminierung nur an>einer Seite des Buses und an der anderen ganz normal nen 120er?
Die zwei 390R Widerstände liegen parallel zum 120R Widerstand...
>Und die Baudrate ist nicht allein entscheidend, es ist vielmehr die>Steilheit der Flanken, die sollte so niedrig sein, dass eine Welle in>einem Blindast sich innerhalb der Flanke totläuft.
Nein, das ist nicht unbedingt erforderlich. Da der UART sich das Signal
in der Regel viel später anschaut, also zu einem Zeitpunkt, an dem das
Überschwingen längst zuende ist, ist die Baudrate hier entscheidend. Es
ist nur wichtig, daß der UART die erste Flanke eines Datenworts korrekt
erkennen kann und das ist selbst bei massivem Ringing oft
unproblematisch.
@ Basti (Gast)
>Leiti schrieb:>> Die zwei 390R Widerstände liegen parallel zum 120R Widerstand...
Fast. Die 2x390er liegen in Reihe parallel zum 120er.
macht 120 // (390+390) = 104 Ohm.
Welch Überraschung.
>http://www.mikrocontroller.net/wikifiles/c/cb/Rs485_term.png>Kann ich das nun an beiden Enden machen oder nur an EINEM?
An beiden.
MFG
Falk
Falk Brunner schrieb:>>http://www.mikrocontroller.net/wikifiles/c/cb/Rs485_term.png>>Kann ich das nun an beiden Enden machen oder nur an EINEM?>> An beiden.
Letzter Satz:
http://www.mikrocontroller.net/articles/RS-485
Failsafe - was passiert auf dem Bus, wenn kein Sender aktiv ist? Dann
muss man mittles Pull Up und Pull Down Widerstand für definierte Pegel
sorgen. Das ist vor allem dann nötig, wenn man mittles UART Daten
überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man
mit Terminierung, so werden klassisch die Werte wie im nebenstehenden
Bild verwendet. Ohne Terminierung entfällt R2 und R1=R3=1kΩ. Diese
Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!
Da steht nun aber wieder das man dies nur einmal im Bus machen solle...
Basti
Falk Brunner schrieb:> Fast. Die 2x390er liegen in Reihe parallel zum 120er.>> macht 120 // (390+390) = 104 Ohm.
Also für mich liegen die 3 Widerstände ja alle in Reihe wenn ich mir das
so anschaue. Von VCC zum ersten zum zweiten zum dritten auf Masse.
Dazwischen laufen eben die Datenleitungen durch.
Basti
@ Basti (Gast)
>überträgt, was bei 90% der RS485 Anwendungen der Fall ist. Arbeitet man>mit Terminierung, so werden klassisch die Werte wie im nebenstehenden>Bild verwendet.
Das ist DEIN FALL.
> Ohne Terminierung
Ist NICHT dein Fall.
> entfällt R2 und R1=R3=1kΩ. Diese> Terminierung gibt es nur einmal auf dem Bus, nicht an jedem Teilnehmer!
Bezieht sich auf den Fall Ohne Terminierung. Und selbt hier könnte man
sie an beiden Enden des Busses machen, spielt keine Geige. Aber NICHT an
JEDEN Teilnehmer, das wid nämlich etwas viel bei 128 Teilnehmern . . .
>Da steht nun aber wieder das man dies nur einmal im Bus machen solle...
Wenn es um möglichst einfache, unstrukturierte Verdrahtung geht, kann
man bei niedrigen Baudraten UND definiert langsamen Tranceivern (slew
rate limited) die Terminierung weglassen bzw. nur einmal am Bud die
Failsafe Terminierung machen. Beidseitig schadet auch nicht, kostet nur
etwas mehr Strom
MFG
Falk
P S Bei der Failsafe Terminierung gegen GND/VCC fehlt genau genommen
noch ein 100nF Keramikkondensator, damit man dort wirklich einen
HF-Kurzschluss hat.
Falk Brunner schrieb:> P S Bei der Failsafe Terminierung gegen GND/VCC fehlt genau genommen> noch ein 100nF Keramikkondensator, damit man dort wirklich einen> HF-Kurzschluss hat.
Also noch 100nF zwischen A und B oder wie?
PS.: Danke für die ausführliche Antwort :)
@ Basti (Gast)
>Also für mich liegen die 3 Widerstände ja alle in Reihe wenn ich mir das>so anschaue.
Dann schaust du falsch. Es gilt das Überlagerungsprinzip, dabei werden
Spannungsquellen kurzgeschlossen. Und dann schau mal aus Richtung A / B
in deine Schaltung.
Aus Sicht von VCC/GND liegen sie natürlich in Reihe, das spielt aber für
das Kabel und den Wellenwiderstand keine Rolle, weil anderer
"Blickwinkel".
MfG
Falk
@ Basti (Gast)
>> P S Bei der Failsafe Terminierung gegen GND/VCC fehlt genau genommen>> noch ein 100nF Keramikkondensator, damit man dort wirklich einen>> HF-Kurzschluss hat.>Also noch 100nF zwischen A und B oder wie?
Wo steht das? NEIN!
Zwischen VCC/GND, direkt an den Widerständen!
MfG
Falk
Falk Brunner schrieb:> Dann schaust du falsch. Es gilt das Überlagerungsprinzip, dabei werden> Spannungsquellen kurzgeschlossen. Und dann schau mal aus Richtung A / B> in deine Schaltung.>> Aus Sicht von VCC/GND liegen sie natürlich in Reihe, das spielt aber für> das Kabel und den Wellenwiderstand keine Rolle, weil anderer> "Blickwinkel".
Jetzt habs auch ich verstanden :D Danke
Falk Brunner schrieb:> Wo steht das? NEIN!>> Zwischen VCC/GND, direkt an den Widerständen!
Ohh okay. Dann hab ich das Falsch verstanden. Danke!
Basti