Forum

Dieses Forum wurde am 23.01.2018 ins Leben gerufen. Wir freuen uns auf eure Beiträge!

Du musst dich anmelden um Beiträge und Themen zu erstellen.

DCC/LocoNet-Zubehördecoder für Modellbahnen

Hallo in die Runde,

vielleicht sind hier ja auch ein paar Modellbahner unterwegs? Heutzutage werden ja auch die Modellbahnen vorzugsweise digital gesteuert. Und das ist dann auch ein sehr schönes Betätigungsfeld für unseren Arduino.

Ein weitverbreitets Protokoll zur Steuerung von Modellbahnen ist das DCC-Protokoll. Damit lassen sich sowohl die Loks, als auch verschiedenes Zubehör wie z.B. Weichen und Signale ansteuern ohne dass zu jedem Element eigene Steuerleitungen verlegt werden müssen. Das Steuersignal liegt am Gleis an und kann von da abgegriffen werden, um Weichen und Signale zu beeinflussen. Dazu braucht es natürlcih einen Decoder, der das Protokoll auswertet und dann die entsprechenden Weichen oder Signale stellt.

Natürlich kann man solche Decoder fertig käuflich erwerben. Aber selberbauen macht wesentlich mehr Spaß und spart auch noch eine Menge Geld. Der Arduino ist eine perfekte Plattform dafür. Einen solchen Decoder möchte ich hier vorstellen.

Der Decoder kann unterschiedliches Zubehör ansteuern: Weichen und Signale mit Doppelspulenantrieb oder mit Servoantrieb, Lichtsignale oder beliebige statische/blinkende Ausgänge, z.B. für Beleuchtungen oder Bahnübergägne. Die Servoansteuerung kann z.B. auch für Torantriebe von Lokschuppen genutzt werden.
Die verschiedenen Funktionen können über eine Konfigurationsdatei eingerichtet werden, ohne dass der eigentliche Sketch geändert werden muss.

Der Sourcecode ist etwas zu umfangreich, um ihn hier direkt zu posten, steht aber auf Github zur Verfügung. Dort gibt es auch eine ausführliche Dokumentation dazu. Die derzeit aktuelle Version kann auch hier als zip-Datei heruntergeladen werden.
Um den Sketch übersetzen zu können, sind 2 Libraries notwendig: NmraDcc und MobaTools. Beide Libs können direkt über den Bibliotheksverwalter der IDE installiert werden ( den Namen oben rechts im Suchfeld eingeben ).

Wer sein Zubehör lieber über den LocoNet Bus ansteuern möchte, kann den Decoder ebenfalls verwenden. Statt der NmraDcc Library muss dann die LocoNet Library ( auch über den Bibliotheksverwalter ) installiert werden. Wegen einer Überschneidung bei den 16-Bit-Timern funktioniert das aber nicht mehr auf dem Arduino Uno, da der nur einen 16-Bit Timer hat. Hierfür muss dann ein Leonardo, Micro oder Mega genutzt werden. Die haben alle mindesten 2 solcher Timer.

 

Liebe Grüße FP