Fallblätter auf der Wartebank

Fallblätter auf der Wartebank

Aufbau Modul

Manuelle Bedienung 

Die Fallblattmodule haben auf den Seiten einen Imbus-Anschluss, über die sie manuell bedient werden können. Das ist praktisch, um beispielsweise das Bitmuster auszulesen oder einfach etwas herumzuspielen. Falls ihr einen neuen Stepper Motor Driver einsetzt, sollte dieser während dem manuellen Drehen nicht angeschlossen sein, da über die Drehung eine Spannung im Motor induziert wird (der Motor wird quasi zum Generator), welche durch den Driver abfliessen und ihn ggf. beschädigen kann.

Motor

Die Synchronmotoren stammen je nach Baujahr von Philips, Airpax oder Sonceboz (swiss made :-) Sie sind für 50Hz Wechelspannung von 48V ausgelegt und erreichen dann exakt 250 rpm. Die genauen Datenblätter sind nicht mehr auffindbar, man findet jedoch ähnliche (Baugleiche?) Motoren. Die verbauten Motoren sind unterschiedlich stark, in Abhängigkeit der Module; zu erkennen an den letzten 6 Ziffern -- 31815 vs. 31431.
Philips Motor eines kleinen alphanumerischen Moduls
Philips Motor eines grossen Zielmoduls
Anstelle der sinusförmigen Wechselspannung bzw. Wechselstroms, können die Motoren jedoch wie konventionelle bipolare Schrittmoren mit (variierendem) Gleichstrom direkt angesteuert werden. Dabei werden die Motoren direkt an einen Schrittmotor-Treiber angeschlossen und das bestehende Controller-Board wird nicht mehr verwendet. Für die kleinen Module reichen hier ca. 30V DC Versorgungsspannung des Schrittmotor-Treibers bzw. Motors. Die grössten Module (z.B. ein 75cm Zielmodul) benötigen jedoch schon mindestens 40V DC damit 250 rpm erreicht werden -- die Fallblätter sollen ja schliesslich so schnell laufen, wie (früher) in den Bahnhöfen. Pro Step machen die Motoren 7.5 Grad, das ist im Vergleich zu üblichen Schrittmotoren mit 1.8 Grad relativ grob. Für eine volle Umdrehung des Motors werden demnach 48 Steps benötigt. 

Positionsmesser von OMEGA

Der Positionsmesser von OMEGA besteht aus einer rotierenden Scheibe mit Kontakten. In Abhängigkeit der Position des Fallblatts ergibt sich pro Fallblatt somit ein eindeutiges Bitmuster.  Es gibt Module mit 40 oder 62 Fallblättern:
  • 40 Fallblätter: z.B. Alphanumerisches Modul und Stunden Modul
  • 62 Fallblätter: z.B. Minuten Modul oder Ziel Modul 
Alphanumerische und Stunden Module haben dieselbe Zuordnung zwischen Position und Bitmuster. Bei Modulen mit 62 Fallblättern können die Bitmuster und Position unterschiedlich definiert sein (jedenfalls ist dies bei einigen von meinen Ziel Modulen der Fall). 
Für die alten Schaltungen wurde eine Oktal-Wert (Jessesgott nomal) Zuordnung zu den Bitmustern verwendet. Bei einer neuen/eigenen Schaltung kommt man um ein Lookup-Table eh nicht herum, deshalb verwenden wir folgende Anordnung zwischen Anschlüssen und Bitwerten:
 
Über die 6 Bits können also 64 Zustände repräsentiert werden, genau ausreichend für die maximal 62 Fallblätter. Der innere Aufbau der Positionsmesser ist einfach und entspricht folgendem vereinfachten Ersatzschaltbild:

Genaugenommen ist das nicht oder nur teilweise korrekt: Denn der letzte Anschluss ist nicht "immer" GND, sondern est eigentlich ein Strobe-Kontakt, der nur in Abhängigkeit der Rotation den Kontakt schliesst. Für neue Schaltungen ist dies aber irrelevant, da die Scheibe bzw. der Motor einfach solange weitergedreht werden muss, bis der Kontakt leitet und dann wie ein "GND" Kontakt agiert. Wenn der Strobe-Kontakt offen ist, können logischerweise keine Bitwerte ausgelesen werden. 

Bitmuster und Position

Um die Bitwerte auszulesen wird der OMEGA Positionsmesser mit den als Eingängen konfigurierten GPIOs des Microcontrollers verbunden. Das Bewegen der Scheibe über die Taster kann ziemliche negative Spikes erzeugen, d.h. die Eingänge sollten entsprechend geschützt werden. Da die meisten Microcontrollers interne Clamping Dioden haben, sollte also mindestens ein entpsrechender Widerstand in Serie geschaltet werden, um den maximalen Clamping Current nicht überschreiten zu lassen (typischerweise liegt der max. clamping current bei +- 10--20 mA). Alternativ können auch noch externe Clamping Dioden eingesetzt werden. Damit der GPIO nicht floating ist, einen externen Pull-Up Widerstand verbauen oder je nach Microcontroller kann auch der interne verwenden werden.

Mit der Verbindung über einen Pull-Up Widerstand werden geschlossene Kontakte des OMEGA Positionsmesser am GPIO Pin als low gelesen. Somit ergeben sich die folgenden Bitmuster pro Position, zusammengasst in diesem Spreadsheet.

Soll nun eine bestimmte Position und somit Zeichen angefahren werden, wird einfach solange rotiert, bis das entsprechende Bitmuster an den Eingängen anliegt. Falls kontinuierlich (sprich während dem Rotieren) ausgelesen wird, sollte ein Debouncing implementiert werden. Ansonsten reicht ein einfaches Auslesen der Eingänge nach einem Step. 

Hier ein Beispiel des Signalverlaufs beim Rotieren des OMEGA Positionsmessers. Das MSB wird mit 3.3V über einen 1K Ohm Widerstand in Serie und einem MCP 23017 mit internem 100K Ohm Pull-Up ausgelesen. Der Widerstand in Serie begrenzt den maximalen Clamping Current, sodass die Clamping Dioden im MCP schön brav ihren Dienst verüben können.

 

    Keine Kommentare:

    Kommentar veröffentlichen