Überwachung von Bahnübergang mit Abstandssensoren

Bei den Eisenbahnfreunden Bietigheim-Bissingen e.V., bei welchen ich seit vielen Jahren Mitglied bin, bauen wir auf der neuen Vereinsanlage ‚Gleis 3‘ auch das DC-Car von Claus Ilchmann ein. Für gewöhnlich vermeiden wir es bei der Planung, dass die Straße die Gleise kreuzt, jedoch ist dies nicht immer unumgänglich z.B. aus Platzgründen. Damit die so entstandenen Bahnübergänge auch zuverlässig funktionieren, haben wir uns eine ausgeklügelte Überwachung mittels Abstands- und Hallsensoren einfallen lassen. Züge haben bei uns immer Vorfahrt!

Stand der Technik & Probleme

Schaut man sich in einschlägigen Modellbahnzeitschriften oder im Internet um, so findet man stets nur Artikel, welche Lichtschranken oder Reedkontakte/Hall-Sensoren zur Sicherung von Bahnübergängen verwenden. Diese Lösung fanden wir nicht so elegant, da…

  • bei klassischen Lichtschranken diese so angebracht werden müssen, dass der Übergang quasi nur zuverlässig horizontal und über Kreuz überwacht werden kann – dies schränkt ungemein bei der Montage ein
  • Lichtschranken oder ähnlicher Ersatz (Infrator-LED/Fototransistor) sind aus unserer Sicht zu groß und stören das Landschaftsbild
  • Nicht korrekt oder überhaupt nicht kodierte Infrarot-Signale lassen sich durch Raumlicht blenden & stören. Bei einer ähnlichen oder nicht weit entfernten Wellenlänge zu der von DC-Car, sind auch hier Störungen absehbar
  • klassische Gleisbesetztmeldung funktioniert nur dann, wenn alle Loks und Waggons Rückmelden können z.B. über präparierte Achsen. Wir haben auch Privatfahrzeuge im Einsatz, welche nicht umgerüstet werden sollen
  • Reedkontakte/Hall-Sensoren erfordern ebenfalls eine Modifikation aller Züge mit Magneten, was nicht gewünscht ist (auch Achszähler o.ä. helfen hier nicht weiter)

Recherche nach Alternative

Im Rahmen diverser Diskussionen über die oben genannten Probleme kamen wir zu dem Entschluss ein System zu finden, das möglichst klein ist, zuverlässig funktioniert, optisch arbeitet, DC-Car und den Zugbetrieb nicht stört und zwischen den Schwellen installierbar ist. Für mich kamen in diesem Fall nur Reflexlichtschranken-ähnliche Systeme in Frage. Bei etwas Recherche durch die Shops der einschlägigen Elektronik-Versendern, fand ich jedoch kein geeignetes Bauteil, welches klein genug war und auch noch über größere Distanz Objekte erkennen würde z.B. >5cm.

Mehr durch Zufall stieß ich über einen Artikel über digitale Abstandssensoren, die auch in aktuellen Smartphones eingesetzt werden um das Display auszuschalten, sobald man beim Telefonieren das Gerät zum Ohr führt. Ein solcher Sensor kommt von Avago/Broadcom und hat die Bezeichnung ‚APDS-9130 Digital Proximity Sensor‘.

Der Sensor selbst von der Vorder- und Rückseite (Bild Copyright Octopart)

Der Sensor ist sehr klein – 3,94 x 2,36 x 1,35mm (Bild Copyright: Octopart)

Der ‚APDS-9130‘ sendet über eine integrierte Infrator-LED speziell kodierte Signale aus, welche ein ebenfalls eingebauter Fototransistor wieder auswertet. Hält man einen Gegenstand vor den Sensor, reflektiert dieser die Stahlen. Je nach Abstand ist die Intensität der Strahlung mal stärker, mal schwächer – dies in Kombination mit den gepulsten Signalen wertet der Sensor aus und rechnet damit einen Wert aus, der der Entfernung entspricht. So sind zuverlässige Messung mit Abständen bis zu 10cm möglich. Hintergrundbeleuchtung z.B. von Neonröhren o.ä. werden heraus gefiltert und stören somit nicht die Messung.

APDS-9130 Bahnübergang Schema

