Support
Wiki Documentation
Support Forum
Mobile
- Rocweb Browser
- WIO-Control ESP32
- andRoc Android
- Rocview Tablet
DIY
User
Wiki writer
Legal
Support
Wiki Documentation
Support Forum
Mobile
DIY
User
Wiki writer
Legal
This is an old revision of the document!
DCC++ ist eine auf dem Arduino UNO/MEGA und einem L298-Motor-Shield basierende Zentrale.
Durch die Rocrail-Implementation zusätzliche Eigenschaften:
Die Baudrate ist fest auf 115200.
Das Einzige, was eingestellt werden muss, ist der richtige serielle Port.
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.
Die Config.h-Quelle muss modifiziert und neu kompiliert werden, um das Ethernet-Shield zu verwenden:
///////////////////////////////////////////////////////////////////////////////////// // // DEFINE COMMUNICATIONS INTERFACE TYPE // // 0 = Built-in Serial Port // 1 = Arduino Ethernet/SD Card Shield #define COMM_TYPE 0
Beispiel für eine Verbindungsreaktion mit Ethernet:
20160315.083459.796 r9999I dccpprea ODCCPP 0772 evaluate message: <iDCC++ BASE STATION FOR ARDUINO MEGA / ARDUINO MOTOR SHIELD: BUILD Mar 15 2016 08:31:58> 20160315.083459.806 r9999I dccpprea ODCCPP 0772 evaluate message: <N1: 192.168.100.153>
Serielle Lese-Zeitüberschreitung in ms.
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.
DCC++-Kommentar: You can increase the number of registers to greater than 12, especially if running on he Mega, (not sure what the max would be,but I'm guessing about 50) Man kann die Anzahl der Register größer als 12 einstellen, speziell wenn es auf dem Mega läuft (bin nicht sicher, was das Maximum ist, aber ich vermute etwa 50) |
Die Anzahl der Slots / Register, kann in der Config.h Zeile 24 geändert werden :
// DEFINE NUMBER OF MAIN TRACK REGISTER #define MAX_MAIN_REGISTERS 12
Die minimale Leerlaufzeit in Sekunden, bevor ein Slot freigemacht wird.
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.
Fragt den Hauptgleis-Strom zur Anzeige in der Rocview-Status-Leiste ab.
Sendet Weichenbefehle zurück. Nur für Arduino I/O.
Tauscht die Gerade- und Abzweigend-Befehle.
Reduziert die erzeugten Weichen- und Ausgangs-Kennungen auf 16. (0…15) Standard ist 256.
Diese Option erlaubt die Verwendung eines Arduino Uno mit mehr als 45 auf DCC adressierten Geräten.
Einige Windows-Konfigurationen stürzen beim Start des Rocrail-Servers ab, wenn die folgende Option nicht aktiviert ist:
Fügt einen neuen Ein-/Ausgang hinzu, wie er mit Typ/Stift/Optionen definiert ist.
Er wird temporär in der DCC++-Zentrale angelegt.
Ändert einen ausgewählten Ein-/Ausgang mit den Typ/Stift/Optionen-Einstellungen.
Er wird temporär in der DCC++-Zentrale geändert.
Löscht den ausgewählten Ein-/Ausgang.
Er wird temporär aus der DCC++-Zentrale entfernt.
Abfrage aller Ein-/Ausgänge in der DCC++-Zentrale.
Speichern aller Ein-/Ausgänge im EEPROM.
Löscht alle Ein-/Ausgänge aus dem EEPROM.
Eine neue Abfrage erfolgt automatisch.
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 |
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 |
Rückmelder und Ausgänge teilen den selben Adress-Raum; Überlappungen vermeiden, um unerwartetes Verhalten zu verhindern. |
DCC-Zubehör.
Weichen werden nach dem MADA-Schema mit Dekoder-Adresse und Port adressiert. (DCC)
Arduino I/O.
Befehl | Ausgang |
---|---|
gerade | Adresse + 0 |
abbiegen | Adresse + 1 |
Arduino I/O.
Befehl | Ausgang | Stift-Status |
---|---|---|
gerade | Adresse | AUS |
abbiegen | Adresse | EIN |
Freie Arduino-Stifte können als Rückmelder-Ports verwendet werden.
Ausgänge sind nach dem NMRA-Schema mit Dekoder-Adresse und -Port adressiert.
Freie Arduino-Stifte können als Ausgangs-Ports verwendet werden.
Um die Ausgänge für DCC zuzuordnen, muss die Ausgangs-Option Weiche aktiviert sein.
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.
Typ-Code | Funktion |
---|---|
N | Nicht in Betrieb |
O | Output > Ausgang |
I | Input > Eingang |
Siehe: I/O-Optionen
Die GCA-I/O-Anschluss-Auswahl.
Die Schaltflächen-Anordnung ist dem Platinen-Layout angenähert.
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. |
Die Gleisspannung muss eingeschaltet werden, bevor das Programmier-Gleis (PT) verwendet wird.
Nicht vergessen, die erforderliche Drahtbrücke auf dem Motor-Shield hinzuzufügen.
Die Anzahl der Dekoder-Fahrstufen auf der Schnittstellen-Registerkarte der Lok-Eigenschaften anstelle von 128 auf 126 einstellen.
Wenn der folgende Compiler-Fehler auftritt:
In file included from /Users/rob/Projects/Arduino/BaseStation-1.2.1/DCCpp_Uno/DCCpp_Uno.ino:179:0: sketch/Comm.h:11:28: fatal error: Ethernet.h: No such file or directory #include ETHERNET_LIBRARY ^ compilation terminated. exit status 1 Error compiling.
Zeile 11 in Comm.h ändern:
von
#include ETHERNET_LIBRARY
in
#include <Ethernet.h>
Einige Windows-Konfigurationen stürzen während des Rocrail-Server-Starts ab, wenn der Arduino über USB angeschlossen ist und die folgende Option nicht aktiviert ist:
In Zeile 16 der Datei CurrentMonitor.h kann der max. Strom geändert werden:
#define CURRENT_SAMPLE_MAX 300
lt. Trainboard.com | math. korrekt |
|
---|---|---|
Wert | Max. Strom | Wert |
300 | 800 mA | 270 |
600 | 1600 mA | 540 |
750 | 2000 mA | 675 |
Diese Werte gelten für den Arduino Motor Shield R3 mit 1,65 V / A
Stromerfassung.
Die Stromerfassung anderer Motor-Shield-Typen kann davon abweichen, insbesondere, wenn deren max. Strom > 2 A ist.
Mehr Informationen finden sich in diesem engl. Forum: Trainboard.com
![]() Das Bild rechts zeigt, dass bei dieser Montage ggf. ein Papierstreifen unter dem IC durchgeschoben werden kann. Die bei voller Belastung ( 2 A ) entstehende Wärme kann bei diesem Mangel nicht abgeführt werden und das IC wird unweigerlich zu heiß und zerstört. Siehe: Trainboard.com |