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.
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:
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.
Das Bild zeigt ein neues Elektronikmodul der Eisenbahnsteuerung. Es besteht nur aus einem Anschluss an einen CAN-Knoten und Anschlüssen für Glühbirnchen. Beide Anschlüsse sind durch einen ULN 2803 entkoppelt. Die Software kann jeden Anschluss unabhängig voneinander in unterschiedlicher Helligkeit dimmen. Da der ATmega32 nicht genug PWM-Ausgänge hat, muss das in Software geschehen. Eine geschickte Wahl an Tabellen und und Algorithmen löst diese Aufgabe sehr effizient in den beiden Modulen pwm.c und light.c
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.
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.
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.
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.
Da die Steuerung auf elektrischer Ebene funktioniert, muss die Steuer-Software ausgiebig getestet werden. Dabei hat sich gezeigt, dass der Einsatz von Multi-Threading sich komplizierter darstellt, als erst vermutet. Grund sind die relativ hohen Echtzeit-Anforderungen, denn auf eingehende Meldungen muss schnell reagiert werden, ohne dass andere Teile der Software blockiert werden.
Nachdem die Fahrstraßen-Steuerung einwandfrei funktioniert, kann der sog. Biermodus entwickelt werden. Hierbei werden Züge aus dem Schattenbahnhof automatisch und zufällig ausgewählt, die durch ebenfalls zufällige Gleise im Hauptbahnhof fahren sollen. Das soll der Entspannung bei einem leckeren Glas Bier dienen. Der Biermodus funktioniert schon ganz gut, allerdings muss die Software noch ein wenig getestet werden.