Habe JMRI auf dem Rechner(Mac) installiert, einen Arduino Mega mit Motorshield angeschlossen, bzw. Software auf den Arduino installiert. Das System hat den ersten Decoder erkannt, aber es bewegt sich nichts. Wo sollte ich mit der systematischen Suche beginnen? Oder wer kann mir von aus OWL oder Ferne mit Anydesk usw., helfen?
Zitat von Hermannausowö im Beitrag #1Das System hat den ersten Decoder erkannt
Was verstehst du darunter? Wie hast du das festgestellt? Mit Mac kenne ich mich nicht aus, aber ansonsten ist meine Hardware zumindest ähnlich. JMRI auf PC, Arduino Mega mit Motorshield und EX-Commandstation V4.0 (https://dcc-ex.com/ex-commandstation/index.html). Arduino Mega über USB verbunden.
Zitat von Hermannausowö im Beitrag #1Habe JMRI auf dem Rechner(Mac) installiert, einen Arduino Mega mit Motorshield angeschlossen, bzw. Software auf den Arduino installiert. Das System hat den ersten Decoder erkannt, aber es bewegt sich nichts.
Dein DCC++EX System kann Decoder steuern und ggf. auch programmieren, ggf, auch die CVs, insbesondere auch CV 1 auslesen, aber nicht eigentlich erkennen.
Zitat von Hermannausowö im Beitrag #1 Wo sollte ich mit der systematischen Suche beginnen?
ich hoffe Du hast eine Lok mit DCC-Decoder, die Du schon mal irgendwo unter DCC gefahren hast und deren DCC-Adresse Du kennst. Werksfrische Decoder sollten die Adresse 3 eingestellt haben. Nach Anschluss des Motorshield-Eingangs mit korrekter Polung an ein 15 V Gleichstromnetzteil, (PADs für VIN am Motorshield getrennt! ?) würde ich erstmal im Monitor der Arduino IDE die dokumentierten Kommandos zum Ein- und Ausschalten des Gleissignals und zum Einschalten der Stirnbeleuchtung sowie zur Vorwärts- und Rückwärtsfahrt eintippen.
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Hallo Hermann, hab versucht, dein Problem nachzuvollziehen. Nachdem du die Lok programmieren (Einstellung Programmiergleis) kannst, muss das Gleis mit dem Shield-Ausgang für Programmierung verbunden sein. Bei der Einstellung Programmiergleis fährt meine Lok auch nicht. Du musst die anderen Spannungs-Ausgänge des Shields mit dem Gleis verbinden und dann Betriebsgleis klicken. Dann sollte es funktionieren.
Zum Programmieren nehme ich ein separates Stück Gleis.
Zitat von Hermannausowö im Beitrag #8kann per Stecker den Modus wechseln.
was meinst Du damit? Hast Du eine Lok, von der Du sicher weißt, daß sie sich unter DCC problemlos fahren lässt und unter welcher Adresse? Das Ausprobieren einer Selbstbau-Zentrale mit einer unbekannten Lok ist eher nicht zielführend. Hast Du vielleicht einen Decoder Prüfstand, den Du an den normalen Zentralenausgang anschließen kannst?
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Zitat von Hermannausowö im Beitrag #7Muss ich irgend welche Brücken zwischen dem Mega und dem Shield legen?
das hängt vom shield und der DCC++/DCC++EX-Programmversion ab. Steht aber in der DCC++EX Dokumentation zu Deinem Shield. Meistens ist das nicht (mehr) notwendig.
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Bild entfernt (keine Rechte) Dann Betriebsgleis, Fahrregler und EIN (ist auf deinem Bild: hellgrünes Symbol Unbekannt) Was passiert jetzt??
Dein Shield finde ich bei DCC++EX unter Supported Motor Drivers nicht. Durchaus möglich, dass es von der Software nicht oder falsch angesteuert wird. Evtl. sind Anpassungen in der config.h Datei notwendig.
Sollte es nicht funktionieren, würde ich ein Shield aus der Kompatibilitätsliste kaufen.
Viel Erfolg wünscht Uli
PS: Lt. Datenblatt kann dein Shield einen Dauerstrom von 0,6A. Kompatible Shields haben mehr als 1,5A
Hallo Herrmann, Du hast definitiv das falsche Motor-Shield. Auf die bin ich auch am Anfang hereingefallen. Suche nach L298 Shield. Du hast ein L293 Shield, bei dem kritische Pins nicht direkt ansprechbar und deswegen fuer DCC unbrauchbar sind. Da Du als Software DCC++EX hast, kannst Du mit dem Befehl "<1 JOIN>" gleich nach dem Programmieren ohne Umstecken fahren. Gruss
Zitat von Hermannausowö im Beitrag #7Muss ich irgend welche Brücken zwischen dem Mega und dem Shield legen?
das hängt vom shield und der DCC++/DCC++EX-Programmversion ab. Steht aber in der DCC++EX Dokumentation zu Deinem Shield. Meistens ist das nicht (mehr) notwendig.
tatsächlich ist Dein shield in der Liste der
Incompatible boards gelistet.
VNH2SP30 - SparkFun Monster Moto and others. It can’t switch fast enough to generate a reliable DCC signal
IFX9202ED - Infineon Dual H-Bridge. Can’t switch fast enough.
DFRobot Romeo V2 - Well, an Engineer could perhaps get this one to work.
Kuman Board (and any L293D based boards) - not enough current.
Pololu TB9051FTG based motor shield. It can’t switch fast enough to generate a reliable DCC signal.
Das heisst nicht, dass es gar nicht geht, aber die Einbindung wird vom DCC++EX-Projekt nicht offiziell unterstützt. Du machst Dir den Einstieg mit einem offiziell unterstützten Shield - z.B. mit dem Arduino-Motorshield Rv3, mit dem L298 (https://docs.arduino.cc/hardware/motor-shield-rev3) oder einem China-Clone davon, wie schon von Henner verlinkt: (https://www.ebay.de/itm/401878537847?_tr...7Cclp%3A2332490) - sehr viel einfacher.
MfG
vik
Edit: Verweis auf Beitrag von Henner eingefügt.
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Vik, es ist immer wieder interessant, wie die Beiträge von Vorrednern ignoriert werden. Ich weiss nicht, wie viele DCC++ und DCC++EX Zentralen Du bisher aufgebaut hast, aber ich habe bestimmt 10 und mehr solcher Systeme konfiguriert, darunter Versionen mit Blue Tooth Anbindung, Softwareerweiterung mit Potis für lokalen Betrieb, Arduino-Mega-Wemos mit integriertem WiFi. Die L293 Motor Shields (zumindest die, die ich kenne und das aus dem Foto identifizierbar sind) haben wichtige Signale, die nur über ein Schieberegister erreichbar und damit für präzises Timing im µs Bereich ungeeignet sind. Die 600mA sind da noch das kleinste Problem. Ich hatte mir vor vielen Jahren eine kleine Zentrale auf Basis eines 8051 Ablegers entwickelt, um auf Reisen meinen Eigenbaudecoder mit integriertem Keep-Alive testen zu können. Diese funktionierte mit einem L293 (aus Platzgründen), allerdings mit direkter Ansteuerung des Chips. Wie gesagt, die L293 Shields für den Arduino kann man nur unter erheblichem Aufwand (Änderungen an der Platine) unter DCC verwenden; das L298 Shield (zu dem ich ebenfalls einen von Dir ignorierten Link gegeben hatte) ist ohne Brücken/Änderungen an der Platine zu verwenden, ausgenommen bei Eingangsspannungen über 12V, wobei die Motorspannung von der Arduino-Betriebsspannung getrennt werden muss. Gruss
Hallo Hermann, auch wenn die Frage an Henner ging. Ich habe dieses genommen. Funktioniert bei mir problemlos mit EngineDriver auf einem Samsung Tablet.
Zitat von Henuli im Beitrag #18auch wenn die Frage an Henner ging. Ich habe dieses genommen. Funktioniert bei mir problemlos mit EngineDriver auf einem Samsung Tablet.
doch eher etwas für tinkerer oder developer, nicht für einen Conductor.
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Hast du schon mal die Option JOIN benutzt? Bei mir habe ich 2 Ausgänge. Einen für das Fahr- und einen für das Programiergleis. Mit JOIN kann man auch auf dem Programmiergleis fahren.
Zitat von Hermannausowö im Beitrag #20Es freut mich wenn ihr alle den Humor nicht verloren habt
sobald Du Dein L298er Motorshield bekommen, VIN isoliert hast, 15 V an das Motorshield angeschlossen und es auf Deinen Mega aufgesteckt hast, wird es problemlos funktionieren und Du kannst die Gleisspannung per Kommandozeile im Monitor der IDE ein- und ausschalten und anschließend einen DCC-Decoder mit bekannter Adresse ansprechen.
Die DCC++EX-Dokumentation für das Arduino-Motorshield ist da eigentlich sehr ausführlich.
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Hast du schon mal die Option JOIN benutzt? Bei mir habe ich 2 Ausgänge. Einen für das Fahr- und einen für das Programiergleis. Mit JOIN kann man auch auf dem Programmiergleis fahren.
lg Charly
Hallo Charly, ich benutze JOIN/UNJOIN auf meiner Testgeraden. Dabei ist ein Ende isoliert (=Programmiergleis). Am Start sind alle Gleise Fahrgleise. Nachdem ich mit einer Lok auf das isolierte Fahrgleis gefahren bin wird von mir der Befehl UNJOIN gegeben. Dadurch wird der isolierte Teil des Fahrgleises zum Programmiergleis. Auf dem Fahrgleis kann normal weitergefahren werden. Die CVs der Lok auf dem Programmiergleis können jetzt gelesen/geschrieben werden. Mit dem Befehl "Verlasse das Programmiergleis Richtung Fahrgleis <t 1 .....>" erfolgt automatisch der JOIN-Befehl d.h. Programmiergleis wird zum Fahrgleis. Wie das mit JMRI oder EngineDriver(Smartphone) realisiert wird, weiß ich noch nicht. Im Moment nehme ich hierzu die serielle Schnittstelle des Arduino. Fahren funktioniert mit JMRI und EngineDriver.
Bild entfernt (keine Rechte)
Befehl UNJOIN und dann auf das Programmiergleis fahren, gibt bei mir Kurzschluss.