Table of Contents
DCC++ (EX)
Einführung
DCC++ ist eine auf dem Arduino UNO/MEGA und einem L298-Motor-Shield basierende Zentrale.
- Die "DCC refresh stack"-Größe1) ist 12, auf einem MEGA bis zu 50, mit 127 Fahrstufen und 28 Funktionen.
- PT, Programmier-Gleis
- POM, Programmieren auf dem Hauptgleis. (Nur schreibend)
- 32 mit GCA-Erweiterungseinheiten kompatible Ein-/Ausgänge.
- DCC-Zubehördekoder-Unterstützung.
- 2A-Booster-Gleisstrom.
Eigenschaften
Durch die Rocrail-Implementation zusätzliche Eigenschaften:
- Slot-Verwaltung mit passiver Slot-Freigabe nach 30 Sekunden Leerlauf und Geschwindigkeit Null. (Kann in den Einstellungen geändert werden.)
- Abfrage aller Rückmelder zu Betriebsbeginn direkt nach dem Herstellen einer seriellen Verbindung.
Wichtiger Hinweis zur Unterstützung
Bitte beachten, dass dies ein echtes Selbstbau-Projekt ist.
Es wird weder von Rocrail noch von GCA unterstützt.
Mit diesen Modulen einfach nur beginnen, wenn man in der Lage ist, Arduino selbst zu programmieren.
Allgemeine Einstellung
Sub-Bibliothek
Seriell-USB
Die Baudrate ist standardmäßig auf 115200 eingestellt.
Einige serielle Gerätetreiber unterstützen CTS und Hardware-Handshake nicht. In diesem Fall sollte CTS deaktiviert sein.
TCP/IP
Eine TCP/IP-Verbindung kann verwendet werden, wenn der Arduino über ein Ethernet-Shield verfügt.
Der TCP/IP-Port ist fest auf 2560 einzustellen.
Optionen
Zeitüberschreitung
Serielle Lese-Zeitüberschreitung in ms.
Slots
Die Anzahl der Slots2) ist standardmäßig 12. Wenn ein MEGA verwendet wird, kann sie in den DCC++-Quellen erhöht werden.
Die Anzahl der Slots muss kleiner oder gleich der eingestellten Anzahl der Register in den DCC++-Quellen sein.
Slot-Freigabe-Zeit
Die minimale Leerlaufzeit in Sekunden, bevor ein Slot freigemacht wird.
Die Freigabe ist deaktiviert, wenn Null eingestellt ist.
Rückmelder AUS-Verzögerung
Nur für Stift 22..53 auf dem MEGA.
Zeit in ms, die gewartet wird, bevor ein Eingang als Aus gemeldet wird. (Der Wert muss ein Mehrfaches von 10 sein.)
Der Verzögerungs-Zeitgeber wird zurück gesetzt, wenn ein Eingang innerhalb dieser Zeit aktiv wird.
System-Info
Fragt den Hauptgleis-Strom zur Anzeige in der Rocview-Status-Leiste ab.
Befehle zurücksenden
Sendet Weichenbefehle zurück. Nur für Arduino I/O.
Ausgänge tauschen
Tauscht die Gerade- und Abzweigend-Befehle.
Join
Im Fall von Gleisspannung EIN den JOIN-Befahl anstelle von MAIN verwenden.
Siehe DCC++-Dokumentation für mehr Einzelheiten.
4 Byte Zubehör-Befehle
In Fall von <a address port gate on/off>
4 Bytes-Befehle verwenden.
Ohne diese Option: <a address port gate>
Siehe DCC++-Dokumentation für mehr Einzelheiten.
DTR
Bestimmt den seriellen DTR-Pegel beim Start. „none“ (keiner) ist die Standardeinstellung.
Wird nur für inkompatible DCC++-Baugruppen verwendet.
RTS
Bestimmt den seriellen RTS-Pegel beim Start. „none“ (keiner) ist die Standardeinstellung.
Wird nur für inkompatible DCC++-Baugruppen verwendet.
Ein-/Ausgang-Einstellungen
Hinzufügen
Fügt einen neuen Ein-/Ausgang hinzu, wie er mit Typ/Stift/Optionen definiert ist.
Er wird temporär in der DCC++-Zentrale angelegt.
Ändern
Ändert einen ausgewählten Ein-/Ausgang mit den Typ/Stift/Optionen-Einstellungen.
Er wird temporär in der DCC++-Zentrale geändert.
Löschen
Löscht den ausgewählten Ein-/Ausgang.
Er wird temporär aus der DCC++-Zentrale entfernt.
Abfrage
Abfrage aller Ein-/Ausgänge in der DCC++-Zentrale.
Speichern
Speichern aller Ein-/Ausgänge im EEPROM.
Löschen
Löscht alle Ein-/Ausgänge aus dem EEPROM.
Eine neue Abfrage erfolgt automatisch.
Optionen
Ausgang
Option | Bit | Wert |
---|---|---|
Umkehren | 0 | 0 = Direkter Betrieb (ACTIVE=HIGH / INACTIVE=LOW) 1 = Umgekehrter Betrieb (ACTIVE=LOW / INACTIVE=HIGH) |
Wiederherstellen | 1 | 0 = Status des Stifts bei Spannung EIN entweder ACTIVE oder INACTIVE abhängig vom Status bei Spannung AUS; Status des Stifts bei erstem Einrichten 1 = Status des Stifts EIN, bei Spannung EIN oder wenn erstmalig eingerichtet, auf ACTIVE oder INACTIVE abhängig von Bit 2 |
Anfang | 2 | 0 = Status des Stifts bei Spannung EIN oder bei erstem Einrichten auf INACTIVE 1 = Status des Stifts bei Spannung EIN oder bei erstem Einrichten auf ACTIVE |
Eingang (Rückmelder)
Option | Bit | Wert |
---|---|---|
Pull-up | 0 | 1 = Internen pull-up-Widerstand für den Stift verwenden 0 = Internen pull-up-Widerstand für den Stift nicht verwenden |
In der Regel sind hier keine manuellen Einstellungen erforderlich. Rocrail definiert Arduino-Stifte automatisch als Eingangs- oder Ausgangsstifte, sobald die Stifte einer solchen DCC++-Zentrale für das Auslösen von Rückmeldern und das Schalten von Weichen oder Signalen verwendet werden. Bei Eingangsstiften wird hierbei standardmäßig die Option "Umkehren / Pull-up" eingeschaltet, d. h. es wird der interne pull-up-Widerstand verwendet.
Nur in dem Fall, dass beim Start andere, als die standardmäßig vorgegebenen Optionen verwendet werden sollen, muss hier manuell eingegriffen werden. Grundsätzlich empfiehlt es sich dabei, erst einmal alle Objekte im Plan mit den gewünschten Stiften anzulegen. Dann sollte Rocrail neu gestartet und alle Befehle von Objekten, die Ausgangsstifte verwenden, einmal ausgeführt werden; denn alle verwendeten Eingangsstifte werden beim Hochfahren und alle Ausgangsstifte beim Ausführen eines Befehls von Rocrail in der DCC++-Zentrale temporär angelegt. Danach werden bei "Abfrage" alle verwendeten Stifte aufgelistet und die Optionen können direkt geändert werden. Zum Schluss das Speichern nicht vergessen!
Bei Änderung der Option "Umkehren / Pull-up" ist noch folgendes zu beachten: Bei Ausgängen gilt das hier eingestellte "Umkehren" nur beim Start von Rocrail. Damit die Ausgänge für Weichen oder Signale auch während des Betriebs immer umgekehrt angesteuert werden, muss auf der Registerkarte "Schnittstelle" dieser Objekte der Wert im Feld "Parameter" auf "1" gesetzt werden.
Adressierung
Rückmelder und Ausgänge teilen den selben Adress-Raum; Überlappungen vermeiden, um unerwartetes Verhalten zu verhindern. |
Weichen
Zubehör
DCC-Zubehör.
Weichen werden nach dem MADA-Schema mit Dekoder-Adresse und Port adressiert. (DCC)
Kein Zubehör
Arduino I/O.
Befehl | Ausgang |
---|---|
gerade | Adresse + 0 |
abbiegen | Adresse + 1 |
Kein Zubehör, Einzelausgang
Arduino I/O.
Befehl | Ausgang | Stift-Status |
---|---|---|
gerade | Adresse | AUS |
abbiegen | Adresse | EIN |
Rückmelder
Freie Arduino-Stifte können als Rückmelder-Ports verwendet werden.
Je nach Hardware stehen dafür nur folgende Stifte zur Verfügung:
UNO | 4, 6, 7, 16…19 |
MEGA | 5…7, 16…19, 22…53 |
Ausgänge
Zubehör
Ausgänge sind nach dem NMRA-Schema mit Dekoder-Adresse und -Port adressiert.
Nicht Zubehör
Freie Arduino-Stifte können als Ausgangs-Ports verwendet werden.
Je nach Hardware stehen dafür nur folgende Stifte zur Verfügung:
UNO | 4, 6, 7, 16…19 |
MEGA | 5…7, 16…19, 22…53 |
Um die Ausgänge für DCC zuzuordnen, muss die Ausgangs-Option Weiche aktiviert sein.
Signale
Begriffs-Nummer
Begriffs-Nummer und Begriffs-Wert können verwendet werden.
Der Begriffs-Wert stellt eine Bit-Maske dar, die für die vier Signal-Adressen verwendet wird.
G-ASH02
Typ
Typ-Code | Funktion |
---|---|
N | Nicht in Betrieb |
O | Output > Ausgang |
I | Input > Eingang |
Optionen
Siehe: I/O-Optionen
I/O n
Die GCA-I/O-Anschluss-Auswahl.
Die Schaltflächen-Anordnung ist dem Platinen-Layout angenähert.
Stift-Zuordnung
MEGA-Stifte | GCA-Anschluss | GCA-Stifte |
---|---|---|
22..36 (gerade ) | I/O 1 | 1..8 |
23..37 (ungerade) | I/O 2 | 9..16 |
38..52 (gerade ) | I/O 3 | 17..24 |
39..53 (ungerade) | I/O 4 | 25..32 |
Die Ein-/Ausgangs-Anschlüsse passen für alle GCA-Baugruppen, wie GCA76, GCA77, GCA93, GC94, GCA173 usw.
Steckbrücke | Funktion | Bemerkung |
---|---|---|
JP1 | Verwendet 5V vom Arduino, wenn gesteckt. | Nur Stecken, wenn der Arduino spannungslos ist, anderenfalls setzt er sich selbst zurück. |
Dateien
Programmier-Gleis
Die Gleisspannung muss eingeschaltet werden, bevor das Programmier-Gleis (PT) verwendet wird.
Nicht vergessen, die erforderliche Drahtbrücke auf dem Motor-Shield hinzuzufügen.
Fehler-Beseitigung
Lok stoppt bei max. Geschwindigkeit
Die Anzahl der Dekoder-Fahrstufen auf der Schnittstellen-Registerkarte der Lok-Eigenschaften anstelle von 128 auf 126 einstellen.