Doman S0090MD
Der mini digital Servomotor
Die DOMAN Servomotoren zeichnen sich besonders duch ein hohes Drehmoment bei geringem Totbereich (2µs) aus. 'Durch seinen verhältnismäßig großen Drehbereich von 180° (für Rad-Freunde: π) eignet er sich besonders für Anwendungen in der Robotik.'
Angesteuert wird der Servo über den Pulsweitenbereich von 500-2500µs. Das Getriebe ist zweifach kugelgelagert und aus Metall. Die interne 12 Bit digital Positionssteuerung sorgt für präzise Ansteuerung.
Technische Daten
Eingangsspannung | 4,8 - 6,0 V |
Modulation | Digital |
Drehmoment | 0.18Nm (4.8V); 0.2Nm (6V) |
Rotationsbereich | 180° |
Taktung | 20 ms |
Pulsweite | 500 - 2500 µs |
Totbereich | 4µs |
Connector Typ | JR |
Masse | 12g |
Abmessung | 23mm x 12.5mm x 22mm |
Kabellänge | 30cm |
Winkelgeschwindigkeit | 0.08 sec/60° (4.8v); 0.07sec/60° (6v) |
Inhalt |
1 Servo DOMAN S0090MD |
Kunststoff Flanschteile, Servohorn |
Befestigungsschrauben |
Informationen
Servomotoren
Anschluss und Leistungsaufnahme
Ein Motor wird über die drei Leitungen V+ (rot), GND (braun), PWM (orange) mittels weiblichem Graupner-Stecker angeschlossen. Die Stromversorgung darf dabei nicht über den Microkontroller, sonder über ein dediziertes Netzteil geschehen.
Als Richtwert können 1-2A Strombedarf pro Servo angenommen werden. Für einen 6-Achs Roboter wird folglich ein 6-12A Netzteil benötigt.
Ansteuerung
Angesteuert werden die Servos mit Hilfe von Pulsweitenmodulation (PWM). Dabei werden Pulse, definierter Länge, mit 50Hz (Periode: 20ms) an die im Servo eingebaute Elektronik gesendet und von dieser in Achswinkel umgesetzt. Die Servos nehmen meist Pulse im Bereich von 500μs-2000μs an und setzten diese in Winkel um. Der genaue Arbeitsbereich kann dem jeweiligen Servo-Datenblatt entnommen werden. Die Winkelgenauigkeit kann mit Hilfe der Angabe zum Totbereich (deadband) berechnet werden. Bei 2μs Totbereich, 180° Drehbereich und 500-1500μs PWM-Bereich ergeben sich 180/(1500-500)*2 = 0.36° Winkelgenauigkeit. Pulseänderungen unter 2μs können also vom Servotreiber nicht in Winkeländerungen umgesetzt werden. Zu beachten ist außerdem, dass es sich hierbei um einen theoretischen Wert handelt, der unter Last größer ausfallen kann. Die Pulse können beispielsweise mit einem Mikrocontoller, Arduino, Teensy oder RaspberryPi erzeugt werden.
Die Abbildung von Steuerpulsen auf Achswinkel ist nicht bei allen Servotypen deterministisch. Das heisst, dass verschiedene Servos
bei der selben Pulslänge nicht unbedingt die selben Winkelstellung einnehmen. Es empfielt sich daher,
eine einfache Konfiguration vorzunehmen, in welcher der Motor mit bestimmten Pulsweiten angesteuert und der wahre Achswinkel
mit Hilfe eines messenden Verfahrens bestimmt wird. Mit der Funktion pw = map(targetAngle, minAngle, maxAngle, minPW, maxPW)
kann dann die Pulsweite unter Verwendung der gemessenen Winkel und Pulsweiten bestimmt werden.
Servos zittern, brummen
Ein Servozittern ist meist auf Störungen im PWM Signal bzw. Schwankungen in der Spannungsversorgung zurückzuführen. Es können sog. Ferritkerne/ringe zur Entstörung eingesetzt werden. Das Servokabel wird dazu um den hochinduktiven Kern gewickelt. Das System wirkt als Spule und entstört so das Steuersignal. Sollten die Servos zittern, sobald sie oder andere Servos in Bewegung sind, ist dies meist auf ein unterdimensioniertes Netzteil zurückzuführen. Hier können Kondensatoren zum Abfangen von Strombedarfsspitzen eingesetzt werden.
Ein Servobrummen unter Last ist üblich, da die interne Servosteuerung versucht gegen die Last zu arbeiten und dadurch diesen stetig ansteuert. Da die Motoren nicht über ein selbsthemmendes Getriebe verfügen, muss auch bei Stillstand geregelt werden. Auch das Eigengewicht des Roboterarms kann ein Brummen auslösen.