Easy-RS485-Bus: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (Tippfehler; Gliederungsebenen) |
||
(22 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Baustelle}} | |||
{{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 :-) --[[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 17:58, 30. Mär. 2021 (CEST)}} | |||
Dieser Artikel ist im Entwurfsstadium. | 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... | |||
[http://dcs-bios.a10c.de/rs485-resistors.html Online-Berechnung] | |||
Beispiel zur einfachen Terminierung zwischen Pin1+2 eines RJ45 Steckers: | |||
[[Datei:RS485-Termination.jpg|200px]] | |||
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. | |||
[[Datei:Schematic-Termination-24V.png|200px]] [[Datei:Termination-24V.png|200px]] | |||
+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: | Standard: | ||
Zeile 21: | Zeile 51: | ||
Paar 4: Pin 7+8: weiß/braun: Zusätzliche Spannungsversorgung kommend, parallel zu Paar2, Alternative Nutzungen unter großer Vorsicht denkbar... | 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 | |||
Zeile 35: | Zeile 76: | ||
C) Mit Rückkanal: Terminator---GW----Dose---Patchfeld1---A=Patchfeld2====A--Node1 | C) Mit Rückkanal: Terminator---GW----Dose---Patchfeld1---A=Patchfeld2====A--Node1 | ||
|| Patchfeld3====A--Node2----Terminator | || 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. |
Aktuelle Version vom 30. März 2021, 16:58 Uhr
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...
Beispiel zur einfachen Terminierung zwischen Pin1+2 eines RJ45 Steckers:
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.
+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.