Low Budget DCC Zentrale

  • Wie in diesem Beitrag schon angekündigt, bin (oder besser war) ich auf der Suche nach einer DCC-Zentrale, deren Ansteuerung von einem eigenen Computer-Programm aus möglichst einfach ist. Da ich ein chronischer Knapitalist :) bin, spielt auch der Preis eine wichtige Rolle.


    Erst hat mir eine ECoS Zentrale vorgeschwebt. Die Programmierer-Schnittstelle zwischen dieser und einem eigenen Java-Programm scheint mir aber alles andere als einfach zu sein. Und der Preis ist ja wirklich happig (irgend etwas zwischen CHF 650.00 und 850.00). Das hat mich bewogen weiter zu suchen ... zum Glück, denn nun bin ich fündig geworden:


    Das ist eine DCC-Zentrale.

    Wenn du jetzt sagst: "Das ist ein Arduino Microcontroller", dann hast du auch recht.


    Das ist ein Fahrstrom-Booster.

    Wenn du jetzt sagst: "Das ist ein Arduino Motor Shield", dann hast du auch recht.


    Der Arduino Micro-Controller mit dem aufgesteckten Motor Shield ergibt eine vollständige DCC Digital-Zentrale zum Fahren von Loks, wenigstens was Hardware anbelangt. Es braucht jetzt noch ein bisschen Software, aber die gibt es schon und die ist kostenlos und als Open-Source verfügbar.


    Was steckt nun dahinter? Das System heisst DCC-EX. Man findet es über diesen Link im Internet.

    Dahinter steckt ein Team von technisch versierten und interessierten Modellbahnern, die es sich zum Hobby gemacht haben, ein Low-Budget DCC Digital-System zu entwickeln und der Welt zur Verfügung zu stellen. Alles basiert auf sehr kostengünstiger Arduino-Technologie. Die Hardware für das im 3. Bild gezeigte Minimal-System kauft man für rund CHF 60.00.


    Ich habe die ganze Website gelesen und studiert. Die Art und Weise, wie das Ganze gemacht und beschrieben ist, begeistert mich. Da ich noch einige Arduino-Microcontroller übrig habe, musste ich mir nur noch ein Motor-Shield beschaffen. Das habe ich gestern bei Distrelec persönlich abgeholt und anschliessend konnte ich beginnen.

  • Das Motor Shield ist ist ja, wie es der Name sagt, vorgesehen, um Elektromotoren zu treiben. Deshalb ist es auch ausgelegt, um höhere Ströme zu liefern, als normale Ausgänge bei Arduino-Komponenten. Dieses Shield wird beim DCC-EX Projekt als Fahrstrom-Booster "misbraucht". Dafür eignet es sich hervorragend.


    Gespeist wird das Motor Shield (also der Booster) mit einem ausreichend starken DC-Netzgerät. Die Spannung am Gleis, bzw. an der Fahrleitung hängt direkt von dieser Speisespannung ab. Sie sollte daher im Bereich von etwa 15 bis 20 V liegen.


    Der Booster hat zwei Ausgänge (eigentlich vorgesehen für zwei Motoren). Hier wird der Ausgang A für das Haupt-Gleis und der Ausgang B für das Programmier-Gleis verwendet.


    Für meinen Test-Aufbau verwende ich mein Labor-Netzgerät, welches ich auf 16 V eingestellt habe, für die Speisung und den Ausgang A habe ich mit dem Rollen-Prüfstand verbunden. Der Arduino wird hier über USB vom Compi gespeist.


    Hier sieht man die Schraub-Klemmen für die Speisung (blaues und gelbes Kabel) und für die beiden Ausgänge. Der Ausgang A (wo der schwarze und der rote Draht angeschlossen sind), ist mit dem Rollenprüfstand (später Haupt-Gleis) verbunden. Der Ausgang B (vorgesehen für das Programmier-Gleis) ist hier unbenützt.


    Dies ist der gesamte Test-Aufbau. Die Ae 6/6 Le Locle, die erst kürzlich von einem netten MoBa-Forums-Kollegen revidiert wurde, steht hier auf dem Rollenprüfstand bereit. Beim ESU Multiprotokoll-Decoder in der Le Locle ist das DCC-Protokoll aktiv. Das Selectrix-Protokoll ist deaktiviert. Die Adresse dieser Lok ist 29.


    Um nun Befehle an die Zentrale zu schicken, verwende ich den Serial Monitor aus der Arduino IDE (Entwicklungs-Umgebung), mit welcher ich auch die Software von DCC-EX (problemlos) installiert habe.


    Ich habe die Funktion mit ein paar Befehlen ausgetestet. Bei den im Folgenden aufgelisteten Befehlen ist der eigentliche Befehl zwischen dem spitzen Klammern-Paar. Hinter dem eigentlichen Befehl steht meine Erklärung.

    <1 MAIN> Spannung auf das Hauptgleis einschalten. Die beiden LED beim Ausgang A werden dann leuchten.

    <F 29 0 1> Licht an Lok 29 einschalten

    <t 29 60 1> Lok 29 vorwärts fahren mit Fahrstufe 60

    <t 29 126 1> Lok 29 vorwärts fahren mit Fahrstufe 126

    <t 29 0 1> Lok 29 anhalten (Fahrrichtung bleibt aber vorwärts, wegen Licht)

    <t 29 0 0> Lok 29 anhalten (Fahrrichtung rückwärts wegen Licht)

    <0> Spannung an den Gleisen ausschalten. Die beiden LED beim Ausgang A löschen ab.


    Das folgende Video zeigt, wie die Lok auf die verschiedenen Befehle reagiert. Es sind die gleichen Befehle wie oben beschrieben.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Hier habe ich die Befehle noch mit dem Serial Monitor der Arduino-IDE gesendet. Später mache ich das mit meinem Steuerungs-Programm Amorocos. Der Schritt dazu ist für mich bewährte Technik, weil ich auch schon beim Sturzibus-Digital solche Befehle an den Sturzibus-Gateway (der auch ein Arduino ist) schicke.

  • Das hier verwendete Motor Shield ist für Ströme bis 2 x 2A vorgesehen (je 2A pro Ausgang). Da in der Praxis ja nur das Haupt-Gleis kräftig gespeist werden muss, entspricht das einem 2A Booster. Für meine Tests und auch für moderaten Betrieb auf der Anlage reichen 2A aus. Später, wenn die Anlage (mindestens Strecken-mässig) mal fertig ist und Vollbetrieb herrscht, werden 2A nicht reichen. Daher werde ich dieses Motor Shield durch ein stärkeres (2 x 5A) ersetzen, damit ich dann einen 5A Booster habe. Aus Erfahrung der Vorgänger-Anlage weiss ich, dass das gut ausreicht.


    Als weiteren Ausbau habe ich ein WiFi-Shield vorgesehen, damit ich Handregler (als iPhone App) über W-LAN anschliessen kann.


    Da der stärkere Booster und das WiFi-Shield erst bestellt sind, kann es noch eine Weile dauern, bis ich über die entsprechenden Erfahrungen berichten kann.

  • Guete Tag, Röbi!


    "Dahinter steckt ein Team von technisch versierten und interessierten Modellbahnern, die es sich zum Hobby gemacht haben, ein Low-Budget DCC Digital-System zu entwickeln und der Welt zur Verfügung zu stellen."


    Besteht die Möglichkeit, dass dieses Team sich vielleicht mal ein Hobby daraus macht (GEMACHT HAT?), auch einen Low-Budget DCC Digital- DECODER zu entwickeln?


    Als Besitzer von "ein paar" Modell-Loks verschlägt`s sich schnell auch unter die KNAPITALISTEN angesichts der Digitalisierungs-Kosten letzterer paar Lokelis. Dabei wär ich mit minimalsten Features absolut zufrieden.


    Oder gibts dazu einen Geheim-Tipp DES iNSIDERS?


    Vielen Dank dafür und Gruss Peter




  • Hallo Peter


    Ich weiss es nicht und ich habe auch keine entsprechenden Hinweise gefunden.

    Ich vermute aber eher nein. Ein Lok-Decoder ist zu klein für Selbstbau mit günstigen Consumer-Komponenten (wie dem Arduino). Die müssten den entwickeln und dann irgendwo fertigen lassen. Dann wird es für den End-Benutzer kaum günstiger als einer der käuflichen DCC-Lok-Decoder.

  • Röbi, das tönt so spannend wie es auch für dich ist, Solche Arduino Befehle aneinander zu reihen sieht gut aus. Verwendest du die gleiche Schnittstelle (serialComm) für den USB-Bus?

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Hoi Oski

    Ja, ich empfinde es wirklich als spannend.

    Ich mache es genau gleich wie bei der Sturzibus Kommunikation, konkret mit com.fazecast.jSerialComm.

    Das kommt mir sehr entgegen, weil dann die Kommunikation mit den beiden Subsystemen Sturzibus und DCC-EX auf die genau gleiche Art gemacht wird.

  • Fahrstufen-Bereich


    Bei DCC hat man ja die Möglichkeit, 14, 28 oder 128 Fahrstufen einzustellen. Klar, dass ich das auf 128 Stufen einstelle.

    Aber dazu habe ich jetzt eine Frage: Bei 128 Fahrstufen habe ich mir den Bereich 0 ... 127 vorgestellt. 0 = Stillstand, 1 ... 127 fahren. Wenn ich nun der Lok einen Befehl sende mit Fahrstufe 127 zu fahren, dann fährt sie nicht. Bei Stufe126 hingegen, fährt sie. Das sieht für mich so aus, als wären zum Fahren nur die Stufen 1 ... 126 verfügbar. Ist das so? Und wenn ja, warum nicht bis 127?

  • Hoi Röbi

    Das sieht für mich so aus, als wären zum Fahren nur die Stufen 1 ... 126 verfügbar. Ist das so? Und wenn ja, warum nicht bis 127?

    DCC kennt im Protokoll die Fahrstufen

    0 = Anhalten mit eingestellter Bremsverzögerung

    1 = Notstopp ohne eingestellter Bremsverzögerung

    2 = kleinste Fahrstufe

    127 = höchste Fahrstufe

    DCC-EX mapt nun die Fahrstufen auf eine Stufe darunter, damit diese kontinuierlich sind (lässt also den Notstopp aus). Das macht übrigens nicht nur die DCC-EX so, sondern diverse Zentralen.


    Gruss

    Teddy

  • Hallo Peter

    Besteht die Möglichkeit, dass dieses Team sich vielleicht mal ein Hobby daraus macht (GEMACHT HAT?), auch einen Low-Budget DCC Digital- DECODER zu entwickeln?

    Kaum, denn dieses Team sind Softwareentwickler und haben gar nichts am Hut mit Hardware. Die Hardware haben andere entwickelt und das Team kauft diese einfach sehr günstig ein.


    Gruss

    Teddy

  • Kann hier nur für Decoderwerk werben.


    Der „kleine“ kostet gerade mal 13€


    Habe die dieses Jahr in Friedrichshafen am Stand besucht und hab mir gedacht dass ich da mal ausprobieren werde.


    Erfahrungen hab ich noch nicht, aber vielleicht ist das ja was für dich. Günstiger gehts vermutlich nicht.


    Sorry für‘s Off-Topic ;)

    Bischi :hi:

  • Das mit dem Wert 1 für den Notstopp ist eigentlich ein Chrüppel-Konzept von DCC.

    Wenn ich eine Zentrale designen würde, würde ich es auch so machen wie DCC-EX und die diversen anderen Zentralen.

    Wenn man die Antworten von DCC-EX anschaut, sieht man, welche Stufen effektiv ausgeführt wurden (nach dem Mapping).


    teddych: Du kennst scheinbar DCC-EX sehr gut. Benützest du es selber?

  • Guete Tag, Bischi !


    Schön, mal einen Tokter zu treffen, der nicht nur Rechnungen präsentieren kann (.....) :


    Vielen Dank für den Tipp und.... ich klemm mich mal dahinter .


    Gruss Peter

  • ........Röbi hat mich richtig (wieder neu) angefixt mit seinen guten Ideen. Als lediglich auf Startpackungs-Niveau u.ä. mit der digitalen Modellsteuerung vertraut (gut: Hab auch schon ein halbes Dutzend Analog-Loks ohne Schnittstelle komplett selbst "vercoderet" - und sie funktionieren sogar!) hab ich das Gefühl, dass ich bei diesem Produkt da


    https://www.modelrailroadcontr…er-bare-board-panel-of-5/


    als "Hard-core-Mechaniker" dessen Beurteilung/Qualität(en)/Defizit(e)/Status im Angebot nicht so richtig in den Griff bekomme. Attraktiv ist allerdings der Preis - die Grösse wieder weniger (L ca. 60mm, B ca. 15mm, H ca. ??? mm). Eine H0-Re6/6 allerdings verträgt den schon - und umgekehrt auch elektrisch (2A).


    Was meinen die Spezialisten dazu ?


    Gruss Peter


  • Ui nei.


    Das ist ja lediglich die unbestückte Platine. Denk nur dran, zuerst all die Bauteile aufzutreiben, und dann all dies noch zu bestücken (womit dann auch immer) das geht nicht mal schnellschnell mit dem Lötkolben aus dem Baumarkt.


    Ich hab ja sehr ruhige Hände, aber daran dürfte sich ein anderer versuchen.


    Das ist in meinen Augen am falschen Ort gespart.

    Bischi :hi:

    Einmal editiert, zuletzt von Lokidokter ()

  • Vielen Dank, den Spezialisten, für die überzeugende Argumentation.


    Es hätte mich zwar schon mal g'luschtet, eine solche Platine zu bestücken. Mit meinem Equipment und der Erfahrung aus vielen Jahren MS- Modellbau hätte ich mir das zugetraut (???).


    Was mich GAR NICHT G'LUSCHTET wäre das Zusammen-Suchen/-Evaluieren/-Bestellen........der (RICHTIGEN!) Komponenten - da habt ihr mich voll im Sack.


    Und den Preis....ja, den lassen wir....


    Gruss. Peter

  • teddych: Du kennst scheinbar DCC-EX sehr gut. Benützest du es selber?

    Ich hab die Schnittstelle in RailControl implementiert. Für Loks und Zubehördecoder ist die Schnittstelle simpel. Für die Rückmelder ziemlich mühsam (benötigt Mapping).


    Gruss

    Teddy

  • In der Zwischenzeit habe ich das stärkere Motor Shield geliefert bekommen. Damit habe ich nun das original Arduino Motor Shield ersetzt. Es funktioniert einwandfrei und ohne irgendwelche Konfigurations-Änderungen.

    Dieses Shield hat hier die Rolle eines 5 Ampère Boosters.


    Meine DCC EX-CommandStation mit dem neuen 5A-Booster.


    Auch das erwähnte WiFi Shield habe ich erhalten. Bei dem lief es jedoch weniger rund. Es hat eine Firmware-Version, die hier nicht unterstützt ist. Auch das Laden der richtigen Firmware habe ich bis jetzt nicht geschafft. Das ist aber nicht weiter tragisch, weil ich das WiFi-Shield nur vorgesehen habe, um das Smartphone als Handregler brauchen zu können. Ein Handregler hat bei mir kleine Priorität. Mir ist wichtig, dass ich die Zentrale von meinem Steuerungsprogramm Amorocos mit Befehlen beliefern kann und das funktioniert einwandfrei.