Kostengünstige Elektromotoren für den Roboterarm auswählen
In diesem Artikel möchte ich erläutern, wie die Auswahl der wichtigsten Komponente des Robotermanipulators – der Elektromotoren – ablief. Ich beginne mit einem Überblick über die Lösungen, die Trossen Robotics im Manipulator Viper X 300 S gewählt hat, der eine der beliebtesten Lösungen für Forschungsprojekte wie Aloha 2 und Pi0 ist.
Servoantriebe im Manipulator Viper X 300 S
Servoantriebe im Manipulator ViperX 300 S
Zunächst untersuchten wir bestehende Lösungen für Manipulatoren mit 6DOF (sechs Freiheitsgraden). Der Manipulator, auf den ich mich konzentriert habe, ist der Viper X 300 S, da er ursprünglich in der Materialliste für Aloha 2 enthalten war. Der Hersteller hat einen Teil der Dokumentation und der Zeichnungen zugänglich gemacht, und ich fand es eine großartige Idee, diese Lösungen wiederzuverwenden.
Desktop-Roboterarm ViperX-300 6DOF
Die größte Herausforderung beim Bau eines erschwinglichen Manipulators besteht darin, zugängliche Antriebe mit hohem Drehmoment zu finden. Im Viper X 300 S setzte Trossen Robotics DYNAMIXEL XM430-W350 Servomotoren mit einem Blockiermoment von 4 Nm ein, zum Preis von $290, and DYNAMIXEL XM540-W270-T/R Servomotoren mit einem Blockiermoment von 10 Nm ein, zum Preis von $430. A total of 9 Servo motors werden benötigt, um einen solchen Manipulator zu bauen, was die Gesamtkosten auf 3.590 $ treibt – das gilt nicht mehr als erschwinglich.
| ID | Gelenkname | Servo | Baudrate | Preis |
| 1 | Taille | XM540-W270 | 1Mbps | $430 |
| 2 | Schulter | XM540-W270 | 1Mbps | $430 |
| 3 | Schulter (Zweitantrieb) | XM540-W270 | 1Mbps | $430 |
| 4 | Ellbogen | XM540-W270 | 1Mbps | $430 |
| 5 | Ellbogen (Zweitantrieb) | XM540-W270 | 1Mbps | $430 |
| 6 | Unterarmdrehung | XM540-W270 | 1Mbps | $430 |
| 7 | Handgelenkwinkel | XM540-W270 | 1Mbps | $430 |
| 8 | Handgelenkdrehung | XM430-W350 | 1Mbps | $290 |
| 9 | Greifer | XM430-W350 | 1Mbps | $290 |
| Gesamt | $3590 | |||
Ein Ingenieur (im Folgenden Alan genannt), der derzeit an dem Projekt arbeitet, erstellte eine kinematische Berechnung für einen Manipulatorarm mit einer Gesamtlänge von 700 mm und einer Tragfähigkeit von 750 Gramm.
Gelenke des ViperX 300
| Version 1.1 – 0,75 kg | |||||||
| Trägheits-Sicherheitsfaktor – 1,5 | |||||||
| Gelenk | Achse | Schulter, cm | Last | kg*sm | kg*sm | Gewicht am Ende | kg |
| Basis | 0 | 0 | 3 | 7 | |||
| Schulter | 1 | 20 | 1,8 | 54,0 | 81 | Last | 0,75 |
| Ellbogen | 2 | 20 | 1,5 | 30,0 | 45,0 | Greifer | 0,25 |
| Unterarm | 3 | 0 | 1,2 | 0 | 0 | Servo | 0,1 |
| Hand -1 | 4 | 15 | 1,1 | 16,5 | 24,8 | ||
| Hand – 2 | 5 | 0 | 1 | 0 | 0 | ||
| Greifer | 6 | 0 | 0,75 | 0 | 0 | ||
Den Berechnungen zufolge benötigen wir an der Basis des Arms Antriebe mit einem erforderlichen Drehmoment von 81 kg·cm, also insgesamt 8 Nm. Das bedeutet, dass es ausreichen sollte, an der Basis zwei Servomotoren mit jeweils einem Blockiermoment von 4 Nm zu installieren. Es ist jedoch entscheidend zu verstehen, dass das maximale Arbeitsdrehmoment eines Servomotors mit einem Blockiermoment von 4 Nm – also das Drehmoment, mit dem er stabil arbeiten kann – in der Regel nur etwa die Hälfte dieses Wertes beträgt, wie im Performance Graph.
XM430-W350 Performance Graph
Diese Einschränkung muss berücksichtigt werden, damit der Manipulator die gewünschten Lasten bewältigen kann, ohne die Motoren zu überlasten.
Arten von Servoantrieben
Ich begann zu untersuchen, welche Motortypen in preisgünstigen Manipulatoren verwendet werden.
- Schrittmotoren wie Nema 17, Nema 23.
Schrittmotor Nema 17
- PWM-Motoren (Pulsweitenmodulation) wie der Dsservo 160 kg·cm.
DsServo DS51160MG
- UART-Motoren (Universal Asynchronous Receiver/Transmitter) wie der Feetech STS 3215-C01.
Feetech-STS3215
Auf welche Schlüsselkennzahlen werden wir uns konzentrieren?
- Drehmoment
- Präzision
- Strom, Spannung
- Rückmeldung (Temperatur-, Strom- und Positionssensoren)
- Gewicht
- Kosten
Was ist das Drehmoment eines Motors?
Drehmoment = Kraft (F) × Abstand (d)
Das Drehmoment eines Motors ist die Kraft, die ihn zum Drehen bringt. Man kann es sich als die „Drehkraft“ vorstellen, die dem Motor hilft, seine Arbeit zu verrichten. Je höher das Drehmoment, desto leichter kann der Motor beschleunigen und schwere Lasten heben. Für Autos ist es wichtig: Ein gutes Drehmoment hilft beim besseren Beschleunigen und beim Bergauffahren.
Das Drehmoment eines Motors ist definiert als das Produkt aus der aufgebrachten Kraft und dem Abstand vom Drehpunkt bis zu dem Punkt, an dem diese Kraft angreift. Die Formel lautet wie folgt:
Drehmoment = Kraft × Abstand (oder Drehmoment = F × d). Je höher das Drehmoment, desto größer ist der Hebelarm, mit dem dieser Motor arbeiten kann.
Positioniergenauigkeit
In der Robotik ist dies eine der wichtigsten Kennzahlen, denn die Aufgabe des Servoantriebs besteht darin, den Arm präzise im Raum zu positionieren, und je genauer uns das gelingt, desto besser. Die wichtigsten Eigenschaften eines Roboterarms sind die Wiederholgenauigkeit und die absolute Genauigkeit.
Wiederholgenauigkeit
Damit ist die Fähigkeit des Manipulators gemeint, nach mehreren Zyklen zum selben Punkt im Raum zurückzukehren. Sie wird in Millimetern gemessen (zum Beispiel ±0,01 mm). Je kleiner der Wert, desto höher die Genauigkeit bei der Wiederholung der Bewegungen.
Absolute Genauigkeit
Dies ist die Fähigkeit des Manipulators, einen bestimmten Punkt im Raum bezogen auf ein globales Koordinatensystem zu erreichen. Sie wird in Millimetern gemessen (zum Beispiel ±0,1 mm). Die absolute Genauigkeit ist aufgrund der Anhäufung von Fehlern in der Kinematik in der Regel schlechter als die Wiederholgenauigkeit.
Rückmeldesensoren
Positionssensoren
- Hall-Effekt-Sensoren: Diese Sensoren bestimmen die Position des Rotors. Sie nutzen Magnete, um zu erkennen, wo sich der bewegliche Teil des Motors (der Rotor) befindet oder wie schnell er sich dreht.
Funktionsprinzip des Hall-Effekt-Sensors
- Resolver: Sie ermöglichen die präzise Bestimmung des Drehwinkels. Sie funktionieren als genaue „Winkeldetektoren“ und geben die exakte Position des Motorrotors an.
Funktionsprinzip des Resolvers
- Potentiometer: Dieses Bauteil, ähnlich einem Lautstärkeregler, ändert seinen Widerstand bei der Bewegung des Motors und zeigt so die Position seiner Welle an.
Funktionsprinzip des Potentiometers
- Optische Encoder: Sie liefern Informationen über die Position und die Geschwindigkeit des Rotors. Stellen Sie sich ein kleines Rad mit Schlitzen vor. Licht fällt durch diese Schlitze, und durch das Zählen dieser Lichtimpulse bestimmen wir, wie oft sich der Motor gedreht hat und wo er sich befindet.
Funktionsprinzip des optischen Encoders
- Magnetische Encoder: Sie messen Position und Geschwindigkeit ebenfalls mithilfe von Magnetfeldern. Sie nutzen Magnete, um die Position des Motors zu verfolgen, und funktionieren auch unter schwierigen Bedingungen gut.
Funktionsprinzip des magnetischen Encoders
Stromsensoren
- Strommesssensoren: Sie messen den vom Motor aufgenommenen Strom, um die Last zu beurteilen.
Funktionsprinzip des Strommesssensors
Temperatursensoren
- Thermoelemente oder Thermistoren: Sie überwachen die Temperatur des Motors, um eine Überhitzung zu verhindern.
Funktionsprinzip des Thermoelements
Schrittmotoren
Schema des Schrittmotors
Auf Schrittmotoren bin ich aufgrund ihrer Größe, ihres höheren Gewichts, ihres geringeren Drehmoments und ihrer niedrigen Positioniergenauigkeit nicht näher eingegangen.
For example, the Nema 17 Bipolar 1.8° 36Ncm lässt sich mit dem preisgünstigen UART-Servomotor vergleichen ST3215-C018 in einem ähnlichen Preisbereich. Der Nema 17 wiegt 280 Gramm und hat ein Drehmoment von 36 N·cm (oder 3,6 kg·cm) bei einem Schrittwinkel von 1,8 Grad.
Schrittmotor Nema 17
Der Servomotor in einem ähnlichen Preisbereich, Feetech ST3215-C018, wiegt 55 Gramm, hat ein Drehmoment von 30 kg·cm und eine Positioniergenauigkeit von 0,09 Grad.
| Motormodell | Masse/Gramm | Nenndrehmoment/kg | Genauigkeit/Grad | Preis/$ |
| Nema 17 Bipolar 1.8deg 36Ncm | 280 | 3,6 | 1,8 | 10,75 |
| Feetech ST3215-C018 | 55 | 15 | 0,09 | 16.45 |
Wenn wir also anhand der Schlüsseleigenschaften vergleichen, die wir für unseren Arm berücksichtigt haben – Gewicht × Drehmoment × Positioniergenauigkeit –, ergibt sich ein Unterschied von (280 / 55) × (15 / 3,6) × (1,8 / 0,09) ≈ 424-mal. Natürlich können wir diese Motortypen nicht allein anhand dieser 3 Parameter vergleichen; wir haben eine Reihe weiterer Faktoren außer Acht gelassen, etwa RPM, Untersetzungsverhältnis, Geräusch und Spiel. Fügen wir diese der Vergleichstabelle hinzu, ist der Unterschied nicht mehr so erheblich. Für manche Szenarien könnte der Nema-Motor die bessere Wahl sein.
PWM gegen UART
Grundschema des Servoantriebs
Ich begann, nach erschwinglichen Servos mit hohem Drehmoment zu suchen. Das Erste, was ich fand, war der DsServo RDS51150, der ein Drehmoment von 150 kg·cm hat – ein sehr hoher Wert für diesen Servotyp. Eine Besonderheit dieser Servos ist, dass sie ein Steuerungssystem mit einem Positionssensor auf Potentiometer-Basis enthalten, was die Rückmeldung und die Positionsregelung aufgrund der begrenzten Genauigkeit und Empfindlichkeit des Potentiometers erschwert.
Prinzip der Pulsweitenmodulation
Eine Besonderheit der Funktionsweise von Dsservo-Motoren ist, dass es sich um PWM-Motoren (Pulsweitenmodulation) handelt. Dies ist eine Methode zur Steuerung der Leistung des elektrischen Stroms durch impulsweises Ein- und Ausschalten. Ihnen fehlt ein magnetischer Encoder zur Übertragung der aktuellen Position der Welle, und sie haben keinen integrierten Controller. Diese Motoren eignen sich nicht für den Einsatz in Robotersystemen, bei denen Positioniergenauigkeit und Rückmeldung wichtig sind.
Ich überlegte, wie sich diese Nachteile ausgleichen ließen. Wir fanden einen geeigneten magnetischen Encoder, den AS5600, mit 4600 Positionen. Außerdem benötigten wir einen Controller, der mit PWM arbeiten kann.
Magnetischer Encoder AS5600
Alan empfahl einen guten Programmierer, der in der Robotik tätig ist. Er schlug vor, PWM zugunsten von UART-Motoren (Universal Asynchronous Receiver/Transmitter) aufzugeben, da sich der zusätzliche Aufwand bei der Softwaresteuerung und der technischen Umsetzung wahrscheinlich nicht lohnen würde. Auch die Zuverlässigkeit preisgünstiger PWM-Motoren im Vergleich zu UART ist fraglich, da die eingebauten Potentiometer zur Drehzahlerfassung häufig ausfallen.
| PWM | UART | |
|---|---|---|
| Funktionsprinzip | Analog: Steuerung der Leistung durch Pulsweitenmodulation | Digital: Befehlsübertragung über eine serielle Schnittstelle |
| Hauptaufgabe | Sanfte Drehzahlregelung (Gleichstrommotoren) | Präzise Positionierung (Servoantriebe) |
| Genauigkeit | Hoch für die Geschwindigkeit, niedrig für die Position | Hoch für die Positionierung (Schrittgenauigkeit) |
| Kommunikation | Unidirektional (Steuerung → Motor) | Bidirektional (unterstützt Rückmeldung) |
| Hardware-Komplexität | Minimal (Treiber + PWM-Generator) | Hoch (Controller mit UART + Protokoll) |
| Energieeffizienz | Höher (direkte Leistungssteuerung) | Niedriger (abhängig von Protokoll und Verarbeitung) |
| Typische Anwendungen | Bohrmaschinen, Ventilatoren, Servoantriebe | 3D-Drucker, CNC, Robotik |
Bei UART-Motoren können wir sie in Reihe an einem einzigen Bus anschließen und erhalten dabei Rückmeldung über Position, Stromstärke und Motortemperatur. Allerdings sind die Kosten solcher Motoren mit ähnlichem Drehmoment deutlich höher.
Ich begann, geeignete UART-Motoren in Betracht zu ziehen, und entschied mich nach sorgfältiger Prüfung für folgende Typen: Feetech 30 kg und 50 kg. Beim Kauf in Chargen von 100 Stück betragen die Kosten $12 each.
Servomotor Feetech STS3215-C018. Drehmoment und Spiel
Servomotor Feetech STS3215
Der Ingenieur erstellte eine kinematische Berechnung des Systems auf Grundlage der auf der Website des Verkäufers angegebenen Drehmomentwerte. An diesem Punkt wies Alan darauf hin, dass das für den Motor angegebene Drehmoment das Blockiermoment ist, also das maximale Drehmoment, bei dem der Motor noch arbeiten kann, bevor er unter Last vollständig stehen bleibt. Daher können wir dieses Drehmoment nicht zur Beurteilung der Tragfähigkeit des Manipulators heranziehen, da er sich unter einer solchen Last schlicht nicht bewegen wird.
Diagramm von Drehmoment, Leistung, Wirkungsgrad und Strom
Die Diagramme unter dem Link following graphs kommen zu Hilfe und zeigen, dass das maximale Arbeitsdrehmoment, auf das man sich konzentrieren sollte, tatsächlich nur die Hälfte des angegebenen Werts beträgt – das ist in der Mitte des Diagramms zu sehen. Konkret werden 15 und 25 kg·cm angezeigt. Das bedeutet, dass wir mit einem Hebelarm von 700 mm und zwei Motoren mit jeweils 50 kg eine maximale Tragfähigkeit von 240 Gramm erreichen würden, was nicht ausreicht.
Letzten Monat bestellte Alan mehrere Muster, um sie zu Hause zu testen. Folgendes ist uns aufgefallen.
Messung des Spiels beim Feetech STS3215
Das Spiel des Servomotors ist doppelt so groß wie angegeben (≤0,5°) im the technical documentation und beträgt 3 mm bei einer Armlänge von 160 mm, was etwa 1,072 Grad entspricht.
Zweitens haben wir die Temperatur unter konstanter Last gemessen.
Test 1: Überhitzungsprüfung beim Halten einer statischen Last.
Überhitzungstest unter statischer Last. Feetech STS3215
Der Arm mit einer Hantel wurde seitlich ausgerichtet und hielt ein Gewicht von 1 kg an einem Hebelarm von 15 cm, was ein Drehmoment von 15 kg·cm ergibt. Innerhalb von 10 Minuten stieg die Temperatur auf 48 °C und blieb eine Stunde lang stabil, ohne weiter anzusteigen.
Test 2: Pendelbewegung im Bereich von ±90 Grad. Temperaturmessung
Pendelbewegung 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. Danach wurde die Pendelgeschwindigkeit verringert, um die Erwärmung zu beschleunigen (siehe Hinweis unten). Es waren weitere 40 Minuten erforderlich, um 71 °C zu erreichen, woraufhin der Motor überhitzte.
Schlussfolgerungen
- Kritischer Temperaturschwellenwert: Bei 71 °C zeigt der Motor Probleme, wie in den gestern und heute durchgeführten Experimenten beobachtet (zwei Fälle). Es scheint keinen integrierten Überhitzungsschutz zu geben, daher ist bei Erreichen dieser Temperatur ein manuelles Abschalten erforderlich.
- Einfluss der Beschleunigung auf die Erwärmung: Eine geringere Beschleunigung erhöhte die Geschwindigkeit des Temperaturanstiegs. Anfangs erreichte die Temperatur bei einer Beschleunigung von 5 60 °C. Eine Verringerung der Beschleunigung auf 2 führte nach zusätzlicher Zeit zur Überhitzung. Morgen werden wir in weiteren Tests die Zeit bis zur Überhitzung bei einer Beschleunigung von 5 messen, da eine Beschleunigung von 2 für unsere Anwendung zu langsam ist.
Das war es fürs Erste zum Thema Elektromotoren. Neuigkeiten über unsere Fortschritte in der Robotik werden ganz sicher auf der Website veröffentlicht!
Melde dich an, um einen Kommentar zu hinterlassen.