Hardware

Boards und Pinbelegung

Der Schreibtischaufbau nutzt fertige Boards. Die Belegung ist so gewählt, dass kein Ausgang beim Einschalten kurz anzieht.

Auf dieser Seite

Übersicht

Rolle Board Hinweis
Hub ESP32-S3-DevKitC-1 N16R8 16 MB Flash, 8 MB PSRAM. Einzelheiten unter Hub.
Modul ESP32-C3 SuperMini klein, USB-C direkt am Chip
Modul, später eigene Platine mit STM32G0B1 CAN eingebaut, kein Funk

Das Modul-Board

Merkmal ESP32-C3 SuperMini
USB USB-C direkt am Chip
Konsole, 115200 Baud USB-CDC
Plätze D und E GPIO 20 und 21
LED für „Blinken“ blaue LED an GPIO 8
Flash 4 MB im Chip
Herausgeführt GPIO 0 bis 10, 20, 21

Der SuperMini ist seit Version 0.10.0 das einzige Modul-Board, das ESP32-C3-DevKitM-1 ist entfallen. Beim ersten Start schreibt das Modul sein Board in den eigenen Speicher. Ein Modul, das dort noch das DevKitM-1 stehen hat, schreibt beim Start den SuperMini.

Versorgt wird das Board über seinen Pin 5V: im fertigen Aufbau aus dem 24-V-Bus über Sicherung, Verpolschutz und einen Abwärtswandler auf 5 V, auf dem Steckbrett direkt von einem 5-V-Netzteil. Mehr unter Stromversorgung.

Plätze statt Pins

Für alle Modultypen fest sind CAN und I²C. Frei für den Typ sind sechs Pins, als Plätze A, B, C, W, D und E benannt.

GPIO SuperMini
0 Platz A, meist Versorgungsmessung
1 Platz B
2 frei lassen (Strapping)
3 Platz W, 1-Wire
4 Platz C
5, 6 I²C SDA, SCL
7, 10 CAN TX, RX
8 LED (Strapping)
9 BOOT
18, 19 USB, nicht herausgeführt
20, 21 Platz D, E

Schaltausgänge nur auf ruhigen Pins

Die Plätze A, B, C und W bleiben vom Reset bis zum Start der Firmware ruhig. D und E nicht: Dort kommen beim Start die Meldungen des Bootloaders heraus, oder ein Pull-up zieht den Pin hoch.

Deshalb liegen Schaltausgänge nur auf A, B, C, W oder am Portexpander. Auf D und E liegen nur Eingänge wie Tacho, Durchfluss und Kontakte sowie serielle Leitungen. Ein Test prüft diese Regel für alle Typen.

Lasttreiber brauchen trotzdem einen Pull-down, weil die Pins bis zur Einrichtung hochohmig sind.

Belegung je Modultyp

Fett sind Ausgänge. „Versorgung“ ist die Messung der Versorgungsspannung über einen Teiler 1:11. Wo A anders belegt ist, misst ein INA226 die Versorgung (Leistung DC, Relais 4-fach, Antrieb, Einspeisung). Alle Typen passen auf den SuperMini.

Typ A B C W D E Expander
Temperatur/Feuchte, CO₂, Lichtsensor, BME280 Versorgung – – – – – nein, Sensor am I²C-Bus
Bodenfeuchte Versorgung – – – RS485 RX RS485 TX nein
Temperatur, Bodentemperatur, Wassertemperatur Versorgung – – 1-Wire – – nein
Füllstand Versorgung – – – Ultraschall RX – nein
Regensensor Versorgung – – – Regensensor RX Regensensor TX nein
Durchfluss Versorgung Durchfluss 2 Durchfluss 1 – – – nein
Typ offen Versorgung – – – – – nein, alle Plätze hochohmig
Relais 4-fach Relais 1 Relais 2 Relais 3 Relais 4 Messbaustein RX Messbaustein TX nein
Relais 8-fach Versorgung Wahl der Messgruppe – Relaisfreigabe Messbaustein RX Messbaustein TX Pflicht: die acht Relais
Wind Versorgung Windfahne – – Anemometer – nein
Leistung DC PWM 1 PWM 2 PWM 3 PWM 4 Tacho 1 Tacho 2 nein, Tacho 3 und 4 entfallen
Antrieb, mit Expander – Freigabe 1 Freigabe 2 – – – Richtung und Endkontakte
Antrieb, ohne Brücke 1 auf Brücke 1 zu Brücke 2 zu Brücke 2 auf Endkontakt 1 zu Endkontakt 2 zu Endkontakte „offen“ entfallen
Universal Schalten 1 Analog 1 Analog 2 Schalten 2 Kontakt 1 Kontakt 2 nein
Einspeisung – – – – – – nein

