Z21 Arduino Zentrale (WeMosD1mini)

From Digital Modellbahn
Z21 logo.png

Eigenbau | Zentrale Z21PG | Z21 mobile | XpressNet | LocoNet | Booster

Arduino UNO Version | Arduino MEGA Version | ESP8266 (WeMos D1 mini) Version | ESP32 Version | Sanguino Version

Beschreibung

ESP8266 WeMos D1 mini Anschlussbelegung
ESP8266 mit L298n Modul, XpressNet und LocoNet (Länge 50 mm x Breite 56 mm x Höhe 40 mm.)

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!)
  • 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)

ESP8266 Z21 Zentrale mit L298n Schaltplan (Eagle)

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

L298n Modul ohne Sense
Ansteuerung L298n (optionale Anteile entfallen beim WeMos D1 mini) (Eagle)

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.

L298n Modul mit WeMos D1 mini

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.