Zentrale Z21PG: Unterschied zwischen den Versionen

Aus Digital Modellbahn
Zeile 125: Zeile 125:
  
 
====<u>Library</u>====
 
====<u>Library</u>====
:* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/z21.zip Z21 LAN Arduino Loconet Library Download] - Version 1.1 der Z21 LAN Protokoll Library für die Softwareversion 4 mit WiFi
+
:* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/z21.zip Z21 LAN Arduino Loconet Library Download] - z21.h Version 1.1 der Z21 LAN Protokoll Library für die Softwareversion 4 mit WiFi
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/DCCInterfaceMaster_(Timer2).zip Arduino DCC Interface Library NEW Download] - NEU: Timer 1 oder Timer 2 wählbar - Standard: Timer 2.
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/DCCInterfaceMaster_(Timer2).zip Arduino DCC Interface Library NEW Download] - NEU: Timer 1 oder Timer 2 wählbar - Standard: Timer 2.
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/DCCInterfaceMaster.zip Arduino DCC Interface Library Download] - Grundversion mit Timer 1.
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/DCCInterfaceMaster.zip Arduino DCC Interface Library Download] - Grundversion mit Timer 1.
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/XpressNetMaster.zip Arduino XpressNet Master Interface Library Download]
 
:*[http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/XpressNetMaster.zip Arduino XpressNet Master Interface Library Download]
 
:* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/LocoNet.zip Arduino Loconet Library Download]
 
:* [http://sourceforge.net/projects/pgahtow/files/Arduino%20%28v1.0%29%20libaries/LocoNet.zip Arduino Loconet Library Download]

Version vom 23. September 2015, 18:09 Uhr

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

Z21 logo.png
Dcc logo.jpgXpressNet logo.jpgLoconet logo.jpgS88-N logo.jpg

Beschreibung

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

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

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 steuert dann die gesamte Kommunikation 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.

Datei:Arduino XpressNet Master.png
Arduino XpressNet Master Interface

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

Arduino LocoNet Master und S88N Interface (Eagle Schaltplan)

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 3x

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

ESP Arduino WiFi Modul
ESP Serial Anschluss (Eagle)

Softwareversion 4 WiFi

Integration des Z21 LAN Protokoll über eine externe Library z21.h. Das macht eine Auswahl des zu nutzenden Interfaces (W5100 oder WLAN) möglich. Für die WiFi-Kommunikation wird das ESP82660-01 Modul eingesetzt. Dieses verbindet sich per Serial 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 Downloadbereich). Da das ESP-Modul mit 3,3Volt (ca. 200mA) arbeitet ist ein extra Spannungsregler und Pegelwandler auf dem WiFi-Adapter zu installieren. Die zwei Taster auf dem Adapter im Bild, sind für das aufspielen des Sketch (Firmware-Update) und Reset des ESP-Moduls nötig. Programmiert wird das ESP wie ein Arduino aus einer angepassten Arduino IDE heraus.
Außerdem läuft der DCC-Input - Anschluss einer "Fremdzentrale" - jetzt ohne Timer4. Dadurch ist die integration der DCC-Daten unter allen Zentralen-MCUs möglich.



internen Booster:
Ein einfacher und sehr kostengünstiger Booster mit bis zu 5A Ausgangsstrom, welcher direkt mit in die Zentrale integriert wird, kann mit der H-Brückentreiber TLE5205-2 aufgebaut werden. Eine weitere Beschreibung ist unter Booster3 zu finden.

selbstbau Hardware

ATmega328p Version

Zentrale ATmega328p (Eagle Schaltplan)

Im Folgenden wird die Hardware der simplen Zentrale vorgestellt, welche die gleichen Funktionen wie oben hat, 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!)

ATmega1284p (ATmega644p) Version

 Unterstützt ab Softwareversion v31!
Zentrale ATmega1284p (Eagle Schaltplan)

Aufgrund des geringen Speicherplatz des ATmega328p (Arduino UNO), welcher nicht ausreicht um alle Funktionen zu implementieren, wurde der Schaltplan erweitert so das ein ATmega1284p (Sanguino) genutzt werden kann. Dazu muss ein zusätzliches Plug-In 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!

Software Download

Die Software ist mit der Arduino IDE geschrieben.

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 Fehler in der Bibliothek und im Sketch aktualisiert. Bitte laden Sie die jeweils letzte Version des Sketch und der Bibliotheken herunter, denn nur damit ist die Software lauffähig!
Bemerkung:
Ab der Version 31 ist die neue DCC Interface Library mit Timer 2 zu nutzen und die Funktionen unter dem Arduino UNO sind stark eingeschränkt (zu wenig RAM/ROM)!

Library