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
Schematischer Aufbau ESP32 Zentrale

Um die Zentrale zukunftssicher zu gestalten wurde ein neuer Aufbau mit einem ESP32 Modul, welches einen DualCore Prozessor mit 240 MHz besitzt gewählt. Da die Funktionen für Xpressnet, aufgrund von Hardware Inkompatibilität und LocoNet aufgrund der Hardwarezusammenhänge in der Bibliothek nicht auf dem ESP32 umgesetzt werden können, wurde für diese der Arduino UNO/NANO also Co-Prozessor eingesetzt. Die Kommunikation zwischen den beiden Prozessoren erfolgt über das I2C Protokoll. Bei der Koppelung wurde ein Level-Shifter eingesetzt um die unterschiedlichen Spannungen des ESP32(3,3 Volt) und UNO/NANO (5,0 Volt) auszugleichen.

Funktionsumfang:

  • WLAN-Interface (integriert)
  • LAN-Interface (W5100)
  • S88N
  • interner Booster
  • externer Booster (ROCO oder CDE)
  • global RailCom Detector
  • XpressNet (Co-Prozessor)
  • LocoNet (Co-Prozessor)

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) Co-Prozessor I2C
GPIO22 (SCL) Co-Prozessor I2C
GPIO17 Enable Co-Prozessor LOW = Data to Send
GPIO?? (RX) RailCom Detector RX Serial
GPIO19 (MISO) Ethernet-Shield W5100/W5500
GPIO23 (MOSI) Ethernet-Shield W5100/W5500
GPIO5 (CS) Ethernet-Shield W5100/W5500
GPIO18 (CLK) Ethernet-Shield W5100/W5500
 ?? (RST) Ethernet-Shield W5100/W5500
GPIO2 DCC HIGH/LOW
GPIO16 DCC S88/LocoNet output
 ?? 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

Pinbelegung Co-Prozessor (UNO/NANO)

Hier eine Auflistung der Pinbelegung für den ATmega328p im Sketch "Arduino Z21 Zentrale-CO"

Arduino Pin MCU Pin Funktion aktiv Pegel (HIGH/LOW)
0 2 PD0(RXD) XpressNet_RX [oder WLAN_RX] Serial
1 3 PD1(TXD) XpressNet_TX [oder WLAN_TX] Serial
7 13 PD7(AIN1) LocoNet_TX (out) HIGH
8 14 PB0(ICP) LocoNet_RX (in) HIGH/LOW
9 15 PB1(OC1A) XpressNet_S/R HIGH/LOW
A3 26 PC3(ADC3) EN - DataReadyToSend LOW
A4 27 PC4(ADC4/SDA) Master-Prozessor I2C
A5 28 PC5(ADC5/SCL) Master-Prozessor I2C