Ergänzende Logik für Traincontroller mit externen Hardware-Bausteinen
Problemstellung:
Zum Rangieren ist vor dem Streckenblock A2 ein Rangierblock A2R eingefügt, um Lokumsetzungen aus den Bahnhofsgleisen durchführen zu können. Diese Lösung ist in TrainController Tricks und Tipps beschrieben.
Auch hier gilt:
Lässt man Zugfahrten durch den Fahrdienstleiter durchführen, so unterscheidet dieser nicht in Streckenblock und Rangierblock. Wenn die Zielgleise im Bahnhof besetzt sind und Rangierblock A2R frei ist, wird eine Zugfahrt von Block A2 bis in den Rangierblock A2R freigegeben, wenn eine Fahrt in eines der Bahnhofsgleise führen soll. Das Ausfahrsignal von Block A2 geht auf HP1, der Zug bleibt aber im Rangierblock A2R stehen.
Das ist nicht gefährlich, soll aber trotzdem verhindert werden:
- Da Block A2R keine Signale hat sieht es so aus, als ob Einfahrt in den Bahnhof freigegeben wurde
- Der Zug stoppt hinter dem Ausfahrsignal von Block A2 (gottseidank), aber vollkommen unpassend zur Signalstellung
- Einfahrt in den Bahnhof wird scheinbar freigegeben, obwohl alle Gleise besetzt sind. In der Programmierung des Fahrdienstleiters sind dies die Gleise 2 bis 4
- Rangierfahrt vom Bahnhof in den Rangierblock A2R ist dann nicht mehr möglich
Es muss also dafür gesorgt werden, das der Rangierblock A2R gesperrt wird, wenn die Gleise 2 bis 4 im Bahnhof belegt sind oder von der anderen Seite Einfahrt auf ein noch freies Gleis stattfindet.
Im TrainController TC8 / Bronze gibt es dafür keine Programmiermöglichkeit. Ob das mit dem Bahnwärter in den Versionen Silber oder Gold möglich ist, kann ich nicht feststellen - wäre mir für diesen Zweck auch zu teuer!
Die Lösung schafft eine durch die vorhandenen Besetztmeldemodule in Verbindung mit einem Schaltmodul gesteuerte externe Logik, die ebenfalls den Baustein "Externe Gleissperre" verwendet.
Auch in diesem Fall soll die Sperre manuell aufgehoben werden können, um bei Fahrdienstleiter-Betrieb Rangierfahrten in den Block A2R hinein z.B. durch Drag & Drop im Traincontroller durchführen zu können.
Externe Logik für die Sperre von Block A2R
Die Logik soll bei folgenden Bedingungen Block A2R sperren:
- Gleis 4 und 3 sind besetzt, es findet bereits eine Einfahrt von A (rechts) statt; in diesem Fall sicherlich nach Gleis 2
- Gleis 4 und 2 sind besetzt, es findet bereits eine Einfahrt von A statt; in diesem Fall nach Gleis 3
- Gleis 3 und 2 sind besetzt, es findet bereits eine Einfahrt von A statt; in diesem Fall nach Gleis 4
- Die Gleise 4, 3 und 2 sind besetzt, Einfahrt von B ist nicht möglich. Dies würde der Fahrdienstleiter auch richtiggehend verhindern, aber auf Block A2R vorrücken lassen!
Die Logik ist mit vier CMOS dreifach-NAND-Gattern aufgebaut, die mit 15 VDC vom Uhlenbrock Schaltbaustein 63410 versorgt werden können. Der Strombedarf von CMOS-Schaltkreisen ist extrem niedrig und für den Schaltbaustein praktisch keine Belastung. Da vier Gatter benötigt werden sind zwei IC-Bausteine erforderlich. Zwei der zusammen sechs Gatter bleiben dabei unbenutzt.
Wenn die Eingangsbedingungen der Logik-Gatter High-Zustand haben, schaltet der Ausgang in den Low-Zustand. Dies gilt für alle vier o.a. Bedingungen, wobei die Gatter-Ausgänge durch Dioden entkoppelt sind - oder im Logik-Sprachgebrauch: die Ausgänge der CMOS-Gatter gehen auf eine Dioden-Oder-Schaltung.
Kleiner Exkurs in die Logik-Sprache:
L = Low ; in diesem Fall Aktiv-Low, also aktiv nach Masse schaltend
H = High ; in diesem Fall Aktiv-High, also H durch Schalten nach +UB (15 VDC)
Inverter-Schaltung zur Pegelumsetzung und Zustandsanzeige
Wir bleiben in der Logik-Sprache:
Die Schaltausgänge des Uhlenbrockbausteins 63410 schalten aktiv nach L (Masse). Für die CMOS-Logik wird aber ein aktives Signal nach H (+UB bzw. +15VDC) benötigt. Das Signal muss also invertiert werden. Dies leistet eine kleine Inverter-Schaltung mit einem Transistor, die auch gleichzeitig zum Anzeigen des Schaltzustands verwendet wird. Liegt am Eingang ein Low-Signal an, schaltet der Transistor durch und legt den Ausgang auf High. Die LED liegt dann über den 3,9kOhm-Widerstand auch an Hight und leuchtet, wenn die Logik eingeschaltet ist.
Einschalten und gleichzeitig Versorgung der Logik und des Inverters erfolgt über einen Schaltausgang des Moduls 63410, in diesem Fall über Schaltausgang 1.
Der Inverter-Baustein ist gleichzeitig auch eine große Hilfe für Inbetriebnahme und Test und erübrigt das Messen der Zustände mit einem Voltmeter - man sieht sofort, welcher Zustand anliegt!
Schaltung der Gleissperre
(hier noch mal wie in "Gleisperre für Loconet" beschrieben - damit Ihr nicht blättern müsst)
Schaltungsbeschreibung
Die Loconet Besetztmelder Typ Uhlenbrock 63320 registrieren bereits eine Belegung, wenn ein Strom grösser als 1 mA fliesst. In diesem Fall wird ein Stromfluß von ca. 5 mA erzeugt, indem durch einen Optokoppler ein 2,7 kOhm Widerstand auf den Stopp-Abschnitt des Rangierblocks A2R gelegt wird. Die rote LED signalisiert den Strommfluss im Block. Die Polung ist egal, da die Digitalspannung am Gleis praktisch eine Wechselspannung ist. Für eine der beiden Halbwellen sind Optokoppler-Transsistor und LED in Durchgang, die LED gelb und rot leuchten.
Eingeschaltet wird die Gleissperre durch einen Schaltausgang des Schaltmoduls 63410. Dieser Schaltausgang wird durch einen Schaltbefehl, erzeugt nach den bedingungen der ergänzenden Logik, nach Masse gesetzt.
Da der Transistor ( TUN = Transistor universal npn ) ohne weitere Ansteuerung durch den 47 kOhm Widerstand stets durchgeschaltet ist, wird der Optokoppler aktiviert. Angezeigt wird dies durch die gelbe LED.
Manuell ausgeschaltet wird die Gleissperre, indem der 1 kOhm Widerstand durch einen weiteren Schaltausgang des Moduls 63410 zusammen mit der grünen LED auf Masse geschaltet wird. Der Transistor TUP ( = Transistor universal pnp ) ist dann durchgeschaltet und sperrt den TUN. Es kann kein Strom mehr durch die gelbe LED fliessen und die Sperre ist aufgehoben. Aktiviert wird das Ausschalten der Gleissperre durch einen Umschalter im TrainController Gleisbildstellwerk, Adresse 308.
( Alle Sonderfunktionen liegen bei mir im Adressbereich 300 bis 399 )
LED-Anzeigen:
- LED gelb / Gleis sperren: die rote LED signalisiert den Stromfluss im Block zur Erzeugung des Besetztzustandes
- LED grün / Gleis freigeben: nur die grüne LED leuchtet; die Sperre ist aufgehoben, die gelbe LED ist aus, es gibt keinen Stromfluß im Block, signalisiert durch rote LED aus
Eine externe Versorgung des Elektronikbausteins ist nicht erforderlich: er wird vom +15 Volt Ausgang des Schaltmoduls 63410 gespeist. Der Strombedarf beträgt nur ca. 5 mA, wenn beide Ausgänge geschaltet sind.
Fertig aufgebauter Baustein
Die weiße LED links leuchtet tatsächlich grün, liegt am Typ
Verdrahtung der externen Logik
Folgendes Bild zeigt die Verdrahtung der ergänzenden Elektronikbausteine mit dem Schaltmodul:
Durch einen Stromfluß wird der Stopteil von Block A2R "besetzt", wenn eine der Logik-Bedingungen zutrifft.
Programmierung Uhlenbrock Loconet Module 63320 und 63410
Besetztmelder 63320:
Wenn die Bremsabschnitte der Gleise 2 und 3 besetzt sind, werden die virtuellen Schalter 306 und 305 gesetzt, also auf "1" geschaltet. Rücksetzten erfolgt beim Freiwerden.
Die Bremsabschnitte sind gewählt, um von der Laufrichtung der Züge unabhängig zu sein - der Bremsabschnitt gilt für beide Richtungen.
Die Schalter 306 und 305 sind entsprechend im Schaltmodul 63410 verwendet.
Ensprechend ist auch dem Bremsabschnitt von Gleis 4 ein Schaltbefehl zugeordnet, in diesem Fall der virtuelle Schalter 304
Findet eine Einfahrt von Block B2 in den Bahnhof statt, so wird dies vom Blockabschnitt 133 gemeldet. Es wird der vituelle Schalter 307 gesetzt und entsprechend über das Schaltmodul 63410 an die Logik weitergegeben.
Entgegen der ursprünglichen Planung wurde nicht das Freiwerden von Block B2 verwendet, sondern das Besetzen von Block 133: die Reaktion ist so herum schneller - es muss nicht erst der ganze Zug Block B2 verlassen haben.
Bewährt hat sich hier die detaillierte Unterteilung der Anlage in überwachte Abschnitte, wie es die Simulation mit WIN DIGITAL ergeben hat. Für den Traincontroller wäre das nicht nötig gewesen - die Strecken zwischen den Blöcken müssen nicht überwacht werden.
Schaltbaustein 63410:
Im Schaltbaustein 63410 sind die virtuellen Schalter für die Gleise 2 bis 4 ( Schalter 304 bis 306 ) wiederzufinden. Zusätzlich gibt es den Schalter 303, der die Versorgung für die externe Logik einschaltet. Er wird praktisch nicht betätigt und ist immer im Zustand "Ein".
Und es gibt den Schalter 308, durch den die Gleissperre manuell aufgehoben werden kann, um Rangierfahrten (Lokumsetzen) durchführen zu können.
Schalter 303 und 308 sind im Gleisbildstellwerk dargestellt.
Bertriebserfahrung
Die Zugläufe bei Fahrdienstleiter-Betrieb erfolgen nun entsprechend der Signalstellung des Ausfahrtsignals von Block A2. Ein "Vorrücken" in den Rangierabschnitt A2R findet nicht mehr statt, wenn die Gleise 2 bis 4 belegt sind oder eines der Gleise frei ist und ein Zug von A (rechts) dahin einfährt.
Die Kosten für die ergänzenden Elektronikbausteine bewegen sich im Bereich wenige Euro. Der teuere Teil ist das Schaltmodul 63410, von dem aber noch 14 (!) Ausgänge frei sind zum Schalten weiterer Anlagenkomponenten.
Das Stellwerk des Traincontroller sieht dann wie folgt aus:
Block A2R automatisch gesperrt, weil aus Block B2 eine Zugfahrt auf das letzte freie Gleis (2) stattfindet.
Block A2R manuell freigegeben. Per Drag & Drop können Rangierfahrten nach Block A2R durchgeführt werden. Allerdings würde der Fahrdienstleiter auch Züge von Block A2 nach A2R ausfahren lassen - also wie immer bei manuellen Eingriffen: diese Möglichkeit muss einem bewusst sein! Wenn allerdings die Rangierfahrt zuerst befehligt ist, passiert das nicht. Ein Gefährdung gibt es ohnehin in diesem Anlagenteil nicht. Die Zugfahrten aus Block A2 heraus wurden ja in Block A2R gestoppt - sah allerdings blöd aus :-)
Ein Download aller zugehörigen Zeichnungen und Listen steht im Download-Bereich zur Verfügung.
Die Tabellen für die Loconet-Module sind als editierbare EXCEL-Dokumente enthalten und können auch für Eure Dokumentationszwecke frei Verwendet werden.