Fallblattanzeiger

Über Ebay bekam ich eine ausgemusterten Fallblattanzeiger der Firma MAN bzw. die Fallblatteinheiten von Krone.

Dieser Anzeiger hing einst am Bahnsteig 1 im Bahnhof Bebra bei Frankfurt. Im Zuge einer Renovierung des Bahnhofs wurde der Anzeiger auch abgebaut. Eine Seite war eingeschlagen und auch schon leer geräubert – sprich die Fallblatteinheiten fehlten – nur eine Seite war bestückt.

In dem Anzeiger befindet sich eine Steuerung für Licht, Heizung, Glasbruch und natürlich die Fallblatteinheiten. Diese hängen alle parallel an einem Flachbandkabel, durch welches Versorgungsspannung und Daten geschickt werden. Da ich den Anzeiger so verwenden wollte um mir abfahrende Züge hier am örtlichen Bahnhof anzeigen zu lassen, musste das Teil erstmal neu bedruckt werden. Es kamen also die neuen Städte „München Hbf“, „Weilheim“ und die fiktive Stadt „Zootopia“. Zum Schluss wurde das 100kg schwere Monster an die Decke gedübelt…

Nun ging es an’s Eingemachte: Wie steuere ich das Teil an? Nach langer Suche jemanden zu finden, welcher sich der Neuprogrammierung annehmen will fand ich das FabLab in Würzburg. In mehrmonatiger Arbeit haben die Leute dort mir ein Programm in Arduino aufgezogen, sowie einen Ersatz für den auf den Fallblatteinheiten steckenden Mikroprozessor (ZiLog) gebaut.
Die neue Platine mit dem Arduino als Prozessor wird einfach in den vorhandenen Sockel des ZiLog’s gesteckt. Zudem müssen ein Transistor entfernt und gebrückt, sowie ein Widerstand gebrückt werden.
Alle Veränderungen kann man auf folgenden Bildern erkennen.

Diese Fallblatteinheiten werden per Stecksystem einfach in das Gehäuse geschoben. Der weiße Stecker aus dem vorletzten Bild wird dabei in die „Adressplatine“ geschoben. Auf den dortigen Dipschaltern wird die „Hausnummer“ der jeweiligen Einheiten eingestellt, an welche dann die Datenpakete via RS485-BUS geschickt werden.

Wichtig ist, dass die 9VDC (bzw. 5V gehen auch) Versorgungsspannung und die 48VAC nicht vertauscht werden!!!

Dadurch werden nämlich die Arduinoboards und Bauteile auf der Originalplatine zerstört!

Pro Fallblatteinheit wird ein Arduino Nano verwendet. Da diese Minicomputer aber gerade einmal 3-4€ pro Stück kosten, ist das kein großer Kostenaufwand!

Nun wurde mir auch das Programm zugesendet welches man mit der Arduino-IDE-Software (Freeware) öffnen und bearbeiten kann.
Über die Funktion „Serieller Monitor“ können die mit dem Flachbandkabel verbundenen Einheiten angesteuert werden. Der RS485-Anschluss wird über einen USB-zu-RS485-Konverter mit dem PC verbunden.

Wählt man nun den USB-Port aus, an welchem der Konverter steckt (z.B. COM4) und gibt in die serielle Zeile „2/30“ ein, so blättert die Einheit mit der Adresse 2 um 30 Blätter weiter. Die erste Zahl gibt hierbei immer die Adresse an und die zweite die Anzahl der Blätter die umgeklappt werden sollen. 
Allerdings würde man nun wieder „2/40“ eingeben, würde die Einheit von der aktuellen Position aus 40 Blätter weiterblättern. Um nun also wieder in die Ausgangs- oder Nullstellung zu kommen wird einfach „2/0“ eingegeben. Somit blättert die entsprechende Einheit von jeder beliebigen Position aus zurück auf Null. Das Programm funktioniert nur auf 9600 Baud.

Auf jedes Arduinoboard muss dieses Programm hochgeladen werden.

Mit einigen Einheiten gab es ein Problem. Manche Einheiten funktionierten nicht, obwohl die Adresse stimmte und die Datenpakete auch ankamen. Nach langem Suchen stellte sich dann heraus, dass der Arduino die Adresse nicht richtig erkannte (warum auch immer). Es musste also eine kleine Änderung im Arduino-Programm vorgenommen werden. Dieser Schritt ist nur im „Notfall“ zu machen, da hierbei dem Arduino, unabhängig vom Dipschalter, eine feste Adresse zugewiesen wird.

