Zentrale Z21PG: Unterschied zwischen den Versionen

Aus Digital Modellbahn
 
(406 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Vorlage:Navigationsleiste Zentrale}}
 
{{Vorlage:Navigationsleiste Zentrale}}
 
{{Vorlage:Navigationsleiste_Zentrale_Versionen}}
 
{{Vorlage:Navigationsleiste_Zentrale_Versionen}}
 +
<languages/>
 +
<translate>
 +
<!--T:67-->
 
{| style="text-align:right" align="right"
 
{| style="text-align:right" align="right"
 
|-
 
|-
 
| [[Datei:Z21_logo.png|120px|link=Z21_mobile]]  
 
| [[Datei:Z21_logo.png|120px|link=Z21_mobile]]  
 
|-  
 
|-  
| [[Datei:dcc_logo.jpg|80px|link=DCC_Dekoder]][[Datei:XpressNet_logo.jpg|80px|link=XpressNet]][[Datei:loconet_logo.jpg|80px|link=Loconet]][[Datei:S88-N_logo.jpg|80px|link=Rückmeldung]]
+
| [[Datei:dcc_logo.jpg|80px|link=DCC_Dekoder]]
 +
|-
 +
| [[Datei:railcom_logo.gif|140px|link=Railcom]]
 +
|-
 +
| [[Datei:XpressNet_logo.jpg|80px|link=XpressNet]]
 +
|-
 +
| [[Datei:loconet_logo.jpg|80px|link=Loconet]]
 +
|-
 +
| [[Datei:S88-N_logo.jpg|80px|link=Rückmeldung]]
 
|}
 
|}
== Grundlage ==
+
 
 +
== Grundlage == <!--T:2-->
 +
 
 +
<!--T:3-->
 
[[File:DCC_Zentrale_Box.JPG|thumb|180px|Zentrale in Eurobox]]
 
[[File:DCC_Zentrale_Box.JPG|thumb|180px|Zentrale in Eurobox]]
[[File:DCC_Zentrale.JPG|thumb|Modellbahn DCC Zentrale mit Netzwerk, XpressNet und LocoNet Anschluss]]
+
[[File:DCC_Zentrale.JPG|thumb|Prototyp Aufbau DCC Zentrale mit Netzwerk, XpressNet und LocoNet Anschluss]]
 
[[File:Z21_Zentrale_wiring.jpg|thumb|Anschlüsse der Z21 DCC Zentrale]]
 
