Hardware
Der CAN-Bus
Ein Kabel bringt Versorgung und Daten von Modul zu Modul. CAN kommt aus dem Auto und ist für genau solche Umgebungen gebaut, mit langen Leitungen, Störungen und vielen Teilnehmern.
Auf dieser Seite
Der Modulbus
| Eigenschaft | Wahl | Grund |
|---|---|---|
| Bus | CAN | Der Controller steckt im Chip, dazu kommt nur ein Transceiver. Störfest, eingebaute Fehlererkennung, jedes Modul darf von sich aus senden. |
| Kabel | vieradrig | 24 V, Masse, CAN-H, CAN-L. Wird von Modul zu Modul durchgeschleift. |
| Stecker | M12, 4-polig | Wasserdicht, fertige Leitungen in allen Längen erhältlich. |
| Rate | 250 kbit/s | Reicht für 40 m und mehr, also für Terrasse, Garten und Gewächshaus. |
| Abschluss | 120 Ω | An beiden Enden, am Modul zuschaltbar. |
| Am Modul | 24 V auf 5 V | Sicherung je Modul, Verpolschutz, Abwärtswandler auf den 5-V-Pin des Boards. Mehr unter Strom. |
Hohe Ströme für Heizung und Pumpe laufen nicht über das Buskabel. Leistungsmodule haben eine eigene Zuleitung.
Controller und Transceiver sind zwei Dinge
Der CAN-Controller im Chip erledigt das Protokoll: Nachrichten zusammensetzen, Prüfsumme, Vorrang, Fehlerzähler. Beim ESP32 heißt er TWAI, beim STM32G0B1 FDCAN. Er arbeitet mit 3,3-V-Logikpegeln an zwei Pins, TX und RX.
Auf dem Kabel läuft CAN dagegen differenziell über CAN-H und CAN-L. Diese Umsetzung macht der Transceiver, zum Beispiel ein SN65HVD230. Er verträgt Störungen und Masseversatz auf langen Leitungen und schützt den Chip.
Deshalb braucht jedes Modul beides, egal ob ESP32 oder STM32.
Warum nicht RS485
Bei RS485 mit Modbus darf nur der Hub fragen. Module könnten nichts von sich aus melden, etwa Endschalter, Regen oder Überstrom. Die Erkennung neuer Module wäre umständlich.
RS485 bleibt als Zusatzport am Hub und am Bodenfeuchtemodul, weil viele fertige Sensoren Modbus sprechen.
Abschluss prüfen
Der Abschluss lässt sich mit einem Widerstandsmessgerät prüfen. Alles stromlos, dann zwischen CAN-H und CAN-L messen.
| Messwert | Bedeutung |
|---|---|
| etwa 60 Ω | Der Abschluss stimmt: zweimal 120 Ω parallel. |
| etwa 40 Ω | Ein dritter Widerstand ist noch drauf, meist an einem Modul in der Mitte. |
| etwa 120 Ω | Ein Ende ist nicht abgeschlossen. |
Die üblichen Transceiver-Platinen haben den Widerstand schon bestückt. An Modulen in der Mitte der Leitung muss er herunter. Das ist ein kleines SMD-Teil mit der Aufschrift „121“ nahe CAN-H und CAN-L.
Auf dem Steckbrett
Im Schreibtischaufbau laufen vier Kabel von Brett zu Brett: 5 V, Masse, CAN-H und CAN-L. Ein Netzteil mit 5 V versorgt über diese Leitung alle Boards. Bei 20 bis 50 cm Länge ist das unkritisch. CAN-H und CAN-L am besten miteinander verdrillen. Weil die 5 V direkt am 5-V-Pin ankommen, steht in den Einstellungen des Hubs „Erwartete Versorgung“ auf 5 V.
Die Masseleitung ist auch der Bezug für CAN. Die 3,3-V-Leitungen verschiedener Boards werden nie verbunden, jedes Board macht seine 3,3 V selbst. Der ganze Aufbau steht unter Steckbrett.
Was der Bus überträgt
Acht Nachrichtentypen mit fester Priorität. Ereignisse haben Vorrang vor Stellbefehlen, diese vor Lebenszeichen und Messwerten. Firmware-Updates haben die niedrigste Priorität, damit sie den Betrieb nicht stören. Einzelheiten unter Protokoll.