Z21 Arduino Zentrale (ESP32)

From Digital Modellbahn

Jump to: navigation, search

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

Arduino UNO Version | Arduino MEGA Version | ESP32 Version | Sanguino Version

Z21 logo.png
Preview: IN DER ENTWICKLUNG - STILL UNDER DEVELOPMENT!

Beschreibung

ESP32 Anschlussbelegung

Um die Zentrale zukunftssicher zu gestalten wird an einem neuen Aufbau mit einem ESP32 Modul gearbeitet! Der ESP32 besitzt auch für zukünftige Anwendungen einen leistungsfähigen DualCore Prozessor mit 240 MHz und hat auch wie sein Vorgänger, das ESP8266, eine WiFi-Schnittstelle integriert.

Funktionsumfang:

  • DCC Ausgang nach NMRA (Timer3)
  • WLAN-Interface (integriert)
  • LAN-Interface (W5100)
  • S88N
  • interner Booster
  • externer Booster (ROCO oder CDE)
  • global RailCom Detector
  • XpressNet (Software-Serial RS485)
  • LocoNet (Timer1)

Pinbelegung ESP32

Hier eine Auflistung der Pinbelegung für den ESP32 im Sketch "Arduino Z21 Zentrale"

Arduino Pin Funktion aktiv Pegel (HIGH/LOW)
GPIO1 (TX) Debugging Serial
GPIO3 (RX) Debugging Serial
GPIO21 (SDA) I2C
GPIO22 (SCL) I2C
GPIO16 (RX) RailCom Detector RX Serial
GPIO19 (MISO) XpressNet TX Software Serial
GPIO23 (MOSI) XpressNet S+R output
GPIO18 (CLK) XpressNet RX Software Serial
GPIO12 (D6) LocoNet RX input
GPIO12 LocoNet TX output
GPIO2 DCC HIGH/LOW
GPIO17 DCC S88/LocoNet output
GPIO5 (CS) NDCC (Booster intern) output
GPIO4 SHORT (Booster extern) LOW
GPIO15 GO/STOP (Booster extern) HIGH
GPIO36 Taster/Reset LOW
GPIO32 DCC status LED HIGH
 ?? S88 Data in input
 ?? S88 Clock output
 ?? S88 PS/Load output
 ?? S88 Reset output
 ?? Relais Programmiergleis (PROG) HIGH/LOW
 ?? Current Sensor Programmiergleis (ACK)
 ?? Eingangsspannung Main VCC <-> [100k]<-> Sence (A10) <-> [4,7k] <-> GND
 ?? interner Temperatur Sensor +5V <-> [46k] <-> Sence (A11) <-> [15k NTC-Widerstand] <-> GND


Patch für den ESP-Core

Im ESP32 Core gibt es ein Problem mit dem "timerAlarmWrite()" der aus Platzgründen zur Laufzeit aus dem Code-Cache entfernt wird! Dann stürzt der ESP beim Nächsten Interrupt ab. Zur Behebung ist dieser Patch notwendig: Resolve crash with timer interrupt functions called from ISR (#4684)