Easy-RS485-Bus: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Tippfehler; Gliederungsebenen)
 
Zeile 1: Zeile 1:
{{Baustelle}}
{{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 ==
= Überblick =
 
Ziel ist es eine standardisierte Umsetzung eines RS485 Buses z.B. für die FHEM easySensor Platinen zu beschreiben.
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.
Als erste Nutzung ist die Anwendung für MySenors vorgehsehen. Andere Nutzungen sind natürlich auch möglich.


= Terminierung =
== 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.
Die Terminierung ist ein sehr vielschichtiges Thema. Der Vorschlag von unten mit dem Widerstandsnetzwerk ist eine guter Kompromiss bezüglich Stromverbrauch und Stabilität.


Zeile 17: Zeile 15:


=> ergibt sichere 500 Meter...
=> ergibt sichere 500 Meter...


[http://dcs-bios.a10c.de/rs485-resistors.html Online-Berechnung]
[http://dcs-bios.a10c.de/rs485-resistors.html Online-Berechnung]


Beispiel zur einfachen Terminierung zwischen Pin1+2 eines RJ45 Steckers:
Beispiel zur einfachen Terminierung zwischen Pin1+2 eines RJ45 Steckers:
Zeile 26: Zeile 22:
[[Datei:RS485-Termination.jpg|200px]]
[[Datei:RS485-Termination.jpg|200px]]


Achtung: Für Homematic-Wired (HMW) ist allerdings das hier zu beachten: [[HomeMatic_Wired#Der_sogenannte_Busabschluss]]
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.
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:
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.
Bei höherer Spannung muss R5 vergrößert werden um zwischen GND und A auf ca. 5V zu kommen.


Zeile 46: Zeile 39:
Ergibt ~5V an A und B wird nach GND gezogen
Ergibt ~5V an A und B wird nach GND gezogen


= Umsetzung =
== Umsetzung ==
 
== RJ45 ==


=== RJ45 ===
Standard:  
Standard:  


Zeile 60: Zeile 52:
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 ===
== 4 Poliger Anschluss ==
+ A B -
+ A B -


Zeile 87: Zeile 78:




= Nutzung mit CAN Chips =
== 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 zw H und L auf nahe 0V ziehen.
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:
Nominale CAN Pegel gegen GND:


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


Bei RS485 haben die Treiber PushPull Stufen und können beide Pegel aktiv treiben.
Bei RS485 haben die Treiber PushPull Stufen und können beide Pegel aktiv treiben.
[[Kategorie:NeedsEditing]]

Aktuelle Version vom 30. März 2021, 17:58 Uhr


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.