Zunächst einmal die Beruigung, dass bei mir in der Prioritätenliste die Trassenmodule und der Modulbahnhof über der Blocksteuerung liegen.
Dennoch sind mir grade beim Lernen für die letzten Klausuren immer wieder Ideen gekommen, die ich dann jetzt mal verschriftlichen wollte.
Jetzt also ein sehr langes Posting. Ich versuche nämlich auch gleich die Pläne mit zu erklären.
Und nochmal erwähnt: Bisher ist das alles noch Theorie. Es MÜSSTE funktionieren. Getestet und Fremdgecheckt ist es bisher noch nicht.
Fangen wir mal an:
Grundprinzip
Ein Zug wird bei dem abgebenden Bahnhof - nennen wir in A - für die Fahrt zum Zielbahnhof B vorbereitet. Dazu gibt er an einem Pult mit Tastern und Schaltern die Daten des Zuges ein. Sobald alle Eingaben getätigt wurde, betätigt der Bediehner einen Umschalter und die Daten werden in den ersten
Microcontroller geschrieben. Sobald nun der ersten Block (Block1) frei ist, weiß der Microcontroller, wie er das Gleis für den nächsten Zug beschalten muss; Das wurde ja vorher vom Bahnhofswart eingestellt.
Jetzt durchfährt der Zug diesen Block und kommt irgendwann an das Ende dieses Blockes.
Dort befindet sich eine Lichtschranke, die etwas Quer zur Fartrichtung steht um die Gefahr einer Falschauslösung durch die Wagenzwischenräume zu dezimieren.
Falls der nächste Block belegt ist hällt der Zug dort an.
Wie wird ein Blok als belegt gemeldet?
Nur dann, wenn drei Lichschranken eines Blockes gleichzeitig keinen Belegkontakt auslösen ist der Block auch wirklich frei. Die erste Lichtschranke ist dabei vor dem Haltebereich im Block.
Zwei Lichtschranken (die zweite zur Redundanz) liegen kurz dahinter um einen ausfahrenden Zug aus dem Block zu melden.
So durchfährt der Zug nun einen Block nach dem anderen.
Irgendwann erreicht er den letzten Block. Dort hält er standartmäßig immer an. Idealerweise ist das an einer Bahnhofseinfahrt.
Sobald ein Zug in den letzten Block eingefahren ist bzw. den vorletzten Block frei gemacht hat wird auf einem 16*2 Zeichen großen LCD Display sämtliche Informationen dieses Zuges in Klartext angezeigt. Diese Informationen waren die ganze Zeit im Microcontroler gespeichert. Auf dem Display steht dann z.B. folgendes:
------------------------------
| #0125 _ DCC _ F s t 9 |
| _ 2L _ _ Dig _ _ >_ _ _ |
------------------------------
Diese Anzeige würde logischerweise sagen: Digital, DCC Adresse 125 Farstufe 9 auf 2L mit Fartrichtung vorwärts. Dabei entspricht die Farstufe 9 nicht zwingend der Fahrstufe der Digitalzentrale sondern ist ein Wert der zwischen 1 und 12 liegen darf. Mehr Fahrstufen kann man nicht eingeben. Daher diese Grenze.
Wenn Der Bahnhof B den Zug annehmen will schaltet er diesen Block unter seine Kontrolle und übernimmt den Zug so. Sobald der Block leer ist, verschwindet auch die Anzeige und ein neuer Zug kann dor angezeigt werden. Gleichzeitig werden die Informationen des ausgefahrenen Zuges im Mikrocontroler gelöscht und es kann von vorne beginnen.
Soweit sollte das auch für jeden Techniklaien verständlich gewesein sein.
Jetzt kommt die Elektro technische Beschreibung der Schaltung mit den ensprechenden Schaltbildern. Das können nicht so interessierte erstmal getrost übespringen und erst bei der nächsten Fettschrift wieder aufwachen.
Schaltungsbeschreibung
Hauptbestandteil dieser Steuerung sind drei Mikroprozessoren (µC) des Typs
ATmega 16.
Ich rede im folgenden immer nur noch von einer Fartrichtung. Für eine Rampe beim TB muss also alles mal zwei genommen werden.
Die eigentliche Intelligenz steckt in dem Masterbaustein:
Der linke µC ist dabei für die Digitalisierung der Daten zuständig.
Im einzelnen werde die Werte folgendermaßen eingegeben:
Fartrichtung (FR): EIN/AUS Umschalter (‚0’ ‚1’)
Analog/Digital(ST): EIN/AUS Umschalter (‚0’ ‚1’) (St= „Steuerung“)
WS/GS(WG): EIN/AUS Umschalter (‚0’ ‚1’)
2L/3L(SY): EIN/AUS Umschalter (‚0’ ‚1’) (SY= System)
Protokoll (PRT): 4x Momentkontakt Taster - Anzeige des gewählten Protokolls mit LEDs
Farstufe (SP): 12-fach Drehschalter (SP=Speed)
Adresse (Adr): 4x 10fach Drehschalter
Dabei werden die Fahrstufen und die einzelnen Adressstellen durch eine Quantisierung der 5V eingestellt. Hinter jeder Position des Drehschalters steht also ein klar definierter Spannungswert, der durch die Anzahl der Wiederstände definiert ist.
Wenn alle Eingaben getätigt wurden wird der „REC“ EIN/(EIN) Momentkontakt Umschalter betätigt und der µC ließt die Eingänge ein und ordnet sie dem Block1 sobald dieser leer ist (wenn er bereits leer ist, wird dort direkt geschrieben).
Ebenfalls gibt es auf dem Eingabebrett eine rote LED für Hp0 und eine grüne LED für Hp1. Also die Einfahrtbereitschaft in den ersten Block.
Wenn der Block 2 leer seien sollte wird auch der Stoppbereich S1 mit demStrom des Blocks 1 versorgt.
Dazu jetzt mal ein Bild der Steuerng der Stromart:
Hier war ich so bequem und hab das mal nur für einen Block gezeichnet. Für den Rest geht es aber analog.
Über ein 25 Pol Sub-D Kabel kommen die Steuerinformationen vom 2. µC zu der Relaisplatine.
Dort erfolgt im Prinzip die Steuerung von Peters blauen MS-Pulten. Jede Stromart ist auf 2L oder 3L einstellbar. Alles mit getrennten Massen.
Die Transistoren schalten dabei dann die Relais, da die µC nicht soviel Strom vertragen. Als Relais reichen hier ganz billige monostabile 2xUM von Polin und Co. Den Dauerstrom für das Umschalten kommt ja vom µC.
Das ist an der Stelle alles keine Hexerei.
Der zweite µC bekommt nun die Resultate der Lichtschranken aus den einzelnen Blöcken.
Dazu auch hier die Schaltung der Lichtschranken:
Die drei Lichtschranken geben bei Unterbrechnung eine positive Flanke auf den Transistor T4-T6, der den Schaltkontakt auf Masse zieht. Der UND Baustein vergleicht nun sämtliche Transistoren. Und nur wenn L1=L2=L3=1 gilt, dann hat keine Lichtchranke eine Belegtmeldung und somit ist der Block frei. Dieses erzeugt eine 1 am Ausgang und dieses geht zu der Masterplatine zurück. Zum Verbinden der einzelnen Sensormodule mit der Masterplatine erfolgt mit 6poligen RJ11 Kabel. Die Pinbelegung ist dabei wie folgt:
Pin1: nc
Pin2: Zustand „Z“ des Blocks
Pin3: Schaltkontakt „S“ für Anhaltebereich
Pin4: +12V
Pin5 : GND
Pin6: nc
Unerwähnt blieb dabei bisher der Schaltkontakt. Das Abschalten des Bereichs zum Anhalten des Zuges erfolgt dezentral bei dem Sensormodul. Durch den Kontakt „S“ werden dann mit einem Relais die beiden Schienen Stromlos geschaltet. Somit ist jeder Zug zum anhalten verdonnert.
Zurück zu der Masterplatine:
Unten sieht man noch zwei ICs. Die Verbindung der einzelnen µC untereinander erfolgt mit dem RS485. Dieser ist zwar nicht Multi-Master fähig kann aber sehr einfach benutzt werden und braucht nicht noch viel anderes Outboard Zeug um zu funktionieren. Eigentlich wollte ich den CAN Bus benutzen, aber das war zu aufwendig und zu teuer. Das ist etwas für die Zukunft. Dann könnte man das ganze auch an die Märklin Central Stations anschließen.
Die beiden µC sind mit den I/O Pins schon ganz gut bestückt. Für weiteres müsste man über eine erweiterte Digitalisierung und sonstigen Schnick/Schnack nachdenken.
Der µC zwei ist für 4 Blöcke ausgelegt. Rein theoretisch kann man später noch weitere Steuerungsmodule bauen, die dem Muster des zweiten µC folgen und so nahezu beliebig viele Blöcke hintereinander packen. Zur Adressierung der einzelnen µC sind an den Pins 18-21 noch Dip-Switches vorhanden.
Die Verbindung der µC erfolgt auch mit dem RJ9 Kabel. Dabei ist die Pibelegung hier wie folgt:
Pin1: nc
Pin2: B
Pin3: A
Pin4 : GND
Pin5: nc
Pin6: nc
Kommen wir zu der Anzeige am Zielbahnhof:
Dieses ist eigentlich vom puren Konstruktionsaufwand her auch trivial.
Es gibt den µC mit dem RS485 Adapter und das Display. Diesess wird im 4-Bit Modus betrieben. Softwartechnisch bekommt dieser µC vom µC1 bei frei werden des vorletzten Blockes die Informationen des Zuges übertragen und zeigt dieses an. Da kann rein theoretisch alles angezeigt werden. Rein theoretisch auch noch eine Uhrzeit oder ein Grußwort vom anderen Bahnhof oder ein ASCI-Bild.
Soweit zu der Anzeige!
Kommen wir zur
Hardware-Konstruktion:
An der Eingabestelle der Informationen gibt es ein Pult mit Tastern und Schaltern und ein paar LEDs. Dadrunter sind dann die Platinen der Masterplatinen verstaut. Über das SUB-D 25 Kabel wird der Relais Kasten angeschlossen. Von dort geht es mit einer Schlauchleitung zu jedem Block (der Stoppbereich wird lokal gesteuert!). Rein theoretisch kann man nun bei einem Ausfall des Systems hier ein Umschaltpult der konventionellen Art einbauen.
Der Saft für den Relaiskasten kommt über einen SUB-D 19 rein. Dabei werden immer zwei Pole mit einem Kabel verbunden um den Strom und die Last aufzuteilen. Aus dem Stecker kommt eine Kabelpeitsche raus, wo dann die einzelnen Stromversorger angeschlossen werden können.
Die einzelnen Blöcke sind hier zwar als Sub-D 9 Pol eingezeichnet, aber da sollten wohl besser eine Reihe von Lüsterklemmen hin um schnell die Schlauchleitung anzuschließen.
Die Daten gehen über das RJ11 Kabel sowohl zu den Sensoren als auch zwischen den einzelnen Platinen hin und her. Dieses Kabel gibt es als Meterware günstig bei Reichelt und kann nebenbei auch noch für Loconetdaten benutzt werden.
Kosten
Leider wird das kein billiges unterfangen. Also zumindest nicht so billig, wie ich es gehofft hatte.
Wir bewegen uns hier in Finanzbereichen für eine Richtung von rund 40€ plus den Gehäusen und Kabeln. Das sind leider schon Summen, die nicht nebenbei gemacht werden können.
Dafür sind das einmalige Sachen und ein Schritt in die Zukunft.
Puh. Somit bin ich jetzt erstmal durch.
Ich wünsche euch viel Spaß beim nachvollziehen.
Das alles ist - ich wiederhole mich – nicht getestet. Wenn jetzt jemand Ideen oder Fehler gesehen hat, dann kann und soll er das natürlich mir sagen.
Ihr könnt euch auch
HIER
das komplette Archiv mit allen Eagle Schaltplänen runterladen.
Felix