Über eine längere Zeit hinweg gab es Probleme mit Weiche 9, die
Umschaltprobleme zeigte. Das äußerte sich dahingehend, dass die Züge von der
Zunge voraus in den falschen, nicht geplanten Abzweig fuhren.
Glücklicherweise kann man die Antriebe von den Weichen abklipsen und so hat ein Test mit einer Austauschweiche ergeben, dass es nicht am Antrieb liegt. Ursache scheint eine schwache Federung innerhalb der Weichenzunge zu sein. Da der Fehler in der Weiche liegt und nicht im Antrieb, konnte der Antrieb während des Umbaus abgeklipst und angeschlossen am Gleisbett verweilen, wodurch der Ent- und Verkabelungsaufwand vermieden werden konnte. Seit Einbau der Austauschweiche ist kein Vorfall mehr aufgetreten.
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.
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.
Heute ist ein Standardwerk der Deutschen Bahn eingetroffen, das den Regelbetrieb
eines elektronischen Stellwerks (ESTW) erklärt. Neben der technischen
Beschreibung wie ein ESTW funktioniert, werden vor Allem Bedienung und die
Benutzeroberfläche erklärt. Das kann dazu genutzt werden, eine neue
Stellwerks-Software zu entwickeln.
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.
An diesem Wochenende haben die Wittener
Eisenbahntage stattgefunden. Veranstalter waren die
Eisenbahnfreunde Witten e.V.
Neben einigen Modellbahnanlagen konnte man auch das Stellwerk des
Wittener Hauptbahnhofs besichtigen. Eine Führerstandsmitfahrt auf einer in ursprünglicher
Lackierung wieder hergerichteten V60 rundeten das Bild eines gemütlichen und
freundlichen Eisenbahnvereins ab. Interessanterweise hat der Verein die 78
510 als Wappenlok auserkoren - eine gute Wahl.
Heute wurde ein Provisorium abgeschafft: Der Tisch mit dem Stellwerksrechner
wurde durch eine stabile Schublade ersetzt. Diese ist niedrig genug, um nicht die Sicht
auf die Anlage zu verdecken. Außerdem kann so bequem die ganze Steuerung bei
Bedarf versteckt werden. Dadurch gewinnt der Raum deutlich an Platz.
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 ;-)