Meine Modelleisenbahn

Rechnersteuerung

Die Rechnersteuerung habe ich ziemlich großzügig ausgelegt. Mir sind irgendwann zwei alte Dell Kleinrechner in die Hände gefallen, und ich habe sie vor der Verschrottung bewahrt. Mit Hilfe von zwei neuen Motherboards und vor allem mit neuen Ventilatoren habe die die "Maschinchen" wieder zum Laufen gebracht. Einer der Rechner fährt Labview unter Windows, auf dem anderen will ich zunächst eine einfache Steuersoftware für die Loks installieren. Damit habe ich getrennte Com-Ports für Bahn und Weichen, etc. zur Verfügung, so es keine Timing-Probleme gibt. Ich habe in diesen Tagen von einem guten Modellbahnkollegen die Befehlsliste für seinen Treiber erhalten, und ich glaube, dass es mir möglich sein wird, diesen über Labview anzusteuern.

Damit ich sie auseinanderhalten kann, habe ich ihnen die Namen meiner Töchter gegeben.

Steuerrechner der Bahnanlage 

Zur besseren Darstellung dient ein Konfigurationsbild der Rechner. Ich möchte schon soweit kommen, dass die Abfahrt eines Zuges durch ein äußeres Ereignis initiiert werden kann. Dazu ist es notwendig, dass ich soweit den DDW-Server verstehe, dass ich die notwendigen Kommandos schreiben kann.

Darstellung der Rechnerkonfiguration

 

Irgendwo muss ich ja auch noch löten und Hardware bauen. Hierzu gibt es einen Arbeitsplatz mit einem Testoval, an welchem auch die Dekoder programmiert werden. Hierzu dient ein "altes" Notebook, welches sowohl unter DOS als auch unter Windows XP gestartet werden kann. Mit diesem Rechner wird das Testoval gesteuert oder es werden Interfaces getestet. Mit dem Rechner wird auch der FPLA-Programmer angesteuert, mit welchem ich die Decoder-Chips für die Module programmiere. Für das Testoval habe ich einen eigenen Booster aufgebaut, der allerdings noch nicht verdrahtet ist.

 

Arbeitsplatz im "aufgeräumten" Zustand 

Programmiergerät für die Decoder-Chips der Module

Unter DOS läuft der eigentlich für Vakuumsysteme aufgebaute Interpreter YVON. Es ist ein altes aber bewährtes Tool aus meiner "Prozessrechner-Epoche". Für die ersten Tests der Interfaces zur Steuerung von Weichen und Signalen werde ich dieses Paket einsetzen.Für die Datensteuerung habe ich einige der ausgemusterten 19" 6HE Überrahmen benutzt. Die Frontendelektronik wird weiter unten erläutert. Unter XP werde ich eine einfache Steuersoftware für die Loks installieren, mit der ich auch Lok-Decoder programmieren kann.

Booster & Co

 

Vorläufig sind für die Anlage drei Booster vorgesehen. Jeder wird von einen 18V Einschubnetzteil versorgt. Die Netzgeräte haben einen Anschluss für 235V AC. Ausgangsseitig erzeugen sie 20V 2,5A AC als Versorgungsspannung für die Booster.

 