Schematische Darstellung der Sensorinstallation zwischen den Schwellen

Der gemessene Abstand wird in einem Register auf dem Sensor abgelegt und kann über einen I2C-Bus ausgelesen werden. Darüber hinaus lässt sich auch ein Interrupt konfigurieren, wenn ein gewisser Schwellwert überschritten wurde. Kompakt ist der Sensor auch noch und damit perfekt für unser Vorhaben geeignet – auf zu einer Testplatine!

Diverse Tests

Ich habe eine kleine Platine entwickelt, um zwei der Sensoren anzusteuern. So können wir rechts und links der Straße zwischen den Schwellen je einen Sensor einlassen und so den gesamten Bereich überwachen, da die Sensoren in einem Verhältnismäßig großen Abstrahlbereich funktionieren. Im Idealfall sind die Sensoren exakt 45° in die Straße hinein geneigt, dass sich ein überkreuzendes Lichtbündel/Lichtvorhang bildet und so alles überwacht ist.

Bei den Bauteilen für die Platine entschied ich mich für den kleinsten Cortex-M0 Mikrocontroller von STmicroelectronics, welcher zwei I2C Schnittstellen hat: STM32F030C8T6. Zwei Schnittstellen sind nötig, da ich zwei Sensoren habe, diese aber keine Sub-Address Leitungen besitzen und ich mir den Aufwand für einen Bus-Multiplexer nicht geben wollte. Darüber hinaus hat die Platine noch einen einfachen DC/DC Wandler aus China spendiert bekommen für die 3,3V Versorgung. Der Rest sind Standard Bauteile nach den jeweiligen Datenblättern.

Nachdem die Test-Software implementiert war, konnten wir das System auf die Probe stellen: Bei unseren Tests haben wir die Sensoren mit allen möglichen Dingen versucht zu stören, aber es gelang uns schlicht nicht: Egal ob die Raumbeleuchtung und noch zusätzliche Scheinwerfer an waren, die Messungen funktionierten stets tadellos – sogar mit einer verchromten Spachtel, welche fast 45° zum Sensor abgeneigt war. Auch der noch so kleinste H0e-Wagen, der in der Mitte der Straße des Übergangs stand, wurde korrekt erkannt. Und das beste überhaupt: das DC-Car wird nicht gestört!

Endgültige Platine

Für die finale Integration in der Anlage wollten wir die Platine etwas überarbeiten und dieser noch weitere Möglichkeiten bescheren. Ebenfalls sollte diese professionell gefertigt sein:

  • Eingänge für Hall-Sensoren, damit Mikrocontroller weiß wann Fahrzeuge den Bahnübergang befahren und ihn wieder verlassen haben. DC-Car Fahrzeuge lösen die Sensoren auch aus und müssen daher speziell berücksichtigt werden z.B. ignorieren der Interrupts
  • DCC-Ausgänge zum direkten Senden der Stop-Signale für die DC-Car Fahrzeuge damit kein Funktionsbaustein benötigt wird
  • Transistor-Ausgänge zum direkten Ansteuerung von LED für mögliche Andreas-Kreuze mit dem typischen Blinkeffekt
  • Galvanisch & optisch entkoppelter Ein- und Ausgang für Belegtmeldung an den PC mit Railware und/oder zum Aktivieren des DCC Stop-Signals von Extern
  • Einfacher Bus zur Verbindung mehrerer Platinen, wenn zwei Bahnübergänge direkt hintereinander liegen: Ein langes Fahrzeug könnte beide Übergänge gleichzeitig Blockieren bzw. Überlänge haben

Nachdem alle Planungen durch waren, die Platinen (in Europa) gefertigt und selbst bestückt waren ging es auch hier an die weitere Programmierung – der Code von den Tests konnte einfach übernommen werden. Andere Module wie das Senden von DCC Signalen habe ich vom Lichtdekoder auf die ARM Platform portiert – so konnte dieser Schritt zügig abgeschlossen werden.

board

schematic

Software Support Proximity Sensor

Von der Software unterstützte Bahnübergänge

Demonstration

bestückte Proximity Sensor Platine und Sensor Montage

Sensor Montage-Test mit einem Stück H0e-Gleis sowie bestückte Platine