DCC und Arduino

Zu meinen Hobbys gehört seit langem (ca. 40 Jahre...) auch immer mal wieder die Elektronik-"Bastelei".

In den letzten Jahren faszinieren mich besonders die Mikrocontroller, die es als fertigen "Hardware-Block" gibt und die sich immer einfacher programmieren lassen - so ist es mit Hilfe der "Arduino" Boards möglich, in wenigen Zeilen C-Code den Controller vernüftige Dinge tun zu lassen.

Als Modellbahner sucht man natürlich nach einer Anwendung bei der Modellbahn - vielleicht als erstes mal ein Handregler....

Hier ist er, ein Arduino Duemilanove mit 4 Tastern (F0 ...F3), einem Poti (Speed) und einem Umschalter (Richtung):

In einem ersten Schritt überträgt der Arduino die vom Poti und den Schaltern/Tastern gelesenen Daten via USB (serial Port) zum PC, der PC wandelt die Daten um in Befehle für die Lenz Zentrale (via LI101F Interface).

In einem zweiten Schritt habe ich den Arduino zur "Digitalzentrale" erweitert, siehe
"simpledcc" .

SimpleDCC - die allereinfachste (?) DCC Zentrale

Ich habe den Arduino Regler (das Poti zur Geschwindigkeitssteuerung ist an PIN2 des Arduino angeschlossen) noch um eine kleine Power-Endstufe mit dem LMD18200 (Brückenschaltung) erweitert, und dann in Software eine kleine "DCC Zentrale" programmiert.

Hier die zusätzliche Hardware (Elko an Pin6: bis 100uF, C1, C2 keramische Kondensatoren - bitte checken Sie, ob Ihr Arduino die Eingangsspannung für den Booster von 12...15V verkraftet, falls nicht, benutzen Sie ein USB power supply für den Arduino!))

und hier die (simplest mögliche ?) Software (nur EINE Lok, nur Geschwindigkeit und Richtung). Zum Erzeugen des DCC Signals wird der Timer 2 genutzt und eine simple "state machine" - ein spezieller Dank an dieser Stelle an Wolfgang Kufer und die "openDCC" Programme , die hier zwar nicht direkt genutzt werden, die aber sehr lehrreich für mich waren.

Ihr Browser kann den Text leider nicht anzeigen! Bitte schicken Sie mir eine Mail, dann sende ich ihnen den File zu.

Wer ernsthafte Software für DCC schreiben möchte, sollte sich die Arduino DCC Library unter model railroading with arduino anschauen. Allerdings ist der Sourcecode für die Library schon recht komplex und nicht mehr ganz so einfach zu verstehen wie die Programme auf diesen Seiten.