ALT + + Schriftgröße anpassen
ALT + / Kontrast anpassen
ALT + M Hauptnavigation
ALT + Y Socials
ALT + W Studiengang wählen
ALT + K Homenavigation
ALT + G Bildwechsel
ALT + S Übersicht
ALT + P Funktionsleiste
ALT + O Suche
ALT + N Linke Navigation
ALT + C Inhalt
ALT + Q Quicklinks
ESC Alles zurücksetzen
X
A - keyboard accessible X
A
T

Legoino - Realisierung

1 Auswahl der 180°-Servos

Aus Kostengründen und aufgrund der weitaus höheren Auswahl an 180°-Servos ist ein selbst durchgeführter Umbau dem Kauf volldrehender Servos zu bevorzugen.
180°-Modellbauservos (im Folgenden als „Servos“ bezeichnet) gibt es in einer großen Varianten­vielfalt.

Grundsätzlich unterscheidet man zwischen analogen und digitalen Servos. Bei analogen Servos erfolgt die Regelung auf die durch ein PWM-Signal vorgegebene Sollposition durch einen analo­gen Schaltkreis dessen Bestandteil ein Drehpotentiometer ist, das mechanisch mit der Servoachse verbunden ist1. Für den Umbau in volldrehende Servos wurde nur diese Servovarian­te in Betracht gezogen, da hier - wie nachfolgend beschrieben - nur die mechanische Verbindung zwi­schen Ser­voachse und Potentiometer gekappt werden muss.

Servos werden spezifiziert nach Drehmoment und Stellgeschwindigkeit, wobei letztere Eigenschaft für einen Legoino praktisch nicht relevant ist. Je höher das Drehmoment ist, desto „stärker“ werden die daraus gebauten Antriebe. Andererseits steigt die Stromaufnahme eines Servos mit dessen Drehmoment, was wie in Abschnitt 4.4 der PDF-Dokumentation dargestellten Probleme mit der elektrischen Ansteuerung nach sich zieht.

Ein weiteres Qualitätskriterium von Servos ist deren Getriebebauart: Hier unterscheidet man zwi­schen Kunststoff- und Metallgetrieben. Servos mit Kunststoffgetriebe sind leichter und preiswerter, Servos mit Metallgetriebe sind robuster. Daher wurde für den Legoino ein Metallgetriebeservo aus­gewählt:
Es handelt sich hierbei um den Servo S3317M des Lieferanten hobbyking.com.

2 Umbau des S3317M Servos auf volldrehende Funktion

Nachfolgend ist an einem speziellen Servo dessen Umbau auf volldrehende Funktion dargestellt. Bei anderen Servos kann der Umbau evtl. ganz anders funktionieren. Sie finden im Internet oder in Fachbüchern [4] verschiedene weitere Umbauanleitungen zu jeweils anderen Servotypen.

Öffnen Sie das Servogehäuse durch Lösen der vier Schrauben auf der Unterseite des Servos.


Entfernen Sie das Zahnrad (auf der Anschlussseite des Servos) mit der Servokrone inkl. der wei­ßen Adapterscheibe und dem Lager.

In dem entfernten Zahnrad befindet sich ein kleiner Metallstift, der den Winkel der Servoachse auf 180° begrenzt. Entfernen Sie diesen Stift (z.B. mit einer Zange hinaus ziehen oder mit einem Dorn heraus schlagen).


Kürzen Sie den Kunststoffstift des Drehpotentiometers (z.B. mit einem Seitenschneider abschnei­den und den restlichen Überstand mit einem Cuttermesser kürzen), so weit, dass dieser vom wie­der aufgesetzten Zahnrad nicht mehr mitgenommen wird.




Bevor Sie das Zahnrad mit der Servokrone wieder aufsetzen, müssen Sie den Servo über das Po­tentiometer abgleichen. Damit ist Folgendes gemeint:

Wenn der Servo das PWM-Signal für die Mittelstellung (90°) erhält, dann soll der (volldrehend mo­difizierte Servo) stillstehen.

Diesen Abgleich erreichen Sie über folgende Schritte:

Laden Sie das Programm ServoEinstellen auf den Iteaduino. Auf dem Digitalpin 4 des Iteadui­no wird nun ein 90° Stellsi­gnal erzeugt.

Schließen Sie den Servo an Digitalpin 4 des Iteaduino an.

Der Antrieb unter dem oberen Zahnrad (siehe Bild oben) gegenüber dem Zahnrad mit der Servo­krone wird sich nun mehr oder weniger schnell drehen. Stecken Sie einen Elektronikschraubendre­her in den zuvor gekürzten Stumpf des Potentiometerstifts und drehen Sie diesen so weit, dass die Bewegung zum Stillstand kommt. Haben Sie dies erreicht, dann ist der Servo abgeglichen.

Nun müssen Sie diesen Abgleich mechanisch fixieren. Dafür tropfen Sie etwas Sekundenkleber in den Spalt zwischen den Potentiomenterstift und dessen Lager, damit sich der Stift nicht mehr dre­hen kann.

Später durch den Zusammenbau des Servos und bei anderer Temperatur wird sich dieser Abgleich jedoch noch leicht ändern, so dass der Servo trotz Nullsignal sich noch ganz langsam dreht.

