Servos bzw. Servomotoren sind vielseitig einsetzbar und bieten spannede Möglichkeiten für interessante Arduino Projekte. Im aktuellen Artikel wird daher erläutert, wie man ist einen Servo ansteuern kann und welche Werkzeuge und Software-Bibliotheken dafür benötigt werden.
Was ist ein Servo?
Ein Servo bezeichnet einen Verbund aus Ansteuerungs- und Antriebseinheit. Dies ist üblicherweise ein Elektromotor samt seiner Steuerelektronik. Im allgemeinen Sprachgebrauch werden Servos häufig mit Servomotoren gleichgesetzt.
Modellbauservos, wie sie oft im Arduino-Umfeld zum Einsatz kommen, werden über eine Pulsweitenmodulation (PWM) angesteuert. Über die Breite der Pulse wird der Winkel, auf den der Servoarm gestellt werden soll, gesteuert.
Bei Modellbauservos wird der Winkel der Ausgangswelle geregelt. Zur Ermittlung des Winkels befindet sich im Inneren ein Potentiometer, das mit der Ausgangswelle verbunden ist. Über dieses Potentiometer ermittelt die integrierte Elektronik den Ist-Winkel der Ausgangswelle.
Das am häufigsten verwendete Modelltyp ist der SG90 Servo. Dieser ist aufgrund seiner Größe und des geringen Preises vor allem bei Hobby-Bastlern beliebt.
Servo ansteuern
Zum Ansteuern eines SG90-Servos mit Hilfe eines Arduino sind bis auf ein paar Jumper-Kabel keine weiteren Geräte oder Werkzeuge notwendig. Ebenso werden, bis auf die Servo-Bibliothek, keine speziellen oder komplizierten Software-Kenntnisse benötigt.
Pinout
VCC (rot) | Spannungsversorgung |
GND (schwarz) | Ground / Masse |
Signal (gelb/orange) | PWM-Signal |
Aufbau und Schaltplan
Arduino | SG90 Servo |
---|---|
5V | VCC |
GND | GND |
GPIO 6 | Signal |
Arduino Sketch – Servo ansteuern
Im folgenden Arduino Sketch wird der Servoarm zuerst auf 0°, dann auf 90° und später auf 180° eingestellt um die Funktionsweise des Servos zu verdeutlichen.
// Arduino SG90 Servo ansteuern - Schaltplan und Sketch // https://iotspace.dev/arduino-servo-ansteuern-schaltplan-und-sketch #include <Servo.h> //Einbinden der Servobibliothek Servo sg90; void setup() { sg90.attach(6); //Der SG90 Servo ist am GPIO 6 angeschlossen } void loop() { sg90.write(0); // Servoarm auf 0° einstellen delay(2000); //2 Sekunden Pause sg90.write(90); delay(2000); sg90.write(180); delay(2000); sg90.write(90); delay(2000); }
Neben dem SG90 Servo gibt es viele weitere Typen von Servomotoren. Die meisten dieser Modelle können jedoch mittels der gleichen Art- und Weise angesteuert werden.
Mehr zum Thema Arduino Sensoren und Co
Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte – damit ist es möglich – auch ohne umfassende Elektronik- und Programmiervorkenntnisse – eigene spannende IoT Projekte umzusetzen.