Zentrale Z21PG: Unterschied zwischen den Versionen
Zeile 39: | Zeile 39: | ||
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), XpressNet, S88 und LocoNet Bus bereitstellen. <br> | ||
''Kurzbeschreibung zum XpressNet:'' | ''Kurzbeschreibung zum XpressNet:'' | ||
− | Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder der Digitalverstärker 680801, verwendet wird, ergibt sich die Notwendigkeit eines XpressNet-Bus Masters (auch als Zentrale oder Hauptknoten bezeichnet). Die Masterfunktion kann beispielsweise eine LokMaus2 oder Multimaus übernehmen. Der Master übernimmt hier die gesamte Kommunikation (Steuerung) des Roco XpressNet-Bus und erzeugt das DCC-Signal. <br> | + | Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder der Digitalverstärker 680801, verwendet wird, |
+ | ergibt sich die Notwendigkeit eines XpressNet-Bus Masters (auch als Zentrale oder Hauptknoten bezeichnet). | ||
+ | Die Masterfunktion kann beispielsweise eine LokMaus2 oder Multimaus übernehmen. Der Master übernimmt hier die gesamte Kommunikation (Steuerung) des Roco XpressNet-Bus und erzeugt das DCC-Signal. <br> | ||
Das Projekt besteht aus zwei Teilen. Zuerst wurde ein Client für den XpressNet-Bus entwickelt ([[Z21_mobile#Z21 - Slave am XpressNet|siehe Z21 mobile - Slave am XpressNet]]). | Das Projekt besteht aus zwei Teilen. Zuerst wurde ein Client für den XpressNet-Bus entwickelt ([[Z21_mobile#Z21 - Slave am XpressNet|siehe Z21 mobile - Slave am XpressNet]]). | ||
− | Um die Funktionen des oben beschriebenen XpressNet Master (Lokmaus2 oder Multimaus) zu ersetzen, schrieb ich eine entsprechende [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/XpressNetMaster.zip XpressNet Master Interface Library]. Das Beispiel zeigt, wie man die Hardware einer kompletten industriell gefertigten Digitalzentrale durch Software ersetzen kann. Außerdem besteht jetzt die Möglichkeit durch die Einarbeitung unterschiedlicher Schnittstellen, verschieden auf dem Markt befindliche Systeme zu unterstützen. | + | Um die Funktionen des oben beschriebenen XpressNet Master (Lokmaus2 oder Multimaus) zu ersetzen, schrieb ich dann eine entsprechende [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/XpressNetMaster.zip XpressNet Master Interface Library]. Das Beispiel zeigt, wie man die Hardware einer kompletten industriell gefertigten Digitalzentrale durch Software ersetzen kann. Außerdem besteht jetzt die Möglichkeit durch die Einarbeitung unterschiedlicher Schnittstellen, verschieden auf dem Markt befindliche Systeme zu unterstützen. |
====<u>Softwareversion 1</u>==== | ====<u>Softwareversion 1</u>==== |
Version vom 30. August 2015, 09:05 Uhr
Eigenbau | Zentrale Z21PG | Z21 mobile | XpressNet | LocoNet | Booster
Beschreibung
Hier wird der Aufbau einer DCC Digitalzentrale auf Basis eines Arduino MEGA (bei AliExpress ab 7,30 Euro) zur Steuerung der Modellbahn über das Z21 LAN Protokoll beschrieben. Auf den Arduino MEGA wird 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 dann über WLAN mit Handreglern oder der Computersoftware Rocrail kommunizieren.
Funktionsumfang
- Kommunikation via Ethernet über "Z21 LAN Protokoll" von ROCO/Fleischmann, mit mehr als nur zehn "Endgeräten"!
- NMRA-DCC-Standard mit CV Programmierung (kein POM), 29 Lokfunktionen (Licht F0, F1 bis F28) und 2048 Weichen.
- DCC Booster Ausgang für ROCO 10761/10764 Digitalverstärker mit optionaler Kehrschleifenfunktion
- integrierter DCC Booster bis 5A (TLE5205 Treiber) (neu!)
- S88 Rückmeldebus mit Raildata (DCC-Signal) (Arduino Simpel S88 Interface)
- XpressNet-Master für max. 31 Steuergeräte wie LokMaus2 und Multimaus - ab Softwareversion 2
- LocoNet-Master für FRED oder DAISY Handregler - ab Softwareversion 3
- DCC-Input Anschluss einer "Fremdzentrale" (nur für MEGA)
- Softwareupdate & eigene Anpassungen über Serial-USB-Interface & Sketch mit der Arduino IDE.
geplante Erweiterungen:
- WLAN Interface ESP8266 für "Z21 LAN Protokoll" als Accesspoint oder im Client Betrieb
- Stromsensor ACS712t für integrierten Booster
- LocoNet-Client Mode für den Anschluss an eine andere Digitalzentrale
Hardware
ROCO XpressNet:
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.
Kurzbeschreibung zum XpressNet:
Wenn ein preisgünstiger ROCO Booster 10761, 10764 oder der Digitalverstärker 680801, verwendet wird,
ergibt sich die Notwendigkeit eines XpressNet-Bus Masters (auch als Zentrale oder Hauptknoten bezeichnet).
Die Masterfunktion kann beispielsweise eine LokMaus2 oder Multimaus übernehmen. Der Master übernimmt hier die gesamte Kommunikation (Steuerung) des Roco XpressNet-Bus und erzeugt das DCC-Signal.
Das Projekt besteht aus zwei Teilen. Zuerst wurde ein Client für den XpressNet-Bus entwickelt (siehe Z21 mobile - Slave am XpressNet).
Um die Funktionen des oben beschriebenen XpressNet Master (Lokmaus2 oder Multimaus) zu ersetzen, schrieb ich dann eine entsprechende XpressNet Master Interface Library. Das Beispiel zeigt, wie man die Hardware einer kompletten industriell gefertigten Digitalzentrale durch Software ersetzen kann. Außerdem besteht jetzt die Möglichkeit durch die Einarbeitung unterschiedlicher Schnittstellen, verschieden auf dem Markt befindliche Systeme zu unterstützen.
Softwareversion 1
Die Softwareversion 1 der Zentrale erzeugt im Arduino ein DCC-Signal. Der MAX485 -Treiber zur Kommunikation mit dem XpressNet kann entfallen. Der ROCO Booster 10761 wird dann als reiner DCC Booster genutzt, es können keine XpressNet-Geräte angeschlossen werden.
Softwareversion 2
Ab der Softwareversion 2 ist zusätzlich ein XpressNet-Interface implementiert worden. Der Arduino mit dem MAX485 - Treiber, arbeitet wie ein Master (LokMaus2/MulitMaus) am XpressNet. Bis zu 31 XpressNet Slaves (Clients) können an diese "Software-Zentrale" angeschlossen werden.
In der unten gezeigten Schaltung ist der Aufbau der DCC-Anteuerung 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).
Softwareversion 3
In der Softwareversion 3 wurde die Schaltung durch einen S88 Bus und ein LocoNet-Interface erweitert. Damit wird es möglich, den LocoNet-Handregler, wie den FredI, anzuschließen. Der zugehörige Schaltungsaufbau unten, zeigt die zusätzlich notwendige Hardware für das LocoNet-Interface.
Softwareversion 31
Bei dieser Version wurden die Funktionen des Timer1 und Timer2 verteilt. Das DCC Interface arbeitet nun mit dem Timer2 (S88 ohne Timer), damit ist es möglich im Arduino UNO das LocoNet Interface unter Timer1 einzusetzen. Zusätzlich wird durch die Software ein zweiter Booster (Booster2) untersützt. Der Booster2 in der Zentrale (z.B.: H-Brücke TLE5205) hat ein eigenes Kurzschluss - und GO/STOP Signal. Es schaltet somit unabhängig vom angeschlossenen Roco Booster, ab.
Softwareversion 4 (Projekt)
Integration des Z21 LAN Protokoll über eine externe Library. Das macht eine Auswahl des zu nutzenden Interfaces (W5100 oder WLAN) möglich. DCC-Input Update 2, Anschluss einer "Fremdzentrale" ohne extra Timer, somit ist der Einsatz für alle MCUs möglich.
externer Eigenbau Booster:
Ein einfacher und sehr kostengünstiger erprobter DCC Booster mit ca. 2,2A Ausgangsstrom, welcher mit der oben beschriebenen Software-Zentrale betrieben werden kann, ist unter Booster2 zu finden.
selbstbau Hardware
ATmega328p Version
Im folgenden wir die Hardware der simplen Zentrale vorgestellt, welche die gleichen Funktionen hat wie oben, aber bis auf das Ethernet Interface kann man Sie komplett selber löten kann.
Aufgebaut wird die simple Zentrale wie ein Breadboard. Dabei werden nur DIP Bauteile für den einfachen Nachbau verwendet. Die Schaltung kann auf einer einfachen Lochrasterplatione aufgebaut werden. In der Version mit dem Arduino UNO Mikroprozessor ATmega328p wird der Flash und RAM nahezu vollständig genutzt. Deshalb kann der Quellcode nur mit einer reduzierten Anzahl an Handreglern (IP) und einer reduzierten Anzahl an steuerbaren Loks verwendet werden.
Funktionsumfang:
- S88N
- XpressNet
- LocoNet (Neu: nur mit Timer 2 DCC Library!)
Schematic
ATmega644p (ATmega1284p) Version
Untersützt ab Softwareversion 31!
Aufgrund des geringen Speicherplatz des ATmega328p (Arduino UNO), welcher nicht ausreicht um alle Funktionen zu implementieren, wurde der Schaltplan erweitert so das ein ATmega644p (Sanguino) genutzt werden kann. Dazu muss ein zusätzliches Plugin für die Arduino IDE installiert werden. Das notwendige File ist unten zum Download bereitgestellt.
Zur Spannungsversorgung kann ein Universal Laptop Netzteil mit 12V/15V/16V/18V/19V/20V/24V, einstellbarer Ausgangsspannung verwendet werden.
Funktionsumfang
- alle Funktionen der Arduino MEGA Zentrale
- kein DCC Eingang
Schematic
Software Download
Die Software ist mit der Arduino IDE geschrieben. Arduino Sanguino Plugin:
- Sanguino Download - Anpassung der Arduino IDE für die Nutzung des ATmega644p/ATmega1284p.
Sketch
Das Sketch kann für den Arduino UNO (ATmega328p) oder für den Arduino MEGA (ATmega2560) verwendet werden. Die Sanguino Mikroprozessoren ATmega644p und ATmega1284p werden ab der Softwareversion 31 unterstützt.
Bitte nutzen Sie das Sketch der Softwareversion 3x! Hier sind alle Protokolle variable aktivierbar und deaktivierbar. Die Version 3 wurde am 18.06.2015 nach fehlern in der Bibliothek und im Sketch aktualisiert. Bitte laden Sie die jeweils letzte Versione des Sketch und der Bibliotheken herunter, denn nur damit ist die Software lauffähig!
- Arduino DCC Zentrale v31 (150803) Download - angepasste Version für Sanguino, Änderung der Timer, LocoNet auch für Arduino UNO aktivierbar (Neue DCC Interface Library mit Timer 2 nötig!)
- Arduino DCC Zentrale v3 (150803) Download - beliebige Aktiv-/Deaktivierung von Zusatzfunktionen (HTTP, S88, DCC Input for MEGA mit Update, XpressNet, LocoNet for MEGA)
- Arduino DCC Zentrale v2 (150322) Download - mit zusätzlichem XpressNet Master Interface.
- Arduino DCC Zentrale v1 (150228) Download - Grundversion: nur DCC, S88 und Z21 mobile Protokoll.
Library
- Arduino DCC Interface Library NEW Download - NEU: Timer 1 oder Timer 2 wählbar. (Standard Timer 2)
- Arduino DCC Interface Library Download - Grundversion mit Timer 1.
- Arduino XpressNet Master Interface Library Download
- Arduino Loconet Library Download