Die­ser Effekt ist prinzipiell nicht zu verhindern. Er lässt sich wie in Abschnitt 6.1 der PDF-Dokumentation aufgeführt über Soft­ware beheben falls gewünscht.

3 Adaption von Lego-Rädern an die Servos

Der Servo S3317M besitzt zufällig eine Servokrone, die optimal in Bohrung eines einfachen Lego Technik Rad eingepresst werden kann. Falls die Pressung nicht ausreichend fest ist, und die Ser­vokrone im Rad durchdreht, kann dies über das Einlegen eines dünnen Papiers oder einer dünnen Folie behoben werden. Das Einkleben oder Verschrauben des Legorads ist nicht nötig.

Generell besitzen die Servokronen immer ein Innengewinde, auf dem sogenannte „Servohörner“ aufgeschraubt werden (Schrauben und Hörner liegen den Servos meistens bei). Wenn aufgrund eines zu kleinen Servokronendurchmessers die oben beschriebene Passung nicht funktioniert, dann kann das Legorad auch wie ein Servohorn mit einer Schraube befestigt werden. Dafür muss aber das Legorad evtl. in seiner Achse durchbohrt werden, d.h. die Adaption ist nicht mehr zerstö­rungsfrei.

Größere Lego-Technik-Räder besitzen eine Achse zum Einstecken der bekannten Stifte mit kreuz­förmigen Querschnitt. Hier ist nur eine (nicht zerstörungsfreie) Montage auf die Servokrone über eine Schraube möglich.

Anschließend wird der Servo mit doppelseitigem Klebeband (z.B. Tesa Powerstripes, oder 3M VHB Klebeband) auf eine Legoplatte fixiert.


4 Ansteuerung der Motoren mit direkter Stromversorgung über den Arduino

Generell ist es keine gute Idee, einen Antrieb direkt aus einem µC mit Strom zu versorgen. Denn die Ausgänge des µC können nur kleine Ströme liefern wohingegen selbst kleine Antriebe wie Ser­vos teils hohe Spitzenströme zum Anlauf oder Richtungswechsel benötigen.
Dadurch kann die Spannung am µC so stark einbrechen, dass dieser einen Reset ausführt.

Normalerweise steuert man daher die Antriebe über eine separate Leistungselektronik an oder ver­sorgt die Servos getrennt zum µC mit Spannung. Die erste Möglichkeit scheidet aus Kostengrün­den aus. Die separate Stromversorgung benötigt wie in Abschnitt 3.2 der PDF-Dokumentation erklärt einen DC-DC-Wand­ler.

Beim Legoino ist eine rein softwarebasierte Lösung realisiert worden: Das Auftreten von Spitzen­strömen an den Servos wird durch ein sanftes Anfahren und Bremsen der Servos verhindert. Wenn der Legoino den Befehl erhält loszufahren, dann werden die Servos nicht ruckartig auf die Solldrehzahl angesteuert. Die Software fährt in diesem Fall automatisch die Drehzahl stufenweise von Null auf den gewünschten Endwert hoch.

5 ArduSmartPilot App zur Steuerung des Legoino

Wird der Legoino mit einem Bluetoothmodul ausge­stattet, so kann er über ein Android-Endgerät (z.B. Smartphone) gesteuert werden. Zusätzlich können vom Legoino aufgenommene Sensorwer­te auf das Android-Endgerät übertragen und dort dargestellt wer­den.

Diese Funktionalität ist in der Arduinosoftware LegoinoMitSmartphone berücksichtigt. Dabei funk­tioniert die Kommunikation zwischen dem Iteaduino und dem Android-Endgerät identisch zum Projekt ArduSm­artPilot (siehe www.ardusmartpilot.de). Der einzige Unter­schied ist, dass die Steuerbefehle des An­droid-Endgeräts nicht so oft in Servosignale umgesetzt wer­den, da die Antriebe des Legoino durch das sanfte An­fahren und Bremsen, siehe Abschnitt 4.4 der PDF-Dokumentation, wesentlich träger sind als beim Ar­duSmartPilot.

Wie beim ArduSmartPilot wird die Android-App über die Entwicklungsumgebung (IDE) Processing erstellt und unterscheidet sich lediglich durch ein anderes Icon und eine andere Beschriftung der Tasten für die Motorleistung. Über diese Tasten wird beim Legoino nicht die Motorleistung, sondern eine RGB-LED, ein Laserpointer und ein Piepser angesteuert.
Die Processing-Software hierzu heißt: LegoinoBT.

Alternativ kann die Android-App auch über eine andere IDE erstellt werden. Speziell für Projekte mit Kindern und Jugendlichen bietet sich dafür die grafische IDE „App Inventor“Realisierung1 an. Eine wenn auch nur kurze Anleitung, wie man dabei die BT-Kommunikation einbindet findet sich in dem Arduinobuch (nur in der Auflage 2014!) von E. Bartmann .

 

1Siehe www.appinventor.mit.edu/explore/.

1Siehe z.B. www.de.wikipedia.org/wiki/Servo.

Literaturverweis:

4: Karvinen, K. und T.: Make: Arduino Bots and Gatgets. O'Reilly, Sebastopol, 2011.