Die Sammelmodule (alt) behalten ihre bisherige Belegung:

Typ A B C W D E Expander
Klima (alt) Versorgung – – – – – nein
Außen (alt) Versorgung – – – Regensensor RX Regensensor TX nein
Boden (alt) Versorgung – – 1-Wire RS485 RX RS485 TX nein
Wasser (alt), mit Expander Versorgung Durchfluss 2 Durchfluss 1 1-Wire Ultraschall RX Ultraschall TX Ventil
Wasser (alt), ohne Versorgung Ventil Durchfluss 1 1-Wire Ultraschall RX Ultraschall TX Durchfluss 2 entfällt

Beim Suchen nach Sensoren fasst ein Modul nie einen Pin an, den sein Typ als Ausgang nutzt. Den I²C-Bus sucht es immer ab. Den 1-Wire-Bus und das Senden auf der seriellen Leitung nutzt es ohne gesetzten Typ nur, wenn die Pegel an W und E zeigen, dass dort etwas angeschlossen ist.

Portexpander

Der ESP32-C3 hat je Typ nur sechs freie Pins. Antrieb und Wasser (alt) nutzen deshalb einen PCA9555 am I²C-Bus für Richtung, Endkontakte und das Ventil, das Relais 8-fach für seine acht Relais. PWM, Pulse von Tacho und Durchfluss und die seriellen Leitungen bleiben am Controller, denn ein Expander am I²C-Bus ist für Pulszählung zu langsam.

Antwortet beim Start kein Expander, gilt die reduzierte Belegung. Kanäle ohne Pin meldet das Modul dann nicht. Beim Relais 8-fach schaltet ohne Expander nichts.

Bausteine je Typ

Typ Bausteine
Leistung DC PWM mit 25 kHz, eigene Lastversorgung mit 12 oder 24 V, je Ausgang ein INA226 für Strom und Spannung
Antrieb zwei H-Brücken, je Antrieb ein INA226, Endkontakte gegen Masse
Bodenfeuchte bis zu zwei Modbus-Fühler oder SMT100 an einem RS485-Bus, 9600 Baud, Feuchte und Temperatur aus dem Fühler
Temperatur DS18B20 oder DS1822 am 1-Wire-Bus mit 4,7 kΩ nach 3,3 V, zwei feste Plätze nach ROM-Code
Füllstand Ultraschallsensor A02YYUW seriell, nur Empfang
Regensensor Hydreon RG-15 seriell, 9600 Baud
Durchfluss zwei Pulseingänge per Interrupt
Relais 4-fach vier potentialfreie Relais direkt am Controller, je Ausgang ein BL0942 für die Leistung, galvanisch getrennt
Relais 8-fach acht Relais am Portexpander, Spulenversorgung über die Relaisfreigabe, acht BL0942 in zwei Gruppen
Wind Schalenanemometer mit Reedkontakt, 0,667 m/s je Hertz, Windfahne am Analogeingang
Universal Analogeingänge 0 bis 10 V, Kontakte gegen Masse

Beim Relais 4-fach und beim Universalmodul hängen die Schaltausgänge bewusst direkt am Controller. So hängt der sichere Zustand nicht am I²C-Bus. Beim Relais 8-fach reichen die Pins dafür nicht. Dort schaltet die Relaisfreigabe am Controller die Versorgung aller Spulen: Im sicheren Zustand sind alle Relais stromlos, egal was der Expander tut.

Der BL0942 misst Wechselstrom. Schaltet ein Relais Gleichstrom, gibt es dort keine brauchbare Strom- und Leistungsmessung.

Später: STM32G0B1

Für die eigenen Platinen ist ein STM32G0B1 vorgesehen.

  • Nur was ein Modul braucht: CAN, I²C, UART, ADC, PWM, Zeitgeber. Kein WLAN, kein Bluetooth, keine Antenne auf der Platine.
  • Bei der Auswahl wichtig: Nicht jeder STM32G0 hat CAN, nur die Reihen G0B1 und G0C1.
  • Updates über den Bus bleiben möglich. Der Flash hat 512 KB in zwei Bänken. Die zweite Bank nimmt die neue Firmware auf, ein kleiner Bootloader wechselt erst nach erfolgreicher Prüfung.
  • Firmware: Der Kern der Module ist schon vom Chip getrennt und läuft in den Tests auf dem PC. Für den STM32G0 kommt nur eine neue Plattformschicht dazu.

Der Hub bleibt ein ESP32-S3.

    Durchsucht alle Seiten. Die Suche läuft im Browser, nichts wird übertragen.