Easy-RS485-Bus

Aus FHEMWiki
Zur Navigation springen Zur Suche springen


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Todo: @Ranseyer: kannst Du eine grobe Einschätzung abgeben, was noch getan werden muss und in welchem Zeitrahmen Du das machen wirst (gern auch als Ersatz für diesen Text)? ... weil, das "Baustellenschild" steht hier schon recht lange :-) --Peter (Diskussion) 17:58, 30. Mär. 2021 (CEST)

Dieser Artikel ist im Entwurfsstadium.

Überblick

Ziel ist es eine standardisierte Umsetzung eines RS485 Buses z.B. für die FHEM easySensor Platinen zu beschreiben. Als erste Nutzung ist die Anwendung für MySenors vorgehsehen. Andere Nutzungen sind natürlich auch möglich.

Terminierung

Die Terminierung ist ein sehr vielschichtiges Thema. Der Vorschlag von unten mit dem Widerstandsnetzwerk ist eine guter Kompromiss bezüglich Stromverbrauch und Stabilität.

Ohne Terminierung in der Theorie: Bei 19200 Baud auf dem Bus ergibt sich ein Zeitfenster von ~50us pro Signalflanke, bei 50% maximale Anstiegzeit == 25us, Ausbreitungsgeschwindigkeit 21cm/ns. Mit der angenommenen Faustregel: Einfache Laufzeit durch das Kabel maximal 1/6 der maximalen Anstiegzeit. 25us/6=4,2us, maximal mögliche Kabellänge 21cm * 1000 * 4.2 == 88200cm == 882m.

=> ergibt sichere 500 Meter...

Online-Berechnung

Beispiel zur einfachen Terminierung zwischen Pin1+2 eines RJ45 Steckers:

RS485-Termination.jpg

Achtung: Für HomeMatic-Wired (HMW) ist allerdings das hier zu beachten: HomeMatic_Wired#Der_sogenannte_Busabschluss, d.h., wenn ein "normaler" 120Ohm Busabschluss verbaut ist, dann darf man das auf keinen Fall an einen HMW-Bus hängen. Besonders problematisch würde es werden, wenn zusätzlich noch der eq3-"Busabschluss" dranhängt.

Besser bewährt hat sich die Terminierung mit Widerstandsnetzwerk ähnlich wie bei HomeMatic Wired. Die Widerstandswerte sind anzupassen: Bei höherer Spannung muss R5 vergrößert werden um zwischen GND und A auf ca. 5V zu kommen.

Problem: Die Leitung hat eine Kapazität. Diese muss bei Pegelwechseln geladen und entladen werden. Bei höherer Geschwindigkeit oder schnellerer Transfer-Rate müssen die Widerstände verkleiner werden, damit steigt der Stromverbrauch am Bus, aber die Leitungen werden schneller auf den Normal-Pegel gezogen.

Schematic-Termination-24V.png Termination-24V.png

+24V --- 22K---A---5K6---GND
B---4K7---GND

(Quelle: https://wiki.fhem.de/wiki/HomeMatic_Wired#Der_sogenannte_Busabschluss)

Ergibt ~5V an A und B wird nach GND gezogen

Umsetzung

RJ45

Standard:

Paar 1: Pin 4+5: blau/weiß: Frei/auf Pinheader, alternativ: Rückführung A+B

Paar 2: Pin 3+6: weiß/grün: Spannungsversorgung + / GND

Paar 3: Pin 1+2: weiß/orange: A+B kommend

Paar 4: Pin 7+8: weiß/braun: Zusätzliche Spannungsversorgung kommend, parallel zu Paar2, Alternative Nutzungen unter großer Vorsicht denkbar...

4 Poliger Anschluss

+ A B -

1 + bn (braun) 2 A ws (weiß) 3 B bl (blau) 4 - sw (schwarz)


Schaltdraht

gn sw ws ge


A) Terminator---GW--------Node---------Node--------Node---Terrminator

B) Terminator---GW-----Dose----Patchfeld---Patchfeld---Dose-----Node-----Node---Terminator

C) Mit Rückkanal: Terminator---GW----Dose---Patchfeld1---A=Patchfeld2====A--Node1

                                                           ||                                                             Patchfeld3====A--Node2----Terminator


Nutzung mit CAN Chips

Bei CAN sollte eine Terminierung zwischen H und L erfolgen. Im Gegensatz zu RS485 können die CAN Treiber (z.B. MCP2551) nur den dominaten Pegel treiben, d.h. bei rezessiv muss der Busabschluss die Differenz zwischen H und L auf nahe 0V ziehen. Nominale CAN Pegel gegen GND:

Rezessiv: H und L auf ca. 2.5V (Differenz 0V)
Dominant: L<1.5V, H>3,5V

Bei RS485 haben die Treiber PushPull Stufen und können beide Pegel aktiv treiben.