Wer meine Bewertung nicht ganz durchlesen möchte, hier nur ein Hinweis: Dieser Servo hat keine zuverlässige Erkennung der beiden Endpositionen. Der Motor schaltet nicht ab, wenn irgend ein Hindernis den Schlitten blockiert oder aber der Schlitten kraftvoll in die Endlage schnellt und dann dort blockiert wird. Der Motor läuft dann ewig weiter und wird ganz heiss ! Man muss den Servo in so einem Fall per Hand am grossen Zahnrad anschieben. Vollständige Bewertung: Wurde schnell geliefert und war sicher in einer Kunststoffkapsel verpackt. Wenn man sowas bestellt, immer darauf achten, wieviel es sind. Bei einigen Anbietern sieht man ein Bild mit 2 Stück. Es sind aber oft nur die Versionen links und rechts gleichzeitig abgebildet. Geliefert wird aber meistens nur ein Stück. Das muß man bei Preisvergleichen unbedingt beachten. Dieser Linearservo ist wirklichsehr klein. Gewicht je nach Stecker 1,5 bis 2gr. Leider ist dem Produkt keinerlei Anleitung oder gar ein Datenblatt beigelegt. Man muß sich das wie einen normalen Servo mit 180 Grad Drehwinkel vorstellen, nur dass der Weg bei diesem Antrieb gestreckt auf einer Geraden liegt. Der Servo geht nicht automatisch in Mittelstellung. An dem kleinen Horn sind 3 Löcher für die Anbindung mittels Steuerdraht oder Schnur. Das Achsspiel ist bei mir relativ groß. Die Achse mit dem großen Zahnrad wandert bei Richtungswechsel immer ca. 0,5mm . Die theoretisch nutzbare Fahrweg beträgt bei mir 8,5mm. Praktisch sind es nur 7mm. Denn leider, und das ist das größte Manko an diesem Servo, muss man dafür sorgen, daß die beiden Endpositionen lieber nie angesteuert werden, weil der Schlitten dort klemmen kann. Aus irgendwelchen Gründen verfügt der Servo auch über keine zuverlässige Endlagenerkennung. Der Rückmelde- Widerstand scheint nicht besonders gut auf den Fahrweg abgestimmt zu sein. Das führt dazu, daß das Getriebe in den Enlagen blockiert wird und der Motor dann heißlaufen kann. Ich habe das Heißlaufen an zwei verschiedenen Servos reproduzierbar auslösen können. Ich habe etwas Zeit gebraucht, um die Ursache zu finden. Unter anderem habe ich dafür ein Programm geschrieben, das mir die Wunschposition auf einem OLED- Display anzeigt. Dieses Heißlaufen muß unbedingt verhindert werden. In meinem Beispiel Sketch -siehe unten- habe ich daher die Gradzahl von 20 bis 159 eingegrenzt. Erst damit ist mir der Servo nicht mehr heißgelaufen und der Schlitten klemmt nicht mehr am Ende. Der Antrieb ist schnell ! Die Kraft ist für diesen kleinen Kerl dank dem Getriebe recht hoch. Für einen kleinen Flieger sollte daß ausreichend sein. Die Versorgungsspannung soll laut Angabe zwischen 3,7 bis 5V DC liegen. Ich empfehle 5V DC damit man eine möglichst hohe Stellkraft bekommt. Nur 3,7 V Versorgung habe ich auch getestet, es bringt keinen Vorteil, sogar im Gegenteil. Wenn das Getriebe verklemmt, ist es dann noch unwahrscheinlicher, daß es alleine wieder freiläuft. Man benötigt in jedem Fall eine Steuerung um mit diesen Antrieb sinnvoll zu arbeiten. Der Antrieb wird wie ein ganz normaler Servo angesteuert. Dazu wird auf die weiße Steuerleitung ein 5V Signal mit Pulsweitenmodulation gelegt. Die Länge der Pulsbreite bestimmt dabei die anzufahrende Position. Den winzigen Buchsenstecker kann man eigentlich kaum gebrauchen. Ich habe den einfach abgekniffen und dort eine 3er Stiftleiste im 2,54 mm Raster angelötet. Damit ist der Antrieb passend für mein Experimentier- Steckbrett vom Arduino. Auf der Rückseite des Antriebs ist die Steuerelektronik mit dem KC-9702 Chip. Dieser Chip berechnet aus der Pulsweite und der aktuellen Position vom Antrieb die nötige Ansteuerung vom Motor um die gewünschte Position anzufahren. Die aktuelle Position wird scheinbar über einen Schleifwiderstand am Antriebsschlitten abgefragt. Man kann diese Istposition des Schlittens nicht selbst abfragen. Damit arbeitet nur der Chip im Servo. Leider ist diese Treiber- Elektronik des Servos nicht extra abgedeckt oder geschützt. Vorsicht also bei leitendem Untergrund ! Die zu dem Antrieb oft angebotenen blauen Steuerboxen finde ich einfach zu billig. Oft ist es auch kein echtes Gehäuse sondern nur eine drumherum gewickelte blaue Folie. Ich habe mich für eine Ansteuerung mit einem Arduino nano entschieden. Das wird auch in der späteren Anwendung meine Art der Ansteuerung werden. Praktischerweise gibt es für Arduino vorgefertigte Bibliotheken zur Ansteuerung von Servos. Diese Bibliothek übernimmt dabei die Umrechnung der Position in Signal mit der genau dazu passenden Pulslänge. Der Antrieb zittert manchmal. Das kommt durch die Ungenauigkeit vom Drehpoti und dem A/D Wandler im Arduino. Wenn man das verhindern will, müßte man programmtechnisch eine Überwachung einrichten die abfragt, ob sich der Wert am Analogeingang A0 deutlich zum letzten Meßwert geändert hat. Erst wenn das der Fall ist, sendet man die neue Wunschposition an den Servo. Bei den meisten Anwendungen wird man ohnehin nicht ständig auf der Steuerleitung senden und dann wird der Antrieb auch nicht anfangen zu zittern. Fazit: Dieser Linearservo ist schön winzig und vom Gewicht perfekt für kleine Flugprojekte geeignet. Leider hat der Servo keine zuverlässige Erkennung der Endlagen. Der Schlitten kann dort blockieren. Da der Motor keine Abschaltung bei Überlast hat, kann er heißlaufen und kaputt gehen. Als Vorsichtsmaßnahme begrenze ich den Fahrweg an beiden Enden und habe so nur 7mm Weg. Ich würde diesen Linear Mini- Servo nur eingeschränkt weiter empfehlen. Hier noch ein Beispielprogramm für den Arduino, natürlich alles ohne Gewähr. Benötigt wird ein 10k Drehwiderstand. // Einfaches Programm für den Micro- Linearservo am Arduino Uno oder Nano // Eine Begrenzung für den Fahrweg ist eingebaut. Siehe unten im Programmtext. // Linearservo rot an +5V; schwarz an GND; weiße Steuerleitung an Digital PWM Pin 9 // 10k Drehpoti an + und GND; Mittelabgriff an Analog Pin A0 vom Arduino // Arduino Bibliothek für Servomotoren einbinden # include "Servo.h" // Name für den Linearantrieb zuweisen Servo Linearservo; // Variable für den Potiwert einrichten int PotiMesswert; // Variable für die Richtungsangabe einrichten int LinearPosition; void setup() { // Die Steuerdaten sollen über Digital Pin 9 zum LinearServo gesendet werden // Die Bibliothek Servo.h sendet später über diesen Pin die passende Pulslänge zu der Wunschposition Linearservo.attach(9); } // Hauptschleife void loop() { // Spannung am Mittelabgriff vom Poti auslesen // Der 10Bit A/D Wandler am Analog Eingang A0 gibt eine Ganzzahl zwischen 0 und 1023 aus. int PotiMesswert = analogRead(A0); // Spannung in eine Linearposition umrechnen: // Anfang ist bei 0; 90 ist etwa die Mittelstellung; 179 ganz am Ende // Originaleintrag mit vollem Fahrweg 0 bis 180, aber der Motor kann damit heisslaufen ! // LinearPosition = map(PotiMesswert, 0, 1023, 0, 179); // Ich empfehle lieber, den Fahrweg an den Endpositionen etwas zu beschneiden, hier von 20 bis 159: LinearPosition = map(PotiMesswert, 0, 1023, 20, 159); // Linearantrieb zu der gewünschten Linearposition bewegen Linearservo.write(LinearPosition); delay(30); }