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 revision Previous revision
Next revision
Previous revision
dccpp:dccpp-de [2020/04/03 00:20]
rainerk [Optionen]
dccpp:dccpp-de [2021/02/02 00:17] (current)
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"​]]
-    * [[:​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 15:
   * 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 48: Line 37:
 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 45:
 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===
Line 145: Line 108:
 | 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.+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 und dann alle Befehle ​dieser Objekte einmal auszuführen bzw. die Rückmelder ​einmal ​auszulösen. 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 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. \\
  
 =====Adressierung===== =====Adressierung=====
Line 170: Line 133:
  
 ====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 144:
 ===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 195:
   * {{:​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 202:
 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 255: Line 208:
 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===== 
-  * **[[https://​sites.google.com/​site/​dccppsite/​home|Projekt-Home-Page]]** 
-  * **[[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.1585866010.txt.gz · Last modified: 2020/04/03 00:20 by rainerk