User Tools

Site Tools


dccpp:dccpp-de

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dccpp:dccpp-de [2020/04/05 12:46] – [Optionen] rainerkdccpp:dccpp-de [2023/09/06 00:18] (current) – [Optionen] rainerk
Line 1: Line 1:
-======Arduino DCC++ ======+======DCC++ (EX)======
 [[:german#zentralen|{{  :interface.png}}]][[:german|{{  :rocrail-logo-35.png}}]] [[:german#zentralen|{{  :interface.png}}]][[:german|{{  :rocrail-logo-35.png}}]]
-[[:german|Inhalt]] -> [[:german#zentralen|Zentralen]] -> **DCC++**   +[[:german|Inhalt]] -> [[:german#zentralen|Zentralen]] -> **[[dccpp:dccpp-de|DCC++ (EX)]]**   
-  * **[[:dccpp:dccpp-de|DCC++]]** +  * [[[:dccpp:dccpp-signal-de|Signal-Einstellungen Beispiele]]
-    * [[[:dccpp:dccpp-signal-de|Signal-Einstellungen Beispiele]] +
-    * [[:schweineschnaeuzchen:arduino|Erfahrungen/Anleitungen vom Benutzer "schweineschnaeuzchen"]] +
- // \\ // \\ +
-|[[https://sites.google.com/site/dccppsite/home|{{https://sites.google.com/site/dccppsite/_/rsrc/1451687023590/config/customLogo.gif?500}}]]|  **Eine komplette Open-Source-DCC-Zentrale \\ und Schnittstelle zum Betrieb von Modellbahnen**  || +
-|[[https://sites.google.com/site/dccppsite/the-system|{{https://sites.google.com/site/dccppsite/_/rsrc/1452828457679/the-system/Screen%20Shot%202016-01-14%20at%2010.19.59%20PM.png?500}}]]|  Controller \\ \\  USB Cable \\ \\  Base Station \\ \\  Modell Railroad \\ \\  Main Ops \\ \\  Programming \\ \\  15-20V DC Power Supply | **Rocrail** \\ \\ USB-Kabel \\ \\ Hardware-Zentrale \\ \\ Modellbahn \\ \\ Hauptgleis \\ \\ Programmiergleis \\ \\ 15-20V-DC-Netzteil| \\+
  
- \\+ \\ 
  
 =====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==== 
-| {{:dccpp:uno.jpg?0x200}} | {{:dccpp:plus.png}} | {{:dccpp:motorshield.jpg?0x200}} | {{:dccpp:equals.png}} | {{:dccpp:dccpp-logo.png}} | \\ 
- \\ 
-  - **[[#install_the_firmware|Firmware]]** installieren. 
-  - Verdrahten des Motor-Shield: **{{:dccpp:dccpp-motorshieldpinmappings.pdf}}** 
  
  \\  \\
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 auf **115200** eingestellt.\\ 
-Das Einzige, was eingestellt werden muss, ist der richtige serielle Port.\\+:!: Einige serielle Gerätetreiber unterstützen CTS und Hardware-Handshake nicht. In diesem Fall sollte CTS deaktiviert sein.\\
  
 ===TCP/IP=== ===TCP/IP===
 Eine TCP/IP-Verbindung kann verwendet werden, wenn der Arduino über ein Ethernet-Shield verfügt.\\ 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.\\ 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   0 
-</code> 
-Beispiel für eine Verbindungsreaktion mit Ethernet: 
-<code> 
-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> 
-</code> 
- 
  
 ====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://github.com/DccPlusPlus/BaseStation/issues/4|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 : 
-<code C> 
-// DEFINE NUMBER OF MAIN TRACK REGISTER 
- 
-#define MAX_MAIN_REGISTERS 12 
-</code> 
  
 ===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, wenn Null eingestellt ist.\\
  
 ===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 Weichenund 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 Option nicht aktiviert ist:\\ +In Fall von ''<a address port gate on/off>'' 4 Bytes-Befehle verwenden.\\ 
-  * __**[[:rocrailini-controller-de#keine_schnittstellen-pruefung_beim_start|Keine Schnittstellen-Prüfung beim Start]]**__+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===== =====Ein-/Ausgang-Einstellungen=====
 {{:dccpp:dccpp-io-de.png?450}}\\ {{:dccpp:dccpp-io-de.png?450}}\\
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 manuellen Einstellungen erforderlich. Rocrail definiert Arduino-Stifte automatisch als Input- oder Output-Stifte, 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.+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!__ 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 Ausgange 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. \\+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===== =====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 __**[[:output-int-de#weiche|Weiche]]**__ aktiviert sein.\\ Um die Ausgänge für DCC zuzuordnen, muss die Ausgangs-Option __**[[:output-int-de#weiche|Weiche]]**__ aktiviert sein.\\
  
Line 223: Line 206:
   * {{:gca:g-ash02_pcb.pdf|Platine mit Bauteil-Positionierung}}   * {{:gca:g-ash02_pcb.pdf|Platine mit Bauteil-Positionierung}}
   * {{:gca:g-ash02_gerber.zip|Die Gerber-Dateien für die Platine}}   * {{:gca:g-ash02_gerber.zip|Die Gerber-Dateien für die Platine}}
- \\ 
  
  \\  \\
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===== 
-{{ :dccpp:basestation-de.png?500}} 
-  - Installieren der Arduino-Software (IDE) 
-    * https://www.arduino.cc/en/Main/Software 
-  - Herunterladen der letzten **DCC++ Base Station**-Ausgabe und Entpacken der Quellen: 
-    * https://github.com/DccPlusPlus/BaseStation 
-  - 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 -> "Arduino/Genuino Uno" oder "Arduino/Genuino Mega" 
-  - 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://github.com/DccPlusPlus/BaseStation 
  \\  \\
  
Line 254: Line 218:
 ====Lok stoppt bei max. Geschwindigkeit==== ====Lok stoppt bei max. Geschwindigkeit====
 Die Anzahl der __**[[:loc-int-de#fahrstufen|Dekoder-Fahrstufen]]**__ auf der Schnittstellen-Registerkarte der Lok-Eigenschaften anstelle von 128 auf **126** einstellen.\\ Die Anzahl der __**[[:loc-int-de#fahrstufen|Dekoder-Fahrstufen]]**__ auf der Schnittstellen-Registerkarte der Lok-Eigenschaften anstelle von 128 auf **126** einstellen.\\
- 
-====Ethernet-Compiler-Fehler==== 
-Wenn der folgende Compiler-Fehler auftritt: 
-<code> 
-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. 
-</code> 
-Zeile 11 in **Comm.h** ändern:\\ 
-von 
-<code C> 
-  #include ETHERNET_LIBRARY 
-</code> 
-in 
-<code C> 
-  #include <Ethernet.h> 
-</code> 
- 
- \\ 
- 
-====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: 
-  * __**[[:rocrailini-controller-de#keine_schnittstellen-pruefung_beim_start|Keine Schnittstellen-Prüfung beim Start]]**__ 
- 
-\\ 
- 
-=====Max. Strom===== 
-In Zeile 16 der Datei **[[https://raw.githubusercontent.com/DccPlusPlus/BaseStation/master/DCCpp_Uno/CurrentMonitor.h|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 __**[[https://www.arduino.cc/en/Main/ArduinoMotorShieldR3|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: __**[[http://www.trainboard.com/highball/index.php?threads/dcc-hardware-motor-shields.90314/#post-960418|Trainboard.com]]**__  
-{{  http://www.trainboard.com/highball/data/attachments/171/171670-95fce61ebb745f799c8472bf81c9e6ad.jpg}} \\ 
-| :!: **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://www.trainboard.com/highball/index.php?threads/dcc-hardware-motor-shields.90314/page-8#post-974529|Trainboard.com]]** | 
- \\ 
- 
 =====Links===== =====Links=====
-  * **[[https://sites.google.com/site/dccppsite/home|Projekt-Home-Page]]** +  * https://dcc-ex.com/reference/software/command-reference.html#
-  * **[[https://github.com/DccPlusPlus/BaseStation|Quellen auf GitHub]]** +
-  * **[[https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation|DCC++ Befehle]]** +
-  * **[[https://github.com/DccPlusPlus/Documentation|Motor-Shield-Dokumentation]]**  {{:dccpp:dccpp-motorshieldpinmappings.pdf}}\\ +
-  * **[[https://sourceforge.net/p/ardurail/wiki/Home/|Ardurail]]** (Märklin-Motorola-kompatibel)+
dccpp/dccpp-de.1586083610.txt.gz · Last modified: 2020/04/05 12:46 by rainerk