Test des Feetech-STS3215-Servomotors: Spiel, Wiederholbarkeit und Drehmoment
Im September gingen wir zu einer detaillierteren Phase der Servomotor-Tests über, bevor wir mit der Controller-Programmierung begannen. Wir starteten den Test des Feetech STS3215 C018 (Untersetzungsverhältnis 1:345, 12V, 30 kg·cm Blockiermoment) – ein beliebter Servomotor, der in Open-Source-Robotikprojekten wie SO-ARM100 und dem Robonine parallel gripper weit verbreitet ist. Dieser Artikel konzentriert sich hauptsächlich auf seine Leistung. Zunächst sehe ich mir die Herstellerangaben an. Diese Werte dienen als Ausgangsbasis für unsere Überprüfungstests. Auf einigen Bildern ist der Waveshare STS3215 zu sehen, der technisch sehr ähnlich ist – sogar mit derselben Firmware-Version.
Magnetischer Encoder 12 Bit
Der Feetech STS3215 verfügt über einen 12-Bit-Magnetencoder mit 4096 Schritten pro 360°-Umdrehung (0,088° pro Schritt). Diese magnetoresistive Bauweise vermeidet reibungsbedingten Verschleiß im Vergleich zu potentiometerbasierten Encodern mit Schleifkontakten, die mit der Zeit verschleißen. Das Fehlen beweglicher Kontaktflächen sorgt für eine zuverlässige Regelung mit Rückkopplung und eine gleichbleibende Langzeitleistung ohne Encoder-Degradation.
Feetech STS-3215: Rückseite und Zahnräder
Der Servo verfügt über ein mehrstufiges Metallgetriebe, das ein hohes Ausgangsdrehmoment in einem erschwinglichen Gehäuse liefern soll. Laut the datasheet weist das Getriebe laut Spezifikation ein Spiel ≤ 0,5° auf, was für diese Servoklasse typisch ist. Statt Kunststoff werden Metallzahnräder verwendet, um anhaltenden Belastungen und wiederholten Bewegungszyklen standzuhalten. Der Encoder ist vor der Getriebestufe integriert, um eine direkte Rückmeldung des Motors zu liefern. Das Getriebe nutzt ein Übersetzungsverhältnis von 1:345, wodurch der Servo die Motordrehzahl in ein hohes Ausgangsdrehmoment umwandeln kann, das für Robotikanwendungen geeignet ist. Das hohe Übersetzungsverhältnis und die Metallgetriebe-Bauweise machen diesen Servo für rückwärtsangetriebene Anwendungen ungeeignet, da äußere Kräfte die Zahnräder leicht zurückdrehen können, was zu unkontrollierter Bewegung und möglichen Motorschäden führt.
Das Leistungsdiagramm zeigt official datasheet die Werte für Ausgangsleistung, Drehzahl, Wirkungsgrad und Stromaufnahme bei Drehmomentlasten von 0 bis 30 kg·cm. Die Drehzahl sinkt linear mit zunehmender Last, während die Ausgangsleistung um etwa 15 kg·cm ihren Höhepunkt erreicht und bei höheren Lasten abnimmt. Der Wirkungsgrad erreicht sein Maximum (etwa 26 %) im Bereich von 6–9 kg·cm, was für erschwingliche Servomotoren typisch ist. Die Stromaufnahme steigt im gesamten Arbeitsbereich linear mit dem geforderten Drehmoment. Diese Datenblattangaben zeigen, dass der Servo trotz der bei kostengünstigen Konstruktionen üblichen bescheidenen Wirkungsgradwerte ein zuverlässiges Leistungsmanagement bietet, das sich für budgetbewusste Robotik- und Automatisierungsanwendungen eignet.
Test von Geschwindigkeitsleistung und Genauigkeit
Der Feetech-STS-3215-Servo wurde bei 100 % und 50 % seiner Nenndrehzahl getestet. Die Messungen ergaben eine Höchstdrehzahl von etwa 46 RPM mit einer Genauigkeit von ±2 % und Schwankungen von rund 7 %. Obwohl bei niedrigeren Drehzahlen geringfügige Schwankungen beobachtet wurden, blieb die Bewegung insgesamt stabil und entsprach den Herstellerangaben.
Diese Ergebnisse bestätigen, dass die nominale Leerlaufgeschwindigkeit des Servos von 0,22 s/60° gut mit den Datenblattwerten übereinstimmt und für Robotik- und Motion-Control-Anwendungen ausreichende Geschwindigkeit und Reaktionsfähigkeit bietet.
Einstellung 100 % Geschwindigkeit. Gemessener Durchschnitt von 45,6 RPM mit einer typischen Abweichung von 0,48 RPM.
Einstellung 50 % Geschwindigkeit. Gemessener Durchschnitt von 21,9 RPM mit einer typischen Abweichung von 0,34 RPM.
Einstellung 5 % Geschwindigkeit. Gemessener Durchschnitt von 2,3 RPM mit einer beobachteten Streuung von etwa 0,25 RPM.
Messung des Spiels
Eine der zentralen Eigenschaften, die uns dazu brachten, unser Manipulatordesign zu überdenken, ist das Spiel. Mit einer Messuhr maßen wir zunächst eine lineare Verschiebung von 1,3 mm an der Spitze eines 86 mm langen Hebelarms. Daraus berechneten wir ein Winkelspiel von 0,0151 Radiant (≈ 0,87°) – deutlich höher als die im Datenblatt angegebene Grenze von 0,5°. Diese Abweichung ist recht erheblich, da selbst kleine Winkelfehler am Gelenk zu Verschiebungen im Millimeterbereich am Ende des Arms führen.
Beim Versuchsaufbau wurde ein Gummiband verwendet, das eine Spannung von etwa 30 g aufbrachte, um eine gleichmäßige Belastung sicherzustellen, während eine Messuhr die resultierende Verschiebung maß. Diese Methode lieferte stabile Messwerte ohne übermäßige Kraft- oder Drehmomentabhängigkeit.
Darüber hinaus scheint ein Teil dieses Spiels softwarebedingt zu sein: Es gibt eine integrierte Totzone von 10 Encoder-Zählschritten, das heißt, der Motor ignoriert kleine Befehle innerhalb dieses Bereichs. Spiel äußert sich außerdem als Zittern oder Schwingen, wenn der Arm ausgestreckt ist – der Servo hat Mühe, präzise in seine Zielposition zurückzukehren, was zu sichtbaren Vibrationen führt.
Test der Wiederholbarkeit
Ein weiterer wichtiger Parameter ist die Wiederholbarkeit. Der Wiederholbarkeitstest des Feetech-STS3215-Servos wurde mit einem 10 cm langen vertikalen Hebel durchgeführt, mit Schritten von 20 Schritten, drei Zyklen in jede Richtung und drei vollständigen Durchläufen. Die Ergebnisse weisen auf eine stabile Leistung unter kontrollierten Bedingungen hin.
Testparameter und Ergebnisse:
- Hebelaufbau: 10 cm vertikaler Arm
- Testmethode: Schritte von 20 Schritten; 3 Zyklen in jede Richtung; 3 vollständige Durchläufe
- Gemessene Spitzenabweichung: ±0.3 mm
- Äquivalente Winkelwiederholbarkeit: ≈ 0.17° (≈10 arcmin)
- Encoder-Auflösung: 12-bit = 0.088°
- Lineares Äquivalent eines Encoder-Zählschritts (bei 10 cm Radius): ≈ 0.153 mm
- Beobachtete Abweichung: ≈ 2 encoder counts
- Notes: Der Federtaster gleicht mechanisches Spiel aus; der Test könnte zur Verbesserung der Genauigkeit verfeinert oder unter Last wiederholt werden
Die gemessene mittlere absolute Positionsabweichung beträgt etwa 2 Encoder-Schritte bzw. 0,17 Grad
Dies zeigt, dass der STS3215-Servo ein gleichbleibendes Positionierverhalten beibehält, obwohl die gemessene Wiederholbarkeit innerhalb weniger Encoder-Schritte liegt, und eine weitere Verfeinerung seine Leistung unter Betriebslastbedingungen bestätigen könnte.
Test des Drehmoments
Wir führten außerdem einen dynamischen Drehmomenttest des Feetech-STS-3215-Servos mit unterschiedlichen Lasten durch, um seine reale Leistung in Bewegung zu bewerten.
Testkonfiguration:
- 10 cm Hebelarm
- Testlasten: 1 kg, 1,5 kg und 2 kg
Testergebnisse:
- Bei 1,5 kg Last: Der Servo arbeitete stabil mit einem Temperaturanstieg von etwa 15 °C nach 10 Minuten ununterbrochener Bewegung
- Bei 2 kg Last: Der Servo ging nach mehreren Betriebszyklen in den Überlastschutz und begrenzte das Ausgangsdrehmoment vorübergehend, um Schäden zu vermeiden
- Die Leistung blieb bis etwa 15 kg·cm gleichbleibend und stimmte eng mit dem im Datenblatt angegebenen Nenndrehmoment überein
Der dynamische Drehmomenttest mit einer Last von 10 kg·cm zeigt, dass die Stromaufnahme deutlich unter 1 A bleibt, während die interne Lastschätzung 50 % leicht überschreitet
Im dynamischen Test mit einer Last von 10 kg·cm betrug die gemessene mittlere absolute Positionsabweichung 22,5 Encoder-Schritte, was etwa 2 Grad entspricht
Bei einer Last von 15 kg·cm im dynamischen Test weist die interne Lastschätzung auf eine geringe verbleibende Reserve hin, während die Stromaufnahme im erwarteten Bereich bleibt
Bei einer Last von 15 kg·cm im dynamischen Test beträgt die gemessene mittlere absolute Positionsabweichung 30 Encoder-Schritte bzw. etwa 2,6 Grad.
Dieser Test zeigt die dynamische Drehmomentfähigkeit des Servos und die Wirksamkeit seiner Schutzmechanismen gegen Überhitzung und Überlast. Ein Dauerbetrieb beim maximalen Nenndrehmoment kann den mechanischen Verschleiß über längere Zeiträume beschleunigen.
Als Nächstes untersuchten wir das Blockiermoment – das maximale Drehmoment, das der Motor in einer statischen Position ohne Bewegung halten kann.
Testkonfiguration:
- 10 cm Hebelarm in einem Winkel von 45° positioniert
- Statische Last: etwa 3,5 kg (≈ 35 kg·cm Drehmoment)
Testergebnisse: Unter anhaltender schwerer Last ging der Servo gelegentlich in den Überlastschutzmodus und reduzierte das Ausgangsdrehmoment auf etwa 20 % der Nennleistung. Sowohl die Schutz-Auszeit als auch die sichere Drehmomentgrenze sind über die Controller-Register konfigurierbar, sodass Anwender das Schutzverhalten für bestimmte Anwendungen feinabstimmen können. Das gemessene Blockiermoment überstieg den Datenblattwert von 30 kg·cm leicht und bestätigte, dass der STS-3215 bei korrekter Konfiguration über seiner Nennspezifikation arbeitet.
Temperatur unter konstanter Last
Test 1: Überhitzungsprüfung beim Halten einer statischen Last.
Überhitzungstest unter statischer Last. Feetech STS3215
Der Arm mit einer Hantel wurde seitlich positioniert und hielt ein Gewicht von 1 kg an einem 15 cm langen Hebelarm, was ein Drehmoment von 15 kg·cm ergab. Innerhalb von 10 Minuten stieg die Temperatur auf 48 °C und blieb eine Stunde lang stabil, ohne weiter anzusteigen.
Test 2: Schwingung im Bereich von ±90 Grad. Temperaturmessung
Schwingung im Bereich von ±90 Grad. Temperaturtest. Feetech STS3215
Ausgehend von 48 °C erreichte die Temperatur nach 50 Minuten 60 °C. In den folgenden 20 Minuten stieg die Temperatur nicht an. Anschließend wurde die Schwinggeschwindigkeit reduziert, um die Erwärmung zu beschleunigen (siehe Anmerkung unten). Es wurden weitere 40 Minuten benötigt, um 71 °C zu erreichen, woraufhin der Motor überhitzte.
- Kritische Temperaturschwelle: Bei 71 °C zeigt der Motor Probleme, wie in den gestern und heute durchgeführten Experimenten beobachtet (zwei Fälle). Ein integrierter Überhitzungsschutz scheint nicht vorhanden zu sein, sodass beim Erreichen dieser Temperatur eine manuelle Abschaltung erforderlich ist.
- Auswirkung der Beschleunigung auf die Erwärmung: Eine Verringerung der Beschleunigung erhöhte die Geschwindigkeit des Temperaturanstiegs. Anfänglich erreichte die Temperatur bei einer Beschleunigung von 5 den Wert von 60 °C. Eine Senkung der Beschleunigung auf 2 führte nach zusätzlicher Zeit zu einer Überhitzung. Morgen werden in weiteren Tests die bis zur Überhitzung benötigte Zeit bei einer Beschleunigung von 5 gemessen, da eine Beschleunigung von 2 für unsere Anwendung zu langsam ist.
Experiment zur Spielkompensation
Ein zusätzliches Experiment, das von unserem Softwareingenieur Boris durchgeführt wurde, befasste sich mit der Spielkompensation mittels eines Vorspannaufbaus aus zwei Servos. In diesem Test wurden zwei Feetech-STS-3215-Servos mit 3D-gedruckten PETG-Hebelarmen montiert, die durch ein gespanntes Seil verbunden waren. Jeder Servo brachte eine geringe Vorlast auf und beseitigte so wirksam das mechanische Spiel in der Verbindung.
Der Aufbau ist unkompliziert, aber sehr wirkungsvoll, um zu zeigen, wie eine Vorspannung das Spiel in der Praxis beseitigen kann. Als beide Servos eine gegenläufige Spannung aufbrachten, blieben die Arme völlig unbeweglich, was bestätigte, dass das mechanische Spiel vollständig kompensiert war. Diese Methode verbessert die Positionsstabilität und -präzision erheblich und ist daher besonders nützlich für Robotergelenke, Motion-Control-Systeme und DIY-Automatisierungsprojekte.
Kernpunkte:
- Zwei STS-3215-Servos mit PETG-Hebelarmen
- Seilverbindung unter kontrollierter Vorspannung
- Demonstriert die Beseitigung mechanischen Spiels durch Vorlastkompensation
Zusammenfassung der Spezifikationen und Testergebnisse
| Parameter / Testmethode / Bedingung | Gemessenes Ergebnis | Spezifikation / Datenblattwert | Anmerkungen / Kommentare |
|---|---|---|---|
| Betriebsspannung | 12 V | 12 V | Betriebsbereich: 4–14 V |
| Statisches Moment (Blockiermoment) Hebelarm 10 cm in 45°-Winkel auf der Waage | ~3.5 kg (35 kg·cm) | 30 kg·cm | Etwas höher als der Nennwert; geht bei längerer Last in den Schutzmodus |
| Dynamisches Drehmoment Heben von 1,5 kg an einem 10-cm-Hebel | Hält die Last mit einem Anstieg von +15 °C | — | Temperatur stieg nach 10 min um +15 °C; Überlast wurde bei 2 kg Last ausgelöst |
| Leerlaufdrehzahl (RPM) Gemessen bei 100 % und 50 % Geschwindigkeit | Max. ~46 RPM; ±2 % Genauigkeit; ~7 % Schwankung | 45 RPM (0.22 s/60°) | Standardeinstellungen; etwas unruhiger Lauf, aber akzeptabel |
| Encoder-Auflösung UART-Registerauslesung | 4096 Schritte pro Umdrehung (12 Bit) | 12-Bit-Magnetencoder (4096) | 0,088° pro Schritt |
| Getriebespiel (freies Spiel) Messung durch freie Drehung von Hand (Messuhr-Methode) | ~ 0,87° | ≤ 0.5° | — |
| Positionsfehler unter Last 1,5 kg Last, 10 cm Hebel, 45°-Winkel | 20–30 Encoder-Werte (1,8–2,6°) | — | Der Fehler nimmt unter Last deutlich zu |
| Wiederholbarkeit (Messuhr) 10 cm Hebel vertikal; Schritte von 20 Schritten; 3 Zyklen in jede Richtung; 3 Durchläufe | Abweichung von ±0,3 mm an den Messpunkten | — | Der Federtaster gleicht mechanisches Spiel aus; der Test könnte verfeinert oder unter Last durchgeführt werden |
| Temperaturanstieg (Test unter statischer Last) – 1 kg Last an einem 15-cm-Hebelarm (≈15 kg·cm Drehmoment); Arm seitlich positioniert | Temperatur stieg nach 10 min auf 48 °C und blieb >1 h stabil ohne weiteren Anstieg | Betriebstemperaturbereich: –10 °C – 60 °C | Stabiles thermisches Verhalten unter statischer Last; deutlich innerhalb der Nennbetriebsgrenzen |
| Temperaturanstieg (Schwingungstest) – Bereich ±90°; ununterbrochene Bewegung; Anfangstemperatur 48 °C | Erreichte nach 50 min 60 °C, stabilisierte sich 20 min lang, stieg dann nach ~110 min auf 71 °C an, was zur Überhitzung führte | Überhitzungsschutz-Schwelle: 70 °C | Keine aktive thermische Abschaltung beobachtet – bei etwa 70 °C ist eine manuelle Abschaltung erforderlich. Eine Verringerung der Beschleunigung erhöhte die Erwärmungsrate (accel = 2 → Überhitzung; accel = 5 → stabil ~60 °C). |
| Kommunikationsschnittstelle | UART TTL, Halbduplex | Funktionsfähig | 38400 bps – 1 Mbps (Standard 1 Mbps); verkettbarer Anschluss mehrerer Servos |
| Regelung mit Rückkopplung | Positions- und Geschwindigkeitsrückmeldung funktioniert zuverlässig | — | Unterstützt Positionshaltung und Geschwindigkeitsregelung |
| Telemetrie / Rückmeldung | UART-Auslesung: Position, Geschwindigkeit, Strom, Spannung, Last, Temperatur | — | Vollständige Telemetrie verfügbar |
| Schutzsysteme | Überlast, Überstrom, Überspannung, Unterspannung, Übertemperatur | Funktionsfähig | Konfigurierbare Auszeit und sichere Grenzwerte über Register |
| Firmware-Totzone | Befehlseingabe < 10 Encoder-Schritte | Keine Bewegung beobachtet | Integrierte Totzone von 10 Zählschritten |
| Preis / Zubehör | — | ~$15 (Servo) + ~$5 (UART-Adapter) | Ausgezeichnetes Preis-Leistungs-Verhältnis |
Fazit
Der Feetech STS3215 zeigt eine starke Drehmomentleistung und eine stabile UART-Kommunikation und eignet sich für Robotik- und Automatisierungsanwendungen der Mittelklasse. Mechanisches Spiel und eine per Firmware festgelegte Totzone (10 Encoder-Zählschritte) verringern jedoch die Positioniergenauigkeit bei Aufgaben mit feinen Bewegungen.
Hauptvorteile
- Kompakt und leicht
- Integrierte Regelung mit Rückkopplung (Position & Geschwindigkeit)
- Integrierte Telemetrie- und Schutzfunktionen
- Einfache Parametereinstellung und UART-Protokoll
- Unterstützt die Reihenschaltung mehrerer Servos
- Ausreichende Encoder-Präzision (4096 Schritte)
- Lässt sich direkt über PC oder Mikrocontroller steuern
Hauptbeschränkungen
- Getriebespiel höher als angegeben
- Firmware nicht vom Anwender aktualisierbar
- Erfordert Dauerlasttests zum langfristigen Verschleiß
- Hörbares mechanisches Geräusch
Melde dich an, um einen Kommentar zu hinterlassen.