die Bilder zeigen Booster und Netzteil von der Seite. Hier wird deutlich, dass ich von einem alten Einschub die Gleichrichter und Stabischaltung entfernt habe. Der Booster ist ein TAMS B2-Booster, der auf eine Prototyp-Karte gesetzt wurde. Auf der Frontplatte wurden die entsprechenden Ausbrüche für Ansteuerung und Prüfung der Signale angeordnet. Der Leistungsausgang befindet sich auf der Rückseite. Wer von Euch einmal in einer Schaltung (auch noch im Betrieb) herummessen mußte, wird das Anbringen von Testbuchsen sehr begrüßen (Lemo Gr 00, einpolig oder zweipolig hat sich da bewährt. Ich liebe Buchsen, die rund sind, weil mir doch erst ganz am Ende einfällt, welche Signale ich benötige.

Irgendwann habe ich dann den ersten Booster geschrottet und dabei festgestellt, dass dieser erste "ein wenig ungünstig" aufgebaut war. Ich habe den Kühlkörper höher gesetzt, so dass er über den Kartenstecker ragt. Die Boosterplatine konnte damit weiter hinten angeordnet werden. Die Transistoren werden mit 1,5 mm2 Cu-Litze verdrahtet, damit die Boosterplatine eine größere Beweglichkeit hat. Durch das Zurücksetzen erhielt ich auf dem vorderen Teil der Platine mehr Platz, so dass die Kabel sauberer und übersichtlicher angebracht werden können. Die Boosterplatine wurde außerdem nach einer Seite verschoben, womit für eine saubere Montage der Elkos genügend Platz frei wird.

Die Metamorphose der Karte wird an den beiden folgenden Bildern dargestellt:

vorher und nachher

Wenn man (hoffentlich) genau hinsieht, dann erkennt man auf der unteren rechten Seite der Boosterplatine die Federpins zum Anlöten der Steuerkabel. Vor dem Kühlblech befinden sich die Federpins zur Ankopplung der Leistungshalbleiter. Frontplatten sind derzeit in Arbeit, so dass ich nach dem Urlaub/REHA die Module fertigstellen kann.

 

Frontendelektronik für Anlagensteuerung

Für die Frontend Elektronik war eine Systematik zu erstellen, die nachfolgend beschrieben und in Ihren Komponenten erläutert wird.

 

Definitionen

1. Die statisch bedienbaren elektrischen Bauteile der Anlagen (statisch heißt: keine Loks) sind zu steuern und ihr Zustand ist darzustellen. Anzeige- und Befehlsgeräte sind noch zu definieren.

2. Die Steuerung dieser Geräte erfolgt von einem Steuerrechner über 19"-Überrahmen (Crates), welche mit 5V DC sowie 15V DC Netzgeräten versehen sind. Jedes Crate hat ein adressierbares Kopplungsmodul (Controller), das die von einem Rechnerport (COM) kommenden Signale in 16-Bit Bussignale umwandelt. Auf dem Bus befinden sich ebenfalls adressierbare Busmodule, welche die notwendigen IO-Aufgaben durchführen. Die Module sind so aggregiert, dass sie den zu steuernden Einheiten (etwa Weiche: 2Bit Befehle, 1Bit Status) entsprechen.

3. Alle Doppelspulengeräte (Definition Fa. Märklin) werden mit einem Puls der Länge 1s angesteuert. Damit hält sich die Belastung der Netzteile in Grenzen. Da die Weichenantriebe nur mit 15V DC arbeiten, 

4. Andere Märklin Komponenten, die zum Betrieb Bahnstrom benötigen werden steuerungstechnisch gleich jedoch mit einem Trennrelais (Dual Inline-Relais) pro Steuerkanal betrieben.

5. Steuerungen von Eigenbauten werden an diese Philosophie angeglichen.

6. Rückmeldungen erfolgen mit 5V DC oder 15V DC über einen Pull-Up Widerstand von 4k7/15k. Dabei wird negative Logik verwendet (5V = False, 0V = True). Diese Schaltung ist geeignet für die o. a. IO-Module.

 

Busschema eines Überrahmens 

 

Überrahmen mit Modulen und Current Loop für maximal 8 Rahmen

 

Für den Rechnerbus sind grundsätzlich zwei Funktionsarten mölich:

  • Daten werden vom Rechner zu den Modulen (und damit zu den Komponenten) geschickt - Schreibzyklus - WRITE.
  • Daten werden aus den Modulen ausgelesen und über den Rechner dargestellt - Lesezyklus - READ.                                                                                                          

Beide Betriebsarten unterscheiden sich lediglich dadurch, dass eines der Kontrollsignale (Rd/Wr) aktiviert wird oder nicht.

Bemerkung: Die o. a. Definition ist "reichlich grob" und wird einem Elektroniker nicht genügen. Ich lasse es aber dabei bewenden. Für interessierte Leser gibt es die Möglichkeit, sich über parallele Busstrukturen beim Datentransfer an anderer Stelle zu informieren. 

 

Schema der IO-Module

 

Schematische Darstellung eines IO-Moduls

 

Es ist Aufgabe der IO-Module, die Bussignale in Signale zu verwandeln, die für die Anlage verwendet werden können. Ein Modul erkennt an der Adresse, dass es Empfänger einer Nachricht ist. Durch den Adress-Schalter (Adr.SW) ist es möglich, mehrere Module in einem Crate zu betreiben. Die Daten müssen gespeichert werden, damit sie für die Folgeelektronik verarbeitbar sind. Dies erfolgt in den Schreib- und Lesespeichern (Write 1,2 sowie Read1). Mit Hilfe eines Quittungssignals (BAK) erfährt der Rechner, dass das Modul eine Nachricht erkannt und innerhalb der erlaubten Zeit verarbeitet hat. Der wichtigste Baustein ist der Decoder (FPLA = Field Programmable Logik Array), welcher alle Steuersignale erzeugt.

Relais IO-Modul mit 24 Bit Input und 16 Bit Output

 

Der Controller erhält serielle Signale vom Rechner (über die Current-Loop). Er wandelt diese Signale in Bus-Signale mit 16 Bit Daten, 16 Bit Adressen sowie einigen weiteren Kontrollsignalen.

 

 

Controller - Kopplung zwischen Rechner und den Modulen

Testmodul für die Datenübertragung. dieses Modul kann beliebige Adressen annehmen, Daten anzeigen oder Daten eingeben. Bei der Entwicklung der Steuersoftware für die statischen Teile der Anlage ist es sehr wichtig. 

 

Schaltungen für Komponenten

Märklin M-Weichen/Komponenten mit Doppelspulen

Für diese Weichen werden 2Bit Befehle sowie 1Bit Rückmeldung benötigt. Zusätzlich wird noch die (schaltbare) Versorgung der Weichenlaterne benötigt. Die Versorgung der Weichenlaternen soll zentral oder zumindest in Gruppen schaltbar sein.

 

 

Das Ausgangsregister (Write1) erhält eine "1" vom Rechner und setzt den Ausgang Bit1 auf 0V (act. Low). Der Relaiskontakt setzt ein Ende des Weichenantriebs auf 0V, so dass eine Spule der Weiche anzieht und die Weiche umlegt. Etwa eine Sekunde später setzt der Rechner die Daten für das Ausgangsregister auf "0". Darauf wird der Ausgang auf 5V gesetzt und der Ausgang des Relais auf 15V, so dass die Spule der Weiche wieder stromlos wird. Damit ist ausgeschlossen, dass die Weichenspule überlastet wird.

Wie oben gezeigt erhalten die Weichen einen Rückmeldekontakt, der so angelegt ist, dass er gegen Masse schließt. Am Ausgang des Schalters ist ein Relais angeordnet, welches auf der anderen Seite an +15V DC angeschlossen ist. Wenn das Relais schließt, legt sein Ausgangskontakt den Eingang des Lesegatters auf 0V

 

Märklin Komponenten mit Bahnstromversorgung 

 

 

 

 

 

 

 

 

 

Für die Ansteuerung von Komponenten, die eine Versorgung mit Bahnstrom (18V AC) benötigen, werden Leistungsrelais eingesetzt, welche bei einer Steuerspannung von 5V/15V DC die notwendige Leistung schalten können. Schutzdioden sind in die Relais bereits eingebaut (1N4151). die gleiche Schaltung wird auch verwendet, um Blockstrecken oder Abstellgleise des Schattenbahnhofs zu schalten.