Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Seit vielen Jahren bieten verschiedene Hersteller Digitalsteuerungen für die Modelleisenbahn. Vor 35 Jahren haben wir, eine Gruppe von Modelleisenbahnern, über ähnliche Konzepte nachgedacht. Für die Spur N ließen sich jedoch keine kleinen Digital-Decoder entwickeln. Wir haben mit Hörgeräte-Transistoren experimentiert. Lange Zeit fuhren die Lokomotiven ohne Gehäuse, weil die Baugruppen zu groß waren. Die Firma Märklin brachte wenig später die ersten Digital-Decoder für Spur H0 auf den Markt. Sie wurden noch mit 'Mäuseklavieren' programmiert.
Wir sind dann jedoch einen andern Weg gegangen. Warum eigentlich den ganzen Bestand an Lokomotiven umrüsten? Die Kosten für einen Digital-Decoder lagen damals noch recht hoch. Wir entwickelten ein neues System. Eine einfache Schaltung auf einseitigen Europa-Platinen (10cm*15cm). Jede Platine enthält 8 mal die gleiche Schaltung für Blockabschnitte oder Signalabschnitte. Für Weichen und andere zu schaltende Baugruppen wurde eine eigene Schaltung erstellt. Die Ansteuerung übermittelt ein Computer. Es wird mit Impulsbreitensteuerung gefahren. 32 Blockabschnitte, 280 Signale, 150 Weichen und ca. 50 andere Funktionen wie Bagger, Karusells usw. werden mit dem Programm gesteuert.
Der erste Betrieb der Modellbahnanlage erfolgte mit klassischen Trafos und Tasten, über die die Weichen manuell umgeschaltet wurden. Aufgrund der rein mechanischen Steuerung kam es dabei gelegentlich zu Zugunfällen. In den 1970er-Jahren entstand die Idee, die gesamte Anlage auf eine computergestützte Steuerung umzustellen – ein damals ambitioniertes Vorhaben. Grundlage war ein selbst gebauter PC mit Z80-Prozessor und dem Betriebssystem CP/M. Die Steuerungssoftware wurde eigens in Turbo Pascal sowie in Z80-Assembler entwickelt und erlaubte erstmals eine präzise und koordinierte Regelung von Zügen und Weichen.
Die Anbindung an die Modellbahnhardware erfolgte über zwei parallel betriebene Centronics-Druckerschnittstellen, die über ein speziell entwickeltes Bahninterface alle Steuerbefehle an die Anlage übertrugen.
Mit dem technologischen Wandel wurde die Steuerung später weiter modernisiert: Heute übernehmen zwei Mikrocontroller mit USB-Schnittstellen die Kommunikation zwischen PC und Modellbahnanlage. Sie übersetzen die Steuerbefehle zuverlässig und hochfrequent. Diese technische Umstellung war notwendig, da moderne Betriebssysteme ab Windows 98 keine direkte Interrupt-Steuerung externer Interfaces mit einer Frequenz von 5000 Hz mehr zulassen. Damit wurde die Zukunftsfähigkeit der Anlage auch in Zeiten aktueller PC-Technik sichergestellt.
Die Hardware der Anlage besteht aus einem Windows-PC, zwei Mikrocontroller-Platinen mit ATmega644 oder Arduino Mega sowie vier 19-Zoll-Racks mit insgesamt 80 Steckkarten im Format 100 mm × 160 mm Europaplatinen. In diesen Racks sind die verschiedenen Interface-Platinen sowie Spezialplatinen für Blockabschnitte, Streckenteile, Signale mit Gleisbesetztmeldung und Kurzschlussüberwachung untergebracht. Zusätzlich werden Weichen und Relais für die Fahrtrichtungssteuerung angesteuert, ebenso wie verschiedene Attraktionen wie Hubschrauber, Bagger, Baumaschinen, Karussells und Burggeister. Die Stromversorgung erfolgt über handelsübliche Steckernetzteile oder vergleichbare Geräte. Die Stromversorgung erfolgt über handelsübliche Steckernetzteile oder vergleichbare Geräte. Zur Überwachung der Abstellbereiche im Bergbereich ist außerdem ein separater älterer Windows-PC mit mehreren externen Webcams unabhängig an die Anlage angebunden.
Den Mikrocontroller-Platinen ist ein Interface mit 74LS245-Treibern nachgeschaltet. Für die Ansteuerung der Bahnhardware werden insgesamt 8 MC-Datenleitungen, 8 MC-Adressleitungen und 6 MC-Controlleitungen verwendet.
Zugbetrieb mit MC1: Die 8 MC-Adressleitungen werden über fünf Encoderplatinen mit 4-zu-16-Encodern geführt und dienen als Taktgeber (Clock) für D-Flip-Flops (74LS377), welche die Fahrimpulse sowie Chip-Select-Signale (CS) für die Treiberbausteine 74LS244 bereitstellen. Die 8 MC-Datenleitungen schalten in den D-Flip-Flops einzelne Bits, die wiederum die Schalttransistoren für die Fahrspannung aktivieren. Die Fahrtrichtungsumkehr in den Blockabschnitten erfolgt über Relais, die ebenfalls von 74LS377-D-Flip-Flops angesteuert werden.
Weichen- und Relaissteuerung mit MC2: Auch hier werden die 8 MC-Adressleitungen über fünf Encoderplatinen mit 4-zu-16-Encodern geführt, die die Taktimpulse für D-Flip-Flops (74LS377) erzeugen. Diese steuern anschließend die Treiberstufen für die Weichenspulen oder Relais an.
Für einen reibungslosen Betrieb der gesamten Modellbahnanlage sorgt ein Windows-PC, auf dem ein eigens entwickeltes Bahnprogramm läuft, das von mir persönlich in Delphi von Embarcadero programmiert wurde. Ein Festplattenspeicher sichert dabei kontinuierlich alle aktuellen Werte und Positionen der Züge. Jede Lokomotive und jeder Zug werden mit rund 15 verschiedenen Parametern erfasst, darunter Maximal- und Minimalgeschwindigkeit, Loktyp, Beschleunigungs- und Bremsverhalten, Leistungsdaten sowie Informationen zu Bahnhofsdurchsagen und Geräuscheffekten. Auch die Block- und Streckenteile werden präzise verwaltet – jeweils mit Angaben wie Länge, Lage oder Kennzeichnung als Bergstrecke. Darüber hinaus überwacht die PC-Software sämtliche Eingaben für Zugfahrten, steuert automatisch Weichenstraßen und verwaltet Zugverspätungen sowie Gleisbelegungen.
Zwei große Bildschirme geben einen umfassenden Überblick: Hier werden die Gleispläne der Hauptbahn, Nebenbahn, Citybahn, Straßenbahn und der Güterbahnhöfe angezeigt, inklusive aktueller Zugnummern oder Namen sowie aller Weichen- und Signalstellungen. Für zusätzliche Atmosphäre sorgen automatisch zusammengestellte Bahnhofsdurchsagen sowie realistische Effekte wie Dampflokgeräusche, Lokpfiffe, Glockengeläut und Baustellengeräusche. So wird die Modellbahnanlage nicht nur sichtbar, sondern auch hörbar lebendig.
Für höchste Betriebssicherheit fragt der PC etwa 10 Mal pro Sekunde die Belegt- und Kurzschlussmeldungen der Anlage ab. Diese werden bereits auf den Mikrocontroller-Platinen vorverarbeitet und anschließend in Echtzeit weiterverarbeitet.
Auf den Mikrocontroller-Platinen selbst läuft ein in C entwickeltes Steuerungsprogramm, programmiert mit Microchip Studio. Beide Mikrocontroller verwenden im Wesentlichen dieselbe Software, verfügen jedoch über unterschiedliche Spezialfunktionen für die Zugsteuerung beziehungsweise die Ansteuerung von Weichen und Relais. Ein besonderer Vorteil: Dank dieses modularen Aufbaus lassen sich Baugruppen bei Störungen oder zur Fehlersuche schnell und unkompliziert austauschen – für einen zuverlässigen und flexiblen Anlagenbetrieb.
Um die Geschwindigkeiten der Züge präzise zu steuern, erfolgt die Regelung über eine Impulsbreitenmodulation (PWM). Auf dem Gleis liegt eine Gleichspannung an, die zwischen zwei Zuständen – 0 V und 14 V – wechselt. In einer Sequenz von 50 Hz werden vom Mikrocontroller 100 verschiedene Steuerimpulse an die Anlagenhardware ausgegeben.
Der Bahn-Interrupt arbeitet mit einer Frequenz von 5000 Hz. Innerhalb einer vordefinierten Ablaufsequenz werden 80 Impulse zur Steuerung der Zuggeschwindigkeit generiert, jeweils durch Ausgabe von 0 V oder 14 V. Zusätzlich erfolgen während der Interrupt-Sequenz weitere Aufgaben: die Ausgabe der Signalstellungen für die Streckenteile, die Messung der Gleisbesetzung, die Erkennung von Kurzschlüssen sowie zusätzliche Taktschritte zur Stabilisierung der Daten- und Steuerleitungen.
Die Steuerung der 32 Blockabschnitte – einschließlich Schalttransistoren, Gleisbesetzt- und Kurzschlussmessung – ist auf vier Europaplatinen zusammengefasst. Die Platinen für Blockabschnitte sowie Signal- und Streckenteile verwenden ein einheitliches Layout und sind mit diskreten Bauteilen bestückt.
Insgesamt werden damit 32 Blockabschnitte und 248 Signal- und Streckenteile gesteuert.
Ein wichtiges Detail der Impulsbreitensteuerung ist, dass die Sequenz stets mit den Takten beginnt, bei denen 0 V ausgegeben wird. Dadurch werden die 14 V gestaffelt eingeschaltet, abhängig von der jeweils eingestellten Geschwindigkeit der Lokomotiven. Diese Vorgehensweise verhindert plötzliche Stromspitzen und entlastet die Stromversorgung.
Die Steuerung durch den Mikrocontroller MC1 gliedert sich in vier Hauptteile innerhalb der 5000-Hz-Interruptsequenz:
1. Geschwindigkeitssteuerung (Interrupt 0–79): Die ersten 80 Interrupts steuern vier D-Flip-Flop-Register (DFF) zur Fahrstufenregelung. Somit ergeben sich 80 fein abgestufte Fahrstufen. Pro Sekunde müssen dafür 4 × 8 Bits aus einer Fahrstufen-Datentabelle ausgegeben werden.
2. Kurzschlussmessung (Interrupt 80–85): In diesem Bereich werden die 32 Bit von den Blockabschnitts-Treibern eingelesen, nachdem die zugehörigen DFF auf „1“ gesetzt wurden.
3. Besetztmeldung (Interrupt 86–93): Nach dem Setzen der DFF auf „0“ werden 280 Bit von allen Gleisabschnitten für die Besetztmeldungen eingelesen.
4. Signal- und Streckenteilsteuerung (Interrupt 94–99): In diesen Interrupts werden die aktuellen Schaltzustände der Signal- und Streckenteile an die DFF ausgegeben.
Diese gesamte Datensequenz wird 50 Mal pro Sekunde wiederholt und garantiert dadurch eine kontinuierliche und zuverlässige Steuerung des gesamten Anlagenbetriebs.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Dass ein Schaltmodul fürs Web nicht teuer sein muss, zeigt dieses kleine Projekt. Ein kompletter mini Webserver für etwa 30€. Dabei kommt der Mikrochip ENC28J60 Ethernetcontroller in Verbindung mit einem ATmega32 oder ATmega644 zum Einsatz. Mir ist bewusst das es schon einige solcher Schaltungen auf der Basis dieses Netzwerkchips und dieser Controller im Internet gibt. Allerdings kommt meine Schaltung ohne SMD Bauteile aus und die Platine ist zudem lediglich einseitig. Dies garantiert, dass dieser mini Webserver von einem Bastler ohne weiteres nachgebaut werden kann. Das Bild zeigt euch dabei den Webserver mit optionalem Display. Auch wenn die Software in der Programmiersprache C geschrieben wurde, kann eigentlich jeder seine eigene Webseite erstellen und in dem Webserver einbinden. Ein blick in die Datei webpage.h zeigt euch wie eine Webseite eingebunden wird, und somit Schaltaktionen durchgeführt werden. Die restliche und allgemeine Konfiguration erfolgt in der config.h. Auch hier wird von keinem irgendwelche C Kenntnisse abverlangt.
Im Radig-Onlineshop sind die Platinen für dieses Projekt zu haben! (c) Text Ulrich Radig
Für Fragen und Ratschläge zur AVR steht Ulrich Radig jederzeit gerne zur Verfügung.
Die Erstellung des neuen C++ Programms übernahm der Kollege Andreas Lutters. Nach Wünschen und Erfordernissen wurden verschiedene Routinen in das Programm integriert. Bei der Weiterentwicklung des Delphi-Programms stand mit vielen Ratschlägen und Verbesserungen Andreas Fischer bereit.
Als Verbindung zur Hardware der Modelleisenbahn stehen 3 mal 8-IO-Datenleitungen zur Verfügung. Somit wurden die zwei LPT-Schnittstellen am PC und die Druckerkabel durch diese Schaltung ersetzt.
hier die C-Programmteile als PDF
und als C in ZIP
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Die 8-Bit-breite Adressenleitung vom Druckerport wird mit einem 4-zu-16-Encoder decodiert. Mit den Ausgangssignalen werden die Block- und Signalplatinen selektiert. Im Eisenbahn-Hardwareschrank werden zur Zeit 10 Encoder genutzt.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Diese Platine dient zur Auswertung der Adresssignale des AVR-Mircocontrollers und zur Weiterleitung von Befehlen an die Blockabschnitte, Signale, Weichen und sonstigen Einrichtungen.
Auf diesen Platinen sind 8 Blockabschnitte mit identischer Schaltung bestückt. Diese Einzelschaltungen erzeugen die Impulsbreitenpulse. Zusätzlich wurde mit wenigen Bauteilen eine Besetzt- und Kurzschlusserfassung aufgebaut.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Die vom AVR-Microcontroller kommenden Geschwindigkeitsbefehle werden in die Impulslängen umgesetzt, die den einzelnen Geschwindigkeitsstufen entsprechen. Zusätzlich wird eine Gleisbesetzt- und Kurzschlussmeldung ermittelt und an den AVR zurückgeleitet.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Auf diesen Platinen sind 8 Signalabschnitte mit identischer Schaltung bestückt. Die Signalplatine dient zum Ein- und Ausschalten von Signalen sowie zur Besetzt- und Kurzschlussauswertung.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Auf dem MC-AVR644-Board wurde die Steuerung der Weichen modifziert. Auf der MC-Platine befinden sich für die IO-Ausgänge IC-74LS255 zur Verbindung mit dem 19"Rack-Bus. Ansonsten werden die 4 zu 16 Encoder zur Erzeugung der Clock/ShipSelect Signale weiter verwendet.
Daten-Eingang: Über die Steckerpins 2 bis 9 werden die Daten vom MC zur Weichenstellung auf die Platine eingespeist.
Steuerleitungen-Eingang: Die beiden CS-Signale vom Encoder liegen an 10 und 11.
Weichen-Ansteuerung: Die Pins 14 bis 21 sind für die linken Spulenantriebe, 22 bis 29 für die rechten Spulenantrieb.
Stromversorgung: Pin 1 und 12 sind Masse (GND). Pin 12 hat 5V= für die TTL-ICs und die Weichenantriebsspulen werden mit 15V= geschaltet.
Schaltbausteine (Schalter): Als Schalt-IC wird der ULN2803A mit 8 'Schaltern' genutzt.
Speicher-Zustand: Der aktuelle Zustand der Weichenstellung wird in den 8-Bit D-FlipFlops zwischengespeichert.
Weichen-Rückmeldung: Die aktuelle Stellung der Weichen wird nicht abgefragt. Eine Abfrage würde nur die Stellung der Weichenspule zurückmelden. Ob die Weichenzungen die richtige Stellung haben oder durch einen Schotterstein nicht anliegen, könnte nur mit einer aufwendigeren Mechanik erfasst werden. Deshalb wurde auf die Rückmeldung verzichtet. Sollte eine Weiche von Hand umgestellt werden, können jederzeit mit einem Programmbefehl alle Weichen in die richtige Stellung
gelegt werden.
Bisher sind zwei Prototypen-Platinen im Einsatz und haben sich bewährt. Insgesammt werden 200 Weichen zu schalten sein.
Der Preis für 8 Weichen mit 16 Weichenspulen beträgt ca. 12,-€
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Die Programm-Anfänge wurden auf einem CP/M-Computer mit Z80-Prozessor entwickelt. Zuerst waren es Assembler-Programme. Als Turbo-Pascal zur Programmierung zur Verfügung stand, wurde es wesentlich einfacher. Es gab jedoch noch keine übersichtliche Benutzeroberfläche. Nachdem die ersten Windows-Computer auf dem Markt waren, haben wir die Software umgestellt. Heute läuft die Eisenbahn mit einem Delphi-Programm und Windows XP oder Windows 7. Alle Vorgänge und Betriebsabläufe lassen sich auf mehreren Bildschirmen verfolgen. Immer wieder werden neue Wünsche in das Eisenbahnprogramm eingebaut und das Programm weiterentwickelt. Hier die Darstellung der Modelleisenbahn mit den einzelnen Bildschirmfenstern aus den Delphi-Programm. Noch sind nicht alle Funktionen dargestellt.
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Modelleisenbahn - Digitalsteuerung ohne Decoder in den Lokomotiven
Bahnstrecke oder Modelleisenbahnanlage suchen und finden !
Leider können wir Ihnen nicht zu allen Reisezielen Bilder mit Sonnenschein präsentieren. Auch wir haben nicht immer mit dem Wetter Glück. Wenn Sie jedoch Bilder mit besseren Wetterbedingungen haben, würden wir uns freuen, wenn Sie uns diese für unsere Internetseite zur Verfügung stellen könnten.
Impressum: Eisenbahn-Europa (private Internetseite)
Herausgeber und Autor: Achim Walder, 57223 Kreuztal, Krokusweg 1, info//<at>//eisenbahn-europa.de
freie Mitarbeiter: Sebastian Walder, Peter Höhbusch
Redaktion: Ingrid Walder und Achim Walder
Foto: Achim Walder und unsere Freunde (Autoren und Fotografen)
Hinweis auf Urheberrechte: Alle Rechte vorbehalten. Alle Texte, Bilder und Karten, auch Bilder von Dritten unterliegen dem Urheberrecht. Nachdruck und Vervielfältigung, auch auszugsweise, nur mit schriftlicher Genehmigung.
Hinweis: Eisenbahn-Europa bedankt sich bei allen Sponsoren, Anzeigenkunden und Verlagen, die es ermöglichen, diese Informationen und Rezensionen auf der Internetseite Eisenbahn-Europa kostenlos zur Verfügung zu stellen.
Weitere Infos: Impressum, wir nutzen keine Cookies, weitere Infos unter Datenschutz
Hinweis zu Fotostandorten: In diesen Eisenbahnmagazin veröffentlicht wir Eisenbahnbilder von Freunden und Bekannten. Zum Teil sind die Fahrzeuge oder Bahnstrecken heute nicht mehr Inbetrieb oder vorhanden. Die Standorte der Aufnahmen sind heute zum Teil noch zugänglich.