Motorisierung der Modellbahn-Union-Drehscheibe mit Schrittmotor und Arduino

Für die kleine Lokstation auf meiner neuen N-Anlage sollte auch eine passende Drehscheibe eingesetzt werden. Allerdings waren die Modelle der großen Hersteller viel zu erdrückend. Glücklicherweise kam gerade rechtzeitig der Bausatz einer 16m Drehscheibe von Modellbahn Union auf den Markt.
Da diese auch in den Betrieb integriert werden sollte, war „handbetrieben“ natürlich keine Option.

Über meine Erfahrungen beim Zusammenbau des aus Lasercut- und 3D-Druck-Teilen bestehenden Bausatzes und der Motorisierung mit einem Schrittmotor will ich im Folgenden berichten. Der Antrieb kann in dieser Form auch für andere Drehscheiben oder ähnliche Einsatzfälle verwendet werden, lediglich die Befestigung des zu drehenden Teils ist dann entsprechend anzupassen.

Eine Bemerkung gleich vorweg: aus verschiedenen unten genannten Gründen ist dieser Bausatz nichts für Anfänger! Der Zusammenbau erfordert nicht nur einige Nacharbeit der Einzelteile, sondern auch zusätzliche Hilfsmittel.

Um die Grube zu versenken, reicht eine 10mm Vertiefung, die bei mir lediglich einen Ausschnitt in der Hartschaumunterlage erfordert. Wie tief oder hoch der Rand aber wirklich liegen muss, hängt in erster Linie von der Höhe der Schienen auf der Drehscheibenbrücke ab. Diese ist auf einem 8mm-Zapfen im Königsstuhl gelagert und hat an den Enden Kufen, die auf einem MDF-Streifen in der Grube „gleiten“. Deren Reibung wäre natürlich viel zu hoch für einen gut laufenden Antrieb (Haftgleiteffekt).

Bei den zu erwartenden Belastungen von wenigen hundert Gramm durch eine Spur-N-Lok sollte es eigentlich möglich sein, die Brücke vollständig mittig im Antrieb zu lagern, ohne dass sie sich an den Enden zusätzlich abstützen muss.
Dem Bausatz liegt als Durchführung durch die Grundplatte ein 4mm Messingrohr bei, das (bei älteren Versionen des Bausatzes?) in die Bohrung in der Mitte der Brücke passt. Steckt man dies in eine passende 5mm Hohlwelle, ist die Brücke hinreichend geführt. Allerdings dürfen die Kufen dann nicht mehr aufliegen, so dass die Schienen etwas höher kommen. Hier wäre also eine mögliche Höheneinstellung im Antrieb nützlich.

Die Antriebsmechanik

Die üblichen Antriebe mit Getriebemotoren erfordern meist zusätzliche Kontakte oder Rastungen an den Gleisabgängen, diese sind daher auch nur an bestimmten Positionen möglich.
Eine Alternative sind Schrittmotore, die sich durch Vorgeben einer Schrittanzahl auf beliebige Winkelpositionen fahren lassen. Sie werden z.B in 3D-Druckern eingesetzt und sind daher auch leicht und relativ preiswert zu beschaffen.
Übliche Schrittmotoren unterteilen jede Umdrehung in 200 Schritte entsprechend einem Winkelinkrement von 1,8°. Bei dem Umfang der Drehscheibe wären das aber schon 1,5mm, was für einen halbwegs sauberen Schienenstoss bei weitem nicht ausreicht. Zwar lassen sich Schrittmotoren auch in halben oder 1/16 Schritten verfahren, beim Abschalten des Stroms rasten sie dann aber wieder magnetisch auf den nächsten ganzen Schritt. Es ist also eine zusätzliche Untersetzung erforderlich. In der Bastelkiste fand sich dafür noch ein Schneckenrad mit 40 Zähnen und die dazugehörige Schnecke, damit ist der Positionierfehler nur noch 4/100mm. Das führt zu nebenstehender Antriebsmechanik:

Die Achse, ein 5mm Messingrohr, wird in zwei Flanschkugellagern (grau) gelagert. Auf dem unteren liegt ein Stellring (orange) auf, der mit einer Madenschraube gesichert ist und über den die axiale Lage des Rohrs und damit die Schienenhöhe festgelegt werden kann. Darauf sitzt das Schneckenrad (gelb), das ebenfalls über eine Madenschraube gegen Verdrehen gesichert ist. Das obere Kugellager wird mit einer Feder in die obere Gehäusebohrung gedrückt, was umgekehrt (Newton 3) den Stellring und damit die Achse an das untere Lager spielfrei anlegt.