Statt „_myId“ muss hier nun die Adresse (z.B. „2“) eingegeben werden. Somit reagiert diese Einheit nur noch auf die Adresse 2, selbst wenn am Dipschalter eine andere Adresse eingestellt ist.

Nachdem dieses Problem gelöst wurde funktionierte alles wie es sollte.

Nun ging es daran einen Fahrplan zu machen. Am liebsten wäre mir eine „Echtzeitabfrage“ von der Bahn. Da ich aber leider keinen Zugang zu den Datensystemen der Bahn bekommen konnte entschied ich mich für eine light Version. Ich würde also den schriftlichen Fahrplan, welcher am Bahnhof in gelb aushängt, anzeigen lassen. Dann eben ohne Verspätungsanzeige oder außerplanmäßige Gleiswechsel. Dennoch brauchte ich ein Programm dafür. Und ich fand einen Bekannten, welcher mir in JAVA etwas Programmierte, was ich zu meiner vollsten Zufriedenheit verwenden konnte.

Um dies zu nutzen muss man sich JAVA erst einmal runter laden. Da dieses ebenfalls eine Freeware ist, ist das kein Drama. 

Öffnet man dann den Ordner mit den Dateien, schaut das ganze so aus:

Alle fünf Dateien müssen sich in einem Ordner befinden und dürfen nicht umbenannt werden!

„Ansteuerung“ öffnet man im Notepad (Windows) und kann dort den Fahrplan eintragen. 

Statt „MO-FR“ kann man jeden beliebigen Wochentag in Großbuchstaben (!!) eintragen. Ebenso bei der Uhrzeit. Das Programm bedient sich hierbei der Systemzeit des Rechners als Referenz. Bei den Fallblättern gibt man die Adresse der entsprechenden Einheit ein und zwischen <Faltblattx> und </Faltblattx> steht dann die Anzahl der Blätter die umgeklappt werden sollen. Man muss zwar immer noch alles manuell eintragen, aber es funktioniert sehr gut!

Nun muss das Programm noch wissen an welchen USB-Anschluss die Daten geschickt werden sollen. Entweder man deaktiviert alle anderen Ports, bis auf den, an welchem der Konverter steckt oder man wählt in „PhalOS“ den Port aus.

Die letzte Möglichkeit die es gibt ist, man öffnet im Notepad die Datei „startNoGUI“ und gibt dort hinter „NoGUI:“ 0, 1, 2, etc. ein. Die 0 entspricht hierbei immer dem obersten Port in der Zeile in „PhalOS“. Die 1 entspricht dem Port in der zweiten Zeile, Die 2 der dritten Zeile und so weiter.

Ist nun all dies getan, dann kann die Datei „startNoGUI“ einfach per Doppelklick gestartet werden. Im cmd-Interface wird nun der ganze Fahrplan aus „Ansteuerung“ geladen werden. Bei mir sah das ganze dann so aus, als es fertig geladen war:

Stimmt nun die Systemzeit (und Tag) mit einem der einprogrammierten Zeiten überein, so werden alle in „Ansteuerung“ unter der Zeit gespeicherten Daten gesendet und der Fallblattanzeiger setzt sich in Bewegung!

Da das Ganze aber noch nicht in Echtzeit funktionierte habe ich zusammen mit xatLabs ein Programm entwickelt, welches über ein inoffizielles DB Backend alle benötigten Daten im 1-Minuten-Takt abfragt und somit nun auch Verspätungen, Gleiswechsel etc. in Echtzeit am Anzeiger angezeigt werden.

Die oben geschriebene Dokumentation bezieht sich auf den Großteil der alten MAN-Fallblatteinheiten. Ggf. sind die Steuerplatinen unterschiedlich, aber vom Schaltungsaufbau her absolut gleich.

Mittlerweile habe ich die Original-Ansteuerungscodes für diese Module bekommen, und auch für die vorherige Krone Version eine Lösung gefunden. Einzig und allein die Adapterplatinen sind notwendig, wo aber mittlerweile auch neue Platinen gebaut wurden.
Sollte jemand also Hilfe benötigen, kann er sich gerne an mich wenden. Ersatzteile für Fallblattanzeiger biete ich in meinem Online-Shop an.