Der Bus
Um ein Bussystem zu entwickleln, muss man sich natürlich zuerst gut überlegen, welchen Bus-Type man umsetzen möchte. So war es auch bei meinem Projekt. Seinerzeit habe ich den RS485-Bus und den CAN-Bus betrachtet.
Der CAN-Bus ist eine gute Variante. Heute muss ich zugeben, dass ich diese vielleicht etwas vorschnell verworfen habe. Wirkliche Nachteile haben sich daraus aber nicht entwickelt.
Ich habe mich also für den RS485-Bus entschieden. Die mögliche Leitungslänge ist für mein gesamtes Haus mehr als ausreichend. Die Stabilität ist hervorragend, und die maximale Anzahl der anzuschließenden Geräte werde ich nie erreichen.
Bei der Umsetzung habe ich mich für die Halbduplex-Variante entschieden. Das spart Hardware und Verkabelung und hat im praktischen Einsatz für mich keine relevanten Performance-Nachteile. Alle Komponenten am Bus sollten die gleiche Baudrate benutzen. Ich habe mich für 38400 Baud entschieden. Das ist ein guter Kompromiss zwischen maximalem Durchsatz, hoher Zuverlässigkeit und möglicher Buslänge.
Selbstverständlich ist die Implementierung eines Protokolls unabdingbar. Ich habe mich entschieden, ein eigenes Protokoll zu benutzen. Dabei habe ich mich zuvor ausführlich mit dem Thema beschäftigt und zahlreiche Anregungen aus dem Internet berücksichtigt. Eine Beschreibung des Protokolls finden Sie hier.
![]() |
Während die Controller den Busanschluss OnBoard haben, wird die Ankopplung der Ethernetwelt (z. B. des Linuxservers) über das RS485-Gateway realisiert (in der Grafik ist das der RS232/RS485-Konverter). Die Werte für die notwendigen Terminierungswiderstände (AW) sind am besten den Datenblättern der benutzen Treiber-ICs zu entnehmen. In meinem System nutze ich den Type MAX485. Beide Widerstände haben den gleichen Wert, den ich mit Hilfe des Oscilloskops auf optimale Flanken dimensioniert habe. Die Werte für die Pullup- und Pulldown-widerstände entnehmen Sie bitte ebenfalls den Datenblättern. Beachten Sie, dass es jeweils nur einen Pullup- und einen Pulldown-Widerstand geben sollte. Gute Hinweise zum RS485-Bus finden Sie im Internet in großer Menge. |
||||
Als Verkabelung im Haus haben sich CAT-5-Kabel aus der Netzwerktechnik gut bewährt. Sie sind vermutlich deutlich preiswerter als die speziellen Buskabel und bieten mit ihren 8 Adern genügend Reserven. In meinem System sind die Adern a + b miteinander verdrillt. Zusätzlich habe ich eine GND und eine VCC-Ader. Als Spannung speise ich 8 bis 12 Volt ein. Das reicht für den evtl. Betrieb von Relays aus und überfordert die Spannungsregler auf den Controllerboards nicht unnötig. Die Abschirmung der Kabel liegt auf GND.
Die Busleitung ist meist relativ lang und dadurch empfänglich für Blitzeinschlag bzw. Überspannung. Ich habe dazu in die Prozessormodule Crumb2560 zwei bidirektionale Schutzdioden P6KE 6,8CA eingelötet. Das Modul bietet mit den Bohrungen für den Anschluss Con4 die ideale Stelle. Die Dioden werden übrigens von den Anschlüssen A und B auf GND gelötet. Es kann sicher nicht schaden, diese Dioden auch auf andere, besonders zu schützende Controller zu löten.



