Servokupplung

Die Fernbedienung von Kupplungen war für mich schon früher bei H0 ein Highlight, jetzt bei Spur 1 ist das auch aufgrund der Baugröße einfacher zu realisieren. Magnetische Antriebe haben manchmal das Problem, unter Belastung nicht sicher zu öffnen. Außerdem hat mich das ruckartige öffnen gestört. Daher sollten langsam laufende Stellmotoren eingesetzt werden. Dazu bieten sich handelsübliche Modellbauservos an.

Bei verschiedenen Loks habe ich das in mehreren Varianten umgesetzt, wobei das Servo immer irgendwo am Rahmen sitzt - es ist bei den jeweiligen Lokumbauten (BR80, V36, BR55, BR89...) beschrieben. Ich habe damit auch Flügelsignale motorisiert. Seit kurzem gibt es Miniservoes der 2g-Klasse für unter 10 EUR. Die passen prima direkt an den Haltewinkel der Märklin-Klauenkupplung. Im Umbaubericht meiner E91 ist diese Konstruktion gezeigt.

Die Servos benötigen ein besonderes Stellsignal (Pulsbreitenmodulation) sowie 5V Spannungsversorgung. Daher habe ich mir eine kleine Schaltung entwickelt, die das Decoder-Schaltsignal in ein Servosignal umsetzt. Dazu habe ich den PICAXE 08M Mikrocontroller verwendet, der nicht teuer ist, einfach in BASIC programmiert werden kann und die Aufgabe problemlos erfüllt. Die ansonsten benötigten Bauteile sind Standardteile, ein 7805 Spannungsregler und ein Optokoppler zur galvanischen Entkopplung des Steuereingangs.

Zur Programmierung des PICAXE benötigt man nur wenig Hardware (Anschluß an USB, 2 Widerstände, 1 Klinkenbuchse, 5V Versorgung), die Software und die Handbücher gibt's zum Download. Die Chips kann man im Internet kaufen.

Die Schaltung erlaubt das Einstellen der beiden Servoendpositionen sowie der Stellgeschwindigkeit jeweils per Potentiometer (ohne weiteres programmieren!). Die Ansteuerung erfolgt über einen Funktionsausgang des Decoders.  Man kann sie einfach auf Loch- oder Streifenrasterplatinen aufbauen - das untere Schema zeigt ein Bestückungsbeispiel auf (horizontal laufender) Streifenrasterplatine entsprechend dem Foto oben.

Und hier ist das Programm:

main:

input 1

input 2

input 3

input 4

readadc 2,b8 'Startposition pin3=0

b8=b8*200/255+25

pause 500

servo 0,b8

pause 500

b13=pin3

Schleife:

low 0 'Verzichtbar, wenn das Servo nicht zum Zucken neigt

do

b3=pin3 ' pin 4 = In 3 Steuersignal vom Decoder

loop until b3<>b13

b13=b3

servo 0,b8

' pause nicht verwenden, erzeugt gelegentliches stottern des servos

Leseschleife:

readadc 1,b1 'pin 6 = In 1 Position pin3=1

readadc 2,b2 'pin 5 = In 2 Position pin3=0 (active=low)

readadc 4,b4 'pin 3 = In 4 Stellverzögerung

' Unterdrueckung von Fehlmessungen

readadc 1,b11

readadc 2,b12

if b11<>b1 then

goto Leseschleife

endif

if b12 <>b2 then

goto Leseschleife

endif

b1=b1*200/255+25 'Stellweg

b2=b2*200/255+25 'Stellweg

b4=b4/8 'Verzögerungsbereich

b7=b2

if b3=0 then

b7 = b1 'Richtungsumkehr

endif

if b7<b8 then

for b6 = b8 to b7 step -1

pause b4

servopos 0,b6

next b6

else

for b6 = b8 to b7 step 1

pause b4

servopos 0,b6

next b6

endif

b8 = b7 'Speicherung Zielposition

pause 500 ' Warteposition, um das Anlaufen der Endposition sicherzustellen

goto Schleife

Ein Wort zur Nutzung von Servos:

Viele Nutzer berichten in einschlägigen Foren über Probleme beim Betrieb von Servos.

Störend machen sich erratische Bewegungen beim Einschalten sowie unregelmäßiges Zucken bemerkbar.

Neben den nervenden Geräuschen sind Fehlfunktionen bis hin zu Schäden am Modell (zB an einer Weiche) möglich.

Ich habe diese Probleme auch gehabt und mich anfangs ziemlich geärgert.

Für mich bestand die Lösung des Problems aus insgesamt drei Maßnahmen, die auch im vorliegenden Konzept realisiert sind.

(a) Sorgfältige Entstörung der Stromversorgung und kurze Leitungen

(b) Abschaltung des Impulssignals an das Servo, wenn keine Bewegung ausgeführt werden soll ("low"-Befehle im Quellcode)

(c) Nach Möglichkeit volle Ausnutzung einer 180°-Drehung für die Stellaufgabe in Verbindung mit einer Biegung im Stelldraht als Überlastfeder. Damit kann das Servo keinen mechanischen Schaden anrichten.

Mit der 180°-Drehbewegung verläuft außerdem der Stellprozeß angenehmer: er beginnt langsam, wird dann schneller und bremst wieder gleichmäßig ab.

Verwendet man ein Servo zur Ansteuerung von Federzungenweichen, so bewirkt ein 180°-Stellweg außerdem, daß die Kraft des Servos an beiden Stellwegenden stark zunimmt - also genau dann, wenn auch die meiste Kraft zum Weichenstellen benötigt wird.