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 ...

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 ...

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 ...

Umfangreiche Ausbauarbeiten

Sonntag, 3. Oktober 2010: Die letzten beiden Tage waren von umfangreichen Bau- und Löttätigkeiten geprägt. Zum einen ist die Haus- und Straßenbeleuchtung betriebsreif, zum anderen wird vor dem Haltepunkt Sufloch das Gelände ne ...

Neue Bootloader geflasht

Samstag, 11. September 2010: Heute wurden einige Änderungen am CAN-Bus-Protokoll eingeführt. Die Broadcast-ID und die Gateway-ID wurden ausgetauscht. Dadurch haben Antworten der CAN-Knoten höhere Priorität auf dem Bus als alle an ...

CAN-Gateway montiert

Freitag, 5. Dezember 2008: Bis heute lag das CAN-Gateway unmotiviert auf dem Camping-Tisch vor der Eisenbahnanlage rum. Jetzt habe ich es sauber unter die Anlage montiert und statt dessen einen kleineren Gartentisch für das No ...

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.


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.


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.


Umfangreiche Ausbauarbeiten

Sonntag, 3. Oktober 2010 Tags: Sufloch Beleuchtung Embedded Echtzeit CAN-Bus YouTube Landschaftsbau

Die letzten beiden Tage waren von umfangreichen Bau- und Löttätigkeiten geprägt. Zum einen ist die Haus- und Straßenbeleuchtung betriebsreif, zum anderen wird vor dem Haltepunkt Sufloch das Gelände neu gestaltet.

Inbetriebnahme der Hausbeleuchtung

Die Eisenbahnanlage hat einen weiteren CAN-Knoten zur Ansteuerung der Haus- und Straßenbeleuchtung erhalten. Ferner wurde das CAN-Gateway mit einem Busy-Indicator und einem Helligkeitssensor ausgestattet. Letzterer dient dazu, abhängig vom Umgebungslicht die Haus- und Straßenbeleuchtung ein- oder auszuschalten. Jede der Lampen erhält ein eigenes Profil und einen Schwellwert, der die Ein- und Ausschalthelligkeit bestimmt. Als Profile können normale Glühlampen, Neonröhren und Gaslaternen gewählt werden. Auch die zufällige Wahl der acht Neonprofile kann konfiguriert werden. Das Video der Hausbeleuchtung kann bei YouTube angesehen werden:

Umbau vor Haltepunkt Sufloch schreitet voran.

Der Hang vor dem Haltepunkt Sufloch wurde neu profiliert und mit Gips modelliert. Diesmal habe ich mir mit den Felsen mehr Mühe gegeben und habe Furchen eingeritzt und mit Farbe die Form betont.


Neue Bootloader geflasht

Samstag, 11. September 2010 Tags: ATmega32 Firmware CAN-Bus

Heute wurden einige Änderungen am CAN-Bus-Protokoll eingeführt. Die Broadcast-ID und die Gateway-ID wurden ausgetauscht. Dadurch haben Antworten der CAN-Knoten höhere Priorität auf dem Bus als alle anderen CAN-Meldungen. Gleichzeitig wurde die Antwortmeldung um zwei Bytes gekürzt. Diese Änderung machte das Umflashen der sämtlicher Bootlader und neue Gateway-Firmware notwendig.

Das war eine typische Unter-Tisch-Arbeit mit viel Kletterei. Wie es bei Murfy so ist, hat es nicht auf Anhieb geklappt. Die Ursache habe ich zwei Stunden später herausgefunden: Ich habe beim Flashen einen CAN-Knoten übersehen. Da er noch das alte Protokoll sprach, hat er den Flashvorgang der neuen Firmware gestört.

Zum guten Schluss hat alles geklappt und die neuen Bootlader erfüllen wieder ihren Zweck. Ein paar kleinere Probleme in der Steuerungs-Software waren schnell gefunden und behoben. Hier zeigt sich der Vorteil des automatischen Testens. Diese Tests sind fehlgeschlagen, weil über hart verdrahtete Indizes in der Antwortmeldung zugegriffen wurde. So konnte der Fehler vor Inbetriebnahme gefunden werden.


CAN-Gateway montiert

Freitag, 5. Dezember 2008 Tags: CAN-Bus

