Servomotor ansteuern



Ein Servomotor (kurz "Servo") ist ein Motor, der sich nicht einmal eine ganze Umdrehung bewegen kann.


                           


Dafür kann er jedoch einen bestimmten Drehwinkel einnehmen. Diesen Winkel kannst Du bestimmen.

So ein Servo hat drei Anschlüsse:
Betriebsspannung (bei meinem Servo: 5V / Farbe rot)
GND (=Masse) (bei meinem Servo: Farbe braun)
Signaleingang (bei meinem Servo: Farbe orange)

Für den gewünschten Drehwinkel speist Du ihm in den Signaleingang ein Rechtecksignal von 1ms bis 2 ms Breite ein:
    für Linksanschlag: 1 ms
    für Mittelstellung: 1.5 ms
    für Rechtsanschlag: 2 ms
natürlich sind alle anderen Winkel auch möglich.
Damit der Servo diesen Winkel mit einer gewissen Kraft halten kann, muss spätestens nach 20 ms ein neuer Impuls kommen.

Um ein solches Rechtecksignal zu erzeugen, benutzen wir einen PWM-Ausgang unseres Arduino.
Die Bibliothek servo.h stellt uns komfortable Befehle zur Steuerung von Servos zur Verfügung.
Wir müssen nur die gewünschte Gradzahl zum Servo senden:


/*
  Servomotor steuern
 
  Servomotor an Pin 9
  Fährt 0°, 180° und 90° an
 
  www.arduinospielwiese.de
*/
 

#include <Servo.h>
 
Servo meinServomotor;  // erstellt das Objekt "meinServomotor"
 
 
void setup()
{
  meinServomotor.attach(9);  // verknüpft das Objekt "meinServomotor" mit Pin 9
}
 
 
void loop()
{
  meinServomotor.write(0);    delay(1000);
  meinServomotor.write(180);  delay(1000);
  meinServomotor.write(90);   delay(1000);
}


Mit dieser Methode kann unser Arduino Uno R3 bis zu 6 Servos ansteuern.
Weitere Servos sind aber möglich - dann mit einer weniger komfortablen Methode.