Der automatisierte Fuchs
Idee: Preiswert und flexibel Funktionen automatisieren. Ansatz: Arduino und Miniservos. Inzwischen kann man Arduino-Clones aus Fernost zu geradezu lächerlichen Preisen in allen Größen und Ausführungen beziehen. Wer noch keinen Arduino kennt: Das ist ein Miniatur-Computer, der in einer einfachen Sprache programmiert werden kann. Interessanterweise kann man kleine Servos sogar direkt über die Pins auf der Platine anschließen und per Softwarebefehl ansteuern. Klingt erstmal super. In der Realität ist es nicht ganz so super, weil es doch recht tricky ist, ein funktionsfähiges Programm dafür zu schreiben. Denn der Arduino hat so seine Besonderheiten, zum Beispiel daß er das Programm grundsätzlich - ist es erstmal in den Microcontroller geladen und aktiviert - in einer Endlosschleife ablaufen lässt. Das bedeutet, daß man extrem strukturiert vorgehen muss. Wie sollte das Ganze am Ende aussehen? Dergestalt, daß man die Lokomotive aufs Bekohlungsgleis fährt, sodann einen Taster betätigt und der FUCHS beginnt nun, eine vorher festgelegte Anzahl von Arbeitszyklen abzuspulen.
So ein Zyklus könnte zum Beispiel so ablaufen:
1.) Beginn: Greifer im Kohlebunker
2.) Greifer hoch
3.) Schwenk zum Zug
4.) Greifer runter
5.) Greifer hoch
6.) Schwenk zurück zum Kohlebunker
7.) Greifer runter.
Und schon sind wir wieder am Anfang. Eigentlich ideal für den Arduino.
Tatsächlich habe ich es über das lange Weihnachtswochenende geschafft, den Fuchs endlich zum Rotieren zu bringen. Wie bei allen meinen Projekten war das nicht gerade einfach, aber nach einem totalen Neuaufbau der Drehachse und mehrmaligem Ummontieren der Servos geht es jetzt doch ganz knorke. Natürlich ist da wie üblich jede Menge Luft nach oben, aber er es bewegt sich grundsätzlich. Wobei "grundsätzlich" in dem Fall bedeutet, daß er zum Beispiel beim Einschalten des steuernden Arduino-Clones mal kurz die Schaufel volles Rohr kreisen lässt. Sieht spektakulär aus, ist aber total ungewollt und dem Gerät bislang nicht abzugewöhnen. Dieser Effekt hat wohl etwas mit dem Einschaltverhalten sowohl des Arduinos als auch des Servos zu tun und tritt auch deswegen auf, weil der Servo am Programmbeginn aus einbautechnischen Gründen nicht bei seinem Nullpunkt, sondern bei ca. 105 Grad Drehung stehen muß. Beim Initialisieren von Arduino und Servo jagt es den Servo dann mal kurz auf 0 Grad (und dann programmierterweise ganz gesittet wieder auf die 105-Grad-Position). Es gibt ein paar Ansätze zu dem Thema, die mich nicht wirklich berauschen, aber einen davon werde ich wohl verfolgen müssen (z.B. den Servo über einen anderen Ausgang von der Betriebsspannung freischalten).
Genug des Gelabers, hier mal ein Video von den ersten Funktionsdurchläufen. Notabene: Die Superspezialisten werden natürlich angesichts dieser wackelig hin- und herdrehenden Kleinigkeit lachend über den Boden kullern. Aber hier ging es ja auch darum, mit kleinem Geld (Arduino-Clon und Servos haben zusammen ungefähr 10 Euro gekostet) einen freundlichen Effekt zu erzielen. Selbstverständlich kann man auch 150 Euro in ein wunderbares, perfekt animiertes Kleinserienmodell investieren und ich bin mir sicher es ist jeden Cent wert und funktioniert einwandfrei. Aber abgesehen davon, daß mein Modellbahn-Budget wie bereits ermüdend oft erwähnt eher begrenzt ist, ist es auch klasse, mal was mit wenig Aufwand selbst zu entwickeln. Allein bei der Programmierung des Arduinos habe ich eine Menge gelernt, das mir sicher auch außerhalb des Modellbahnbereiches mal weiterhilft. Das ist übrigens auch ganz im Sinne der "Maker-"Bewegung, von der wir Modellbahner einiges lernen können.
Was wollte ich gerade noch? Ach ja, das Video:
Hier ist ein Video der Plattform “YouTube” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, eingebunden. Datenschutzerklärung: https://www.google.com/policies/privacy/, Opt-Out: https://adssettings.google.com/authenticated.
Inzwischen ist auch aus ein paar Teilen von meiner Resterampe ein kleiner Kohlebansen entstanden, der auf diesem Bild noch der unausweichlichen Beschneiung harrt und auch noch ein paar Detailanpassungen benötigt. Die Kohle ist auch noch feucht vom Klebstoff und sieht deswegen etwas merkwürdig aus...
Zum Saisonende 2015/16 habe ich den Antrieb und die Steuerung noch einmal überarbeitet. Der Arduino ruht jetzt in einer soliden Fassung mit Schraubklemmen, was gleich mehrere Vorteile hat: Erstens muß man nicht mehr die ganzen Anschlüsse an eine fummelige Steckerleiste löten (das ist perfekt für mich als "Captain Kittfinger-Siehtnix"), Zweitens kann man den Arduino mit einem Handgriff austauschen (wenn man ihn zum Beispiel per Kurzschluß gegrillt hat, weil man aus Versehen ein Kabel durchgeschnitten hat...) und drittens lässt sich das Ding dank zwei solider Schraublöcher perfekt festschrauben. Diese Fassungen sind günstig zu bekommen und ihr Geld absolut wert. Sie kommen bei mir ab jetzt immer zum Einsatz.
Der Drehantrieb war bislang über zwei Servoscheiben mit einem zurechtgebogenen Gestängedraht realisiert. Das zu justieren hat mich ungefähr fünfzehn Versuche gekostet mit dem Ergebnis, daß der Baggeroberwagen doch noch ruckte, wenn das Gestänge an seine Grenzen kam. Die ganze Bewegung war eher "eiereckig". Ja, man sieht es auch im Video. Außerdem begrenzte das Gestänge den nutzbaren Drehbereich, sodaß ich nur mit einigem Gedöns überhaupt den notwendigen Schwenk hinbekommen habe. Alles nicht wirklich großes Kino.
Aber auch das ist gelöst: Es geht doch nichts über eine ordentliche Verzahnung. Zwei kurzerhand leicht modifizierte Zahnräder aus dem Programm eines großen dänischen Herstellers leisten jetzt hervorragende Dienste. Nicht nur, daß es nun theoretisch möglich ist, den Oberwagen im gesamten möglichen Schwenkbereich zu bewegen, auch ist die Bewegung etwas geschmeidiger geworden (so richtig geschmeidig ist mit einem Servo nicht möglich, weil die Geschwindigkeitsregelung ja über Impulse - also im Grunde Mini-Ruckler - erfolgt. Außerdem ist es ein Billigservo aus der Grabbelkiste, das an sich nicht der Weltmeister im Weichlauf ist). Die Greiferbetätigung per "Seil" über die hohle Drehwelle kollidiert auch nicht mehr mit den Gestänge. Dafür muß ich jetzt die Hohlwelle verlängern, damit das Seil nicht "ins Getriebe" gerät.
Um den irren Schwenk beim Einschalten zu umgehen, habe ich das Programm und die Schaltung mit einem Relais erweitert, das die Servos erst zum Beginn des eigentlichen Programmablaufes mit Strom beaufschlagt. Wobei ich da noch nicht ganz mit dem Ergebnis zufrieden bin.
Hier mal ein Bild des noch leicht wirren Experimentierfeldes von unten (Für eine Detailbeschreibung bitte anklicken).
Relais und Arduino-Fassung haben die Projektkosten noch einmal um schwindelerregende 7,50 Euro in die Höhe getrieben. Beides hätte man bei direkter Bestellung in China sicher noch billiger bekommen können, aber die Lieferanten hierzulande liefern für wenig mehr Geld ratzfatz und stehen bei fehlenden Teilen unbürokratisch zur Verfügung, wie hier auch geschehen.
(Habe ich übrigens schon erwähnt, daß ich Googlefonts nutze? Falls nicht: Ich nutze Googlefonts. Ich gebe es zu, im Impressum steht es auch (in der Datenschutzerklärung), Abmahnung also nicht notwendig.)