Zentrale Z21PG/en: Unterschied zwischen den Versionen

Aus Digital Modellbahn
(Übernehme Bearbeitung einer neuen Version der Quellseite)
(Übernehme Bearbeitung einer neuen Version der Quellseite)
Zeile 12: Zeile 12:
 
== Basics ==
 
== Basics ==
  
 +
<div class="mw-translate-fuzzy">
 
[[File:DCC_Zentrale_Box.JPG|thumb|180px|Central Station in a Eurobox]]
 
[[File:DCC_Zentrale_Box.JPG|thumb|180px|Central Station in a Eurobox]]
 
[[File:DCC_Zentrale.JPG|thumb|DCC Central with network, S88, XpressNet and LocoNet connection]]
 
[[File:DCC_Zentrale.JPG|thumb|DCC Central with network, S88, XpressNet and LocoNet connection]]
Zeile 19: Zeile 20:
 
Here I will describe the build up of the [http://www.z21.eu/ Z21 DCC Central Station] on the base platform of the [[Special:MyLanguage/Arduino|Arduino]] ([http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560 Arduino MEGA] buy it on [http://www.aliexpress.com/af/Arduino-Mega.html AliExpress] for about 8,- Euro) to control the model railway via the Z21 LAN protocol. The basic version need for the network connection a [http://arduino.cc/en/Main/ArduinoEthernetShield Ethernet Shield] with a W5100 chip (at [http://www.aliexpress.com/af/Arduino-ethernet-shield-w5100.html AliExpress] for about 5,- Euro). With the ethernet shield you can include the central station into a already used home network with WiFi to control over  [[Special:MyLanguage/Z21 mobile | smartphone hand device]] or other  [[Special:MyLanguage/Z21_mobile#Z21_Anwendungen |software]] for example  [[Special:MyLanguage/Rocrail|Rocrail]] your model railroad.
 
Here I will describe the build up of the [http://www.z21.eu/ Z21 DCC Central Station] on the base platform of the [[Special:MyLanguage/Arduino|Arduino]] ([http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560 Arduino MEGA] buy it on [http://www.aliexpress.com/af/Arduino-Mega.html AliExpress] for about 8,- Euro) to control the model railway via the Z21 LAN protocol. The basic version need for the network connection a [http://arduino.cc/en/Main/ArduinoEthernetShield Ethernet Shield] with a W5100 chip (at [http://www.aliexpress.com/af/Arduino-ethernet-shield-w5100.html AliExpress] for about 5,- Euro). With the ethernet shield you can include the central station into a already used home network with WiFi to control over  [[Special:MyLanguage/Z21 mobile | smartphone hand device]] or other  [[Special:MyLanguage/Z21_mobile#Z21_Anwendungen |software]] for example  [[Special:MyLanguage/Rocrail|Rocrail]] your model railroad.
 
With extensions you can add for example even a WiFi AP or Client (with ESP6288) to the central station.
 
With extensions you can add for example even a WiFi AP or Client (with ESP6288) to the central station.
 +
</div>
  
 
== Functions ==
 
== Functions ==
  
 +
<div class="mw-translate-fuzzy">
 
:* communication over ethernet with the "[[Special:MyLanguage/Z21 mobile|Z21 LAN protocol]]" of [http://www.z21.eu ROCO/Fleischmann], with more then only [http://www.z21.eu/FAQ-Support/FAQ#1213 ten "clients"]!
 
:* communication over ethernet with the "[[Special:MyLanguage/Z21 mobile|Z21 LAN protocol]]" of [http://www.z21.eu ROCO/Fleischmann], with more then only [http://www.z21.eu/FAQ-Support/FAQ#1213 ten "clients"]!
 
:::* [https://www.arduino.cc/en/pmwiki.php?n=Main/ArduinoEthernetShield Ethernet Interface] <!--(SPI ClientSelect (CS) des W5100 über Pin D10). -->
 
:::* [https://www.arduino.cc/en/pmwiki.php?n=Main/ArduinoEthernetShield Ethernet Interface] <!--(SPI ClientSelect (CS) des W5100 über Pin D10). -->
Zeile 41: Zeile 44:
 
:* [[Special:MyLanguage/DCC#Hardware|DCC-Input]] connection from a "foreign central station" (only for Arduino MEGA)
 
:* [[Special:MyLanguage/DCC#Hardware|DCC-Input]] connection from a "foreign central station" (only for Arduino MEGA)
 
:* addition: [[Special:MyLanguage/Zentrale#Software_Download | Softwareupdate and own changes, because of open source software, with the upload of the Arduino IDE.]]
 
:* addition: [[Special:MyLanguage/Zentrale#Software_Download | Softwareupdate and own changes, because of open source software, with the upload of the Arduino IDE.]]
 
+
</div>
 
 
=== ''ideas for new extensions:'' ===
 
 
 
:* Change a XpressNet MultiMaus to a WiFi MultiMaus
 
:* Support for the Arduino DUE, a more powerful central station
 
  
 
===Advice===
 
===Advice===
  
 +
<div class="mw-translate-fuzzy">
 
<references />
 
<references />
 +
</div>
  
 
== [http://sourceforge.net/p/pgahtow/f944/tickets known Bugs] ==
 
== [http://sourceforge.net/p/pgahtow/f944/tickets known Bugs] ==
  
 +
<div class="mw-translate-fuzzy">
 
This project is private and just developed by myself. It doesn't have a 100% support for the used protocols. Here is a list of known problems:
 
This project is private and just developed by myself. It doesn't have a 100% support for the used protocols. Here is a list of known problems:
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.65]]) problem: No 'Init...' while communication with Freiwald Train Controller - fix in the network protocol of the Z21. Bugfix is also include in  [[Special:MyLanguage/Zentrale#Z21_WLAN_Add-On_Sketch |ESP8266 from version v26]]!
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.65]]) problem: No 'Init...' while communication with Freiwald Train Controller - fix in the network protocol of the Z21. Bugfix is also include in  [[Special:MyLanguage/Zentrale#Z21_WLAN_Add-On_Sketch |ESP8266 from version v26]]!
Zeile 59: Zeile 60:
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.70]]) problem: Syncing central XpressNet clients - change of active functions and drive instructions will not affect a change on the display of the Roco MultiMaus (XpressNet Busy Feature).
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.70]]) problem: Syncing central XpressNet clients - change of active functions and drive instructions will not affect a change on the display of the Roco MultiMaus (XpressNet Busy Feature).
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.71]]) LocoNet interface controls only function F0 to F8
 
:* (solved, from version [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.71]]) LocoNet interface controls only function F0 to F8
:* (solved in XpressNet Master Library v2.0) Problems with the XpressNet communication when connection Lenz hardware LH100 or LH90.  
+
:* (solved in XpressNet Master Library v2.0) Problems with the XpressNet communication when connection Lenz hardware LH100 or LH90.
 
+
</div>  
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.65]]) Problem: Kein 'Init...' bei der Kommunikation mit dem Freiwald Train Controller - Anpassung der Z21 Netzwerkimplementierung vorgenommen. Bugfix auch für [[Special:MyLanguage/Zentrale#Z21_WLAN_Add-On_Sketch |ESP8266 ab v26]] enthalten!
 
<!--:* keine Kommunikation zwischen [http://wiki.rocrail.net/doku.php?id=gca51-de LocoNet GCA51] und Rocrail.-->
 
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.70]]) Problem: Synchronisation Zentrale XpressNet Client - Aktive Funktionen und Fahrbefehle werden nicht an die Roco MultiMaus übertragen und auf dem Display dargestellt (XpressNet Busy Feature).
 
:* (gelöst, ab [[Special:MyLanguage/Zentrale#Arduino_Z21_DCC_Zentrale_Sketch|v4.71]]) Problem: LocoNet Interface steuert nur Funktionen F0 bis F8
 
:* (gelöst ab XpressNet Master Library v2.0) Probleme bei der XpressNet Kommunikation mit Lenz Hardware LH100 und LH90.
 
  
 +
<div class="mw-translate-fuzzy">
 
I am pleased to receive suggestions and unknown problems by: [http://sourceforge.net/p/pgahtow/f944/tickets/new/ TICKET creation] or direct via [mailto:digitalmoba@arcor.de Email].
 
I am pleased to receive suggestions and unknown problems by: [http://sourceforge.net/p/pgahtow/f944/tickets/new/ TICKET creation] or direct via [mailto:digitalmoba@arcor.de Email].
 +
</div>
  
 
==Hardware==
 
==Hardware==
  
 +
<div class="mw-translate-fuzzy">
 
The Arduino Z21 DCC Central Station generates the DCC signal by using my own  [[Special:MyLanguage/DCC|DCCInterface Library]] and Timer1/Timer2 (selectable). The central station support different protocols and it's own hardware interface. To select your own used protocols and hardware you have to (de)activate the interfaces inside the Arduino sketch (with ''"//"'' infront of <code>#define</code> or <code>#include</code> you can deactivate the unused protocol!).
 
The Arduino Z21 DCC Central Station generates the DCC signal by using my own  [[Special:MyLanguage/DCC|DCCInterface Library]] and Timer1/Timer2 (selectable). The central station support different protocols and it's own hardware interface. To select your own used protocols and hardware you have to (de)activate the interfaces inside the Arduino sketch (with ''"//"'' infront of <code>#define</code> or <code>#include</code> you can deactivate the unused protocol!).
 +
</div>
  
  
 
===<u>Ethernet Interface</u>===
 
===<u>Ethernet Interface</u>===
  
 +
<div class="mw-translate-fuzzy">
 
The Ethernet-Interface can be activated inside the sketch with ''"#define LAN"''. It provides the communication with the [[Special:MyLanguage/Z21_mobile|Z21 protocol library]] for cable devices connected to the Arduino W5100 Ethernet Shield. The used IP-Address is by default 192.168.0.111/24 and can be changed only over it's website (you need to activate the website by <code>#define HTTPCONF"</code>). You can also activate DHCP to receive a IP. To reset the IP to default you need to hold the power on/off switch while power plug in.  
 
The Ethernet-Interface can be activated inside the sketch with ''"#define LAN"''. It provides the communication with the [[Special:MyLanguage/Z21_mobile|Z21 protocol library]] for cable devices connected to the Arduino W5100 Ethernet Shield. The used IP-Address is by default 192.168.0.111/24 and can be changed only over it's website (you need to activate the website by <code>#define HTTPCONF"</code>). You can also activate DHCP to receive a IP. To reset the IP to default you need to hold the power on/off switch while power plug in.  
 
  If you use the Arduino UNO with WiFi over Software Serial, you can't activate the Ethernet-Interface!
 
  If you use the Arduino UNO with WiFi over Software Serial, you can't activate the Ethernet-Interface!
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
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.
 
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.
 +
</div>
  
 
===<u>DCC Input Interface</u>===
 
===<u>DCC Input Interface</u>===
  
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 />
+
<div class="mw-translate-fuzzy">
 +
Attention: This is obsolete and will be not updated!
 +
With the [[Special:MyLanguage/DCC_Dekoder|DCC-Input]] of a "foreign central station" you can integrate this DCC information on the rails. You will have no feedback between the central stations because there is no reverse communication. You can use this connection for example to use a PIKO Fern / Digi 1 (55019). The DCC decoding use no timer and will work on each provided micro controller. You need to active the interface with <code>#define DECODER</code> inside of the sketch.
 +
</div>
  
 
'''''End of Support!'''''
 
'''''End of Support!'''''
Zeile 91: Zeile 98:
 
[[Datei:Arduino_ROCO_Booster.png|thumb|160px|Arduino XpressNet 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 XpressNet 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 />
+
<div class="mw-translate-fuzzy">
 +
If you have a less expensive ROCO 10761, 10764 or Fleischmann Digitalbooster 680801 it can be used as an external 3,5A booster with the central station. Also without XpressNet support (no MAX 485) you can use this external booster. The necessary short detection is already inside the software. You need just to activate this function with: <br />
 
<code>#define BOOSTER_EXT <br /> #define BOOSTER_EXT_ON HIGH <br /> #define BOOSTER_EXT_OFF LOW </code>
 
<code>#define BOOSTER_EXT <br /> #define BOOSTER_EXT_ON HIGH <br /> #define BOOSTER_EXT_OFF LOW </code>
 +
</div>
  
 
To communicate with a ROCO LokMaus2 or MultiMaus you need the XpressNet driver MAX485. The Z21 Central Station provide then the master function for the LokMaus2 or/and MultiMaus. You can connect up to 31 slave devices (clients) to the XpressNet.  
 
To communicate with a ROCO LokMaus2 or MultiMaus you need the XpressNet driver MAX485. The Z21 Central Station provide then the master function for the LokMaus2 or/and MultiMaus. You can connect up to 31 slave devices (clients) to the XpressNet.  
  
Aktivierung des XpressNet-Interface im Sketch mittels: <br />
+
<div class="mw-translate-fuzzy">
 +
To activate the XpressNet-Interface you need to have this lines in the sketch: <br />
 
<code>#define XPRESSNET <br /> #include <XpressNetMaster.h> </code>
 
<code>#define XPRESSNET <br /> #include <XpressNetMaster.h> </code>
 +
</div>
  
 
The picture on the right shows the schematic for the  connection of the ROCO Boosters 10761 and the hardware you need to build up the XpressNet-Interface. For the data lines A and B you my need an additional pull up/down and/or a bus close ending. ([[Special:MyLanguage/XpressNet#Hardware|see XpressNet hardware]]).
 
The picture on the right shows the schematic for the  connection of the ROCO Boosters 10761 and the hardware you need to build up the XpressNet-Interface. For the data lines A and B you my need an additional pull up/down and/or a bus close ending. ([[Special:MyLanguage/XpressNet#Hardware|see XpressNet hardware]]).
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
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.
 +
</div>
  
 
===<u>LocoNet</u>===
 
===<u>LocoNet</u>===
  
 +
<div class="mw-translate-fuzzy">
 
[[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 [[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 />
+
With the integration of the LocoNet-Interface it is possible to connect the Arduino Z21 Central with a Uhlenbrock Intellibox, feedback/switch modules or with throttle devices like [[Special:MyLanguage/FredI|Fred]]. To use a Fred you must activate the LocoNet slot server. Note a connection to a Intellibox is only possible with a deactivated slot server, because the Intellibox provide it's own server! The [[Special:MyLanguage/Loconet|LocoNet Library]] uses to create the signal the timer 1 and on the Arduino MEGA timer 5. To activate the LocoNet-Interface: <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. Für den Betrieb als LocoNet Client muss der Slot-Server inaktiv sein. Sollen alle Lokinformationen ins LocoNet (auch ohne explizite 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 />
+
The Slot-Server can activated by <code>#define LnSLOTSRV </code>. If it is necessary you can send all loco informations with <code> #define TXAllLokInfoOnLN true </code>. This can be useful if you use a client software that communicates with the Z21 oder LocoNet. <br />
<u>Beachte:</u> Das LocoNet-Interface unterstützt jetzt auch die Funktionen bis F28!
+
<u>Note:</u> The LocoNet-Interface now support functions up to F28!
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
====<u>LocoNet-B</u>====
 
====<u>LocoNet-B</u>====
[[Datei:Arduino_LocoNet-B_Beispiel.png|thumb|160px|Arduino LocoNet-B Anschluss]]
+
[[Datei:Arduino_LocoNet-B_Beispiel.jpg|thumb|160px|Arduino LocoNet-B Anschluss]]
Zum Anschluss von Booster am LocoNet liegt auf den Leitungen 1 und 6 (Raildata) ein DCC-Signal an. Dies wird über eine kleinen H-Brückentreiber erzeugt.
+
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.
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
<u>Hinweis:</u> Eine Unterstützung erfolgt ab Software v4.83!
 
<u>Hinweis:</u> Eine Unterstützung erfolgt ab Software v4.83!
 +
</div>
  
 +
<div class="mw-translate-fuzzy">
 
===<u>S88N</u>===
 
===<u>S88N</u>===
[[File:S88_Singel_Master_schematic.png|thumb|160px|Arduino S88 Singel Master Schaltplan]]
+
[[File:S88_Singel_Master_schematic.png|thumb|160px|Arduino S88 singel Master schematic]]
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 />
+
Feedback messages can received with the S88N-Interface and send to the control software. The S88 connector support up to 62 modules with eight inputs. To manage the number of modules that are permament requested you have to open the web configuration on the LAN or WiFi IP-Address. To activate the interface you need to uncomment:<br />
 
<code>#define S88N </code> <br />
 
<code>#define S88N </code> <br />
<u>Hinweis:</u> Ab ca. 5 Modulen sollte ein [[Special:MyLanguage/Lok_Rückmeldung#HSI-S88N-USB_Interface_.28v1.02.29|Ausgangstreiber 74HC244]] für den S88 Bus verwendet werden.
+
<u>Advice:</u> With more then 5 modules you should use a [[Special:MyLanguage/Lok_Rückmeldung#HSI-S88N-USB_Interface_.28v1.02.29|driver 74HC244]] for your S88 system.
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
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).
 +
</div>
 +
 +
<div class="mw-translate-fuzzy">
 
===<u>internal Booster</u>===
 
===<u>internal Booster</u>===
 +
</div>
  
[[Datei:TLE5205-2_Booster.png|thumb|160px|TLE5205-2g Booster3 ''('''Nicht mehr aktuell!''' - siehe [[Booster#Booster3R|TLE Booster3R mit RailCom]])'']]
+
<div class="mw-translate-fuzzy">
Ein einfacher und sehr kostengünstiger [[Special:MyLanguage/Booster|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 />
+
[[Datei:TLE5205-2_Booster.png|thumb|160px|TLE5205-2g Booster3 ''('''Not in use!''' - see [[Booster#Booster3R|TLE Booster3R with RailCom]])'']]
 +
A cheap [[Special:MyLanguage/Booster|Booster]] (for example: H-Brücke TLE5205) to provide a DCC-Signal for programming and main track. A second short circuit detection for the internal booster with a seperate RailCom-Signal. To activate the interface you need to uncomment: <br />
 
<code>#define BOOSTER_INT <br /> #define BOOSTER_INT_ON LOW <br /> #define BOOSTER_INT_OFF HIGH </code> <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 [[Special:MyLanguage/Booster#Booster3|Booster3]] zu finden. Für eine Datenausgabe mit RailCom muss zwingend die Hardware des Booster3R verwendet werden.<br />
+
You can use a H-Bridge driver TLE5205 or equal like TLE5206-2. They can provide up to 5A. A discription you can find under [[Special:MyLanguage/Booster#Booster3|Booster3]]. For the RailCom Output you must use the hardware of Booster3R.<br />
:'''Achtung:''' Im [http://pgahtow.sourceforge.net/wordpress/wp-content/uploads/2015/10/TLE5205.pdf Datenblatt] des TLE5205 ist eine falsche Logiktabelle abgebildet!
+
:'''Attention:''' The logic table of the [http://pgahtow.sourceforge.net/wordpress/wp-content/uploads/2015/10/TLE5205.pdf Datasheet] from the TLE5205 is different then the TLE5206!
 +
</div>
  
 +
<div class="mw-translate-fuzzy">
 
===<u>internal Booster with [[Special:MyLanguage/Railcom|Railcom]]</u>===
 
===<u>internal Booster with [[Special:MyLanguage/Railcom|Railcom]]</u>===
 +
</div>
  
[[Datei:TLE_Booster3R.png|thumb|160px|TLE Booster3R für Railcom ([http://sourceforge.net/projects/pgahtow/files/Booster/Version3/TLE%20Booster3R.sch Eagle])]]
+
<div lang="de" dir="ltr" class="mw-content-ltr">
[[Datei:Z21_globalRailComDetector.png|thumb|160px|global RailCom Detector ([http://sourceforge.net/projects/pgahtow/files/Z21_mobile/DCC_Zentrale/global_RailCom_Detector_Z21.sch Eagle])]]
+
Soll eine Kurzschlusserkennung über den Messwiderstand (SENCE) erfolgen muss dies 'aktiviert' werden: <br />
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 umgebaut werden. Für die Ansteuerung des TLE wird nun ab v4.70 auch das DCC Signal auf den GO/STOP2 Pin (Booster intern) gelegt. Der Anschluss des internen Booster erfolgt damit so wie zuvor (DCC = DCC1), nur DCC2 des Booster muss an GO/STOP2:
+
<code>#BOOSTER_INT_CURRENT_SHORT_DETECT </code> <br />
:*DCC '''=>''' DCC1,
+
Zur Anzeige der Stromaufnahme zum Beispiel in Rocrail über einen Messwiderstand (SENCE) muss im Sketch <Code>#define BOOSTER_INT_MAINCURRENT</Code> aktiviert werden.  
:*GO/STOP2 (Booster intern) '''=>''' DCC2,
 
:*SHORT2 (Booster intern) '''=>''' SHORT.
 
Um die geänderte Ansteuerung zu aktivieren muss im Sketch folgende Zeile 'aktiv' sein: <br />
 
<code>#define BOOSTER_INT_NDCC</code> <br />
 
RailCom selbst kann über folgende Zeile 'aktiviert' werden: <br />
 
<code>#define RAILCOM</code><br />
 
Zur Anzeige der Stromaufnahme muss <Code>#define BOOSTER_INT_MAINCURRENT</Code> aktiviert werden.  
 
 
<br />
 
<br />
 +
</div>
  
Damit ist nun auch möglich eine andere H-Brücke (zum Beispiel L6206N oder L298n) zu verwenden. (Die Kurzschlusserkennung mittels SENCE Widerstand muss dabei trotzdem installiert werden!)
+
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
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.
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
Bei der Verwendung von einem Booster ohne Kurzschlusserkennung
 +
(z.B. L6203 / L298n), muss diese mittels SENCE Widerstand erfolgen
 +
und im Sketch auch aktiviert sein!
 +
</div>
 +
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
<br>
 +
</div>
 +
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
Am Ausgang des Booster3R 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 TLE 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.
 
Am Ausgang des Booster3R 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 TLE 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.
 +
</div>
  
 
===<u>WiFi (WLAN Add-On)</u>===
 
===<u>WiFi (WLAN Add-On)</u>===
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
[[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 [[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 die WiFi-Kommunikation wird das ESP82660-01 Modul 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.
 
Anschluss ESP8266 WLAN-Modul: <br />
 
Anschluss ESP8266 WLAN-Modul: <br />
:* Arduino UNO  = Serial (0,1) [oder über Software Serial (11,12)]
+
:* Arduino UNO  = Serial (0,1) [oder über Software Serial (13,12)]
 
:* Arduino MEGA = Serial2 (16,17)
 
:* Arduino MEGA = Serial2 (16,17)
 
:* andere      = Serial (0,1) <br />
 
:* andere      = Serial (0,1) <br />
Zeile 161: Zeile 202:
 
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: <code>#define WIFI</code> <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. Um WLAN in der Zentrale zu aktivieren muss folgende Zeile einkommentiert werden: <code>#define WIFI</code> <br />
 
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.
 
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.
 +
</div>
 +
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
Optional kann auch ein "WeMos D1 mini ESP8266" als fertiges Board für das WiFi-Interface genutzt werden.
 +
</div>
  
 
===<u>Debugging (optional)</u>===
 
===<u>Debugging (optional)</u>===
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
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 />
 
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 />
 
Aktiviert wird das Debugging mittels:
 
Aktiviert wird das Debugging mittels:
 
<code>#define Debug Serial </code> <br />
 
<code>#define Debug Serial </code> <br />
 +
<code>#define DebugBaud 115200 </code> muss auch aktiviert werden und legt die Geschwindigekeit fest.<br />
 
Einstellung welche Daten/Protokolle ausgegeben werden sollen: <br />
 
Einstellung welche Daten/Protokolle ausgegeben werden sollen: <br />
 
<code>#define DEBUG </code> Ausgabe von Einstellungen und Softwareversion <br />
 
<code>#define DEBUG </code> Ausgabe von Einstellungen und Softwareversion <br />
Zeile 173: Zeile 221:
 
<code>#define XnDEG </code> Ausgabe XpressNet Kommunikation <br />
 
<code>#define XnDEG </code> Ausgabe XpressNet Kommunikation <br />
 
<code>#define Z21DEBUG </code> Ausgabe Z21 Protokoll Kommunikation <br />
 
<code>#define Z21DEBUG </code> Ausgabe Z21 Protokoll Kommunikation <br />
 
+
<code>#define Z21DATADEBUG </code> Ausgabe RAW Daten des Z21 Protokoll <br />
== Hardware MCUs (circuit diagram) ==
+
<code>#define Z21SYSTEMDATADEBUG  </code> Regelmäßige Ausgabe der Systemwerte <br />
 
+
<code>#define DEBUG_WLAN_CONFIG </code> Konfiguration des ESP8266 Interface mit IP-Adressen, SSID, Passwort, etc. <br />
Die Arduino Z21 DCC Zentrale kann unter verschiedenen Mikroprozessoren eingesetzt werden. Dabei richtet sich die Auswahl nach den notwendigen Funktionen (Interfaces).
+
<code>#define RCDEB </code> RailCom RAW Daten werden ausgegeben. <br />
 
+
</div>
# [[Special:MyLanguage/Z21 Arduino Zentrale (Atmega328p)|Arduino UNO Z21 DCC Zentrale (ATmega328p) - small]]
 
# [[Special:MyLanguage/Z21 Arduino Zentrale (Atmega2560)|Arduino MEGA Z21 DCC Zentrale (ATmega2560) - medium]]
 
# [[Special:MyLanguage/Z21 Arduino Zentrale (Atmega1284p)|Sanguino Z21 DCC Zentrale (ATmega1284p/ATmega644p) - big]]
 
# [[Special:MyLanguage/Z21 Arduino Zentrale (SAM3X8E ARM)|Arduino DUE Z21 DCC Zentrale (SAM3X8E 32-bit ARM) - fast]]
 
  
 
== [http://sourceforge.net/projects/f944.pgahtow.p/files/ Software] ==
 
== [http://sourceforge.net/projects/f944.pgahtow.p/files/ Software] ==
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
Die Software ist mit der [http://pgahtow.de/?open=arduinoIDE Arduino IDE] geschrieben.  
 
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.
 
: ''' [[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.
 +
</div>
  
 
+
<div lang="de" dir="ltr" class="mw-content-ltr">
===<u>Description</u>===
 
 
 
 
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. ([[Arduino#Hardware|Übersicht Arduino Mikroprozessoren]]) <br />
 
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. ([[Arduino#Hardware|Übersicht Arduino Mikroprozessoren]]) <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 />
 
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 />
: '''<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 Protokolle/Interface für dem Arduino UNO eingeschränkt (zu wenig RAM/ROM)! <br />
+
</div>
 
 
  
 
==== <u>Z21 WLAN Add-On Sketch</u> ====
 
==== <u>Z21 WLAN Add-On Sketch</u> ====
  
:* [https://sourceforge.net/projects/f944.pgahtow.p/files/wlan_sketch/Z21_ESPArduinoUDP_v28.ino/download Z21 ESP8266 UDP v28 Sketch (03.10.2018) Download] - mit automatischer Baudratenbestimmung <br />
+
<div lang="de" dir="ltr" class="mw-content-ltr">
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 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 />
+
:* [https://sourceforge.net/projects/f944.pgahtow.p/files/wlan_sketch/Z21_ESPArduinoUDP_v32.ino Z21 ESP8266 UDP v32 Sketch (07.04.2021) Download] - mit automatischer Baudratenbestimmung <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 />
 
'''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 />
'''Fix v27:''' Akzeptiert jetzt auch eine SSID mit nur einem Zeichen.
+
</div>
 +
 
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
* 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.
 +
</div>
  
 
==== <u>Arduino Z21 DCC Zentrale Sketch</u> ====
 
==== <u>Arduino Z21 DCC Zentrale Sketch</u> ====
  
:*[https://sourceforge.net/projects/f944.pgahtow.p/files/Z21_Ethernet_DCC_Zentrale_v480.zip/download Arduino Z21 DCC Zentrale v4.80 (06.03.18) Download]
+
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
:*[https://sourceforge.net/projects/f944.pgahtow.p/files/Z21_Ethernet_DCC_Zentrale_v491.zip/download Arduino Z21 DCC Zentrale v4.91 (20.05.21) Download] - Multi Plattform Support Sketch
 +
</div>
 +
 
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
Änderungen:
 
Änderungen:
 +
<!--
 
* Add [[Special:MyLanguage/Railcom|Railcom]] und global Railcom Detektor über Serial3 für MEGA und I2C für UNO. Lesen von CV Daten über POM.
 
* Add [[Special:MyLanguage/Railcom|Railcom]] und global Railcom Detektor über Serial3 für MEGA und I2C für UNO. Lesen von CV Daten über POM.
<!--
 
 
* Fix XpressNet Kommunikation
 
* Fix XpressNet Kommunikation
 
* Fix Kommunikation im LocoNet-Client Modus mit der Intellibox (Fahrtrichtungsproblem).
 
* Fix Kommunikation im LocoNet-Client Modus mit der Intellibox (Fahrtrichtungsproblem).
Zeile 214: Zeile 268:
 
* LocoNet mit Slotserver (Master/Slave Betrieb) - Zum Beispiel als LocoNet Slave an einer Intellibox (ab Arduino DCC Interface Library ab v2.2!)
 
* 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.
 
* Weichen über LocoNet steuerbar und Anpassung der LocoNet Nachrichtenübertragung ins Z21-Protokoll.
-->
 
* Optimierung der XpressNetMaster Bibliothek - CV lesen mit MultiMaus.
 
 
* Add: Kurzschlusserkennung über "Current Sence" programmier ACK Widerstand möglich.
 
* Add: Kurzschlusserkennung über "Current Sence" programmier ACK Widerstand möglich.
 
* Anpassung LocoNet Bibliothek für den Umgang mit langen Lokadressen.
 
* Anpassung LocoNet Bibliothek für den Umgang mit langen Lokadressen.
 +
* Fix von kleinen Fehlern beim Einlesen von Analog-Werten
 +
* Zusatzlicher DCC PIN beim Arduino MEGA ohne Abschaltung
 +
* Gleisspannung ist beim nach dem Starten direkt aktiv
 +
* Verbesserung der Serial-Kommunikation mit dem ESP WLAN Interface
 +
* Unterstützung des günstigen ENC28J60 Ethernet Interface
 +
* Fix Befehle im LocoNet Client-Mode
 +
* Fix beim Loconet Dispatch mit Adressen > 127
 +
* Fix für lange UDP Packete über WiFi und Anpassung an Anrdoid App (Stellpult Bug)
 +
-->
 +
* v4.90: NEU: Temperatursensor mit DS18B20 möglich
 +
* v4.90: Fix: DCC RailCom Cutout Länge.
 +
* v4.90: NEU: Seriennummer ist die geladene Arduino Z21 Versionsnummer
 +
* v4.90: NEU: EEPROM wird beim Starten geprüft und beim RESET mit default Werten initialisiert.
 +
* v4.90: Fix Kommunikation mit WDP
 +
* v4.90: Fix Übertragung LocoNet Belegmerderdaten zur Z21-APP (09.04.2021)
 +
* v4.91: Fix LocoNet Daten Verarbeitung
 +
* v4.91: NEU Unterstützung ESP32 Plattform
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
<br />
 
<br />
 
'''''Ältere Versionen können über Sourceforge heruntergeladen werden:'''
 
'''''Ältere Versionen können über Sourceforge heruntergeladen werden:'''
 
:*[http://sourceforge.net/projects/f944.pgahtow.p/files/ Arduino Z21 DCC Zentrale Sourceforge]''
 
:*[http://sourceforge.net/projects/f944.pgahtow.p/files/ Arduino Z21 DCC Zentrale Sourceforge]''
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
<!--
 
<!--
 
;* [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.
 
;* [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.
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
;* [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 />
 
;* [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 />
 
;* <span style="color: red;">Neue Pinbelegung für den internen Booster!<span>
 
;* <span style="color: red;">Neue Pinbelegung für den internen Booster!<span>
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
;* [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.
 
;* [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.
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
;* [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.
 
;* [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.
 +
</div>
  
;* [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 Bibliothek notwendig.  
+
<div lang="de" dir="ltr" class="mw-content-ltr">
 +
;* [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 Bibliothek notwendig.
 +
</div>
  
 +
<div class="mw-translate-fuzzy">
 
<br />
 
<br />
 +
</div>
  
 
==== <u>DCC Zentrale Version 3x and older</u> ====
 
==== <u>DCC Zentrale Version 3x and older</u> ====
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
;* [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)
 
;* [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)
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
;* [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>
 
;* [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>
 +
</div>
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
<br />
 
<br />
 
'''Ältere Versionen:'''
 
'''Ältere Versionen:'''
Zeile 249: Zeile 338:
 
* [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.
 
* [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.
 
-->
 
-->
 +
</div>
  
 
===<u>[https://www.arduino.cc/en/Guide/Libraries necessary libraries]</u>===
 
===<u>[https://www.arduino.cc/en/Guide/Libraries necessary libraries]</u>===
  
 +
<div lang="de" dir="ltr" class="mw-content-ltr">
 
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.)].
 
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.)].
* [[Special:MyLanguage/Z21_mobile#Download|Arduino Z21 LAN Protokoll Library]] - Arduino Z21 LAN Protokoll Library - Neu: POM read byte!
+
* [[Special:MyLanguage/Z21_mobile#Download|Arduino Z21 LAN Protokoll Library]] - Arduino Z21 LAN Protokoll Library - Neu: speichere Client HASH und WDP Support!
*[[Special:MyLanguage/DCC#Download|Arduino DCC Interface Library]] - NEU: Support von Railcom und zusätzlicher invertierter DCC Ausgang.
+
* [[Special:MyLanguage/DCC#Download|Arduino DCC Interface Library]] - NEU: Support von Railcom und zusätzlicher invertierter DCC Ausgang.
<!--
 
::=> 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.
 
-->
 
 
* [[Special:MyLanguage/XpressNet#XpressNet_Master|Arduino XpressNet Master Library]] - Neu: Automatisches wechseln zwischen Master und Client Modus
 
* [[Special:MyLanguage/XpressNet#XpressNet_Master|Arduino XpressNet Master Library]] - Neu: Automatisches wechseln zwischen Master und Client Modus
 
* [[Special:MyLanguage/Loconet#Download|Arduino LocoNet Library]]
 
* [[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
 +
</div>
  
 +
<div class="mw-translate-fuzzy">
 
<br />
 
<br />
 +
</div>
  
 
== Remedy ==
 
== Remedy ==

Version vom 3. Juni 2021, 19:50 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.jpgRailcom logo.gif

XpressNet logo.jpgLoconet logo.jpgS88-N logo.jpg

Basics

Central Station in a Eurobox
DCC Central with network, S88, XpressNet and LocoNet connection
Connections of the central station

A very good but also very expensive model railway control ROCO Z21 and the XpressNet gave me the idea to develop a own central station. My intention was to reduce the hardware or/and replace it with software. The self-construction central station should also have a network interface for APP and PC control, XpressNet, S88 and LocoNet so it will be equal or even more powerful then the original ROCO Z21.
Here I will describe the build up of the Z21 DCC Central Station on the base platform of the Arduino (Arduino MEGA buy it on AliExpress for about 8,- Euro) to control the model railway via the Z21 LAN protocol. The basic version need for the network connection a Ethernet Shield with a W5100 chip (at AliExpress for about 5,- Euro). With the ethernet shield you can include the central station into a already used home network with WiFi to control over smartphone hand device or other software for example Rocrail your model railroad. With extensions you can add for example even a WiFi AP or Client (with ESP6288) to the central station.

Functions

  • control 29 function (light, F0, F1 to F28),
  • control up to 2048 switch,
  • extern booster connection for ROCO 10761/10764 Digitalamplifier
  • internal DCC booster (TLE5205 driver with 5A)
  • NEW: RailCom® Cutout for internal booster (supported from version v4.70)
  • NEU: CV read and write (with optional programming track) (supported from version v4.75)
  • POM (programming on the main)
  • NEW: support for F9 up to F28 for Intellibox (supported from version v4.72)
  • LocoNet-Client Mode (Slot-Server can be switched off) for connection to Uhlenbrock Intellibox
  • programming of LocoNet LNCV (configuration variable) with the Z21 mobile APP (supported from version v4.52)

Advice

  1. The motorola format (MM) is not supported!
  2. S88N support up to 64 S88 device with 8 ports and raildata (DCC-signal) .
  3. up to 31 clients (Roco LokMaus2, Roco MultiMaus) can be connceted over XpressNet.
  4. support F0 to F8

known Bugs

This project is private and just developed by myself. It doesn't have a 100% support for the used protocols. Here is a list of known problems:

  • (solved, from version v4.65) problem: No 'Init...' while communication with Freiwald Train Controller - fix in the network protocol of the Z21. Bugfix is also include in ESP8266 from version v26!
  • (solved, from version v4.70) problem: Syncing central XpressNet clients - change of active functions and drive instructions will not affect a change on the display of the Roco MultiMaus (XpressNet Busy Feature).
  • (solved, from version v4.71) LocoNet interface controls only function F0 to F8
  • (solved in XpressNet Master Library v2.0) Problems with the XpressNet communication when connection Lenz hardware LH100 or LH90.

I am pleased to receive suggestions and unknown problems by: TICKET creation or direct via Email.

Hardware

The Arduino Z21 DCC Central Station generates the DCC signal by using my own DCCInterface Library and Timer1/Timer2 (selectable). The central station support different protocols and it's own hardware interface. To select your own used protocols and hardware you have to (de)activate the interfaces inside the Arduino sketch (with "//" infront of #define or #include you can deactivate the unused protocol!).


Ethernet Interface

The Ethernet-Interface can be activated inside the sketch with "#define LAN". It provides the communication with the Z21 protocol library for cable devices connected to the Arduino W5100 Ethernet Shield. The used IP-Address is by default 192.168.0.111/24 and can be changed only over it's website (you need to activate the website by #define HTTPCONF"). You can also activate DHCP to receive a IP. To reset the IP to default you need to hold the power on/off switch while power plug in.

If you use the Arduino UNO with WiFi over Software Serial, you can't activate the Ethernet-Interface!

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

Attention: This is obsolete and will be not updated! With the DCC-Input of a "foreign central station" you can integrate this DCC information on the rails. You will have no feedback between the central stations because there is no reverse communication. You can use this connection for example to use a PIKO Fern / Digi 1 (55019). The DCC decoding use no timer and will work on each provided micro controller. You need to active the interface with #define DECODER inside of the sketch.

End of Support!

XpressNet Interface with external booster support

Arduino XpressNet Booster Interface (Eagle)

If you have a less expensive ROCO 10761, 10764 or Fleischmann Digitalbooster 680801 it can be used as an external 3,5A booster with the central station. Also without XpressNet support (no MAX 485) you can use this external booster. The necessary short detection is already inside the software. You need just to activate this function with:
#define BOOSTER_EXT
#define BOOSTER_EXT_ON HIGH
#define BOOSTER_EXT_OFF LOW

To communicate with a ROCO LokMaus2 or MultiMaus you need the XpressNet driver MAX485. The Z21 Central Station provide then the master function for the LokMaus2 or/and MultiMaus. You can connect up to 31 slave devices (clients) to the XpressNet.

To activate the XpressNet-Interface you need to have this lines in the sketch:
#define XPRESSNET
#include <XpressNetMaster.h>

The picture on the right shows the schematic for the connection of the ROCO Boosters 10761 and the hardware you need to build up the XpressNet-Interface. For the data lines A and B you my need an additional pull up/down and/or a bus close ending. (see 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

Arduino LocoNet Master und S88N Interface (Eagle)

With the integration of the LocoNet-Interface it is possible to connect the Arduino Z21 Central with a Uhlenbrock Intellibox, feedback/switch modules or with throttle devices like Fred. To use a Fred you must activate the LocoNet slot server. Note a connection to a Intellibox is only possible with a deactivated slot server, because the Intellibox provide it's own server! The LocoNet Library uses to create the signal the timer 1 and on the Arduino MEGA timer 5. To activate the LocoNet-Interface:
#define LOCONET
#include <LocoNet.h>

The Slot-Server can activated by #define LnSLOTSRV . If it is necessary you can send all loco informations with #define TXAllLokInfoOnLN true . This can be useful if you use a client software that communicates with the Z21 oder LocoNet.
Note: The LocoNet-Interface now support functions up to F28!

LocoNet-B

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!

S88N

Arduino S88 singel Master schematic

Feedback messages can received with the S88N-Interface and send to the control software. The S88 connector support up to 62 modules with eight inputs. To manage the number of modules that are permament requested you have to open the web configuration on the LAN or WiFi IP-Address. To activate the interface you need to uncomment:
#define S88N
Advice: With more then 5 modules you should use a driver 74HC244 for your S88 system.

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).

internal Booster

TLE5205-2g Booster3 (Not in use! - see TLE Booster3R with RailCom)

A cheap Booster (for example: H-Brücke TLE5205) to provide a DCC-Signal for programming and main track. A second short circuit detection for the internal booster with a seperate RailCom-Signal. To activate the interface you need to uncomment:
#define BOOSTER_INT
#define BOOSTER_INT_ON LOW
#define BOOSTER_INT_OFF HIGH

You can use a H-Bridge driver TLE5205 or equal like TLE5206-2. They can provide up to 5A. A discription you can find under Booster3. For the RailCom Output you must use the hardware of Booster3R.

Attention: The logic table of the Datasheet from the TLE5205 is different then the TLE5206!

internal Booster with Railcom

Soll eine Kurzschlusserkennung über den Messwiderstand (SENCE) erfolgen muss dies 'aktiviert' werden:
#BOOSTER_INT_CURRENT_SHORT_DETECT
Zur Anzeige der Stromaufnahme zum Beispiel in Rocrail über einen Messwiderstand (SENCE) muss im Sketch #define BOOSTER_INT_MAINCURRENT aktiviert werden.

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.

Bei der Verwendung von einem Booster ohne Kurzschlusserkennung

(z.B. L6203 / L298n), muss diese mittels SENCE Widerstand erfolgen 
und im Sketch auch aktiviert sein!


Am Ausgang des Booster3R 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 TLE 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.

WiFi (WLAN Add-On)

ESP Arduino WiFi Modul
ESP Serial Anschluss (Eagle)

Für die WiFi-Kommunikation wird das ESP82660-01 Modul 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 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 ESP8266" als fertiges Board für das WiFi-Interface genutzt werden.

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
#define DebugBaud 115200 muss auch aktiviert werden und legt die Geschwindigekeit fest.
Einstellung welche Daten/Protokolle ausgegeben werden sollen:
#define DEBUG Ausgabe von Einstellungen und Softwareversion
#define REPORT Ausgabe der Zustände von S88 Rückmelder
#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
#define DEBUG_WLAN_CONFIG Konfiguration des ESP8266 Interface mit IP-Adressen, SSID, Passwort, etc.
#define RCDEB RailCom RAW Daten werden ausgegeben.

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.

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. (Übersicht Arduino Mikroprozessoren)
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!

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 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.

Arduino Z21 DCC Zentrale Sketch

Änderungen:

  • v4.90: NEU: Temperatursensor mit DS18B20 möglich
  • v4.90: Fix: DCC RailCom Cutout Länge.
  • v4.90: NEU: Seriennummer ist die geladene Arduino Z21 Versionsnummer
  • v4.90: NEU: EEPROM wird beim Starten geprüft und beim RESET mit default Werten initialisiert.
  • v4.90: Fix Kommunikation mit WDP
  • v4.90: Fix Übertragung LocoNet Belegmerderdaten zur Z21-APP (09.04.2021)
  • v4.91: Fix LocoNet Daten Verarbeitung
  • v4.91: NEU Unterstützung ESP32 Plattform


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

necessary libraries

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.).


Remedy

Note:
The software, circuits and layouts presented on this website can be used free for the private use,
commercial exploitation requires a written approval.