Z21 Arduino Zentrale (ESP32): Unterschied zwischen den Versionen
Zeile 22: | Zeile 22: | ||
:* [[Loconet|LocoNet]] für ESP32 (LocoNet2) | :* [[Loconet|LocoNet]] für ESP32 (LocoNet2) | ||
:* Temperatursensor Dallas DS18B20 | :* Temperatursensor Dallas DS18B20 | ||
+ | |||
+ | Erste lauffähige Umsetzung ist ab der v4.91 integriert. Leider sind immer noch kleinere Probleme gerade mit den Schreiben von Werten im EEPROM vorhanden, aber die Grundfunktion sind bereits Lauffähig. Erste Test wurden als unter dem Einsatz als abgespekte Zentrale vollzogen. Zusätzlich wurde ein erfolgreicher Client Test am LocoNet durchgeführt. So kann mit nur einem simplen LocoNet Interface am ESP32 ein Adapter für zum Beispiel eine IntelliBox zur Verwendung der Z21 App aufgebaut werden. | ||
== Pinbelegung ESP32 == | == Pinbelegung ESP32 == |
Version vom 20. Mai 2021, 14:28 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:
- DCC Ausgang mit RailCom nach NMRA (Timer3)
- WLAN-Interface (integriert)
LAN-Interface (W5100)- S88N
- interner Booster (TLE5206 oder L6203)
- externer Booster (ROCO oder CDE)
- global RailCom Detector
XpressNet (Software-Serial RS485)(vorerst keine Realisierung)- LocoNet für ESP32 (LocoNet2)
- Temperatursensor Dallas DS18B20
Erste lauffähige Umsetzung ist ab der v4.91 integriert. Leider sind immer noch kleinere Probleme gerade mit den Schreiben von Werten im EEPROM vorhanden, aber die Grundfunktion sind bereits Lauffähig. Erste Test wurden als unter dem Einsatz als abgespekte Zentrale vollzogen. Zusätzlich wurde ein erfolgreicher Client Test am LocoNet durchgeführt. So kann mit nur einem simplen LocoNet Interface am ESP32 ein Adapter für zum Beispiel eine IntelliBox zur Verwendung der Z21 App aufgebaut werden.
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 (RX2) | RailCom Detector RX | Serial |
GPIO19 (MISO) | XpressNet TX | Software Serial |
GPIO23 (MOSI) | XpressNet S+R | output |
GPIO18 (CLK) | XpressNet RX | Software Serial |
GPIO ?? | LocoNet RX | input |
GPIO ?? | LocoNet TX | output |
GPIO2 | DCC | HIGH/LOW |
GPIO17(TX2) | 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 |
GPIO13 | S88 Data in | input |
GPIO12 | S88 Clock | output |
GPIO14 | S88 PS/Load | output |
GPIO17 | S88 Reset | output |
?? | Relais Programmiergleis (PROG) | HIGH/LOW |
?? | Current Sensor | Programmiergleis (ACK) |
?? | Eingangsspannung | Main VCC <-> [100k]<-> Sence (A10) <-> [4,7k] <-> GND |
?? | interner Temperatur Sensor | Dallas DS18B20 |
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)