Z21 Arduino Zentrale (ESP32): Unterschied zwischen den Versionen
Zeile 8: | Zeile 8: | ||
[[Datei:ESP32_Pinout.jpg|thumb|200px|ESP32 Anschlussbelegung]] | [[Datei:ESP32_Pinout.jpg|thumb|200px|ESP32 Anschlussbelegung]] | ||
<!-- [[Datei:Z21pg_ESP_Aufbau.jpg|thumb|200px|Schematischer Aufbau ESP32 Zentrale]] --> | <!-- [[Datei:Z21pg_ESP_Aufbau.jpg|thumb|200px|Schematischer Aufbau ESP32 Zentrale]] --> | ||
− | Um die Zentrale zukunftssicher zu gestalten | + | 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:''' | '''Funktionsumfang:''' | ||
+ | :* DCC Ausgang nach NMRA (Timer3) | ||
:* WLAN-Interface (integriert) | :* WLAN-Interface (integriert) | ||
:* <s>LAN-Interface (W5100)</s> | :* <s>LAN-Interface (W5100)</s> | ||
Zeile 18: | Zeile 20: | ||
:* global RailCom Detector | :* global RailCom Detector | ||
:* [[XpressNet]] (Software-Serial RS485) | :* [[XpressNet]] (Software-Serial RS485) | ||
− | :* [[Loconet|LocoNet]] | + | :* [[Loconet|LocoNet]] (Timer1) |
== Pinbelegung ESP32 == | == Pinbelegung ESP32 == |
Version vom 21. März 2021, 08:48 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 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:
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)