[[File:Z21_Zentrale_wiring.jpg|thumb|Anschlüsse der Z21 DCC Zentrale]]
Die komfortable aber sehr teure Modellbahnsteuerung  [http://www.z21.eu/ Z21 von Roco] und der genutzte [[XpressNet]]-Bus brachte mich auf die Idee, eine eigene Zentrale zu entwickeln.  
+
Die komfortable aber sehr teure Modellbahnsteuerung  [http://www.z21.eu/ Z21 von Roco] und der genutzte [[Special:MyLanguage/XpressNet|XpressNet]]-Bus brachte mich auf die Idee, eine eigene Zentrale zu entwickeln.  
Im Mittelpunkt dieser Idee, stand die Absicht, die dort eingebrachte umfangreiche  Hardware zu reduzieren bzw. durch Software zu ersetzen. Die Eigenbauzentrale sollte auch ein Netzwerk Interface (für APP und PC), XpressNet, S88 und LocoNet Bus bereitstellen. <br>
+
Im Mittelpunkt dieser Idee, stand die Absicht, die dort eingebrachte umfangreiche  Hardware zu reduzieren bzw. durch Software zu ersetzen. Die Eigenbauzentrale sollte auch ein Netzwerk Interface (für APP und PC), [[Special:MyLanguage/XpressNet|XpressNet]], [[Special:MyLanguage/S88N|S88]] und [[Special:MyLanguage/Loconet|LocoNet]] Bus bereitstellen. <br/>
Hier wird der Aufbau einer Z21 DCC Digitalzentrale auf Basis eines [[Arduino]] ([http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560 Arduino MEGA] über [http://www.aliexpress.com/af/Arduino-Mega.html AliExpress] ab 7,30 Euro) zur Steuerung der Modellbahn über das Z21 LAN Protokoll beschrieben. Auf den Arduino MEGA wird in der Grundversion dazu ein [http://arduino.cc/en/Main/ArduinoEthernetShield Ethernet Shield] mit dem W5100 Chip (bei [http://www.aliexpress.com/af/Arduino-ethernet-shield-w5100.html AliExpress] ab 4,80 Euro), aufgesetzt. Mit diesem Ethernet Shield, kann der Arduino MEGA in ein bestehendes Netzwerk integriert werden und über einen Router mit WLAN mit [[Z21 mobile | Handreglern]] oder der [[Z21_mobile#Z21_Anwendungen |Computersoftware]] zum Beispiel [[Rocrail]] kommunizieren.
+
Hier wird der Aufbau einer [http://www.z21.eu/ Z21 DCC Digitalzentrale] auf Basis eines [[Special:MyLanguage/Arduino|Arduino]] ([http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560 Arduino MEGA] über [http://www.aliexpress.com/af/Arduino-Mega.html AliExpress] ab 7,30 Euro) zur Steuerung der Modellbahn über das Z21 LAN Protokoll beschrieben. Auf den Arduino MEGA wird in der Grundversion dazu ein [http://arduino.cc/en/Main/ArduinoEthernetShield Ethernet Shield] mit dem W5100 Chip (bei [http://www.aliexpress.com/af/Arduino-ethernet-shield-w5100.html AliExpress] ab 4,80 Euro), aufgesetzt. Mit diesem Ethernet Shield, kann der Arduino MEGA in ein bestehendes Netzwerk integriert werden und über einen Router mit WLAN mit [[Special:MyLanguage/Z21 mobile | Handreglern]] oder der [[Special:MyLanguage/Z21_mobile#Z21_Anwendungen |Computersoftware]] zum Beispiel [[Special:MyLanguage/Rocrail|Rocrail]] kommunizieren.
Durch Erweiterungen lässt sich zum Beispiel ein WLAN AP/Client mittels ESP6288 in die Zentrale integrieren.
+
Durch Erweiterungen lässt sich zum Beispiel ein WLAN AP/Client mittels [[Special:MyLanguage/Arduino#Hardware|ESP8266]] in die Zentrale integrieren.
  
== Funktionsumfang ==
+
== Funktionsumfang == <!--T:4-->
  
:* Kommunikation via Ethernet über "[[Z21 mobile|Z21 LAN Protokoll]]" von ROCO/Fleischmann, mit mehr als nur [http://www.z21.eu/FAQ-Support/FAQ#1213 zehn "Endgeräten"]!
+
<!--T:5-->
::=> [https://www.arduino.cc/en/pmwiki.php?n=Main/ArduinoEthernetShield Ethernet Interface] <!--(SPI ClientSelect (CS) des W5100 über Pin D10). -->
+
:* Kommunikation via Ethernet über "[[Special:MyLanguage/Z21 mobile|Z21 LAN Protokoll]]" von [http://www.z21.eu ROCO/Fleischmann]. Anbindung von allen [https://www.z21.eu/de/produkte/z21/anschluesse-z21#52-1271 Steuerungsprogrammen], welche die [http://www.z21.eu Z21 von ROCO] untersützen. Als Z21 kabelloser Handregler kann die [https://www.roco.cc/de/product/235722-0-0-0-0-0-0-004001-0/products.html Roco 10813 WLAN-Multimaus], die [https://www.z21.eu/de/produkte/z21-app Z21 App] oder eine [[Z21_WLAN_MultiMaus#Z21_multiMAUS.C2.AE_mit_WLAN_aufr.C3.BCsten | MultiMaus kabellos]] umgebaut genutzt werden.
::=> [http://esp8266-server.de/ WLAN Interface] (Accesspoint- und/oder Client-Betrieb)
+
:::* [https://www.arduino.cc/en/pmwiki.php?n=Main/ArduinoEthernetShield Z21 Ethernet Interface] <!--(SPI ClientSelect (CS) des W5100 über Pin D10). -->
:* NMRA-DCC-Standard mit CV Programmierung (kein CV read, kein POM), 29 Lokfunktionen (Licht F0, F1 bis F28) und 2048 Weichen.<ref name="DCC">Das Motorola Format (MM) wird nicht unterstützt.</ref>  
+
:::* [[Zentrale#WiFi_.28WLAN_Add-On.29 | Z21 WLAN Interface]] (Accesspoint- und/oder Client-Betrieb)
::=> DCC Booster Ausgang für ROCO 10761/10764 Digitalverstärker mit optionaler Kehrschleifenfunktion
+
:::* Ausgabe der Temperatur, Gleisspannung und Stromaufnahme in Rocrail/Z21 App
::=> integrierter DCC Booster bis 5A (TLE5205 Treiber)
+
:* [http://www.nmra.org/dcc-working-group NMRA-DCC-Standard], <ref name="DCC">Das Motorola Format (MM) wird nicht unterstützt!</ref>
:* S88N<ref> S88N Untersützung von bis zu 62x Modulen mit je 8 Ports und Raildata (DCC-Signal) .</ref> Rückmeldebus ([[Lok_Rückmeldung|Arduino Simpel S88 Interface]])  
+
:::* <del>29x</del> <span style="color:red">32767x</span> Funktionen (Licht F0, F1 bis <del>F28</del> <span style="color:red">[NEU v4.97: F68]</span>) steuerbar, <span style="color:red">NEU v4.97: mittels Binary State bis F32767</span> [http://normen.railcommunity.de/RCN-212.pdf (RCN-212)]
:* [[XpressNet|XpressNet]]<ref>bis zu 31 Endgeräte (Roco LokMaus2, Roco MultiMaus) können am XpressNet angeschlossen werden.</ref> Version 3.6
+
:::* bis zu 2048 Weichen schalten, <span style="color:red">NEU v4.97: DCCext nach [http://normen.railcommunity.de/RCN-213.pdf RCN-213 (Abschnitt 2.3)]</span>
:* [[Loconet|LocoNet]]<ref>Support F0 bis F8</ref>  mit Slot-Management für [[FredI |FRED]] oder DAISY Handregler
+
:::* externer Booster Ausgang für ROCO 10761/10764 Digitalverstärker oder CDE-Anschluss
::=> LocoNet-Client Mode (Slot-Server abschaltbar) für den Anschluss an der Intellibox
+
:::* integrierter DCC Booster mit RailCom® Cutout (beliebiger H-Brückentreiber [L6206N, L298n] mit Kurzschlusserkennung über ACK-Sense)
:* [[DCC#Hardware|DCC-Input]] Anschluss einer "Fremdzentrale" (nur für Arduino MEGA)
+
:::* [[Special:MyLanguage/Railcom|RailCom® Cutout]] über Z21 mobile App Einstellungen de/-aktivierbar
:* Extra: [[Zentrale#Software_Download | Softwareupdate & eigene Anpassungen über Upload des Sketch mittels Arduino IDE.]]
+
:::* CV lesen und schreiben Bit-/Byte Mode am Programmiergleisausgang nach [http://normen.railcommunity.de/RCN-216.pdf RCN-216]
 +
:::* CV lesen und schreiben mittels POM am Hauptgleis mittels globalem [[Special:MyLanguage/Railcom|RailCom® Detector]] (nur für Arduino MEGA) nach [http://normen.railcommunity.de/RCN-217.pdf RCN-217]
 +
:::* Standard Fahrstufen im Sketch auswählbar (14/28/128)
 +
:* S88N<ref> S88N Unterstützung von bis zu 62x Modulen mit je 8 Ports und Raildata (DCC-Signal) .</ref> Rückmeldebus ([[Special:MyLanguage/S88_USB-Interface|Arduino Simpel S88 Interface]])  
 +
::* kontinuierliches DCC Signal am S88N
 +
:* [[Special:MyLanguage/XpressNet|XpressNet]]<ref>Bis zu 31 Endgeräte (Roco LokMaus2, Roco MultiMaus) können am XpressNet angeschlossen werden.</ref> mit Version 3.6 (Lenz)
 +
::* schnellere Abfrage von Clients und CV lesen/schreiben
 +
::* Automatische Umschaltung zwischen Master (Zentrale) und Slave (Endgerät)
 +
:* [[Special:MyLanguage/Loconet|LocoNet®]]<ref>Support F0 bis F28</ref>  mit Slot-Management für [[Special:MyLanguage/FredI |FRED]] oder DAISY Handregler
 +
:::* Support für F9 bis F28 von Uhlenbrock
 +
:::* LocoNet-Client Mode (Slot-Server abschaltbar) für den Anschluss an der Intellibox
 +
:::* Programmierung von LocoNet LNCV über die Z21 mobile APP
 +
:::* LocoNet Booster Interface (LocoNet B)
 +
:::* LocoNet Fahrtrichtung invertiert für Client-Mode an Intellibox
 +
:* <del>[[Special:MyLanguage/DCC#Hardware|DCC-Input]] Anschluss einer "Fremdzentrale" (nur für Arduino MEGA)</del>
 +
:* <span style="color:red">NEU:</span> OLED I2C Display SSD1306 oder SH110X zur Anzeige von Systemdaten (Support ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.95]])
 +
:* OTA Sketch Upload für ESP Hardware
 +
:* Extra: [[Special:MyLanguage/Zentrale#Software_Download | Softwareupdate & eigene Anpassungen über Upload des Sketch mittels Arduino IDE.]]
  
=== ''geplante Erweiterungen:'' ===
+
===Notes=== <!--T:8-->
:*Programmierung von LocoNet LNCV Variablen über die Z21 mobile APP, ab v4.52 möglich
 
<!--:*''[[media:DCC-Prog_Booster.png | separater Programmierausgang mit ACK - Schreiben und Lesen von Konfigurationsvariablen (CV)]] - ([http://sourceforge.net/projects/pgahtow/files/Booster/Prog-Booster/Prog-Booster.sch/download Eagle])-->
 
<!--:*''Stromsensor ACS712t für integrierten Booster - Auslesen der Gleisbelastung''-->
 
:*''[[Booster#Railcom|RailCom® Cutout]]''
 
:*''[[Booster#Railcom|RailCom® Detector]]''
 
:*''LocoNet-Interface Support für F9 bis F12.
 
<!--:*''Vielleicht'': [http://de.aliexpress.com/item/3-5-inch-LCD-screen-HMI-USART-module-3-5-inch-screen-with-intelligent-serial-serial/32602862294.html?spm=2114.010208.3.28.7OvH50&ws_ab_test=searchweb201556_2,searchweb201644_1_505_506_503_504_301_502_10001_10002_10016_10017_10010_10005_10011_10006_10003_10004_10009_10008,searchweb201560_2,searchweb1451318400_-1,searchweb1451318411_6449&btsid=daec4971-95eb-4e2f-98f1-d12c9eb906c4 Nextion UART 3,5" TFT Touchscreen in der Zentrale zum Steuern und Programmieren?]-->
 
  
===Notes===
+
<!--T:9-->
<references />
+
Informationen und Austausch zum Aufbau finden sich im [https://www.stummiforum.de/topic.php?forum=7&id=155901&goto=lastmsg Stummis Modellbahnforum].
  
== [http://sourceforge.net/p/pgahtow/f944/tickets bekannte Bugs] ==
+
== [http://sourceforge.net/p/pgahtow/f944/tickets bekannte Bugs] == <!--T:10-->
Da dieses Projekt eine persönliche Entwicklung von mir ist bleibt es nicht aus das einige Protokolle nicht 100%tig unterstützt, oder mit kleineren Ungenauigkeiten Implementiert wurden. Hier eine Auflistung der bekannten Probleme:
 
:* (gelöst, v4.51) Abbruch der Kommunikation ab TrainController Version 8 F2 - Anpassung am Z21 Protokoll in Arbeit.--PG 15:39, 15. Mär. 2016 (CET)
 
<!--:* keine Kommunikation zwischen [http://wiki.rocrail.net/doku.php?id=gca51-de LocoNet GCA51] und Rocrail.-->
 
:* Synchronisation Zentrale - XpressNet: aktive Funktionen und Fahrtrichtung wird nicht an die Roco MultiMaus übertragen und auf dem Display dargestellt.
 
:* Probleme bei der XpressNet Kommunikation mit Lenz Hardware LH100 und LH01.
 
:* LocoNet Interface steuert nur Funktionen F0 bis F8
 
  
Gerne nehme ich Anregungen und Probleme auf: [http://sourceforge.net/p/pgahtow/f944/tickets/new/ TICKET erstellen].
+
<!--T:11-->
 +
Da dieses Projekt eine persönliche Entwicklung von mir ist bleibt es nicht aus das einige Protokolle nicht 100%tig unterstützt, oder mit kleineren Ungenauigkeiten Implementiert wurden. Hier eine Auflistung der bekannten Bugs:
 +
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.96]]) ab v4.91 bei aktivem ''DALLASTEMPSENSE'' werden "flasche Daten" auf dem S88N und DCC Interface erzeugt.
 +
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.96]]) keine DCC Ausgabe in v4.92 bei der Verwendung des ESP32 als Zentrale
 +
:*  (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.96]]) ab v4.95 inkorrekt Übermittlung an APP und Display der Stromaufnahme am Gleis (nur Darstellung in mA).
 +
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.96]]) ab v4.94 Probleme bei der Kommunikation (alle Systeme) - XpressNet schaltet ohne erkennbaren Grund auf Client-Mode um.
 +
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.94]]) Z21 LocoNet From LAN (0xA2) funktioniert nicht, daher keine Kommunikation mit JMRI DecoderPro möglich.
 +
:*  (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.89]]) Keine Statusanzeige von LocoNet Belegmeldern in der Z21-App auf mobilen Geräten.
 +
:*  (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.88]]) Nicht korrekte Initialisierung von EEPROM-Werten beim allerersten Aufspielen der Software.
 +
:*  (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.86]]) Aufhängen der Zentrale beim öffenen des Stellpult mit der Android Z21 App. (Stellpult Bug)
 +
:*  (gelöst, ab [[Special:MyLanguage/XpressNet#XpressNet_Master|XpressNetMaster Libary v2.9.0]]) Beim CV lesen am XpressNet hängt sich die Multimaus auf.  
  
==Hardware==
+
<!--T:12-->
Die Arduino Z21 DCC Zentrale erzeugt mithilfe der [[DCC|DCCInterface Library]] und dem Timer1/Timer2 (wählbar) ein DCC-Signal. Die Zentrale unterstützt je nach gewünschtem Funktionsumfang verschiedene Protokolle. Jedes dieser Protokolle benötigt um mit der Zentrale kommunizieren zu können ein eigenes Interface. Außerdem muss das jeweilige Protokoll im Sketch aktiviert werden (Durch ''"//"'' vor dem <code>#define</code> oder <code>#include</code> wird das jeweilige Protokoll deaktiviert!).
+
Gerne nehme ich Anregungen und Probleme auf: [mailto:digitalmoba@arcor.de Email] oder diese können auch im [https://www.stummiforum.de/viewtopic.php?t=155901 Stummis Modellbahnforum] diskutiert werden.
  
===<u>LAN Interface</u>===
+
==Hardware==
Das LAN-Interface kann mittels ''"#define LAN"'' im Sketch aktiviert werden. Es stellt die Kommunikation der [[Z21_mobile|Z21 Protokoll Library]] über das Kabelgebundene W5100 Arduino Shield bereit. Die IP-Adresse um das LAN-Interface zu erreichen ist Standardmäßig auf 192.168.0.111 eingestellt und wird nicht über DHCP bezogen. Über das Webinterface kann die IP-Adresse geändert werden. Das Webinterface muss dafür im Sketch mittels <code>#define HTTPCONF"</code> aktiviert sein. Ein Reset der IP-Adresse kann beim Einschalten der Zentrale (Betriebsspannung) und gleichzeitigem Drücken des Power On/Off Taster durchgeführt werden (DCC LED blinkt schnell, solange der Taster gerückt wird).
+
<!--T:14-->
 +
Die Arduino Z21 DCC Zentrale erzeugt mithilfe der [[Special:MyLanguage/DCC|DCCInterface Library]] und dem Timer1/Timer2 (wählbar) ein DCC-Signal. Die Zentrale unterstützt je nach gewünschtem Funktionsumfang verschiedene Protokolle. Jedes dieser Protokolle benötigt um mit der Zentrale kommunizieren zu können ein eigenes Interface. Außerdem muss das jeweilige Protokoll im Sketch in der „config.h“ aktiviert werden (Durch ''"//"'' vor dem <code>#define</code> oder <code>#include</code> wird das jeweilige Protokoll deaktiviert!).
  
===<u>DCC Input Interface</u>===
+
===<u>LAN Interface</u>=== <!--T:15-->
Mit Hilfe des [[DCC_Dekoder|DCC Fremdeingang]] wird der DCC Datenstrom einer angeschlossenen DCC Zentrale mit in das eigene DCC-Signal integriert. Hierbei erfolgt keine Rückkommunikation zu der externen Zentrale. Der Anschluss kann verwendet werden um zum Beispiel eine Piko Fern / Digi 1 (55019) zu nutzen. Da kein Timer zur Dekodierung notwendig ist läuft ist diese Integration unter allen Zentralen-MCUs möglich. Um das DCC-Interface zu verwenden, muss dies mittels <code>#define DECODER</code> im Sketch aktiviert werden.
 
  
===<u>XpressNet Interface mit Booster Support (externer Booster)</u>===
+
<!--T:16-->
 +
Das LAN-Interface kann mittels ''"#define LAN"'' im Sketch aktiviert werden. Es stellt die Kommunikation der [[Special:MyLanguage/Z21_mobile|Z21 Protokoll Library]] über das Kabel gebundene W5100 Arduino Shield bereit. Die IP-Adresse um das LAN-Interface zu erreichen ist Standardmäßig fest auf 192.168.0.111/24 eingestellt und wird nicht automatisch über DHCP bezogen. '''NUR''' über das Webinterface (Webseite) kann die IP-Adresse geändert werden. Das Webinterface muss dafür im Sketch mittels <code>#define HTTPCONF"</code> aktiviert sein und der Client muss sich im entsprechenden Netzwerkbereich befinden! Ein Reset der IP-Adresse kann beim Einschalten der Zentrale (Betriebsspannung) und gleichzeitigem Drücken des Power On/Off Taster durchgeführt werden (DCC LED blinkt schnell, solange der Taster gerückt wird).
 +
Bei der Verwendung am Arduino UNO mit WLAN über Software Serial,
 +
kann das LAN-Interface nicht aktiviert werden!
 +
 
 +
<!--T:72-->
 +
Wenn nach dem Einschalten der Zentrale keine Verbindung über die Ethernet-Schnittstelle (W5100) möglich ist und diese nach dem Drücken von RESET auf dem LAN Interface sich aufbaut, dann muss ein 1uF Kondensator, C- nach GND 0V, C+ nach RESET auf dem Shield installiert werden. Das LAN W5100 Board ist dann immer direkt nach Power on (ohne Betätigung der Reset Taste) erreichbar.
 +
 
 +
===<u>DCC Input Interface</u>=== <!--T:17-->
 +
 
 +
<!--T:18-->
 +
Mit Hilfe des [[Special:MyLanguage/DCC_Dekoder|DCC Fremdeingang]] wird der DCC Datenstrom einer angeschlossenen DCC Zentrale mit in das eigene DCC Signal integriert. Hierbei erfolgt keine Rückkommunikation zu der externen Zentrale. Der Anschluss kann verwendet werden um zum Beispiel eine Piko Fern / Digi 1 (55019) zu nutzen. Da kein Timer zur Dekodierung notwendig ist läuft ist diese Integration unter allen Zentralen-MCUs möglich. Um das DCC-Interface zu verwenden, muss dies mittels <code>#define DECODER</code> im Sketch aktiviert werden. <br />
 +
 
 +
<!--T:68-->
 +
'''''Wird in den aktuellen Versionen nicht mehr unterstützt!'''''
 +
 
 +
===<u>XpressNet Interface mit Booster Support (externer Booster)</u>=== <!--T:19-->
 +
 
 +
<!--T:20-->
 
[[Datei:Arduino_ROCO_Booster.png|thumb|160px|Arduino XNet Booster Interface ([https://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Zentrale_for_ROCO_Booster_10761.sch Eagle])]]
 
[[Datei:Arduino_ROCO_Booster.png|thumb|160px|Arduino XNet Booster Interface ([https://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Zentrale_for_ROCO_Booster_10761.sch Eagle])]]
  
Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder Freischmann Digitalverstärker 680801 bereits vorhanden ist, kann dieser als externer Booster genutzt werden. Dafür reicht ein XpressNet-Interface ohne die Funktionalität des MAX485 aus. Die dafür notwendige Kurzschlusserkennung ist in der Software der Zentrale integriert. Im Sketch muss der externe Booster aktiviert werden: <br>
+
<!--T:21-->
<code>#define BOOSTER_EXT <br> #define BOOSTER_EXT_ON HIGH <br> #define BOOSTER_EXT_OFF LOW </code>
+
Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder Freischmann Digitalverstärker 680801 bereits vorhanden ist, kann dieser als externer Booster genutzt werden. Dafür reicht ein XpressNet-Interface ohne die Funktionalität des MAX485 aus. Die dafür notwendige Kurzschlusserkennung ist in der Software der Zentrale integriert. Im Sketch muss der externe Booster aktiviert werden: <br />
 +
<code>#define BOOSTER_EXT </code>
  
 +
<!--T:22-->
 
Um eine Kommunikation mit der Lokmaus2 oder Multimaus herzustellen, ist ein XpressNet-Interface mit dem MAX485-Treiber notwendig. Die Z21 Zentrale arbeitet dann wie ein XpressNet Master für die LokMaus2 oder MultiMaus. Es können dabei bis zu 31 XpressNet Slaves (Clients) an die Arduino Z21 DCC Zentrale angeschlossen werden.  
 
Um eine Kommunikation mit der Lokmaus2 oder Multimaus herzustellen, ist ein XpressNet-Interface mit dem MAX485-Treiber notwendig. Die Z21 Zentrale arbeitet dann wie ein XpressNet Master für die LokMaus2 oder MultiMaus. Es können dabei bis zu 31 XpressNet Slaves (Clients) an die Arduino Z21 DCC Zentrale angeschlossen werden.  
  
Aktivierung des XpressNet-Interface im Sketch mittels: <br>
+
<!--T:23-->
<code>#define XPRESSNET <br> #include <XpressNetMaster.h> </code>
+
Aktivierung des XpressNet-Interface im Sketch mittels: <br />
 +
<code>#define XPRESSNET </code>
  
In der rechts dargestellten Schaltung ist der Aufbau der DCC-Ansteuerung des ROCO Boosters 10761 und das XpressNet-Interface dargestellt. Am XpressNet-Interface sind möglicherweise noch zusätzliche Pull Up/Down und/oder eine XpressNet Bus-Terminierung an der Leitung A und B notwendig ([[XpressNet#Hardware|siehe XpressNet Hardware]]).
+
<!--T:24-->
 +
In der rechts dargestellten Schaltung ist der Aufbau der DCC Ansteuerung des ROCO Boosters 10761 und das XpressNet-Interface dargestellt. Am XpressNet-Interface sind möglicherweise noch zusätzliche Pull Up/Down und/oder eine XpressNet Bus-Terminierung an der Leitung A und B notwendig ([[Special:MyLanguage/XpressNet#Hardware|siehe XpressNet Hardware]]).
  
===<u>LocoNet</u>===
+
<!--T:75-->
 +
Das XpressNet Interface untersützt die automatische Umschaltung zwischen Master und Slave Betrieb. Daher ist es möglich eine Koppelung über XpressNet mit einer vorhanden Zentrale herzustellen um die Z21 Funktionalitäten per Ethernet oder WLAN an dieser nutzen zu können.
 +
 
 +
===<u>LocoNet-T (Throttle)</u>=== <!--T:25-->
 +
 
 +
<!--T:26-->
 
[[Datei:Arduino_LocoNet_Master.png|thumb|160px|Arduino LocoNet Master und S88N Interface ([https://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Zentrale_LocoNet_Master.sch Eagle])]]
 
[[Datei:Arduino_LocoNet_Master.png|thumb|160px|Arduino LocoNet Master und S88N Interface ([https://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Zentrale_LocoNet_Master.sch Eagle])]]
Durch die Integration eines LocoNet-Interface ist es möglich die Arduino Z21 Zentrale mit der Intellibox zu verbinden oder mit LocoNet-Handregler wie den [[FredI|Fred]] zu nutzen.  Um den Fred nutzen zu können muss in der Software der notwendige LocoNet Slot-Server aktiviert werden, dann ist ein Anschluss an der Intellibox (welche bereits einen Slot-Server integriert hat) nicht mehr möglich. Die [[Loconet|LocoNet Library]] nutzt zur Signalerzeugung im Arduino UNO den Timer 1 und im Arduino MEGA den Timer 5. Aktiviert wird das LocoNet-Interface mittels: <br>
+
Durch die Integration eines LocoNet-Interface ist es möglich die Arduino Z21 Zentrale mit der Intellibox zu verbinden oder mit LocoNet-Handregler wie den [[Special:MyLanguage/FredI|Fred]] zu nutzen.  Um den Fred nutzen zu können muss in der Software der notwendige LocoNet Slot-Server aktiviert werden, dann ist ein Anschluss an der Intellibox (welche bereits einen Slot-Server integriert hat) nicht mehr möglich. Die [[Special:MyLanguage/Loconet|LocoNet Library]] nutzt zur Signalerzeugung im Arduino UNO den Timer 1 und im Arduino MEGA den Timer 5. Aktiviert wird das LocoNet-Interface mittels: <br />
<code>#define LOCONET <br> #include <LocoNet.h> </code> <br>
+
<code>#define LOCONET <br /> #include <LocoNet.h> </code> <br />
Der Slot-Server kann mittels <code>#define LnSLOTSRV </code> zugeschaltet werden. Sollen alle Lokinformationen im LocoNet (auch ohne Anfragen) übermittelt werden, muss <code> #define TXAllLokInfoOnLN true </code> gesetzt werden. Dies kann sinnvoll sein, wenn eine Steuerungssoftware über LocoNet mit der Zentrale kommuniziert. <br>
+
Der Slot-Server kann mittels <code>#define LnSLOTSRV </code> zugeschaltet werden. Für den Betrieb als LocoNet Client muss der Slot-Server inaktiv sein. <br />
<u>Beachte:</u> Das LocoNet-Interface unterstützt derzeit nur die Funktionen F0 bis F8!  
+
Wenn der am Arduino vorhandene USB-Anschluss nicht für Debugging genutzt werden soll kann dieser auch zur Kommunikation als [[Arduino_Loconet_Buffer | LocoNet Buffer]] genutzt werden. Dieser läuft mit 57600 bps und kann mittels <code> #define LnBufferUSB </code> aktiviert werden. <br />
 +
<u>Beachte:</u> Das LocoNet-Interface unterstützt jetzt auch die Funktionen bis F28!
  
===<u>S88N</u>===
+
===<u>LocoNet-B (Booster)</u>=== <!--T:73-->
Rückmeldungen können mit dem S88N-Interface an die Steuersoftware weitergeleitet werden. Es werden bis zu 62 Rückmeldemodule mit 8 Eingängen unterstützt. Einstellungen zur Anzahl der abzufragenden Module lassen sich über die Webkonfiguration mittels LAN oder WLAN vornehmen. Aktiviert wird das S88-Interface mittels:<br>
+
[[Datei:Arduino_LocoNet-B_Beispiel.jpg|thumb|160px|Arduino LocoNet-B Anschluss]]
<code>#define S88N </code> <br>
+
Zum Anschluss eines LocoNet-Booster (Uhlenbrock 63240 Power 4 oder ähnliches) wird am LocoNet-Bus auf den Leitungen 1 und 6 (Raildata) ein DCC-Signal benötigt. Für die Erzeugung des Signals mit einem 12 Volt Pegel wird ein kleiner 1A H-Brückentreiber IXYS IXDF604PI in 8-Pin PDIP Bauform genutzt. Dieser wird angesteuert vom DCC-Signal (PIN 6) oder beim Arduino MEGA über den seperaten PIN 11, wo ein konstantes DCC-Signal ausgegeben wird. Dies kann direkt an IN A und IN B des IXYS angelegt werden. Die Signalisierung für das An- und Abschalten oder bei Kurzschuss des Booster erfolgt mittels LocoNet-Befehlen an die Zentrale.
<u>Hinweis:</u> Ab ca. 5 Modulen sollte ein [[Lok_Rückmeldung#HSI-S88N-USB_Interface_.28v1.02.29|Ausgangstreiber 74HC244]] für den S88 Bus verwendet werden.
 
  
===<u>interner Booster</u>===
+
<!--T:74-->
[[Datei:TLE5205-2_Booster.png|thumb|160px|TLE5205-2g Booster]]
+
<u>Hinweis:</u> Eine Unterstützung erfolgt ab Software v4.83! Die Anschaltung für den IXYS Brückentreiber ist auf der [https://pgahtow.de/w/Datei:Arduino_MEGA_Zentrale.png Z21PG Mega Version] unten links zu finden. Es kann auch jeder andere Brückentreiber verwendet werden.
Ein einfacher und sehr kostengünstiger [[Booster]] (z.B.: H-Brücke TLE5205) zur Verstärkung des DCC-Signal direkt in der Zentrale. Implementierung einer zweiten Kurzschlusserkennung für den internen Booster und die Erzeugung eines separaten GO/STOP Signal. Die Aktivierung im Sketch erfolgt mittels: <br>
 
<code>#define BOOSTER_INT <br> #define BOOSTER_INT_ON LOW <br> #define BOOSTER_INT_OFF HIGH </code> <br>
 
Genutzt wird dazu ein H-Brückentreiber TLE5205 oder der Baugleiche TLE5206-2 welcher bis zu 5A Ausgangsstrom liefern kann. Eine Beschreibung ist auch unter [[Booster#Booster3|Booster3]] zu finden. <br>
 
:'''Achtung:''' Im [http://pgahtow.sourceforge.net/wordpress/wp-content/uploads/2015/10/TLE5205.pdf Datenblatt] des TLE5205 ist eine falsche Logiktabelle abgebildet!
 
  
===<u>WiFi (WLAN Add-On)</u>===
+
===<u>S88N</u>=== <!--T:27-->
 +
[[File:S88_Singel_Master_schematic.png|thumb|160px|Arduino S88 Singel Master Schaltplan]]
 +
Rückmeldungen können mit dem S88N-Interface an die Steuersoftware weitergeleitet werden. Es werden bis zu 62 Rückmeldemodule mit 8 Eingängen unterstützt. Einstellungen zur Anzahl der abzufragenden Module lassen sich über die Webkonfiguration mittels LAN oder WLAN vornehmen. Aktiviert wird das S88-Interface mittels:<br />
 +
<code>#define S88N </code> <br />
 +
<u>Hinweis:</u> Ab ca. 5 Modulen sollte ein [[Special:MyLanguage/S88_USB-Interface#HSI-S88N-USB_Interface_.28v1.02.29|Ausgangstreiber 74HC244]] für den S88 Bus verwendet werden.
 +
 
 +
<!--T:76-->
 +
Da durch den Aufbau des S88-Bus eine "Verkettung" erzeugt wird, nimmt die Geschwindigkeit des Auslesens der Zustände ab, umso mehr Module genutzt werden. Da nicht immer eine komplette Kette mit 62 Rückmeldemodulen angeschlossen ist, sollte die Anzahl der maximal abzufragenden Module in der Software begrenzt werden. Dies erfolgt über das vom LAN- oder WiFi-Interface bereitgestellt Webinterface (Webseite).
 +
 
 +
===<u>interner Booster mit [[Special:MyLanguage/Railcom|Railcom]]</u>=== <!--T:29-->
 +
 
 +
<!--T:30-->
 +
[[Datei:TLE_Booster3R.png|thumb|160px|TLE Booster3R für Railcom ([http://sourceforge.net/projects/pgahtow/files/Booster/Version3/TLE%20Booster3R.sch Eagle])]]
 +
[[Datei:L6203_Booster.png|thumb|160px|Booster mit L6203 ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/zentrale_booster_L6203.sch Eagle])]]
 +
[[Datei:L298n_Booster_4A.png|thumb|160px|Booster mit L298n, 4A Leistung ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/zentrale_booster_L298n_4A.sch Eagle])]]
 +
Der interne Booster wird für den Anschluss eines Programmiergleis als auch für das Hauptgleis verwendet. Damit keine Programmiernachrichten auf das Hauptgleis gelangen ist dort ein Relais vorgeschaltet, welches bei der direkten Programmierung das Hauptgleis abschaltet.
 +
Die Aktivierung im Sketch erfolgt mittels: <br />
 +
<code>#define BOOSTER_INT </code> <br />
 +
 
 +
<!--T:31-->
 +
Ab der Softwareversion v4.70 ist es möglich [[Special:MyLanguage/Railcom|Railcom]] zu aktivieren. Um die für [[Special:MyLanguage/Railcom|Railcom]] notwendige Abtastlücke zu erzeugen, muss der interne Booster wie folgt angeschlossen werden. Für die Ansteuerung des Booster wird nun ab v4.70 auch das DCC Signal auf den GO/STOP2 Pin (Booster intern) negiert ausgegeben. Der Anschluss des internen Booster erfolgt damit so: "DCC = DCC1", DCC2 des Booster muss an GO/STOP2 (NDCC) angeschlossen werden.
 +
<br>
 +
Seit der Softwareversion v4.88 ist nun der Booster mit dem H-Brückentreiber L6203 als Standard definiert. Der zuvor genutzte TLE5206 ist leider nicht mehr lieferbar und musste deshalb ersetzt werden.
 +
 
 +
<!--T:32-->
 +
Soll eine Kurzschlusserkennung über den Messwiderstand (SENCE) erfolgen muss dies 'aktiviert' werden: <br />
 +
<code>#BOOSTER_INT_MAINCURRENT </code> <br />
 +
Gleichzeit wird dies zur Anzeige der Stromaufnahme zum Beispiel in Rocrail über einen Messwiderstand (SENCE) genutzt.
 +
<br />
 +
 
 +
<!--T:33-->
 +
Damit ist nun auch künftig möglich ist eine H-Brücke mit Kurzschlussdetection (zum Beispiel TLE5206-2 mit 5A) weiter zu nutzen kann der "SHORT2" über im Sketch mittels <Code>#define BOOSTER_INT_TLE5206</Code> aktiviert werden. Im anderen Fall kann der "SHORT2" auch für die Kurzschlusserkennung eines externen CDE-Booster genutzt werden, dies ist mittels <Code>#define BOOSTER_EXT_CDE</Code> zu aktivieren.
 +
[[Datei:Z21_globalRailComDetector.png|thumb|left|160px|global RailCom Detector ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/global_RailCom_Detector_Z21.sch Eagle])]]
 +
 
 +
 
 +
Bei der Verwendung von einem Booster ohne Kurzschlusserkennung
 +
(z.B. L6203 / L298n), muss diese mittels SENCE Widerstand erfolgen
 +
und im Sketch auch aktiviert sein --> <Code>#define BOOSTER_INT_MAINCURRENT</Code>!
 +
 +
<!--T:78-->
 +
Am Ausgang der H-Brücke kann ein allgemeiner [[Special:MyLanguage/Railcom|Railcom]] Detector angeschlossen werden. Über diesen können beim Programmieren mittels POM die CV-Daten von Dekodern auf dem Hauptgleis ausgelesen werden. Der RailCom Detector muss zwischen H-Brücken Ausgang RAIL_1/RAIL_2 und dem Prog. Relais installiert werden. Bei der MEGA Variante wird "RAILCOM_RX" mit dem Serial3 Port verbunden. Ein Pull-Up von 100k kann für eine bessere RailCom Erkennung optional am Ausgang des UND installiert werden.
 +
In der Konfiguration ist der Detector über <Code>#define DCCGLOBALDETECTOR</Code> zu aktivieren.
 +
 
 +
<!--T:69-->
 +
Zur besseren CV# Erkennung wurde probehalber in Version 4.94 ein Operationsverstärker LM358 am SENCE Eingang des Arduino hinzugefügt.
 +
'''Diese Änderung hat sich als nicht notwendig erwiesen und entfällt daher wieder in der nächsten Version!'''
 +
 
 +
 
 +
Über <Code>#define ADD_ACK_COMP</Code> kann die Erkennung über Interrupt des programmier Acknoledge mittels eines Komperator (LM393N) genutzt werden. Dazu ist eine [https://www.opendcc.de/elektronik/opendcc/ack_detect.jpg separate Hardware] notwendig. Diese Umsetzung ist derzeit nur für den Arduino MEGA realisiert!
 +
 
 +
Mittels <Code>#define INA219 0x40</Code> kann der Stromsensor für den ESP8266 aktiviert werden. Dieser muss in der (+) Versorgung des Booster installiert sein und wird für die Anzeige der Spannung als auch für das ermitteln des acknoledge Impuls verwendet.
 +
 
 +
===<u>WiFi (WLAN Add-On)</u>=== <!--T:34-->
 +
 
 +
<!--T:35-->
 
[[Datei:ESP_Arduino_Modul.jpg|left|190px|ESP Arduino WiFi Modul]]
 
[[Datei:ESP_Arduino_Modul.jpg|left|190px|ESP Arduino WiFi Modul]]
 
[[Datei:ESP8266-01_Modul.png|thumb|160px|ESP Serial Anschluss ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/ESP8266_WiFi/ESP8266-01.sch Eagle])]]
 
[[Datei:ESP8266-01_Modul.png|thumb|160px|ESP Serial Anschluss ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/ESP8266_WiFi/ESP8266-01.sch Eagle])]]
Für die WiFi-Kommunikation wird das ESP82660-01 Modul eingesetzt. Das ESP-Modul benötigt ein eigenes Sketch, welches im [[Zentrale#Z21_WLAN_Add-On_Sketch|Downloadbereich]] heruntergeladen werden kann. Das WLAN-Modul verbindet sich mittels Serial (für Arduino MEGA über Serial1) mit der Zentralen-MCU. Die Kommunikation mit dem ESP erfolgt nicht mittels AT-Befehlen, sondern über ein modifiziertes Z21 LAN Protokoll mit Client-Erkennung (Sketch für ESP im [[Zentrale#Z21_ESP8266_WLAN-Modul_Sketch|Downloadbereich]]). Da das ESP-Modul mit 3,3Volt (ca. 200mA) arbeitet ist ein extra Spannungsregler und Pegelwandler auf dem WLAN-Interface zu installieren. Die zwei Taster auf dem Adapter im Bild, sind für das aufspielen des Sketch (Firmware-Update) und Reset beim ersten installieren des ESP-Moduls nötig. Programmiert wird das ESP wie ein Arduino, aus einer angepassten [https://github.com/esp8266/Arduino Arduino IDE] heraus. <br>
+
Für die WiFi-Kommunikation bei der Verwendung eines MEGA oder UNO wird das ESP8266-01 Modul oder ein [https://wolles-elektronikkiste.de/wemos-d1-mini-boards WeMos D1 Mini] eingesetzt. Das ESP-Modul benötigt ein eigenes Sketch, welches im [[Special:MyLanguage/Zentrale#Z21_WLAN_Add-On_Sketch|Downloadbereich]] heruntergeladen werden kann. Das ESP-Modul verbindet sich mittels [https://www.arduino.cc/en/Reference/Serial Serial] mit der Zentralen-MCU.
Für den Anschluss an der Zentrale können die auf dem Adapter installierten Taster und LED entfallen! Diese sind nur für die einmalige Programmierung notwendig. Um WLAN in der Zentrale zu aktivieren muss folgende Zeile einkommentiert werden: <br>
+
Anschluss ESP8266 WLAN-Modul: <br />
<code>#define WIFI</code> <br>
+
:* Arduino UNO  = Serial (0,1) [oder über Software Serial (13,12)]
Das ESP8266 stellt einen AcessPoint (AP) bereit. Über diesen kann mithilfe eines Webbrowser (192.168.0.111) die Standard-Einstellungen (SSID "Z21_ESP" und Passwort "12345678") und der WLAN Client-Betrieb (Client-Mode) an einem vorhandenen WLAN-Router konfiguriert werden. Wenn das S88-Interface genutzt wird, kann über das Webinterface auch die Modulanzahl angepasst werden.
+
:* Arduino MEGA = Serial2 (16,17)
 +
:* andere      = Serial (0,1) <br />
 +
Die Kommunikation mit dem ESP erfolgt nicht mittels AT-Befehlen, sondern über ein modifiziertes Z21 LAN Protokoll mit Client-Erkennung (Sketch für ESP im [[Special:MyLanguage/Zentrale#Z21_ESP8266_WLAN-Modul_Sketch|Downloadbereich]]). Da das ESP-Modul mit 3,3Volt (ca. 200mA) arbeitet ist ein extra Spannungsregler und Pegelwandler auf dem WLAN-Interface zu installieren. Die zwei Taster auf dem Adapter im Bild, sind für das aufspielen des Sketch (Firmware-Update) und Reset beim ersten installieren des ESP-Moduls nötig. Programmiert wird das ESP wie ein Arduino, aus einer angepassten [https://github.com/esp8266/Arduino Arduino IDE] heraus. <br />
 +
Für den Anschluss an der Zentrale können die auf dem Adapter installierten Taster und LED entfallen! Diese sind nur für die einmalige Programmierung notwendig.  
  
===<u>Debugging</u>===
+
Um WLAN in der Zentrale bei der Verwendung einer Hardware <u>ohne integriertes</u> WiFi zu aktivieren muss folgende Zeile einkommentiert werden:  
Um im Bedarfsfall interne Daten über den Serial Monitor überwachen zu können, gibt es dafür eine Debug-Ausgabe. Diese <u>muss</u> beim Arduino UNO und aktivem XpressNet oder WLAN komplett deaktiviert sein! <br>
+
<nowiki>#define WIFI</nowiki>
Aktiviert wird das Debugging mittels:
+
Das ESP8266 stellt einen AcessPoint (AP) bereit. Über diesen kann mithilfe eines Webbrowser (http://192.168.0.111) die Standard-Einstellungen (SSID "Z21_ESP" und Passwort "12345678") und der WLAN Client-Betrieb (Client-Mode) an einem vorhandenen WLAN-Router konfiguriert werden. Wenn das S88-Interface genutzt wird, kann über das Webinterface auch die Modulanzahl angepasst werden.
<code>#define Debug Serial </code> <br>
 
Einstellung welche Daten/Protokolle ausgegeben werden sollen: <br>
 
<code>#define DEBUG </code> Ausgabe von Einstellungen und Softwareversion <br>
 
<code>#define REPORT </code> Ausgabe der Zustände von S88 Rückmelder <br>
 
<code>#define LnDEB </code> Ausgabe LocoNet Kommunikation <br>
 
<code>#define XnDEG </code> Ausgabe XpressNet Kommunikation <br>
 
<code>#define Z21DEBUG </code> Ausgabe Z21 Protokoll Kommunikation <br>
 
  
<!--
+
<!--T:79-->
====<u>Soft
+
Optional kann auch ein [https://wolles-elektronikkiste.de/wemos-d1-mini-boards WeMos D1 Mini Board mit ESP8266] als fertiges Board für das WiFi-Interface genutzt werden.
Anpassung der Kurzschlusserkennung für ROCO und Fleischmann Booster, hierfür auch ist eine Hardwareanpassung notwendig. Die Software wurde auf die invertierte Kurzschlusserkennung angepasst! (siehe Schaltplan) Der externe Booster wird nur zugeschaltet, wenn das Kurzschlusssignal negativ ist. Dies wird nur beim Einschalten der Gleisspannung abgefragt. <br>wareversion 4x</u>====
 
Außerdem wurde das S88 Bus Interface optimiert und die Abfrage beschleunigt. Zusätzlich wurde ein automatisches Rücksetzten für die WLAN-Serial Kommunikation implementiert. LocoNet Nachrichten werden komplett an Z21-Abonenten übertragen. Mit der Software v43 kann die Zentrale nun über LocoNet (Slave-Mode) mit einer Intellibox verbunden werden.
 
-->
 
  
== Hardware MCUs (Schaltpläne) ==
+
===<u>OLED Display</u>===
Die Arduino Z21 DCC Zentrale kann unter verschiedenen Mikroprozessoren eingesetzt werden. Dabei richtet sich die Auswahl nach den notwendigen Funktionen (Interfaces).
+
Zur Darstellung von Systemdaten kann ein I2C OLED Display mit Treiber SSD1306 oder SH110X mit 128x64 Pixel am Aufbau der Zentrale mit [[Z21_Arduino_Zentrale_(Atmega2560) | Arduino MEGA]], [[Z21_Arduino_Zentrale_(WeMosD1mini) | ESP8266]] oder [[Z21_Arduino_Zentrale_(ESP32) | ESP32]] installiert werden. Die Daten auf dem Display werden je nach aktivierten Komponenten angepasst. Gundsätzlich werden die Systemdaten wie Version, Powerzustand, Stromaufnahme und IP-Adressen dargestellt. Zur Aktivierung des OLED Display muss <code>#define Z21DISPLAY FIND</code> aktiviert werden. Die Angabe der Display I2C Adresse ist dann nicht notwendig, diese wird beim Starten selbst mittels integriertem I2C-Scanner ermittelt.
  
# [[Z21 Arduino Zentrale (Atmega328p)|Arduino UNO Z21 DCC Zentrale (ATmega328p) - klein]]
+
===<u>Dallas Temperatursensor</u>===
# [[Z21 Arduino Zentrale (Atmega2560)|Arduino MEGA Z21 DCC Zentrale (ATmega2560) - mittel]]
+
Über das "One-Wire" Protokoll kann ein Dallas 18B20 Temperatursensor zur Überwachung der Temperatur am internen Booster installiert werden. Der Termperaturwert wird dabei nicht für eine Abschaltung verwendet und dient lediglich der Information des Nutzer im Steuerungsprogramm und der Z21 App. Der Temperatursensor kann nur in Zusammenhang mit einem [[Z21_Arduino_Zentrale_(Atmega2560) | Arduino MEGA Aufbau]] verwendet werden und wird mittels: <code> #define DALLASTEMPSENSE</code> aktiviert.
# [[Z21 Arduino Zentrale (Atmega1284p)|Sanguino Z21 DCC Zentrale (ATmega1284p/ATmega644p) - groß]]
 
# <u>Projekt:</u> ESP8266-12 als WLAN Z21 Zentrale mit XpressNet und S88
 
  
== [http://sourceforge.net/projects/f944.pgahtow.p/files/ Software] ==
+
===<u>Debugging (optional)</u>=== <!--T:36-->
Die Software ist mit der [http://pgahtow.de/?open=arduinoIDE Arduino IDE] geschrieben.
 
: ''' [[Arduino#Hardware|Arduino Plug-In:]]''' Anpassung der [http://pgahtow.de/?open=arduinoIDE Arduino IDE] für die Funktion mit Sanguino oder ESP-Modul sind unter [[Arduino#Hardware]] beschrieben.
 
  
===<u>Beschreibung</u>===
+
<!--T:37-->
Das Sketch kann universal für den Arduino UNO [eingeschränkt], Arduino MEGA oder für den Sanguino Mikroprozessor ATmega1284p (ab Sw. v31) eingesetzt werden. <br>
+
Um im Bedarfsfall interne Daten über den Serial Monitor überwachen zu können, gibt es dafür eine Debug-Ausgabe. Diese <u>muss</u> beim Arduino UNO und aktivem XpressNet oder WLAN komplett deaktiviert sein! <br />
In dem Sketch ab der Softwareversion 3x sind alle Protokolle variable aktivierbar/deaktivierbar. Bitte nutzt die Sketch Version 4 oder höher, hier wurden viele Fehler beseitigt! Bitte ladet euch '''auch''' die jeweils letzte Version der Bibliotheken herunter, denn nur so ist die Software lauffähig! <br>
+
Aktiviert wird das Debugging mittels:
: '''<u>Bemerkung:</u>''' Ab der Version 31 ist die neue DCC Interface Library mit Timer 2 funktionalität zu nutzen. Darüber hinaus, wurden die unterstützten Protokoll für dem Arduino UNO eingeschränkt (zu wenig RAM/ROM)! <br>
+
<code>#define Debug Serial </code> und <code>#define DebugBaud 115200 </code> muss auch aktiviert werden und legt die Geschwindigekeit fest.<br />
 +
'''Der ESP8266 hat bei aktiviertem LocoNet-Interface eine feste Serial Datenrate von: 16660 Baud!'''<br>
  
==== <u>Z21 WLAN Add-On Sketch</u> ====
+
Einstellung welche Daten/Protokolle ausgegeben werden sollen: <br />
:* [http://sourceforge.net/projects/f944.pgahtow.p/files/wlan_sketch/Z21_ESPArduinoUDP_v24.ino Z21 ESP8266 UDP v24 Sketch (19.05.16) Download] <br>
+
<code>#define DEBUG </code> Ausgabe von Einstellungen und Softwareversion <br />
Diese Software ist für das WLAN WLAN Add-On (ESP8266) der Arduino Z21 DCC Zentrale notwendig. Sie muss in das ESP8266, mit Hilfe der Arduino IDE, hochgeladen werden. Die Software beinhaltet einen AJAX Webserver zur Konfiguration und die Option die S88-Modulanzahl zu ändern. Außerdem ist ein Reset Fallback (Timeout) des Daten-Buffer für die Serial-Kommunikation zur Arduino Z21 DCC Zentrale implementiert. Zu beachten ist, dass es sich hierbei nur um das Sketch handelt welches für das WLAN-Modul notwendig ist, dies ist keine eigenständige Zentrale. <br>
+
<code>#define DEBUG_WLAN_CONFIG </code> Ausgabe der WLAN Einstellungen, IP-Adressen, SSID, Passwort, etc. <br />
Info: Bei Konfigurationsänderungen am AccessPoint (AP) wird dieser beim Speichern automatisch neu gestartet - es erfolgt dadurch keine Rückmeldung oder Bestätigung des Speichervorgangs! Eine freie Kanalauswahl (1-13) für den AP ist nur möglich, wenn keine Client Verbindung besteht.
+
<code>#define REPORT </code> Ausgabe der Zustände von S88 Rückmelder <br />
 +
<code>#define REQEST </code> Ausgabe der Rückmeldung bei Anfragen für Zustände (Loks, Weichen, CVs) <br />
 +
<code>#define LnDEB </code> Ausgabe LocoNet Kommunikation <br />
 +
<code>#define XnDEG </code> Ausgabe XpressNet Kommunikation <br />
 +
<code>#define Z21DEBUG </code> Ausgabe Z21 Protokoll Kommunikation <br />
 +
<code>#define Z21DATADEBUG </code> Ausgabe RAW Daten des Z21 Protokoll <br />
 +
<code>#define Z21SYSTEMDATADEBUG  </code> Regelmäßige Ausgabe der Systemwerte <br />
  
==== <u>Arduino Z21 DCC Zentrale Sketch</u> ====
+
== [http://sourceforge.net/projects/f944.pgahtow.p/files/ Software] == <!--T:44-->
:*[http://sourceforge.net/projects/f944.pgahtow.p/files/Z21_Ethernet_DCC_Zentrale_v451.zip Arduino Z21 DCC Zentrale v4.51 (14.03.16) Download]  
 
* Fix Kommunikation im LocoNet-Client Modus mit der IntelliBox (Fahrtrichtungsproblem).
 
* Wireless & LAN: Support für kombinierte UDP Pakete. Zusätzlich Verbesserung im "DCC Interface Library" bei der CV-Programmierung.
 
* LocoNet mit Slotserver (Master/Slave Betrieb) - Zum Beispiel als LocoNet Slave an einer Intellibox (ab Arduino DCC Interface Library ab v2.2!)
 
* Weichen über LocoNet steuerbar und Anpassung der LocoNet-Nachrichtenübertragung ins Z21-Protokoll.
 
<br>
 
'''Ältere Versionen können über Sourceforge heruntergeladen werden:'''
 
:*[http://sourceforge.net/projects/f944.pgahtow.p/files/ Arduino Z21 DCC Zentrale Sourceforge]
 
  
<!--
+
<!--T:45-->
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v44.zip Arduino DCC Zentrale v44 (160118) Download] - Wireless LAN (Wifi) : Support für kombinierte UDP Paket im WLAN und LAN. Zusätzlich Verbesserung im "DCC Interface Master" bei der CV-Programmierung.
+
Die Software ist mit der [http://pgahtow.de/?open=arduinoIDE Arduino IDE] geschrieben.  
 +
: ''' [[Arduino#Hardware|Arduino Plug-In:]]''' Anpassung der [http://pgahtow.de/?open=arduinoIDE Arduino IDE] für die Funktion mit Sanguino oder ESP-Modul sind unter [[Special:MyLanguage/Arduino#Hardware|Arduino#Hardware]] beschrieben.
  
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v43.zip Arduino DCC Zentrale v43 (151117) Download] - Wireless LAN (Wifi) : LocoNet mit Master/Slave Betrieb - Anschluss als LocoNet Slave an einer Intellibox <br>(LocoNet Slave nur mit Arduino DCC Interface Library ab v2.2!) <br>
+
==== <u>Arduino Z21 DCC Zentrale Sketch</u> ====
;* <span style="color: red;">Neue Pinbelegung für den internen Booster!<span>
+
<!--T:47-->
 +
:*[https://sourceforge.net/projects/f944.pgahtow.p/files/Z21_Ethernet_DCC_Zentrale_v498.zip/download Arduino Z21 DCC Zentrale v4.98 (27.09.23) Download] - Multi Plattform Support (Arduino UNO/NANO/MEGA/Sanguino sowie ESP8266 (160 MHz) und ESP32)
 +
<u>Hinweis:</u> Für eine korrekte Funktion des WLAN beim AVR ist mindestens das [[Zentrale_Z21PG#Z21_WLAN_Add-On_Sketch|v37 WLAN Add-On Sketch]] für das verwendete WLAN Modul notwendig.
 +
Derzeit keine Funktion auf den ESP32!
  
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v42.zip Arduino DCC Zentrale v42 (151017) Download] - Wireless LAN (Wifi) : Weichen über LocoNet steuerbar und Anpassung der LocoNet-Nachrichtenübertragung ins Z21-Protokoll.
+
<!--T:50-->
 +
Das Sketch kann universal für den Arduino UNO [eingeschränkt], Arduino MEGA, Sanguino Mikroprozessor ATmega1284p oder auf dem ESP (ab Sw. v4.91) eingesetzt werden. ([[Arduino#Hardware|Übersicht Arduino Mikroprozessoren]]). Der Sketch für den Betrieb der Z21PG Zentrale muss vor dem Upload noch entsprechend der genutzten Hardware konfiguriert werden.
  
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v41.zip Arduino DCC Zentrale v41 (151005) Download] - Wireless LAN (Wifi) : Anpassung der Funktion für die externe Kurzschlusserkennung.
+
<!--T:81-->
 +
Änderungen:
 +
* v4.98: NEU: INA219 für ESP8266 (Auslesen von VCC und ACK)
 +
* ______: NEU: optionaler ACK Eingang mit Interrupt
 +
* ______: NEU: Befehle nach RCN-213 möglich. Aktivierung über App.
 +
* ______: Fix: Animation beim Programmieren entfernt
 +
* ______: Fix: Display Kontrast für längere Lebensdauer reduziert
 +
* v4.97: NEU: Lok Funktionen bis F68 und Binary States bis F32767
 +
* ______: NEU: DCCext für Zubehördekoder
 +
* ______: Fix: Display Darstellung verbessert und neue Pikogramme hinzugefügt
 +
* ______: Fix: direct CV# lesen wurde komplett überarbeitet
 +
* v4.96: Fix: für CV lesen auf dem Programmiergleis
 +
* ______: NEU: OLED Display SH110X Driver support
 +
* ______: Fix: Fehlerbeseitigung beim Laden der Daten auf dem Display
 +
* ______: NEU: I2C Scanner für automatisches erkennen der Display Adresse
 +
* ______: NEU: ESP8266 mit XpressNet und LocoNet support
 +
* v4.95: Fix: [[Z21_Arduino_Zentrale_(WeMosD1mini) | Sketch für WeMos D1 mini (ESP8266) optimiert]]
 +
* ______: NEU: OLED Display SSD1306 I2C Unterstützung
 +
* ______: Fix: ACK Booster wurde wieder entfernt!
 +
* ______: Fix: WLAN Datenverarbeitung blockierungsfrei
 +
* v4.94: Fix: ACK Erkennung verbessert (ACK Booster)
 +
* ______: NEU: LocoNet LocoBuffer über USB
 +
* ______: Fix: LocoNet-Z21 Übertragung, Unterstützung für JMRI (Decoder Pro)
 +
* ______: Fix: Z21 Protokoll Fehler ausgebessert
 +
* v4.93: Fix: Anpassung Abfrage Lokdaten im Client Modus (LocoNet/XpressNet)
 +
* ______: NEU: Dauerhafte Speicherung der Boardcast Flags je Client IP
 +
* v4.92: NEU: Dasiy II LocoNet Support (F9-F28) und Fahrtrichtung invertiert für Intellibox Slave-Mode
 +
* ______: Fix: ESP32 DCC Support und Pin Konfiguration
 +
* v4.91: Fix: LocoNet Daten Verarbeitung
 +
* ______: NEU: Unterstützung ESP32 Plattform
 +
* v4.90: NEU: Temperatursensor mit DS18B20 möglich
 +
* ______: Fix: DCC RailCom Cutout Länge.
 +
* ______: NEU: Seriennummer ist die geladene Arduino Z21 Versionsnummer
 +
* ______: NEU: EEPROM wird beim Starten geprüft und beim RESET mit default Werten initialisiert.
 +
* ______: Fix: Kommunikation mit WDP
 +
* ______: Fix: Übertragung LocoNet Belegmerderdaten zur Z21-APP (09.04.2021)
  
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v4.zip Arduino DCC Zentrale v4 (151003) Download]- Wireless LAN (Wifi) : WiFi Support durch ESP8266. Für die Funktion des Sketch der Version 4 ist zusätzlich die Z21 Library notwendig.
+
<!--T:70-->
 +
<br />
 +
'''''Ältere Versionen können über Sourceforge heruntergeladen werden:'''
 +
:*[http://sourceforge.net/projects/f944.pgahtow.p/files/ Arduino Z21 DCC Zentrale Sourceforge]''
  
<br>
+
==== <u>Z21 WLAN Add-On Sketch</u> ====
 +
:* [https://sourceforge.net/projects/f944.pgahtow.p/files/wlan_sketch/Z21_ESPArduinoUDP_v40.ino Z21 ESP8266 UDP v40 Sketch (27.09.2023) Download] - ESP8266 (Wemos D1 mini) Serial WLAN Client Software für Arduino Z21 Zentrale <br />
 +
Diese Software ist für das WLAN Add-On basierend auf dem ESP8266 für die Arduino Z21 DCC Zentrale (Arduino NANO/UNO/MEGA version) notwendig. Sie muss in das ESP8266, mit Hilfe der Arduino IDE, hochgeladen werden. Die Software beinhaltet einen AJAX Webserver zur Konfiguration und die Option die S88-Modulanzahl zu ändern. Außerdem ist ein Reset Fall-back (Timeout) des Daten-Buffer für die Serial-Kommunikation zur Arduino Z21 DCC Zentrale implementiert. Zu beachten ist, dass es sich hierbei nur um das Sketch handelt welches für das WLAN-Modul notwendig ist, dies ist keine eigenständige Zentrale. <br />
 +
'''Info:''' Bei Konfigurationsänderungen am AccessPoint (AP) wird dieser beim Speichern automatisch neu gestartet - es erfolgt dadurch keine Rückmeldung oder Bestätigung des Speichervorgangs! Eine freie Kanalauswahl (1-13) für den AP ist nur möglich, wenn keine Client Verbindung besteht. <br />
  
==== <u>DCC Zentrale Version 3x und älter</u> ====
+
<!--T:80-->
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v32.zip Arduino DCC Zentrale v32 (150915) Download] : Anpassungen des S88-Bus-Timing (Timer 3 im Arduino MEGA und ATmega 1284p)
+
* NEU v38: Anpassung Serial Kommunikation, fix Problem beim Verbinden mit AP
 +
* Fix v35: Update Client Port Information bei jedem Paket
 +
* NEU v34: Erweiterung des Access-Point zur Unterstützung von bis zu 8 Clients!
 +
* Fix v33: ESP installierte LED Signalisiert Datenübertragung; Regelmäßige Port Prüfung für Clients entfernt.
 +
* NEU v32: Übertragung des Client-IP-Hash zur Identifizierung der angemeldeten Clients
 +
* Fix v32: leere/falsche Darstellung der SSID und Passwort, wenn keine Daten im EEPROM vorhanden sind.
 +
* Fix v27: Akzeptiert jetzt auch eine SSID mit nur einem Zeichen.
  
;* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v31.zip Arduino DCC Zentrale v31 (150803) Download] : angepasste Version für Sanguino, '''Änderung der Timer''', LocoNet auch für Arduino UNO aktivierbar! <br><span style="color: red;">(Ab dieser Version ist die neue DCC Interface Library mit Timer 2 notwendig!) </span>
+
===<u>[https://www.arduino.cc/en/Guide/Libraries notwendige Bibliotheken]</u>=== <!--T:62-->
  
<br>
+
<!--T:63-->
'''Ältere Versionen:'''
+
Hier sind die notwendigen Bibliotheken aufgeführt. Nur damit ist das Sketch der DCC Zentrale lauffähig. Informationen wie ihr Bibliotheken installiert, findet ihr auf der [https://www.arduino.cc/en/Guide/Libraries#toc4 Arduino Webseite (engl.)].
* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v3.zip Arduino DCC Zentrale v3 (150803) Download] : beliebige Aktiv-/Deaktivierung von Zusatzfunktionen (HTTP, S88, DCC Input for MEGA mit Update, XpressNet, LocoNet for MEGA)
+
* [[Special:MyLanguage/Z21_mobile#Download|Arduino Z21 LAN Protokoll Library]] - Arduino Z21 LAN Protokoll Library - Neu: speichere Client HASH und WDP Support!
* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v2.zip Arduino DCC Zentrale v2 (150322) Download] : mit zusätzlichem XpressNet Master Interface.
+
* [[Special:MyLanguage/DCC#Download|Arduino DCC Interface Library]] - NEU: Support von Railcom und zusätzlicher invertierter DCC Ausgang.
* [http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/Z21_Ethernet_DCC_Zentrale_v1.zip Arduino DCC Zentrale v1 (150228) Download] : Grundversion: nur DCC, S88 und Z21 mobile Protokoll.
+
* [[Special:MyLanguage/XpressNet#XpressNet_Master|Arduino XpressNet Master Library]] - Neu: Automatisches wechseln zwischen Master und Client Modus
-->
+
* [[Special:MyLanguage/Loconet#Download|Arduino LocoNet Library]]
 +
* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/LocoNet2.zip Arduino LocoNet2 Library für ESP32] (Erweiterung)
 +
* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/UIPEthernet.zip Arduino UIP Ethernet Library Download] - für die Verwendung des ENC28 als Ethernet Shield
 +
* [http://github.com/milesburton/Arduino-Temperature-Control-Library Arduino Temperatur Control Library Download] - für den Dallas DS18B20 als Temperatursensor
  
===<u>[https://www.arduino.cc/en/Guide/Libraries Library]</u>===
+
<!--T:64-->
Hier sind die notwendigen Bibliotheken aufgeführt. Nur damit ist das Sketch der DCC Zentrale lauffähig.
+
<br />
* [[Z21_mobile#Download|Arduino Z21 LAN Protokoll Library]] - Arduino Z21 LAN Protokoll Library
 
::=> Für Zentrale ab Softwareversion 4 nötig.
 
*[[DCC#Download|Arduino DCC Interface Library]] - NEU: Timer 1 oder Timer 2 wählbar - Standard: Timer 2. Verbesserte Datenabfolge bei der CV Programmierung.
 
<!--
 
::=> Für Zentrale ab Softwareversion 31 nötig!
 
*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/DCCInterfaceMaster.zip Arduino DCC Interface Library v2.0 (151014) Download] - Grundversion mit Timer 1.
 
::=> Für Zentrale bis zur Softwareversion 3 einsetzbar.
 
-->
 
* [[XpressNet#XpressNet_Master|Arduino XpressNet Master Library]]
 
* [[Loconet#Download|Arduino LocoNet Library]]
 
  
<br>
+
== Rechtsbehelf == <!--T:65-->
  
== Rechtsbehelf ==
+
<!--T:66-->
<u>Hinweis:</u>
+
<u>Hinweis:</u>
 
  Die auf dieser Webseite vorgestellte Software und Schaltungen können für den privaten Gebrauch  
 
  Die auf dieser Webseite vorgestellte Software und Schaltungen können für den privaten Gebrauch  
 
  frei genutzt werden, eine kommerzielle Verwertung bedarf einer <u>schriftlichen</u> Genehmigung.
 
  frei genutzt werden, eine kommerzielle Verwertung bedarf einer <u>schriftlichen</u> Genehmigung.
 +
</translate>

Aktuelle Version vom 27. September 2023, 15:34 Uhr

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

Arduino UNO Version | Arduino MEGA Version | ESP8266 (WeMos D1 mini) Version | ESP32 Version | Sanguino Version

Sprachen:
Deutsch • ‎English
Z21 logo.png
Dcc logo.jpg
Railcom logo.gif
XpressNet logo.jpg
Loconet logo.jpg
S88-N logo.jpg

Grundlage

Zentrale in Eurobox
Prototyp Aufbau DCC Zentrale mit Netzwerk, XpressNet und LocoNet Anschluss
Anschlüsse der Z21 DCC Zentrale

Die komfortable aber sehr teure Modellbahnsteuerung Z21 von Roco und der genutzte XpressNet-Bus brachte mich auf die Idee, eine eigene Zentrale zu entwickeln. Im Mittelpunkt dieser Idee, stand die Absicht, die dort eingebrachte umfangreiche Hardware zu reduzieren bzw. durch Software zu ersetzen. Die Eigenbauzentrale sollte auch ein Netzwerk Interface (für APP und PC), XpressNet, S88 und LocoNet Bus bereitstellen.
Hier wird der Aufbau einer Z21 DCC Digitalzentrale auf Basis eines Arduino (Arduino MEGA über AliExpress ab 7,30 Euro) zur Steuerung der Modellbahn über das Z21 LAN Protokoll beschrieben. Auf den Arduino MEGA wird in der Grundversion dazu ein Ethernet Shield mit dem W5100 Chip (bei AliExpress ab 4,80 Euro), aufgesetzt. Mit diesem Ethernet Shield, kann der Arduino MEGA in ein bestehendes Netzwerk integriert werden und über einen Router mit WLAN mit Handreglern oder der Computersoftware zum Beispiel Rocrail kommunizieren. Durch Erweiterungen lässt sich zum Beispiel ein WLAN AP/Client mittels ESP8266 in die Zentrale integrieren.

Funktionsumfang

  • 29x 32767x Funktionen (Licht F0, F1 bis F28 [NEU v4.97: F68]) steuerbar, NEU v4.97: mittels Binary State bis F32767 (RCN-212)
  • bis zu 2048 Weichen schalten, NEU v4.97: DCCext nach RCN-213 (Abschnitt 2.3)
  • externer Booster Ausgang für ROCO 10761/10764 Digitalverstärker oder CDE-Anschluss
  • integrierter DCC Booster mit RailCom® Cutout (beliebiger H-Brückentreiber [L6206N, L298n] mit Kurzschlusserkennung über ACK-Sense)
  • RailCom® Cutout über Z21 mobile App Einstellungen de/-aktivierbar
  • CV lesen und schreiben Bit-/Byte Mode am Programmiergleisausgang nach RCN-216
  • CV lesen und schreiben mittels POM am Hauptgleis mittels globalem RailCom® Detector (nur für Arduino MEGA) nach RCN-217
  • Standard Fahrstufen im Sketch auswählbar (14/28/128)
  • kontinuierliches DCC Signal am S88N
  • schnellere Abfrage von Clients und CV lesen/schreiben
  • Automatische Umschaltung zwischen Master (Zentrale) und Slave (Endgerät)
  • Support für F9 bis F28 von Uhlenbrock
  • LocoNet-Client Mode (Slot-Server abschaltbar) für den Anschluss an der Intellibox
  • Programmierung von LocoNet LNCV über die Z21 mobile APP
  • LocoNet Booster Interface (LocoNet B)
  • LocoNet Fahrtrichtung invertiert für Client-Mode an Intellibox

Notes

Informationen und Austausch zum Aufbau finden sich im Stummis Modellbahnforum.

bekannte Bugs

Da dieses Projekt eine persönliche Entwicklung von mir ist bleibt es nicht aus das einige Protokolle nicht 100%tig unterstützt, oder mit kleineren Ungenauigkeiten Implementiert wurden. Hier eine Auflistung der bekannten Bugs:

  • (gelöst, ab v4.96) ab v4.91 bei aktivem DALLASTEMPSENSE werden "flasche Daten" auf dem S88N und DCC Interface erzeugt.
  • (gelöst, ab v4.96) keine DCC Ausgabe in v4.92 bei der Verwendung des ESP32 als Zentrale
  • (gelöst, ab v4.96) ab v4.95 inkorrekt Übermittlung an APP und Display der Stromaufnahme am Gleis (nur Darstellung in mA).
  • (gelöst, ab v4.96) ab v4.94 Probleme bei der Kommunikation (alle Systeme) - XpressNet schaltet ohne erkennbaren Grund auf Client-Mode um.
  • (gelöst, ab v4.94) Z21 LocoNet From LAN (0xA2) funktioniert nicht, daher keine Kommunikation mit JMRI DecoderPro möglich.
  • (gelöst, ab v4.89) Keine Statusanzeige von LocoNet Belegmeldern in der Z21-App auf mobilen Geräten.
  • (gelöst, ab v4.88) Nicht korrekte Initialisierung von EEPROM-Werten beim allerersten Aufspielen der Software.
  • (gelöst, ab v4.86) Aufhängen der Zentrale beim öffenen des Stellpult mit der Android Z21 App. (Stellpult Bug)
  • (gelöst, ab XpressNetMaster Libary v2.9.0) Beim CV lesen am XpressNet hängt sich die Multimaus auf.

Gerne nehme ich Anregungen und Probleme auf: Email oder diese können auch im Stummis Modellbahnforum diskutiert werden.

Hardware

Die Arduino Z21 DCC Zentrale erzeugt mithilfe der DCCInterface Library und dem Timer1/Timer2 (wählbar) ein DCC-Signal. Die Zentrale unterstützt je nach gewünschtem Funktionsumfang verschiedene Protokolle. Jedes dieser Protokolle benötigt um mit der Zentrale kommunizieren zu können ein eigenes Interface. Außerdem muss das jeweilige Protokoll im Sketch in der „config.h“ aktiviert werden (Durch "//" vor dem #define oder #include wird das jeweilige Protokoll deaktiviert!).

LAN Interface

Das LAN-Interface kann mittels "#define LAN" im Sketch aktiviert werden. Es stellt die Kommunikation der Z21 Protokoll Library über das Kabel gebundene W5100 Arduino Shield bereit. Die IP-Adresse um das LAN-Interface zu erreichen ist Standardmäßig fest auf 192.168.0.111/24 eingestellt und wird nicht automatisch über DHCP bezogen. NUR über das Webinterface (Webseite) kann die IP-Adresse geändert werden. Das Webinterface muss dafür im Sketch mittels #define HTTPCONF" aktiviert sein und der Client muss sich im entsprechenden Netzwerkbereich befinden! Ein Reset der IP-Adresse kann beim Einschalten der Zentrale (Betriebsspannung) und gleichzeitigem Drücken des Power On/Off Taster durchgeführt werden (DCC LED blinkt schnell, solange der Taster gerückt wird).

Bei der Verwendung am Arduino UNO mit WLAN über Software Serial, 
kann das LAN-Interface nicht aktiviert werden!

Wenn nach dem Einschalten der Zentrale keine Verbindung über die Ethernet-Schnittstelle (W5100) möglich ist und diese nach dem Drücken von RESET auf dem LAN Interface sich aufbaut, dann muss ein 1uF Kondensator, C- nach GND 0V, C+ nach RESET auf dem Shield installiert werden. Das LAN W5100 Board ist dann immer direkt nach Power on (ohne Betätigung der Reset Taste) erreichbar.

DCC Input Interface

Mit Hilfe des DCC Fremdeingang wird der DCC Datenstrom einer angeschlossenen DCC Zentrale mit in das eigene DCC Signal integriert. Hierbei erfolgt keine Rückkommunikation zu der externen Zentrale. Der Anschluss kann verwendet werden um zum Beispiel eine Piko Fern / Digi 1 (55019) zu nutzen. Da kein Timer zur Dekodierung notwendig ist läuft ist diese Integration unter allen Zentralen-MCUs möglich. Um das DCC-Interface zu verwenden, muss dies mittels #define DECODER im Sketch aktiviert werden.

Wird in den aktuellen Versionen nicht mehr unterstützt!

XpressNet Interface mit Booster Support (externer Booster)

Arduino XNet Booster Interface (Eagle)

Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder Freischmann Digitalverstärker 680801 bereits vorhanden ist, kann dieser als externer Booster genutzt werden. Dafür reicht ein XpressNet-Interface ohne die Funktionalität des MAX485 aus. Die dafür notwendige Kurzschlusserkennung ist in der Software der Zentrale integriert. Im Sketch muss der externe Booster aktiviert werden:
#define BOOSTER_EXT

Um eine Kommunikation mit der Lokmaus2 oder Multimaus herzustellen, ist ein XpressNet-Interface mit dem MAX485-Treiber notwendig. Die Z21 Zentrale arbeitet dann wie ein XpressNet Master für die LokMaus2 oder MultiMaus. Es können dabei bis zu 31 XpressNet Slaves (Clients) an die Arduino Z21 DCC Zentrale angeschlossen werden.

Aktivierung des XpressNet-Interface im Sketch mittels:
#define XPRESSNET

In der rechts dargestellten Schaltung ist der Aufbau der DCC Ansteuerung des ROCO Boosters 10761 und das XpressNet-Interface dargestellt. Am XpressNet-Interface sind möglicherweise noch zusätzliche Pull Up/Down und/oder eine XpressNet Bus-Terminierung an der Leitung A und B notwendig (siehe XpressNet Hardware).

Das XpressNet Interface untersützt die automatische Umschaltung zwischen Master und Slave Betrieb. Daher ist es möglich eine Koppelung über XpressNet mit einer vorhanden Zentrale herzustellen um die Z21 Funktionalitäten per Ethernet oder WLAN an dieser nutzen zu können.

LocoNet-T (Throttle)

Arduino LocoNet Master und S88N Interface (Eagle)

Durch die Integration eines LocoNet-Interface ist es möglich die Arduino Z21 Zentrale mit der Intellibox zu verbinden oder mit LocoNet-Handregler wie den Fred zu nutzen. Um den Fred nutzen zu können muss in der Software der notwendige LocoNet Slot-Server aktiviert werden, dann ist ein Anschluss an der Intellibox (welche bereits einen Slot-Server integriert hat) nicht mehr möglich. Die LocoNet Library nutzt zur Signalerzeugung im Arduino UNO den Timer 1 und im Arduino MEGA den Timer 5. Aktiviert wird das LocoNet-Interface mittels:
#define LOCONET
#include <LocoNet.h>

Der Slot-Server kann mittels #define LnSLOTSRV zugeschaltet werden. Für den Betrieb als LocoNet Client muss der Slot-Server inaktiv sein.
Wenn der am Arduino vorhandene USB-Anschluss nicht für Debugging genutzt werden soll kann dieser auch zur Kommunikation als LocoNet Buffer genutzt werden. Dieser läuft mit 57600 bps und kann mittels #define LnBufferUSB aktiviert werden.
Beachte: Das LocoNet-Interface unterstützt jetzt auch die Funktionen bis F28!

LocoNet-B (Booster)

Arduino LocoNet-B Anschluss

Zum Anschluss eines LocoNet-Booster (Uhlenbrock 63240 Power 4 oder ähnliches) wird am LocoNet-Bus auf den Leitungen 1 und 6 (Raildata) ein DCC-Signal benötigt. Für die Erzeugung des Signals mit einem 12 Volt Pegel wird ein kleiner 1A H-Brückentreiber IXYS IXDF604PI in 8-Pin PDIP Bauform genutzt. Dieser wird angesteuert vom DCC-Signal (PIN 6) oder beim Arduino MEGA über den seperaten PIN 11, wo ein konstantes DCC-Signal ausgegeben wird. Dies kann direkt an IN A und IN B des IXYS angelegt werden. Die Signalisierung für das An- und Abschalten oder bei Kurzschuss des Booster erfolgt mittels LocoNet-Befehlen an die Zentrale.

Hinweis: Eine Unterstützung erfolgt ab Software v4.83! Die Anschaltung für den IXYS Brückentreiber ist auf der Z21PG Mega Version unten links zu finden. Es kann auch jeder andere Brückentreiber verwendet werden.

S88N

Arduino S88 Singel Master Schaltplan

Rückmeldungen können mit dem S88N-Interface an die Steuersoftware weitergeleitet werden. Es werden bis zu 62 Rückmeldemodule mit 8 Eingängen unterstützt. Einstellungen zur Anzahl der abzufragenden Module lassen sich über die Webkonfiguration mittels LAN oder WLAN vornehmen. Aktiviert wird das S88-Interface mittels:
#define S88N
Hinweis: Ab ca. 5 Modulen sollte ein Ausgangstreiber 74HC244 für den S88 Bus verwendet werden.

Da durch den Aufbau des S88-Bus eine "Verkettung" erzeugt wird, nimmt die Geschwindigkeit des Auslesens der Zustände ab, umso mehr Module genutzt werden. Da nicht immer eine komplette Kette mit 62 Rückmeldemodulen angeschlossen ist, sollte die Anzahl der maximal abzufragenden Module in der Software begrenzt werden. Dies erfolgt über das vom LAN- oder WiFi-Interface bereitgestellt Webinterface (Webseite).

interner Booster mit Railcom

TLE Booster3R für Railcom (Eagle)
Booster mit L6203 (Eagle)
Booster mit L298n, 4A Leistung (Eagle)

Der interne Booster wird für den Anschluss eines Programmiergleis als auch für das Hauptgleis verwendet. Damit keine Programmiernachrichten auf das Hauptgleis gelangen ist dort ein Relais vorgeschaltet, welches bei der direkten Programmierung das Hauptgleis abschaltet. Die Aktivierung im Sketch erfolgt mittels:
#define BOOSTER_INT

Ab der Softwareversion v4.70 ist es möglich Railcom zu aktivieren. Um die für Railcom notwendige Abtastlücke zu erzeugen, muss der interne Booster wie folgt angeschlossen werden. Für die Ansteuerung des Booster wird nun ab v4.70 auch das DCC Signal auf den GO/STOP2 Pin (Booster intern) negiert ausgegeben. Der Anschluss des internen Booster erfolgt damit so: "DCC = DCC1", DCC2 des Booster muss an GO/STOP2 (NDCC) angeschlossen werden.
Seit der Softwareversion v4.88 ist nun der Booster mit dem H-Brückentreiber L6203 als Standard definiert. Der zuvor genutzte TLE5206 ist leider nicht mehr lieferbar und musste deshalb ersetzt werden.

Soll eine Kurzschlusserkennung über den Messwiderstand (SENCE) erfolgen muss dies 'aktiviert' werden:
#BOOSTER_INT_MAINCURRENT
Gleichzeit wird dies zur Anzeige der Stromaufnahme zum Beispiel in Rocrail über einen Messwiderstand (SENCE) genutzt.

Damit ist nun auch künftig möglich ist eine H-Brücke mit Kurzschlussdetection (zum Beispiel TLE5206-2 mit 5A) weiter zu nutzen kann der "SHORT2" über im Sketch mittels #define BOOSTER_INT_TLE5206 aktiviert werden. Im anderen Fall kann der "SHORT2" auch für die Kurzschlusserkennung eines externen CDE-Booster genutzt werden, dies ist mittels #define BOOSTER_EXT_CDE zu aktivieren.

global RailCom Detector (Eagle)


Bei der Verwendung von einem Booster ohne Kurzschlusserkennung 
(z.B. L6203 / L298n), muss diese mittels SENCE Widerstand erfolgen 
und im Sketch auch aktiviert sein --> #define BOOSTER_INT_MAINCURRENT!

Am Ausgang der H-Brücke kann ein allgemeiner Railcom Detector angeschlossen werden. Über diesen können beim Programmieren mittels POM die CV-Daten von Dekodern auf dem Hauptgleis ausgelesen werden. Der RailCom Detector muss zwischen H-Brücken Ausgang RAIL_1/RAIL_2 und dem Prog. Relais installiert werden. Bei der MEGA Variante wird "RAILCOM_RX" mit dem Serial3 Port verbunden. Ein Pull-Up von 100k kann für eine bessere RailCom Erkennung optional am Ausgang des UND installiert werden. In der Konfiguration ist der Detector über #define DCCGLOBALDETECTOR zu aktivieren.

Zur besseren CV# Erkennung wurde probehalber in Version 4.94 ein Operationsverstärker LM358 am SENCE Eingang des Arduino hinzugefügt. 
Diese Änderung hat sich als nicht notwendig erwiesen und entfällt daher wieder in der nächsten Version!


Über #define ADD_ACK_COMP kann die Erkennung über Interrupt des programmier Acknoledge mittels eines Komperator (LM393N) genutzt werden. Dazu ist eine separate Hardware notwendig. Diese Umsetzung ist derzeit nur für den Arduino MEGA realisiert!

Mittels #define INA219 0x40 kann der Stromsensor für den ESP8266 aktiviert werden. Dieser muss in der (+) Versorgung des Booster installiert sein und wird für die Anzeige der Spannung als auch für das ermitteln des acknoledge Impuls verwendet.

WiFi (WLAN Add-On)

ESP Arduino WiFi Modul
ESP Serial Anschluss (Eagle)

Für die WiFi-Kommunikation bei der Verwendung eines MEGA oder UNO wird das ESP8266-01 Modul oder ein WeMos D1 Mini eingesetzt. Das ESP-Modul benötigt ein eigenes Sketch, welches im Downloadbereich heruntergeladen werden kann. Das ESP-Modul verbindet sich mittels Serial mit der Zentralen-MCU. Anschluss ESP8266 WLAN-Modul:

  • Arduino UNO = Serial (0,1) [oder über Software Serial (13,12)]
  • Arduino MEGA = Serial2 (16,17)
  • andere = Serial (0,1)

Die Kommunikation mit dem ESP erfolgt nicht mittels AT-Befehlen, sondern über ein modifiziertes Z21 LAN Protokoll mit Client-Erkennung (Sketch für ESP im Downloadbereich). Da das ESP-Modul mit 3,3Volt (ca. 200mA) arbeitet ist ein extra Spannungsregler und Pegelwandler auf dem WLAN-Interface zu installieren. Die zwei Taster auf dem Adapter im Bild, sind für das aufspielen des Sketch (Firmware-Update) und Reset beim ersten installieren des ESP-Moduls nötig. Programmiert wird das ESP wie ein Arduino, aus einer angepassten Arduino IDE heraus.
Für den Anschluss an der Zentrale können die auf dem Adapter installierten Taster und LED entfallen! Diese sind nur für die einmalige Programmierung notwendig.

Um WLAN in der Zentrale bei der Verwendung einer Hardware ohne integriertes WiFi zu aktivieren muss folgende Zeile einkommentiert werden:

#define WIFI

Das ESP8266 stellt einen AcessPoint (AP) bereit. Über diesen kann mithilfe eines Webbrowser (http://192.168.0.111) die Standard-Einstellungen (SSID "Z21_ESP" und Passwort "12345678") und der WLAN Client-Betrieb (Client-Mode) an einem vorhandenen WLAN-Router konfiguriert werden. Wenn das S88-Interface genutzt wird, kann über das Webinterface auch die Modulanzahl angepasst werden.

Optional kann auch ein WeMos D1 Mini Board mit ESP8266 als fertiges Board für das WiFi-Interface genutzt werden.

OLED Display

Zur Darstellung von Systemdaten kann ein I2C OLED Display mit Treiber SSD1306 oder SH110X mit 128x64 Pixel am Aufbau der Zentrale mit Arduino MEGA, ESP8266 oder ESP32 installiert werden. Die Daten auf dem Display werden je nach aktivierten Komponenten angepasst. Gundsätzlich werden die Systemdaten wie Version, Powerzustand, Stromaufnahme und IP-Adressen dargestellt. Zur Aktivierung des OLED Display muss #define Z21DISPLAY FIND aktiviert werden. Die Angabe der Display I2C Adresse ist dann nicht notwendig, diese wird beim Starten selbst mittels integriertem I2C-Scanner ermittelt.

Dallas Temperatursensor

Über das "One-Wire" Protokoll kann ein Dallas 18B20 Temperatursensor zur Überwachung der Temperatur am internen Booster installiert werden. Der Termperaturwert wird dabei nicht für eine Abschaltung verwendet und dient lediglich der Information des Nutzer im Steuerungsprogramm und der Z21 App. Der Temperatursensor kann nur in Zusammenhang mit einem Arduino MEGA Aufbau verwendet werden und wird mittels: #define DALLASTEMPSENSE aktiviert.

Debugging (optional)

Um im Bedarfsfall interne Daten über den Serial Monitor überwachen zu können, gibt es dafür eine Debug-Ausgabe. Diese muss beim Arduino UNO und aktivem XpressNet oder WLAN komplett deaktiviert sein!
Aktiviert wird das Debugging mittels: #define Debug Serial und #define DebugBaud 115200 muss auch aktiviert werden und legt die Geschwindigekeit fest.
Der ESP8266 hat bei aktiviertem LocoNet-Interface eine feste Serial Datenrate von: 16660 Baud!

Einstellung welche Daten/Protokolle ausgegeben werden sollen:
#define DEBUG Ausgabe von Einstellungen und Softwareversion
#define DEBUG_WLAN_CONFIG Ausgabe der WLAN Einstellungen, IP-Adressen, SSID, Passwort, etc.
#define REPORT Ausgabe der Zustände von S88 Rückmelder
#define REQEST Ausgabe der Rückmeldung bei Anfragen für Zustände (Loks, Weichen, CVs)
#define LnDEB Ausgabe LocoNet Kommunikation
#define XnDEG Ausgabe XpressNet Kommunikation
#define Z21DEBUG Ausgabe Z21 Protokoll Kommunikation
#define Z21DATADEBUG Ausgabe RAW Daten des Z21 Protokoll
#define Z21SYSTEMDATADEBUG Regelmäßige Ausgabe der Systemwerte

Software

Die Software ist mit der Arduino IDE geschrieben.

Arduino Plug-In: Anpassung der Arduino IDE für die Funktion mit Sanguino oder ESP-Modul sind unter Arduino#Hardware beschrieben.

Arduino Z21 DCC Zentrale Sketch

Hinweis: Für eine korrekte Funktion des WLAN beim AVR ist mindestens das v37 WLAN Add-On Sketch für das verwendete WLAN Modul notwendig. 
Derzeit keine Funktion auf den ESP32!

Das Sketch kann universal für den Arduino UNO [eingeschränkt], Arduino MEGA, Sanguino Mikroprozessor ATmega1284p oder auf dem ESP (ab Sw. v4.91) eingesetzt werden. (Übersicht Arduino Mikroprozessoren). Der Sketch für den Betrieb der Z21PG Zentrale muss vor dem Upload noch entsprechend der genutzten Hardware konfiguriert werden.

Änderungen:

  • v4.98: NEU: INA219 für ESP8266 (Auslesen von VCC und ACK)
  • ______: NEU: optionaler ACK Eingang mit Interrupt
  • ______: NEU: Befehle nach RCN-213 möglich. Aktivierung über App.
  • ______: Fix: Animation beim Programmieren entfernt
  • ______: Fix: Display Kontrast für längere Lebensdauer reduziert
  • v4.97: NEU: Lok Funktionen bis F68 und Binary States bis F32767
  • ______: NEU: DCCext für Zubehördekoder
  • ______: Fix: Display Darstellung verbessert und neue Pikogramme hinzugefügt
  • ______: Fix: direct CV# lesen wurde komplett überarbeitet
  • v4.96: Fix: für CV lesen auf dem Programmiergleis
  • ______: NEU: OLED Display SH110X Driver support
  • ______: Fix: Fehlerbeseitigung beim Laden der Daten auf dem Display
  • ______: NEU: I2C Scanner für automatisches erkennen der Display Adresse
  • ______: NEU: ESP8266 mit XpressNet und LocoNet support
  • v4.95: Fix: Sketch für WeMos D1 mini (ESP8266) optimiert
  • ______: NEU: OLED Display SSD1306 I2C Unterstützung
  • ______: Fix: ACK Booster wurde wieder entfernt!
  • ______: Fix: WLAN Datenverarbeitung blockierungsfrei
  • v4.94: Fix: ACK Erkennung verbessert (ACK Booster)
  • ______: NEU: LocoNet LocoBuffer über USB
  • ______: Fix: LocoNet-Z21 Übertragung, Unterstützung für JMRI (Decoder Pro)
  • ______: Fix: Z21 Protokoll Fehler ausgebessert
  • v4.93: Fix: Anpassung Abfrage Lokdaten im Client Modus (LocoNet/XpressNet)
  • ______: NEU: Dauerhafte Speicherung der Boardcast Flags je Client IP
  • v4.92: NEU: Dasiy II LocoNet Support (F9-F28) und Fahrtrichtung invertiert für Intellibox Slave-Mode
  • ______: Fix: ESP32 DCC Support und Pin Konfiguration
  • v4.91: Fix: LocoNet Daten Verarbeitung
  • ______: NEU: Unterstützung ESP32 Plattform
  • v4.90: NEU: Temperatursensor mit DS18B20 möglich
  • ______: Fix: DCC RailCom Cutout Länge.
  • ______: NEU: Seriennummer ist die geladene Arduino Z21 Versionsnummer
  • ______: NEU: EEPROM wird beim Starten geprüft und beim RESET mit default Werten initialisiert.
  • ______: Fix: Kommunikation mit WDP
  • ______: Fix: Übertragung LocoNet Belegmerderdaten zur Z21-APP (09.04.2021)


Ältere Versionen können über Sourceforge heruntergeladen werden:

Z21 WLAN Add-On Sketch

Diese Software ist für das WLAN Add-On basierend auf dem ESP8266 für die Arduino Z21 DCC Zentrale (Arduino NANO/UNO/MEGA version) notwendig. Sie muss in das ESP8266, mit Hilfe der Arduino IDE, hochgeladen werden. Die Software beinhaltet einen AJAX Webserver zur Konfiguration und die Option die S88-Modulanzahl zu ändern. Außerdem ist ein Reset Fall-back (Timeout) des Daten-Buffer für die Serial-Kommunikation zur Arduino Z21 DCC Zentrale implementiert. Zu beachten ist, dass es sich hierbei nur um das Sketch handelt welches für das WLAN-Modul notwendig ist, dies ist keine eigenständige Zentrale.
Info: Bei Konfigurationsänderungen am AccessPoint (AP) wird dieser beim Speichern automatisch neu gestartet - es erfolgt dadurch keine Rückmeldung oder Bestätigung des Speichervorgangs! Eine freie Kanalauswahl (1-13) für den AP ist nur möglich, wenn keine Client Verbindung besteht.

  • NEU v38: Anpassung Serial Kommunikation, fix Problem beim Verbinden mit AP
  • Fix v35: Update Client Port Information bei jedem Paket
  • NEU v34: Erweiterung des Access-Point zur Unterstützung von bis zu 8 Clients!
  • Fix v33: ESP installierte LED Signalisiert Datenübertragung; Regelmäßige Port Prüfung für Clients entfernt.
  • NEU v32: Übertragung des Client-IP-Hash zur Identifizierung der angemeldeten Clients
  • Fix v32: leere/falsche Darstellung der SSID und Passwort, wenn keine Daten im EEPROM vorhanden sind.
  • Fix v27: Akzeptiert jetzt auch eine SSID mit nur einem Zeichen.

notwendige Bibliotheken

Hier sind die notwendigen Bibliotheken aufgeführt. Nur damit ist das Sketch der DCC Zentrale lauffähig. Informationen wie ihr Bibliotheken installiert, findet ihr auf der Arduino Webseite (engl.).


Rechtsbehelf

Hinweis:
Die auf dieser Webseite vorgestellte Software und Schaltungen können für den privaten Gebrauch 
frei genutzt werden, eine kommerzielle Verwertung bedarf einer schriftlichen Genehmigung.
  1. Das Motorola Format (MM) wird nicht unterstützt!
  2. S88N Unterstützung von bis zu 62x Modulen mit je 8 Ports und Raildata (DCC-Signal) .
  3. Bis zu 31 Endgeräte (Roco LokMaus2, Roco MultiMaus) können am XpressNet angeschlossen werden.
  4. Support F0 bis F28