Zentrale Z21PG: Unterschied zwischen den Versionen
| Zeile 78: | Zeile 78: | ||
[[Datei:TLE5205-2_Booster.png|thumb|160px|TLE5205-2g Booster]] | [[Datei:TLE5205-2_Booster.png|thumb|160px|TLE5205-2g Booster]] | ||
---- | ---- | ||
| − | ''' | + | '''integrierter Booster:''' |
<br \> | <br \> | ||
Ein einfacher und sehr kostengünstiger [[Booster]] mit bis zu 5A Ausgangsstrom. Dieser kann direkt in die Zentrale integriert werden. Genutzt wird zur Gleisspannungserzeugung ein H-Brückentreiber TLE5205 oder TLE5206. Eine Beschreibung ist auch unter [[Booster#Booster3|Booster3]] zu finden. <br> | Ein einfacher und sehr kostengünstiger [[Booster]] mit bis zu 5A Ausgangsstrom. Dieser kann direkt in die Zentrale integriert werden. Genutzt wird zur Gleisspannungserzeugung ein H-Brückentreiber TLE5205 oder TLE5206. Eine Beschreibung ist auch unter [[Booster#Booster3|Booster3]] zu finden. <br> | ||
Version vom 5. Oktober 2015, 11:22 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"!
- W5100 Ethernet Interface (ClientSelect (CS) über Pin D10)
- WLAN Interface ESP8266 für "Z21 LAN Protokoll" als Accesspoint oder im Client Betrieb (neu!)
- 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)
- 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:
- 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.
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).
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.
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.
Zusätzlich wurden Verbesserungen sowie Anpassungen am S88, LocoNet und Z21 LAN Protokoll vorgenommen.
Softwareversion 4.1
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.
Außerdem wurde das S88 Bus Interface optimiert und die Abfrage beschleunigt.
integrierter Booster:
Ein einfacher und sehr kostengünstiger Booster mit bis zu 5A Ausgangsstrom. Dieser kann direkt in die Zentrale integriert werden. Genutzt wird zur Gleisspannungserzeugung ein H-Brückentreiber TLE5205 oder TLE5206. Eine Beschreibung ist auch unter Booster3 zu finden.
- Achtung: Im Datenblatt des TLE5205 ist eine falsche Logiktabelle abgebildet!
selbstbau Hardware
Arduino MEGA Zentrale
Komplette DCC Zentrale realisiert auf der Grundlage eines Arduino MEGA. In dem Schaltplan rechts ist zu sehen wie alle oben aufgeführten Komponenten und Funktionen mit dem Arduino MEGA verbunden werden. Zusätzlich ist aufgezeigt, welche PINs für LED's, Taster und Erweiterungen zu nutzen sind. Zur stabilen Stromversorgung sollte der Arduino MEGA über einen externen Spannungsregler versorgt werden.
ATmega1284p (ATmega644p) Version
Unterstützt ab Softwareversion v31!
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.
- Arduino Plug-In: Anpassung der Arduino IDE für die Funktion mit Sanguino oder ESP-Modul sind unter Arduino#Hardware beschrieben.
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. Bitte nutzt die Sketch Version 4, hier wurden viele Fehler beseitigt!
Bitte laden Sie auch die jeweils letzte Version 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)!
- Arduino DCC Zentrale v41 (151005) Download - Anpassung der Funktion für die externe Kurzschlusserkennung.
- Arduino DCC Zentrale v4 (151003) Download - WiFi Support durch ESP8266. Für die Funktion des Sketch der Version 4 ist zusätzlich die Z21 Library notwendig.
- Z21 ESP8266 UDP v21 Sketch Download - WiFi Software Version 2.1 mit AJAX Webserver
- Arduino DCC Zentrale v32 (150915) Download - Anpassungen des S88-Bus-Timing (Timer 3 im Arduino MEGA und ATmega 1284p)
- 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 v31 (150803) Download - angepasste Version für Sanguino, Änderung der Timer, LocoNet auch für Arduino UNO aktivierbar!
- 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
- Z21 LAN Protokoll Library Download - Arduino Z21 LAN Protokoll Library Version 1.1
- => Für Zentrale ab Softwareversion 4 nötig.
- Arduino DCC Interface Library NEW Download - NEU: Timer 1 oder Timer 2 wählbar - Standard: Timer 2.
- => Für Zentrale ab Softwareversion 31 nötig!
- Arduino DCC Interface Library Download - Grundversion mit Timer 1.
- => Für Zentrale bis zur Softwareversion 3 einsetzbar.