User Tools

Site Tools


dccpp:dccpp-de

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

Die DCC++-Bibliothek in Rocrail ist dccpp.

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

Die Signal-Option Zubehör wird für Ausgangs-Befehle verwendet.

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

Ein-/Ausgangs-Schnittstelle für Arduino MEGA.
dccpp-hw.jpg

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.

1) , 2)
Slots = Anzahl der Zeitschlitze
dccpp/dccpp-de.txt · Last modified: 2023/09/06 00:18 by rainerk