Da Schrittmotoren keine eigene Nullposition haben, muss diese z.B. über zusätzlich eingebaute Lichtschranken (dunkelgrau) definiert werden. Um die nötige Genauigkeit zu erreichen, wird zunächst die Brücke über die rechte Lichtschranke („grob“) und die auf dem Stellring befindliche Segmentscheibe (orange) vorpositioniert und dann das Fähnchen (grau) auf der Motorachse in den Spalt der linken Lichtschranke („fein“) gefahren. Damit liegt die Position auf einen Motorschritt, d.h. auf 1/8000 Umdrehung der Drehscheibe entsprechend 4/100mm am Schienenstoß fest.

Das Gehäuse zur Aufnahme der Antriebselemente wird aus 5mm Polystyrolplatten zusammengeklebt, in die als Positionierhilfen zum Einhalten der Achsabstände und Lagerflucht Schlitze eingefräst wurden. (Ja, ich weiss, Polystyrol sollte man nicht mit zu hoher Drehzahl bearbeiten...) Wenn man genügend Hände für den Zusammenbau hat, kann man darauf ggf. auch verzichten...
Der Stellring ist ein Messingdrehteil, das auf der unteren Seite einen kleinen Absatz für das Lager hat und auf der anderen Seite einen zur Zentrierung der Segmentblende für die Lichtschranke. Die Blende selbst wird aus einem Stück 0,3mm Messingblech ausgeschnitten.
Die Feder stammt aus einem alten Kugelschreiber und wurde etwas aufgedreht, damit sie leicht auf dem Achsrohr sitzt.
Das Fähnchen auf der Motorachse wird auf ein kleines Verlängerungsstück geklebt, damit es nicht gegen das Schneckenrad stößt.
Damit sich das Achsrohr in den Lagern auch längs verschieben lässt, muss es eventuell etwas abgeschliffen werden, dabei aber nicht übertreiben, da es sonst nicht mehr spielfrei ist und die Brücke dann wackelt.

Das Programm

Für die Ansteuerung eines Schrittmotors mit dem Arduino findet man im Internet etliche Vorschläge. Am einfachsten ist es mit einem zusätzlichen Treiberbaustein wie dem DRV8825, der auch eine Strombegrenzung für die Motorwicklungen beinhaltet und lediglich die Vorgabe von Schritten und Richtung benötigt. Der Motor lässt sich darüber auch abschalten, so dass er nur während des Drehens Strom zieht, ein Haltemoment ist ja aufgrund des Schneckengetriebes nicht erforderlich. Außerdem können hiermit auch Mikroschritte gefahren werden, d.h. der Motor wird so angesteuert, dass jeder Schritt weiter unterteilt wird. Das erhöht zwar nicht die Winkelauflösung, führt aber gerade bei langsamen Bewegungen zu einem ruhigeren Lauf. Ein Wert von 1/16 hat sich hier als sinnvoll ergeben.
Bei der Verwendung von fertigen Bibliotheken, z.B. AccelStepper.h und ezButton.h, beschränkt sich das Programm dann im Wesentlichen auf die Zuordnung der Tastendrücke zu den anzufahrenden Positionen. AccelStepper hat den Vorteil, dass sich ein sanftes Beschleunigen und Abbremsen der Drehung einstellen läßt, ezButton kümmert sich auch um das Entprellen der Tasten. Allerdings sind beide auf einen zügigen Programmablauf angewiesen, mehrere Konsolenausgaben in der main loop lassen den Motor mitunter schon merklich stottern.
Das einzig Aufwändige ist das Nullpunktfahren mit den beiden Lichtschranken. Dazu wird zunächst mit Hilfe der Segmentscheibe auf der Brückenachse die erforderliche Drehrichtung ermittelt, um die im Uhrzeigersinn unterbrechende Kante anzufahren. Dann wird das Fähnchen auf der Motorachse in die Lichtschranke „fein“ positioniert und damit die Nullposition festgelegt. Da die Steuerbefehle für den Motor nicht auf ihren Abschluss warten, muss sich die Steuerung allerdings merken, in welcher Phase des Nullpunktfahrens sie sich gerade befindet und worauf sie reagiern muss.
Damit diese Prozedur nicht nach jedem Einschalten erfolgen muss, merkt sich die Steuerung die letzte angefahrene Position im EEPROM. Das reicht aus, da sich aufgrund des Schneckengetriebes die Drehscheibe nicht von Hand bewegen lässt.

