Tagebuch vom Bau einer Modelleisenbahn

Steffen A. Mork



Alle Einträge

Schlagwörter:

221 135-7 50 3655 aktuell Alt Ulm ATmega32 Bahnhof Baureihe 38 Baureihe 41 Baureihe 78 Begrünung Beleuchtung Bergmann Bier Biermodus Bocholter Eisenbahn Gesellschaft BRAWA Bügelfalten-110 CAN-Bus Dampflok Donnerbüchsen Echtzeit Eclipse Eisenbahnfreunde Witten Eisenbahnmuseum Dahlhausen Eisenbahnsteuerung Embedded Erzwagen Fahrstraße Faller Firmware Fleischmann Formsignal gelbes Sh1 Gleisbesetztmeldung Google Earth hvdsw Hörder Bahnhof Integrationstest Intermodellbau itemis Kurzschluss Köf II Land der Ideen Landschaftsbau Lichtsignal Lokschuppen Lütgenau MDSD Miniatur Wunderland Modellbahnwelt Oberhausen Modellbau Modellierung Multi-Threading Märklin O&K L25 private Radlader Roco RS232 Ruhrtalbahn Schaltnetzteil Schattenbahnhof schlechte Kupplung Sodbrandt Soest Stellwerk Sufloch T3 Teppich V200 V60 Veranstaltungen Verkabelung Viessmann Vollmer Wittener Eisenbahntage Yakindu YouTube Öllekes

Neuimplementierung der Steuerungs-Software

Samstag, 4. Februar 2023: Seit geraumer Zeit wird die Steuerungs-Software der Modelleisenbahn neu implementiert. Die Anmutung ist am originalen ESTW orientiert. Statt Eclipse/Java wird C++/Qt verwendet. Sogar der Biermodus i ...

Überbrückungsklammern in Weichen erneuert.

Mittwoch, 1. Februar 2023: Heute wurden die provisorischen Überbrückungsklammern der denkenden Fleischmann-Weichen durch originale Klammern ersetzt. Die kupfernen manuell zurechgebogenen Klammern waren häufig rausgesprungen u ...

USB-CAN-Busadapter

Dienstag, 18. Oktober 2022: Seit den ersten Entwicklungen mit dem CAN-Bus und der Eisenbahnsteuerungen hat sich im Embedded-Markt sehr viel getan. Insofern ist es nur logisch, sich mal günstige CAN-Busadapter anzusehen, ob sie ...

Nächster Halt: 4+1

Dienstag, 16. Dezember 2014: itemis hat mir die Gelegenheit gegeben, die Eisenbahnsteuerung im Rahmen von 4+1 entwickeln zu können und hat das eindrucksvoll in diesem Video zusammengefasst:

Defekt an einem CAN-Controller

Samstag, 22. März 2014: Heute Abend hat sich aus heiterem Himmel ein CAN-Controller verabschiedet. Nach kurzer Diagnose habe ich den Controller mit der ID Nr. 10 als defekt identifiziert. Leider hatte der Tauschcontroller e ...

Zugsteuerung verbessert

Montag, 7. September 2009: Bisher konnte man nur mehrere Lokomotiven gleichzeitig fahren lassen. Der Versuch, mehrere komplette Züge automatisch fahren zu lassen hat meist nach wenigen Minuten mit einem Unfall geendet. Der Grun ...

Neuimplementierung der Steuerungs-Software

Samstag, 4. Februar 2023 Tags: Modellierung Fahrstraße Stellwerk Eisenbahnsteuerung Embedded Yakindu Biermodus CAN-Bus

Seit geraumer Zeit wird die Steuerungs-Software der Modelleisenbahn neu implementiert. Die Anmutung ist am originalen ESTW orientiert. Statt Eclipse/Java wird C++/Qt verwendet. Sogar der Biermodus ist inzwischen implementiert und funktioniert einwandfrei. Ein weiterer Vorteil ist die direkte Ansteuerung des CAN-Bus über USB-Adapter. Dadurch entfällt die Tunnelung durch die serielle Schnittstelle. Das Modell wird direkt geladen, sodass kein Plugin mehr generiert und kompiliert werden muss. Ein Edit-Modus ermöglicht die Anpassung des Gleisbild-Layouts.

