dccpp:dccpp-de
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dccpp:dccpp-de [2020/04/05 12:46] – [Optionen] rainerk | dccpp:dccpp-de [2023/09/06 00:18] (current) – [Optionen] rainerk | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Arduino | + | ======DCC++ |
[[: | [[: | ||
- | [[: | + | [[: |
- | * **[[:dccpp: | + | * [[[: |
- | * [[[: | + | |
- | * [[: | + | |
- | // \\ // \\ | + | |
- | |[[https:// | + | |
- | |[[https:// | + | |
- | \\ | + | |
=====Einführung===== | =====Einführung===== | ||
Line 19: | Line 14: | ||
* DCC-Zubehördekoder-Unterstützung. | * DCC-Zubehördekoder-Unterstützung. | ||
* 2A-Booster-Gleisstrom. | * 2A-Booster-Gleisstrom. | ||
- | |||
- | \\ | ||
- | ====DCC++ Konfiguration==== | ||
- | | {{: | ||
- | \\ | ||
- | - **[[# | ||
- | - Verdrahten des Motor-Shield: | ||
\\ | \\ | ||
Line 33: | Line 21: | ||
* Slot-Verwaltung mit passiver Slot-Freigabe nach 30 Sekunden Leerlauf und Geschwindigkeit Null. (Kann in den Einstellungen geändert werden.) | * 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. | * 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===== | =====Allgemeine Einstellung===== | ||
Line 42: | Line 34: | ||
====Sub-Bibliothek==== | ====Sub-Bibliothek==== | ||
=== Seriell-USB === | === Seriell-USB === | ||
- | Die Baudrate ist fest auf **115200**.\\ | + | Die Baudrate ist standardmäßig |
- | Das Einzige, was eingestellt werden muss, ist der richtige | + | :!: Einige |
===TCP/ | ===TCP/ | ||
Eine TCP/ | Eine TCP/ | ||
Der TCP/IP-Port ist fest auf **2560** einzustellen.\\ | 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: | ||
- | <code c> | ||
- | ///////////////////////////////////////////////////////////////////////////////////// | ||
- | // | ||
- | // DEFINE COMMUNICATIONS INTERFACE TYPE | ||
- | // | ||
- | // 0 = Built-in Serial Port | ||
- | // 1 = Arduino Ethernet/SD Card Shield | ||
- | |||
- | #define COMM_TYPE | ||
- | </ | ||
- | Beispiel für eine Verbindungsreaktion mit Ethernet: | ||
- | < | ||
- | 20160315.083459.796 r9999I dccpprea ODCCPP | ||
- | 20160315.083459.806 r9999I dccpprea ODCCPP | ||
- | </ | ||
- | |||
====Optionen==== | ====Optionen==== | ||
Line 75: | Line 48: | ||
Die Anzahl der Slots((Slots = Anzahl der Zeitschlitze)) ist standardmäßig 12. Wenn ein MEGA verwendet wird, kann sie in den DCC++-Quellen erhöht werden.\\ | Die Anzahl der Slots((Slots = Anzahl der Zeitschlitze)) 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.__\\ | __Die Anzahl der Slots muss kleiner oder gleich der eingestellten Anzahl der Register in den DCC++-Quellen sein.__\\ | ||
- | | [[https:// | ||
- | Die Anzahl der Slots / Register, kann in der **Config.h Zeile 24** geändert werden : | ||
- | <code C> | ||
- | // DEFINE NUMBER OF MAIN TRACK REGISTER | ||
- | |||
- | #define MAX_MAIN_REGISTERS 12 | ||
- | </ | ||
===Slot-Freigabe-Zeit=== | ===Slot-Freigabe-Zeit=== | ||
Die minimale Leerlaufzeit in Sekunden, bevor ein Slot freigemacht wird.\\ | Die minimale Leerlaufzeit in Sekunden, bevor ein Slot freigemacht wird.\\ | ||
+ | Die Freigabe ist deaktiviert, | ||
===Rückmelder AUS-Verzögerung=== | ===Rückmelder AUS-Verzögerung=== | ||
Line 100: | Line 67: | ||
Tauscht die Gerade- und Abzweigend-Befehle.\\ | Tauscht die Gerade- und Abzweigend-Befehle.\\ | ||
- | ===Reduzierte Kennungen=== | + | ===Join=== |
- | Reduziert die erzeugten Weichen- und Ausgangs-Kennungen auf 16. (0...15) Standard ist 256.\\ | + | Im Fall von Gleisspannung EIN den JOIN-Befahl anstelle von MAIN verwenden.\\ |
- | Diese Option erlaubt die Verwendung eines Arduino Uno mit mehr als 45 auf DCC adressierten Geräten.\\ | + | Siehe DCC++-Dokumentation für mehr Einzelheiten.\\ |
- | ====Schnittstellen-Prüfung beim Start==== | + | ===4 Byte Zubehör-Befehle=== |
- | Einige Windows-Konfigurationen stürzen beim Start des Rocrail-Servers ab, wenn die folgende | + | In Fall von ''< |
- | * __**[[: | + | Ohne diese Option: |
+ | 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-/ | =====Ein-/ | ||
{{: | {{: | ||
Line 145: | Line 119: | ||
| Pull-up | 0 | 1 = Internen pull-up-Widerstand für den Stift verwenden \\ 0 = Internen pull-up-Widerstand für den Stift __nicht__ verwenden | | | 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 keinen | + | 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 " |
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 " | 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 " | ||
- | Bei Änderung der Option " | + | Bei Änderung der Option " |
=====Adressierung===== | =====Adressierung===== | ||
Line 170: | Line 144: | ||
====Rückmelder==== | ====Rückmelder==== | ||
- | Freie Arduino-Stifte können als Rückmelder-Ports verwendet werden.\\ | + | 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==== | ====Ausgänge==== | ||
Line 177: | Line 155: | ||
===Nicht Zubehör=== | ===Nicht Zubehör=== | ||
Freie Arduino-Stifte können als Ausgangs-Ports verwendet werden.\\ | 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 __**[[: | Um die Ausgänge für DCC zuzuordnen, muss die Ausgangs-Option __**[[: | ||
Line 223: | Line 206: | ||
* {{: | * {{: | ||
* {{: | * {{: | ||
- | \\ | ||
\\ | \\ | ||
Line 231: | Line 213: | ||
Nicht vergessen, die erforderliche Drahtbrücke auf dem Motor-Shield hinzuzufügen.\\ | Nicht vergessen, die erforderliche Drahtbrücke auf dem Motor-Shield hinzuzufügen.\\ | ||
- | \\ | ||
- | =====Installation der Firmware===== | ||
- | {{ : | ||
- | - Installieren der Arduino-Software (IDE) | ||
- | * https:// | ||
- | - Herunterladen der letzten **DCC++ Base Station**-Ausgabe und Entpacken der Quellen: | ||
- | * https:// | ||
- | - Mit der Arduino-IDE die folgende Datei öffnen, die sich im Ordner DCCpp_Uno findet: | ||
- | * **DCCpp_Uno.ino** | ||
- | - In der Arduino-IDE das verwendete Arduino-Ziel auswählen: | ||
- | * Werkzeuge -> Board -> " | ||
- | - Den USB-Port auswählen: | ||
- | * Werkzeuge -> Port -> COMx oder /dev/tty* oder /dev/cu* | ||
- | - Die DCC++-Firmware in den Arduino schreiben: | ||
- | * Sketch -> Hochladen | ||
- | |||
- | ====HEX-Datei==== | ||
- | * https:// | ||
\\ | \\ | ||
Line 254: | Line 218: | ||
====Lok stoppt bei max. Geschwindigkeit==== | ====Lok stoppt bei max. Geschwindigkeit==== | ||
Die Anzahl der __**[[: | Die Anzahl der __**[[: | ||
- | |||
- | ====Ethernet-Compiler-Fehler==== | ||
- | Wenn der folgende Compiler-Fehler auftritt: | ||
- | < | ||
- | In file included from / | ||
- | sketch/ | ||
- | # | ||
- | ^ | ||
- | compilation terminated. | ||
- | exit status 1 | ||
- | Error compiling. | ||
- | </ | ||
- | Zeile 11 in **Comm.h** ändern:\\ | ||
- | von | ||
- | <code C> | ||
- | #include ETHERNET_LIBRARY | ||
- | </ | ||
- | in | ||
- | <code C> | ||
- | #include < | ||
- | </ | ||
- | |||
- | \\ | ||
- | |||
- | ====Windows-Absturz nach Rocrailstart==== | ||
- | 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: | ||
- | * __**[[: | ||
- | |||
- | \\ | ||
- | |||
- | =====Max. Strom===== | ||
- | In Zeile 16 der Datei **[[https:// | ||
- | # | ||
- | |||
- | ^ 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 __**[[https:// | ||
- | Die Stromerfassung anderer Motor-Shield-Typen kann davon abweichen, insbesondere, | ||
- | Mehr Informationen finden sich in diesem engl. Forum: __**[[http:// | ||
- | {{ http:// | ||
- | | :!: **Wichtiger Hinweis:** Es gibt Motor-Shields mit Treiber-IC LM298, die nicht in wärmeschlüssigem Kontakt zur Platine montiert sind.\\ 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: **[[http:// | ||
- | \\ | ||
- | |||
=====Links===== | =====Links===== | ||
- | * **[[https://sites.google.com/ | + | * https://dcc-ex.com/reference/software/command-reference.html# |
- | * **[[https:// | + | |
- | * **[[https:// | + | |
- | * **[[https:// | + | |
- | * **[[https:// | + |
dccpp/dccpp-de.1586083610.txt.gz · Last modified: 2020/04/05 12:46 by rainerk