Das Programm setzt voraus, dass die Drehscheibe um maximal ±179° um die Nullposition dreht. Damit kann zum einen auf Schleifkontakte zur Stromzuführung verzichtet werden, zum anderen ist gewährleistet, dass die Position jedes Anschlussgleises und der Brücke immer eindeutig ist und nicht modulo 360. Das Wenden einer Lok ist trotzdem möglich, da dies ja nur eine Drehung um 180° erfordert. Dazu wird dann der gegenüberliegende Anschluss(stummel) angefahren.

Anstatt für jedes Anschlussgleis eine eigene Taste vorzusehen, läßt sich die Drehscheibe auch über ein Potentiometer steuern, was im Stellpult erheblich Platz (und Leitungen) spart. Allerdings wird dann nicht der analoge Wert direkt genutzt, sondern auf die nächste bekannte Position gerundet, um die Genauigkeit beizubehalten.
Es muss lediglich gewährleistet werden, dass ein versehentliches Verstellen im ausgeschalteten Zustand nicht die Brücke beim Einschalten sofort losfahren lässt. Dies erreicht man, indem das Programm erst bei einer definierten Verstellung des Potis aufmerksam wird und erst nach deren Beendigung, wenn sich der Wert eine Zeit lang nicht mehr ändert, der Drehvorgang der Brücke gestartet wird.

Ebenfalls vom Programm gesteuert wird auch die Stromzufuhr zu dem angefahrenen Anschlussgleis und zu der Brücke, da diese ja nach einer halben Umdrehung umgepolt werden muss. Dazu werden Relais verwendet, die die Fahrpannung einschalten, wenn die Drehung beendet ist, und abhängig von der Position die Brückenspannung wechseln.

Die Elektronikhardware

Da die Anzahl der I/O-Pins des verwendeten Arduino Nano für die Positionstasten und die Fahrstromrelais nicht ausreicht, sind zusätzliche BCD/Dezimal En- und Decoder erforderlich (Schaltplan). Für diese und die Relais wurde eine Platine entwickelt, die auch den Arduino und den Motortreiber nebst aller Peripherie aufnimmt.
Alle Anschlüsse für Schrittmotor, Lichtschranken, Fahrstrom und Tasten sind auf Schraubklemmen gelegt, um Tests und Einbau zu erleichtern.
Außerdem sind noch Taster zum Nullpunktfahren und zum Nothalt vorgesehen.

Die Platine ist zwar für 8 Gleisanschlüsse ausgelegt, davon sind hier aber nur 4 bestückt.
Da die Ansteuerung der gesamten Peripherie nur über das Programm erfolgt, lassen sich die nicht genutzten Ein- und Ausgänge noch für andere Aufgaben nutzen.

Der Bausatz

Aus unerfindlichen Gründen lag bei meinem Bausatz die 8mm-Bohrung für den Königsstuhl nicht in der Mitte der Grube, sondern 0,7 mm daneben, was auf einer Seite der Brücke zu einer Schienenlücke von über 1,5mm geführt hätte. (Das sollte der Laser eigentlich besser können) Das lässt sich aber durch Aufbohren leicht korrigieren. Wenn man dies z.B. auf einer Drehbank durchführt, ist die neue Bohrung genau mittig und kann später zur Ausrichtung der Zufahrtsgleise benutzt werden.
Die anspruchsvolleren Aufgaben stecken in der Brücke.

Zunächst muss das 4mm-Rohr senkrecht(!) in die Aufnahme der Brücke eingesetzt werden. Offenbar gibt es von der Brücke verschiedene Versionen, eine mit 4mm, die andere mit 3mm Bohrung, letztere muss dann vorsichtig aufgebohrt werden.
Damit das 4mm Rohr verdrehsicher in der 5mm Hohlwelle des Antriebs sitzt, und trotzdem bei Bedarf herausgezogen werden kann, wird unterhalb des Brückenzapfens ein Loch mit 1mm Durchmesser durch beide ineinandergesteckte Rohre gebohrt. Das im äußeren (5mm) Rohr wird mit einem Laubsägeblatt zum Ende hin zu einem Schlitz geöffnet, in das innere (4mm) wird ein passendes Drahtstück eingesetzt. Am unteren Ende des inneren Rohrs wird auf beiden Seiten ein Längsschlitz eingefräst, der mit einer Ahle vorsichtig etwas(!) aufgeweitet wird. Damit sitzt das innere Rohr dann stramm und spielfrei im äußeren.