Die neue Steuerung ist auf Anwendungsebene komplett neu in C++17 entwickelt worden. Die Hardware wird durch Qt abstrahiert. Software-technisch werden konsequent Statecharts unter Benutzung der Yakindu Statechart Tools benutzt. Es werden Unit Tests, SCT-Units sowie Code Coverage genutzt, um die Software-Qualität auf höchstem Niveau zu halten.

Die Software auf den ATmega32 Mikrocontrollern bleibt unangetastet.

Das Projekt ist auf github unter der MIT-Lizenz gehostet. Die Software ist fertig paketiert über ein APT-Repository für Ubuntu oder Debian verfügbar. Die unterstützte Architektur ist x86_64 und arm64. Eine Anleitung zur Einrichtung der Installation findet sich auf den github Projektseiten.


Überbrückungsklammern in Weichen erneuert.

Mittwoch, 1. Februar 2023 Tags: Stellwerk Eisenbahnsteuerung

Heute wurden die provisorischen Überbrückungsklammern der denkenden Fleischmann-Weichen durch originale Klammern ersetzt. Die kupfernen manuell zurechgebogenen Klammern waren häufig rausgesprungen und haben für Wackelkontakte gesorgt. Hintergrund war, dass in der ersten Anlage die Funktion der denkenden Weichen genutzt wurde. Das ist auf Grund der CAN-Bus basierten Steuerung nicht mehr notwendig.


USB-CAN-Busadapter

Dienstag, 18. Oktober 2022 Tags: Stellwerk Eisenbahnsteuerung Embedded CAN-Bus

Seit den ersten Entwicklungen mit dem CAN-Bus und der Eisenbahnsteuerungen hat sich im Embedded-Markt sehr viel getan. Insofern ist es nur logisch, sich mal günstige CAN-Busadapter anzusehen, ob sie mit der Eisenbahnsteuerung zusammenarbeiten könnten. Nach einem kurzen Test hat sich herausgestellt, dass der Standard-Linux-Treiber hervorragend mit dem CAN-Bus der Modelleisenbahn kommunizieren kann. Erfreulicherweise Ist der Anschluss über USB sehr einfach.


Nächster Halt: 4+1

Dienstag, 16. Dezember 2014 Tags: itemis Eisenbahnsteuerung YouTube Landschaftsbau

itemis hat mir die Gelegenheit gegeben, die Eisenbahnsteuerung im Rahmen von 4+1 entwickeln zu können und hat das eindrucksvoll in diesem Video zusammengefasst:

Mehr zum Thema Karriere und Weiterbildung bei itemis findet ihr unter https://www.itemis-karriere.de


Defekt an einem CAN-Controller

Samstag, 22. März 2014 Tags: Eisenbahnsteuerung CAN-Bus

Heute Abend hat sich aus heiterem Himmel ein CAN-Controller verabschiedet. Nach kurzer Diagnose habe ich den Controller mit der ID Nr. 10 als defekt identifiziert. Leider hatte der Tauschcontroller einen Wackelkontakt an den CAN-Anschlüssen. So musste erstmal die Fehlerursache für den Defekt herausgefunden werden. Nach Abarbeitung der Durchgangsprüfung stellte sich eine nicht ganz sauber verlötete Drahtbrücke als Ursache heraus. Leider hat es bei der Aktion auch den MCP2515 mitgenommen. Nach Reparatur des Bausteins konnte die Eisenbahnanlage wieder in Betrieb genommen werden.

Der Wackelkontakt am Tauschbaustein war ein abgebrochener Stift an der Anschlussbuchse. Nach Tausch der Buchse funktioniert dieser Baustein auch wieder wie gewünscht.


Zugsteuerung verbessert

Montag, 7. September 2009 Tags: Eisenbahnsteuerung Gleisbesetztmeldung Biermodus YouTube