Bis heute lag das CAN-Gateway unmotiviert auf dem Camping-Tisch vor der Eisenbahnanlage rum. Jetzt habe ich es sauber unter die Anlage montiert und statt dessen einen kleineren Gartentisch für das Notebook benutzt. So sieht die Sache wesentlich ordentlicher aus - Geburtstag und Weihnachten kann kommen. Nichtsdestotrotz muss noch ein vernünftiger Tisch her, der etwas niedriger ist. So steht der Bildschirm nicht so über die Eisenbahnebene über und man hat mehr Übersicht über die Anlage.


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.


Formsignale funktionieren auch

Dienstag, 14. Oktober 2008 Tags: BRAWA Firmware CAN-Bus Formsignal

Heute habe ich einen üblen Fehler in der Firmware der Microcontroller gefunden. Diese haben die Konfiguration der Formsignale zerschossen und dadurch die Ansteuerung unbrauchbar gemacht. Hier zeigt sich die Stärke, den Microcontrollern einen CAN-Bootloader zu verpassen. So können alle 14 verbauten Controller in einem Rutsch mit fehlerfreier Firmware geflasht werden.

Behebung der Restprobleme

Die problembehafteten BRAWA-Signale sind nun auch in Ordnung gebracht. Ein Blocksignal scheint eine durchgebrannte Glühbirne zu haben. Diese kann aus einen Einfahrsignal mit unnützerweise zwei roten Glühbirnchen repariert werden. Auch ein Weichenantrieb scheint nicht durchzuschalten. Dieser muss vermutlich neu gekauft werden, denn die Ansteuerung des Schattenbahnhofs gelingt so nur von einer Seite.

Es sind noch einige andere Restarbeiten zu erledigen. Jetzt ist unter Eisenbahnanlage richtig Platz, so dass mal richtig gesaugt werden kann. Die Kabel der Weichen und Signale wurden nicht gekürzt. Sie werden zu Schleifen gebunden und mit dem Elektrotacker fixiert. Einige wenige Anschlüsse müssen noch beschriftet werden. 90 Prozent dieser Arbeit wurde schon vor der Verkabelung erledigt. Dies hat sich während der Verkabelung als sehr nützlich erwiesen, so dass die Konfiguration der Microcontroller sehr einfach von statten ging.


Fertig!

Sonntag, 12. Oktober 2008 Tags: BRAWA CAN-Bus Formsignal

Es ist soweit! Die Verkabelung der Eisenbahnsteuerung ist abgeschlossen. Nach zwei sehr arbeitsreichen Tagen konnte die Verkabelung fertiggestellt werden. Einige Signale scheinen nicht zu funktionieren, das liegt aber nicht an der Steuerung selbst, sondern an Kontaktproblemen vor allem der BRAWA-Signale, welche über einen feinen Lackdraht angeschlossen werden. Einzig die Formsignale scheinen überhaupt nicht zu funktionieren. Das legt daher ein Software-Problem nahe.

Nichts desto trotz: Die Fahrstraßenschaltung funkioniert einwandfrei. Es ist beeindruckend und macht Spaß damit zu spielen. Auch meine Tochter hat sichtlich Freude an der neuen Steuerung und versucht sich an der Stellwerks-GUI.

Zum Abschluss des Tages wird in der Familie eine Flasche Sekt geköpft und gebührend gefeiert.


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.


Die ersten Platinen liegen als Prototyp vor

Donnerstag, 31. Juli 2008 Tags: CAN-Bus

Heute sind nach zwei Wochen endlich die Prototypen der CAN-Knoten und der Lichtsignal-Module eingetroffen. Die Platinen sind beeindruckend klein. Erste Tests sind erfolgreich verlaufen. Jetzt müssen die Gleismodule und die Magnetartikelmodule ins Layout und als Prototyp gefertigt werden.


Prototypen der CAN-Module fertiggelötet

Mittwoch, 9. Juli 2008 Tags: CAN-Bus

Heute wurden einige Prototypen der CAN-Module fertiggestellt. Es handelt sich dabei um Steuereinheiten, die über einen CAN-Bus gekoppelt sind. Um die Kommunikation mit einem Steuerrechner zu gewährleisten wird an den CAN-Bus ein spezielles Modul integriert.

Das Bild zeigt zwei Module. Oben das Koppelmodul und unten ein Steuermodul.


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 ;-)