Z21 Arduino Zentrale (ESP32): Unterschied zwischen den Versionen
Zeile 42: | Zeile 42: | ||
| GPIO23 (MOSI) || Ethernet-Shield || W5100/W5500 | | GPIO23 (MOSI) || Ethernet-Shield || W5100/W5500 | ||
|- | |- | ||
− | | | + | | GPIO5 (CS) || Ethernet-Shield || W5100/W5500 |
|- | |- | ||
| GPIO18 (CLK) || Ethernet-Shield || W5100/W5500 | | GPIO18 (CLK) || Ethernet-Shield || W5100/W5500 | ||
|- | |- | ||
− | | | + | | ?? (RST) || Ethernet-Shield || W5100/W5500 |
|- | |- | ||
| ?? || DCC || HIGH/LOW | | ?? || DCC || HIGH/LOW |
Version vom 19. Dezember 2020, 21:21 Uhr
Eigenbau |
Zentrale Z21PG |
Z21 mobile |
XpressNet |
LocoNet |
Booster
Arduino UNO Version | Arduino MEGA Version | ESP8266 (WeMos D1 mini) Version | ESP32 Version | Sanguino Version
Preview: IN DER ENTWICKLUNG - STILL UNDER DEVELOPMENT!
Beschreibung
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:
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 |
GPIO36 | Enable Co-Prozessor | LOW = Data to Send |
GPIO16 (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 |
?? | DCC | HIGH/LOW |
GPIO17 | DCC S88/LocoNet | output |
?? | NDCC (Booster intern) | output |
?? | SHORT (Booster extern) | LOW |
?? | GO/STOP (Booster extern) | HIGH |
?? | Taster/Reset | LOW |
?? | 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 |