Vor den Schienen ist zunächst noch der Rahmen für den Brückenbelag einzukleben, da dieser in Schlitzen in der Brücke und damit unterhalb der Profile sitzt.

Anstelle der mitgelieferten Code 80 Schienen habe ich die Profile aus einem Spur Z Flexgleis verwendet, die ungefähr Code 55 entsprechen und damit besser zu den auf der übrigen Anlage verwendeten Peco-Gleisen passen. Diese werden mit Neusilberbeize von Ndetail geschwärzt, um für das spätere Altern schon mal den Silberglanz loszuwerden.

Unabhängig vom verwendeten Halbzeug muss an jede Schiene ein Stück Litze angelötet werden, um auch auf der Brücke die Gleisspannung anlegen zu können. Dies sollte auf der Unterseite des Profils erfolgen, da es sonst möglicherweise außen mit den Laufrosten oder innen mit den Spurkränzen kollidiert. In jedem Fall müssen die Kabel durch das Loch im Königsstuhl und dann durch die Hohlwelle unter die Anlage geführt werden. Dazu ist es erforderlich, unterhalb der Schienenprofile Schlitze in das Brückenteil einzubringen, durch die die Kabel geführt werden können und die ggf. auch Platz für die Lötstellen schaffen.

Das Aufkleben der bedrahteten Schienenprofile gestaltet sich etwas anspruchsvoll, da keinerlei Anschläge oder Führungen vorhanden sind, die einen korrekten und gleichmäßigen Schienenabstand gewährleisten. Richtig NEM-gerecht läßt sich das nur erreichen, indem eine zusätzliche Montagehilfe gebaut wird, in die die Profile für den Zusammenbau eingespannt werden. Damit kann man dann die Schienen mit Sekundenkleber auf die Brücke aufkleben. Dabei ist noch darauf zu achten, dass die Profile symmetrisch und gerade auf den Längsträgern liegen und an beiden Enden der Brücke gleich weit überstehen.

Dem Bausatz liegen gedruckte Laufräder bei, die allerdings wegen der eingangs erwähnten Kufen nicht auf dem Drehscheibenlaufkranz aufliegen, sondern lediglich optischen Zwecken dienen. Auch weil diese sich vorübergehend meinem suchenden Blick entzogen hatten, habe ich neue Rollen aus Messing angefertigt und brüniert. Diese sind runder und drehen sich wesentlich leichter, so dass die Kufen entfernt werden können und die Brücke auf den Rollen aufliegen kann, sofern die Lagerung im Königsstuhl nicht ausreichen sollte.

Schließlich können die Laufbleche montiert werden. Die Äußeren werden dabei gegen die Schienenprofile geschoben, ohne dabei an diesen aufzusteigen, so dass sie plan auf dem Unterbau aufliegen. Das mittlere ist 7mm breit, sollte also mit keinen NEM-Radsätzen kollidieren, wenn es mittig und in konstantem Abstand zu den Schienen eingesetzt wird.

Damit macht die Brücke schon einen sehr guten Eindruck. Fehlen nur noch die Geländer. Leider weist der Unterbau keinerlei Geländerstützen auf, so dass diese nur an den Papp-Gitterrosten befestigt wären, was an Stabilität bei der Zierlichkeit der Geländer und der Roste etwas zu wünschen übrig ließe. Daher wird der Unterbau mit Verlängerungen aus 0,5x1mm Polystyrolprofilen versehen. Die Leitern werden sicherheitshalber mit den gleichen Profilen verstärkt.

Der Einbau

Die Drehscheibengrube wird nach Bauanleitung zusammengebaut, allerdings ohne die obere Abdeckung aufzukleben, diese muss später an die Zufahrtsgleise angepasst werden. Die Dübel zum Fixieren der einzelnen Ringe waren bei meinen Bausatz um eine Ringdicke zu kurz, durften also unten und oben nur halb eingesteckt werden.

