Raspberry-Pendelsteuerung

Der Aufbau einer Pendelsteuerung mit einem Raspberry Pi ist relativ einfach. Bei der beschriebenen Einrichtung mit Rasbian hat der Raspberry die notwendige Software schon an Bord.

Die Software wird in Python geschrieben. Für die Ankopplung der „Umwelt“ werden Koppelrelais benötigt. Das Prinzip ist dabei folgendes:

Die Versorgung erfolgt mit regelbarer Fahrspannung (ca. 0…12V DC), 12V-Gleichspannung für die Eingangsrelais (alternativ für Innenraum auch 5V möglich, wenn man die Relais entsprechend tauscht) sowie 5V geglättete Gleichspannung für den Raspi und die Ausgangsrelais. Die Fahrspannung wird über eine Grätz-Brücke (Brückengleichrichter) gleichgerichtet, damit die Polarität egal ist.

Man baut eine beliebig lange Strecke mit einem Gleiskontakt an jedem Ende. Bei Erreichen des Endes stoppt der Zug, wartet einen bestimmte Zeit und fährt dann in die Gegenrichtung.
Bedarfsweise ein Haltepunkt mit zwei Gleiskontakten, um ggf. immer direkt vor dem „Bahnsteig“ zu halten. In jeder Fahrtrichtung ist dabei immer nur ein Kontakt aktiv.
Ein Taster als „Override-Funktion“ um die Haltezeit durch Tastendruck zu verkürzen.

Der Raspberry stellt ja genügend universelle GPIO-Kontakte zur Verfügung. Diese haben als Ausgang nur eine geringe Leistung und die Spannung liegt für Aus- und Eingänge nur bei 3,3V. Daher sind Koppelrelais nötig. Für die Eingänge wird die Versorgungsspannung der Relais über einen Gleiskontakt auf das Relais geschaltet. Das Relais schaltet dann 3,3V (kann man über einen Kontakt am Raspberry abgreifen) auf den entsprechenden Eingang. Ich habe parallel zu jeder Relaisspule noch eine Freilaufdiode geschaltet, um beim Öffnen des Gleiskontaktes nicht zu hohe Spannungsspitzen zu bekommen. Wer möchte, kann parallel noch eine LED mit Vorwiderstand schalten, dann sieht man, dass das Relais durch den Gleiskontakt geschaltet wird (im Schaltplan so dargestellt).

Für die Ausgänge habe ich zweipolige Relais verwendet. Diese werden vom Raspberry über einen 1kOhm-Widerstand und einen kleinen Transistor gesteuert (die Relais laufen mit 5V). Hier sind zwingend Freilaufdioden nötig, sonst grillt die Abschaltspitze des Relais den Transistor. LED mit Vorwiderstand zur Anzeige sind wieder optional. Ein Relais schaltet die Fahrspannung aufs Gleis, das andere ändert die Fahrtrichtung (Relais mit zwei Wechslern erforderlich).

Als kleines Schmankerl habe ich noch einen Ausgang mit einem Hochleistungs-Transistor mit Kühlkörper ausgerüstet. Dieser wird vom Raspberry pulsweitenmoduliert angesteuert und sorgt damit für einen langsamen Anlauf bzw. ein langsames Abbremsen der Lok. Sobald die volle Fahrspannung anliegt, übernimmt das parallel geschaltete Relais das Durchschalten der Fahrspannung. Zum Bremsen wird erst das Relais abgesteuert, dann mit Pulsweitenmodulation die Lok langsam gebremst.

Nachfolgend der Programmcode mit Erläuterungen in der Zip-Datei sowie der verwendete Schaltplan.