Z21 Arduino Zentrale (WeMosD1mini)
Eigenbau |
Zentrale Z21PG |
Z21 mobile |
XpressNet |
LocoNet |
Booster
Arduino UNO Version | Arduino MEGA Version | ESP8266 (WeMos D1 mini) Version | ESP32 Version | Sanguino Version
Beschreibung
Zur Herstellung einer kleinen DCC Zentrale ohne viele Bauelemente kann diese mittels des WeMos D1 mini (ESP8266) aufgebaut werden. Diese kleine z21PG hat natürlich nur einen abgespeckten Funktionsumfang, kann aber trotzdem so eingesetzt werden wie der "große Bruder". Zum Beispiel mit einem L298n Modul als Booster hat sie zwei Gleisausgänge (2A Fahren und 2A Programmieren), kann mit einem I2C OLED Display ausgestattet werden um die IP-Addressen, welche zugewiesen wurden, einfach in die Z21 App übernehmen zu können, sowie mit XpressNet und LocoNet-Interface zum Verbinden von Rückmeldern, Schaltmodulen oder Handreglern (Fred, Daisy II, MultiMaus).
Funktionsumfang:
- DCC Ausgang mit RailCom nach NMRA
- WLAN-Interface mit AP und Client (integriert)
- interner Booster (L6203 oder L298) oder
externer Booster (ROCO Booster 10761) (Support ab v4.96)(Probleme beim externen Booster!)- optional INA219 zum auslesen der Gleisspannung und -strom
- OLED SSD1306 oder SH110X Display I2C 128x64 Pixel
- XpressNet (Support ab v4.96)
- LocoNet (Support ab v4.96)
- Update des Sketch mittels OTA
Alle anderen Interface können aufgrund der geringen Anzahl an I/O-Pins leider nicht realisiert werden. Daher ist auch keine Rückmeldung/Anzeige der Gleisspannung und Temperatur auch möglich.
Das Sketch der Z21PG Zentrale wurde extra ab der v4.95 für den Einsatz mit dem WeMos D1 mini optimiert. Das WeMos D1 mini besitzt einen Spannungsteiler am ADC, welcher es erlaubt Spannungen bis ca. 3.3 Volt zu erkennen. Für die korrekte Funktion der Kurzschlusserkennung und ACK Erkennung wurden deshalb andere Werte gesetzt! Ab der v4.96 ist es möglich mit einer geänderten Pinbelegung auch das XpressNet und LocoNet Interface zu nutzen.
Mit aktivem LocoNet-Interface kann beim WeMos D1 mini das Sktech nicht mehr mittels USB-Serial übertragen werden. Für den Upload kann hier dann nur noch das OTA-Update genutzt werden. Für die Debugging Ausgabe kann das USB-Serial aber trotzdem mit einer festen Datenrate von 16660 Baud genutzt werden.
Wichtig: ESP8266 CPU Frequenz muss auch 160 MHz eingestellt sein und der Sense-Widerstand muss 0,33 Ohm haben!
Pinbelegung ESP8622 (WeMos D1 mini)
Hier eine Auflistung der Pinbelegung für den ESP8266 im Sketch "Arduino Z21 Zentrale" ab v4.96!
Arduino Pin | Funktion | aktiv Pegel (HIGH/LOW) |
---|---|---|
GPIO2 (D4) | Taster/Reset und DCC Status LED | LOW |
GPIO0 (D3) | LocoNet TX | Serial |
GPIO13 (D7) | DCC | HIGH/LOW |
GPIO14 (D5) | NDCC (Booster intern) oder Go/Stop (Booster extern) |
output |
GPIO15 (D8) | Relais Programmiergleis (PROG) oder Short (Booster extern) |
LOW (für L298n Ausgabe: #define PROG_OUT_INVERT ) input |
GPIO12 (D6) | XpressNet RX/TX | Serial |
GPIO16 (D0) | XpressNet Send/Receive | output |
GPIO1 (TX) | DEBUG | Serial |
GPIO3 (RX) | LocoNet RX | Serial |
GPIO4 (D2) | OLED Display | SDA (I2C) |
GPIO5 (D1) | OLED Display | SCL (I2C) |
Die DCC Status LED (GPIO2) als auch alle Pull-Up Widerstände sind bereits im ESP8266 vorhanden und müssen daher nicht extern aufgebaut werden! Der Anschluss des Power Taster erfolgt am gleichen Pin wie die Status LED. Dies ist möglich da dieser Pin als Tri-State GPIO ab der v4.96 konfiguriert werden kann. Dies erfolgt automatisch wenn als Hardware der ESP8266 gewählt wurde.
Baubericht
Beschreiben möchte ich einmal den Aufbau mittels eines L298 Modul als Booster, wo der WeMos D1 mini mittels Adapterplatine (Lochraster) und Pinheader aufgesetzt wird. Da das L298 Modul keinen Sense für den L298 Treiber verbaut hat, muss dieser vorher noch nachgerüstet werden. Dazu ist ein Widerstand mit 0.33 Ohm und 5W notwendig. Dieser wird zwischen Masse (GND) und dem Pin 1 + 15 des L298 installiert. Im folgenden ist kurz mit Bildern erklärt, wie das L298n Modul für den Betrieb modifiziert werden muss:
Um die Bilder in voller Auflösung zu sehen können diese als PDF hier geöffnet werden.
Die Stromversorgung mittels +5 Volt erhält der WeMos D1 mini über den auf dem L298n Modul installierten Spannungsregeler. Wenn der WeMos über den 5V Pin versorgt wird darf der USB-Anschluss nicht genutzt werden, da dies sonst zu Schäden führt. Wenn der USB Port zum Debug oder Sketch Upload benötigt wird, muss entweder die Schutzdiode auf dem WeMos D1 mini entfernt werden oder mittels Jumper (diesen habe ich unter dem WeMos Board auf der Adapterplatine verbaut) die Versorgung vom L298n Spannungsregler getrennt werden.
Auf der Adapterplatine wurde eine weitere 4 Pin Buchse installiert für die Verbindung zum OLED Display. Der freie Platz links im Bild ist für den Aufbau des LocoNet und XpressNet Interface vorgesehen.