Beim Einbau der Grube muß zunächst die Höhe der Schienenoberkante bestimmt werden. Dazu und für die weiteren Positionierungsaufgaben verlegt man am Besten die Zufahrtsgleise bis zur Brücke. In meinem Fall habe ich im Bereich des Grubenrands das Schwellenband der Code-55-Gleise entfernt und die Schienen direkt auf den Grubenrand geklebt.

Wenn die Höhe der Anschlussgleise bereits durch den Unterbau festliegt, muss die Grube ggf. entsprechend höher gesetzt werden, ein paar Pappstreifen helfen hier.

Wichtig ist dabei, dass die Gleise auch genau radial verlaufen. Dies kann z.B. erreicht werden, wenn man in die (hoffentlich mittige) Bohrung des Königsstuhls einen Stift einsetzt, dessen oberes Ende in den Schlitz einer Gleislehre (z.B. Peco Tracksetta™) passt. Diese richtet dann die Zufahrtsgleise von beiden Seiten auf die Drehachse aus.
Diese Methode kann später auch zum Ausrichten der Brücke verwendet werden.

Einbau des Antriebs

Am genauesten lässt sich der Antrieb positionieren, wenn man den im vorigen Schritt benutzten Stift durch eine Hülse ersetzt, die eine Bohrung von 5mm für die Hohlwelle aufweist. Dorthinein wird dann der Antrieb von unten gesteckt und an der Grundplatte festgeschraubt. Die Winkelposition ist dabei unkritisch, sie sollte sich nur später nicht mehr verändern. Ggf. kann man eine kleine Anschlagsleiste neben den Antrieb kleben. Jetzt wird die Hülse entfernt und die Brücke kann eingesetzt werden.

Alternativ wird der Antrieb von unten eingesetzt und festgehalten, dann von oben die Brücke eingesteckt, mit der Gleislehre auf ein Anschlußgleispaar ausgerichtet und die Abstände zu den Gleisenden ausgemittelt. Dann wird der Antrieb in dieser Position festgeschraubt. Dies erfordert zwar mehr Hände als die erste Methode, aber keine Drehbank...

Höheneinstellung

Die Höhe der Brücke wird über axiale Verschiebung der Hohlwelle eingestellt. Dazu werden die Madenschrauben am Schneckenrad und dem Stellring mit der Unterbrecherscheibe gelöst. Die Achse kann jetzt verschoben und gedreht werden. Zunächst wird die Brücke auf ein Anschlussgleis ausgerichtet und dann solange vertikal verschoben, bis die Gleisoberkanten auf einer Höhe sind. Dann wird das Schneckenrad wieder festgezogen.

Jetzt die Brücke motorisch in die gewünschte Nullposition drehen. Dann den Stellring mit der aufgeklebten Unterbrecherscheibe so verdrehen, dass die Nullkante in der Lichtschranke sitzt. Jetzt kann auch der Stellring festgezogen werden.

Da sich die Welle bei Lösen der Madenschrauben wieder verdrehen kann, muss bei nachträglichem Nachjustieren auch das Teach-in neu durchgeführt werden.

Teach-in

Derzeit ist kein dediziertes programmunterstütztes Verfahren zur Optimierung der einzelnen Anschlussgleispositionen implementiert, es geht aber auch ohne:

  1. Zuerst ein Nullpunkfahren vornehmen.
  2. Von der Nullpunktposition der Brücke aus die Winkel der Gleisanschlüsse ausmessen (Geodreieck)
  3. Aus der Anzahl Schritte/Umdrehung (hier 200*40=8000) und der Taktauflösung (z.B. 1/16 Schritt) die Anzahl Takte pro Winkelgrad (hier 8000*16/360≅356) ausrechnen und daraus die Anzahl der Takte vom Nullpunkt bis zu den Gleisanschlüssen bestimmen und im Programm eintragen
  4. Jede Position anfahren und den Fehler ausmessen
  5. Die Werte im Programm entsprechend korrigieren, hier entspricht 0,1mm ca. 40 Takten

Erfahrungsgemäß ist die erste Korrektur schon hinreichend gut, ggf. müssen die letzten beiden Schritte wiederholt werden.

Jetzt sollte sich die Brücke auf die Anschlussgleise positionieren lassen.