MAN-Triebwagen

Drucktastenstellpult mit Mikrocontroller-Steuerung (C-Control I M-Unit 2.0)



Bedienungskonzept - oder: Darf's etwas einfacher sein?
Die Bahnhöfe des MEC Leonberg sind zwar seit längerer Zeit ausgestaltet, was jedoch immer fehlte, waren funktionstüchtige Signale. Der Bahnhof Waltersburg (früher: Mittelstadt) war seit Jahren bereits mit Lichtsignalen ausgerüstet, die jedoch weiße Kreuze trugen und einige Ausstellungen lang dunkel blieben. Im Bf Löwenthal konnten über einen Schalter wenigstens am Bahnübergang Andreaskreuze mit Blinklicht eingeschaltet werden.
Bei Ausstellungen soll dem Zuschauer ein vorbildgerechter Betrieb gezeigt werden, was auch funktionierende Signale einschließt. Lauter einzeln zu bedienende Elemente sind aber hinderlich im Ausstellungsbetrieb und werden regelmäßig vergessen.
Es musste also ein Bedienungskonzept her, bei dem Weichen, Signale und Bahnübergänge auf einfache Weise gestellt werden. Nach der Ein-/Ausfahrt des Zuges sollen die Signale automatisch in Halt fallen und die Bahnübergänge ausgeschaltet bzw. geöffnet werden.
Somit reifte langsam die Idee, die vorhandenen Stellpulte auf eine Zweitasten-Bedienung umzustellen. Nach dem Prinzip von Drucktasten-Stellwerken wird durch Drücken einer Start- und einer Zieltaste ein Fahrweg ausgewählt. Durch den gewählten Fahrweg ist damit eindeutig, in welche Lage die Weichen gebracht werden müssen, ob ein Bahnübergang zu schließen ist und welchen Signalbegriff das Startsignal zu zeigen hat. Wichtig ist zudem auch, wie das Ganze nach der Zugfahrt wieder zurückgestellt werden soll. Dazu soll im Weichenbereich eines Bahnhofkopfes ein Gleisbelegtmelder vorgesehen werden, der bei Belegung die Auflösung der "Fahrstraße"  anstoßen soll. Weichen und Bahnübergänge sollen auch durch Einzeltasten-Bedienung umgestellt bzw. eingeschaltet werden können. Auf einen richtigen Fahrstraßenverschluss ist verzichtet worden, da bei der Modellbahn keine Sicherheit gegen Fehlbedienungen nötig ist. Ein Verschluss der Fahrwegelemente würde auch eher zur Verwirrung führen.

Wie soll das funktionieren?
Um ein solches Stellpult zu realisieren, ist ein Mikrocontroller geeignet. Von Conrad wird seit Jahren die C-Control I M-Unit angeboten, die einfach zu programmieren und in eigene Schaltungen zu integrieren ist.
Nach schleppender Entwicklung, begonnen im Jahre 2006, läuft der Prototyp mittlerweile seit der Pferdemarkt-Ausstellung 2009 im Bahnhof Waltersburg mit einer Ansteuerung von H/V-Lichtsignalen, Dunkelschaltung der Ausfahrvorsignale am Mast der Einfahrsignale und Bahnübergang mit Vollschranken.
Der Prototyp wurde noch mit der C-Control I M-Unit 1.1 entwickelt, die eine Reihe von Porterweiterungs-
Bausteinen des Typs 74HC573 durch einen 8-Bit-Parallelbus ansteuert.
Inzwischen wird die M-Unit in einer leistungsfähigeren Version 2.0 angeboten. Neben einer höheren Verarbeitungsgeschwindigkeit und mehr Arbeitsspeicher ist auch das OnChip-Betriebssystem weiterentwickelt worden: Über den I²C-Bus kann der Porterweiterungsbaustein PLF7485 einfach durch Lesen und Schreiben einer Variablen angesprochen werden. Der PLF8574 eignet sich als Input- und als Output-Baustein; für Ausgaben wird noch ein Treiberbaustein ULN2803A nachgeschaltet, um höhere Lasten treiben zu können. Nach der erfolgreichen Inbetriebnahme des Stellpults von Waltersburg wurde eine neue Steuerung auf Basis der M-Unit 2.0 und I²C-Bus begonnen. Im September 2009 wurde bereits das große Yard auf die neue Stellpultsteuerung umgebaut, Bf. Löwenthal folgte kurz darauf.
Interessierte können sich hier die Unterlagen (PDF) anschauen: µC_M-Unit_2.0  I²C-Inputs  I²C_Outputs
 
Die Aufgabe: Eine stabiles und projektierbares Programm
Ein stabiles, robustes Programm zu entwickeln war die aufwendigste Aufgabe. Die Steuerung soll zuverlässig einen ganzen Tag durchhalten, egal wie wild auf den Knöpfen herumgedrückt wird. Der Prototyp hatte  bereits die Pferdemarkt-Ausstellung 2009 durchgehalten. Projektierbar soll es auch sein; von dieser Eigenschaft merkt der Bediener nichts, aber bei der Anpassung an einen neuen Bahnhof soll das Programm idealerweise gar nicht geändert werden müssen. Vielmehr soll die Funktion der Steuerung durch Einstellung von einigen Daten angepasst werden.
Das zyklisch ablaufende Programm vergleicht nach jedem Einlesen aller Eingänge, ob eine der Tasten gedrückt oder die Gleisbelegtmelder was zu melden haben. Wird eine gedrückte Starttaste entdeckt, beginnt eine Schrittsteuerung ihre Arbeit: Zieltaste erkennen, Weichen stellen, Bahnübergang zu, Schließ-/Umlaufzeiten abwarten und Startsignal stellen. Welche Weichen, Signale und Bahnübergänge zu stellen sind, steht in Tabellen. Gleisbelegungen oder Drücken von Halt-Gruppentaste mit Signaltaste führen zu Signalhaltfall, Auflösung und Öffnen von BÜ's; Verzögerungszeiten sind einstellbar. Auch Spezialitäten wie Ausfahrvorsignale am Mast von Einfahrsignalen oder auch das Einrichten von externen Bedingungen (eine Fahrstrasse lässt sich nur stellen, wenn ein entsprechender Input eine "1" meldet) sind möglich. Entwickelt wurde das Ganze in der Sprache Basic++ und mit der Entwicklungsumgebung WorkBench++.