Bisher konnte man nur mehrere Lokomotiven gleichzeitig fahren lassen. Der Versuch, mehrere komplette Züge automatisch fahren zu lassen hat meist nach wenigen Minuten mit einem Unfall geendet. Der Grund war, dass die Waggons nicht zu einer Gleisbesetztmeldung geführt hat. Das wiederum bedeutet aus Sicht der Steuerung, dass scheinbar freie Gleisteile wieder für neue Fahrstraßen verwendet werden können. Das führt früher oder später dazu, dass Weichen unter dem fahrenden Zug verstellt wurden und den Zug so zum Entgleisen gebracht hat.

Die Lösung sieht so aus, dass die Gleisabschnitte nur blockweise, d.h. von Hauptsignal zu Hauptsignal freigegeben werden. Da viele Weichen durch Hauptsignale abgesichert sind, kann ein Verstellen damit nicht mehr eintreten.

Ein kleiner YouTube-Film veranschaulicht diese Funktionsweise:

Ein weiterer Film zeigt die Funktionsweise des unverändert gebliebenen Biermodus:


Stromverbrauchsanzeigen montiert

Samstag, 28. Februar 2009 Tags: Eisenbahnsteuerung

Ich habe heute zwei Drehspulinstrumente montiert, die den Stromverbrauch für die 12V-Schiene und die 24V-Schiene anzeigen.

Dabei zeigt sich, dass die Anlage im Leerlauf ca. 2A auf der 12V-Schiene verbraucht. Sind alle Gleise und Signale ausgeschaltet, sind die Mikrocontroller die einzigen Stromverbraucher und verbrauchen nur noch knapp ein halbes Ampere. Damit zieht ein Controller-Modul samt angeschlossener Leistungselektronik nur ca. 0,4 Watt. Sind alle Signallämpchen und Gleisabschnitte eingeschaltet, beläuft sich der Stromverbrauch auf gut 6 Ampere.

Die 24-Volt-Seite verbraucht ca. ein halbes Ampere. Hier wird der Strom für die Beleuchtung der Flügelsignale verbraucht. Der kurzfristige Schaltvorgang der Weichen verbraucht bis zu 2A.

Ein normaler Betrieb der Anlage verbraucht demnach ca. 150 Watt. Dieser Wert berücksichtigt die Schaltnetzteile (Wirkungsgrad ca. 80%), den Steuerrechner (ca. 50W) und die Zimmerbeleuchtung mit 50W. Der Fahrstrom der Lokomotiven ist dabei vernachlässigbar.


Neue Automatikmodi

Freitag, 26. Dezember 2008 Tags: Eisenbahnsteuerung Gleisbesetztmeldung Echtzeit

Zwischen den Feiertagen habe ich an neuen Automatikmodi programmiert. Diese ermöglichen es, an Hand einer vorgegebenen Tour einen Zug sogar im Kreis fahren zu lassen. Dabei wird die Fahrstraße nach vorne automatisch verlängert, sobald ein Zug einen Block verlässt. So "gleitet" die Fahrstraße durch die vorgegebene Tour.

Reinigungstour

Eine Tour ist die sog. "Reinigungstour". Diese ist so gestaltet, dass jeder Kreis komplett abgefahren wird und dabei alle Übergänge zwischen den beiden Kreisen ebenfalls abgefahren werden. So kann mithilfe des Reinigungswagens ein großer Teil der Anlage automatisch gesäubert werden.

Blockbetrieb

Es ist damit sogar möglich, mehrere Touren gleichzeitig aktiv zu haben. Ist ein Blockabschnitt belegt, wartet der Zug der anderen Tour solange vor dem Hp0 zeigenden Signal, bis der Block wieder frei ist. Die Tourensteuerung ist noch nicht fertig implementiert. Dadurch, dass Waggons nicht detektiert werden können, kann es passieren, dass Weichen unter Waggons geschaltet werden. Hier müssen entweder alle Waggons mit Widerständen nachgerüstet werden, damit die Gleisbesetztmeldung diese erkennt, oder es muss eine Verzögerung in die Steuerung implementiert werden.

Neue Signale und Blöcke

Im Zuge der Tourensteuerung habe ich noch einige Blöcke hinzugefügt. Viele liegen verdeckt im Tunnel und benötigen daher keine echten Signale. Diese sind nur virtuell im Gleisplan modelliert. Einige weitere sichtbare Signale habe ich aber trotzdem aufgebaut. Dadurch wird die Blocksteuerung noch realistischer.


Kommandoverarbeitung wird modellbasiert generiert

Dienstag, 18. November 2008 Tags: Eisenbahnsteuerung Firmware Embedded MDSD CAN-Bus

Die Kommandoverarbeitung in der Firmware der CAN-Knoten war ein unschönes Stück Spaghetti-Code. Es dient trotzdem als Referenzimplementierung für die modellbasierte Firmware-Entwicklung. Zuerst wurde ein Zustandsdiagramm gefertigt, das die Betriebszustände enthält. Die eingehenden Kommandos sind die Zustandsübergänge enthalten. Aus diesem Diagramm wird mit Hilfe von openArchitectureWare der Code für die Kommandoauswertung generiert. Der Code enthält relativ viele Callbacks und switch/case-Anweisungen und bläht den Binärcode um ca. 1,5 KByte auf. Das ist aber nicht weiter schlimm, da jetzt noch Platz für ca. 18 KByte im Flash des ATmega32 vorhanden ist.


Kurzschluss im Blocksignal

Samstag, 25. Oktober 2008 Tags: BRAWA ATmega32 Lichtsignal Eisenbahnsteuerung Embedded Kurzschluss

Nachdem ein Blocksignal gleichzeitig rot und grün angezeigt hat, bin ich der Sache auf den Grund gegangen. Die BRAWA-Lichtsignale haben Glühbirnchen, die in den Signalschirm geschoben werden. Diese haben sich verschoben und so für die falsche Beleuchtung gesorgt. Beim Beheben des Problems habe ich dummerweise für einen Kurzschluss gesorgt. Die Konsequenz war, dass ein Lichtsignalmodul unter Geruchsbildung abgeraucht ist, und der dazugehörige CAN-Knoten seinen Geist aufgegeben hat. Bilanz des IC-Massakers: Ein ATmega32, ein MCP2515 und ein ULN 2803 sind zum Teil effektvoll gestorben. Zur Sicherheit habe ich auch die restlichen ICs vom Lichtsignalmodul außer Betrieb gesetzt. Auf dem CAN-Knoten ist eine Masseleitung durchgebrannt. Diese kann problemlos überbrückt werden. Das Gleiche ist auch mit dem CAN-Knoten passiert, dass durch falsch geklemmte Flachbandkabel beim Anschließen zerstört wurde. Hier hat es aber nur den ATmega32 erwischt. Ich habe die ICs bei Reichelt nachbestellt, um wieder Ersatzteile zu haben. Die Schaltung muss jetzt durch eine Sicherung so ergänzt werden, dass sie kurzschlussfest wird.

Moral von der Geschicht: Beim Elektroschrauben immer schön Strom abschalten!


Die erste Weichenstraße ist verkabelt

Freitag, 10. Oktober 2008 Tags: Verkabelung ATmega32 Lichtsignal Eisenbahnsteuerung CAN-Bus Formsignal

Die Nordausfahrt des Hauptbahnhofs ist fertig verkabelt und funktionstüchtig. Die sieben Ausfahrsignale sehen schon beeindruckend aus. Leider hat die Verkabelung ein wenig länger gedauert als geplant. Einige Flachbandkabel von Reichelt hatten einen Kurzschluss, was zur Folge hatte, dass ein CAN-Knoten und ein Lichtsignalmodul funktionsunfähig wurden. Ich werde jetzt bei Conrad neue Flachbandkabel kaufen, denn die haben sich bei der Yakindu -Anlage als gut erwiesen. Da auf der Yakindu -Anlage keine Signale verbaut sind, sind mehrere Firmware-Bugs erst jetzt aufgetaucht. Die Formsignale wollten gar nicht schalten und die Ausfahrsignale konten Sh1 nicht darstellen. Die Bugs waren schnell gefunden und gefixt. Zum ersten Mal konnte der ATmega-CAN-Bootloader seine Vorteile voll ausspielen: Einfach Firmware-Update durchführen und alles funktionert. Ärgerlich war auch eine falsche Beschriftung der Modulanschlüsse. So waren die Signalbilder nicht in Ordnung und alle Lichtsignalmodule mussten umverkabelt werden.

Mein Arbeitsplatz für einige Tage

Das Bild zeigt den Arbeitsplatz, den ich für einige Tage genießen werde. Die Wolldecke leistet mir unschätzbare Dienste. Sie hält meinen Rücken auf den Fliesen warm und man kann mit ihr rutschen, als wäre es ein Rollbrett aus einer KFZ-Werkstatt. Ansonsten ist die Arbeit gutes Bauchmuskeltraining und fördert die Körperkoordination.


Eine Woche Lötarbeit

Dienstag, 7. Oktober 2008 Tags: Verkabelung Eisenbahnsteuerung

Nach einer Woche Löten sind alle 73 Module fertig gelötet und durchgeprüft. Die Module wurden in Vierer- und Fünfergrüppchen gelötet, um so eine höhere Produktivität erreichen zu können. Alles sieht beeindruckend aus und ich bin froh, diese Arbeit erledigt zu haben. Schön ist auch, dass fast nichts kaputtgegangen ist und dass kein Teil zu wenig oder zu viel bestellt wurde. Alles hat gepasst.

Beginn der Steuerverkabelung

Da jetzt alle Module fertig gelötet sind, kann jetzt mit der Verkabelung begonnen werden. Vorher sind aber noch ein paar vorbereitende Arbeiten nötig. Die Nutleisten müssen zurechtgesägt werden. Es muss unter der Anlage Platz geschaffen werden und die restlichen Signale und Weichen müssen verbaut werden. Diese dienten bisher als Testexemplare der Module

Schalldämmung für die Gleismodule

Heute Nacht ist mir eine Idee gekommen, wie die relativ lauten Gleisrelais leiser gemacht werden können. Ich habe noch Reste der Schalldämmung für die Gleise. Daraus habe ich Träger geleimt, die so am Stück unter die Platte geleimt werden können. Das hat auch den Vorteil, dass die Verleimung der relativ schweren Gleismodule leichter von statten gehen kann.


Es ist angerichtet...

Montag, 29. September 2008 Tags: Eisenbahnsteuerung

Als letztes Päckchen sind die Leiterplatten von MME-Leiterplatten eingetroffen. Die Qualität ist sehr gut. Es sind sogar noch ein paar Leiterplatten mehr im Päckchen als bestellt waren. Die Teile sind inzwischen nach Bauteilen vorsortiert und das Ganze erinnert an ein - jetzt vollständig - gedecktes Frühstück. Jetzt kann mit dem Verlöten der mindestens 57 Platinen begonnen werden. Zum Glück habe ich ab Donnerstag Urlaub, sodass in Ruhe durchgelötet werden kann.


Prototypen für Magnetartikel-Module fertiggestellt

Freitag, 18. Juli 2008 Tags: Eisenbahnsteuerung Firmware Embedded

Ähnlich einfach, wie die Entwicklung der Lichtsignal-Module gestaltete sich heute der Prototyp für die Weichenschaltung. Nachdem auf dem Steckbrett eine funktionierende Schaltung zusammengesteckt war, wurde ein Prototyp gelötet. Einige Anpassungen in der CAN-Knoten-Firmware waren notwendig, damit die Weichen oder Signale geschaltet werden können. Typische Modellweichen werden über Magnetspulen angetrieben. Diese haben heutzutage eine Endabschaltung, um das Durchbrennen der Magnetspulen durch Fehlbedienung zu verhindern. Diese Endabschaltung lässt sich dazu ausnutzen, um die Lage der Weiche festzustellen. So lassen sich manuelle Schaltvorgänge feststellen und es lässt sich ein automatischer Schaltvorgang beschleunigen. Denn während eine Weiche ohne Endabschaltung für eine gesicherte Zeit unter Strom gesetzt werden muss (hier etwa eine Sekunde), kann der Strom bei einer endabgeschalteten Weiche abgeschaltet werden und der nächste Schaltvorgang in Angriff genommen werden. Auch lässt sich so feststellen, ob überhaupt ein Schaltvorgang nötig ist. Zeigt eine Weiche auf den linken Abzweig, muss ein Auftrag, die Weiche nach links zu schalten nicht mehr durchgeführt werden.


Prototypen für Lichtsignal-Module fertiggestellt

Mittwoch, 16. Juli 2008 Tags: Fahrstraße Lichtsignal Eisenbahnsteuerung Embedded Firmware

Heute wurden die Prototypen für die Module der Lichtsignale fertig gelötet. Die Module werden über ein 10-poliges Kabel kaskadiert mit einem Mikrocontroller verbunden. Darüber laufen Spannungsversorgung und die Datenleitung. Auf den Modulen sind Schieberegister (74HC595) samt Leistungstreiber (ULN 2803) für die Lichtsignale vorhanden. Es können bis zu vier Module kaskadiert werden. Die Controller sind in der Lage, die korrekten Signalbilder der Deutschen Bahn anzuzeigen. Es wird also nur das Kommando gegeben, dass z.B. das Signal P3 auf Hp2 geschaltet werden soll. Es werden Vorsignale, Blocksignale, Einfahrsignale, Ausfahrsignale und Gleissperrsignale auseinandergehelten. Dabei könnten in Zukunft noch weitere Signale - wie z.B. die neuen Ks-Signale - der Controller-Firmware hinzugefügt werden, denn es ist ein In-System-Programming der Firmware über CAN-Bus möglich.


Schaltung für Steuerung über CAN-Bus steht

Mittwoch, 23. April 2008 Tags: Stellwerk Eisenbahnsteuerung RS232 Embedded Firmware CAN-Bus

Seit letztem Donnerstag entwickeln mein Kollege Marc Habiger und ich die Stellwerkssteuerung für die Modellbahn. Heute haben wir den CAN-Protokollumfang in den Griff bekommen. Dazu zählt natürlich der Austausch von CAN-Frames, sowie die vernünftige Filterung der Frames am Controller. Dadurch können gleich die unwichtigen Pakete rausgefiltert werden, ohne dass der Mikrocontroller mit Rechenzeit belastet wird. Auch das Versenden von Standard Data Frames sowie Extended Data Frames funktioniert problemlos.

Derzeit arbeiten wir an der Kopplung der Kommunikation mit dem PC. Diese soll über die schon altbackene RS232-Schnittstelle geschehen. Diese hat aber bis heute jeder PC und somit muss keine neue Steckkarte oder andere Erweiterung für den PC gekauft werden. Ein CAN-RS232-Gateway setzt die CAN-Frames vom PC über RS232-Schnittstelle auf den CAN-Bus um.

Ich werde häufig gefragt, warum das Ganze über CAN-Bus läuft. Schließlich gibt es genug ausgereifte Digitalmodule für die Modellbahn. Es ist so, dass der CAN-Bus viele gute Eigenschaften hat. Der CAN-Bus wurde von Bosch für den Automotive-Umfeld entwickelt. Ziel war es, durch Einsparung von Verkabelung Aufwand und Gewicht einzusparen. Inzwischen sind 20 Jahre vergangen und der CAN-Bus steckt in nahezu jedem Neuwagen. Die mechanische Belastung auch im Auto sind teilweise enorm, so dass mit dem CAN-Bus ein robuster 2-Draht-Bus (mit der Karosserie als Masse) geschaffen wurde. Bei der Modellbahn sind einige dieser Aspekte auch von Bedeutung. Ziel ist es, Verkabelung einzusparen. Nicht aus Gewichtsgründen, sondern aus rein ergonomischen Gründen, da die Drähte über Kopf montiert werden müssen. Auch die Robustheit spielt dabei eine Rolle. Es gibt auch auf einer Modellbahn viele Störeinflüsse gerade durch Antriebsspulen.

Zum guten Schluss zählt doch eins: Man hat etwas eigenes entwickelt um es zu verstehen. Obendrein ist es auch erheblich kostengünstiger, als die käuflich zu erwerbenden Digitalmodule. Letztlich ist es einfach nur cool, wenn man der Modellbahnanlage ein Firmware-Update spendiert ;-)