Servo-Motoren

1. Grundlegende Eigenschaften

Servo-Motoren (kurz: Servos) sind typische Bauteile im Flugzeugmodellbau. Sie haben folgende Eigenschaften:

2. Bestandteile

Ein Servo enthält folgende Bauteile

Ein Servomotor benötigt immer eine Steuereinheit, die ihm ein Positionssignal sendet. In unserem Fall ist dies der Arduino. Sobald dieses Positionssignal nicht mit der aktuellen Position des Servos übereinstimmt, dreht sich der Servo.
Die Funktion eines Servos wird auf dieser Internetseite sehr gut beschrieben: https://www.electronicsplanet.ch/Roboter/Servo/servo-funktionsweise/servo-funktionsweise.php

3. Verkabelung

Servos werden immer mit drei Kabeln angeschlossen:

Über das rote und braune Kabel bezieht der Elektromotor im Servo die Spannung, um sich zu bewegen.

ACHTUNG: Der Arduino UNO liefert genug Strom, um einen kleinen Servomotor zu betreiben.
Sollen mehrere oder größere Servos angeschlossen werden, muss die Spannung von einer externen Spannungsquelle bezogen werden.

4. Programmierung

4.1 Installation der Servo-Bibliothek

Für die Programmierung des Servos benötigen wir wieder eine Bibliothek:
alt text

  1. Aktiviere den Bibliotheksmanager
  2. Tippe den Suchbegriff "Servo" ein.
  3. Installiere die Servo-Bibliothek von Michael Margolis

4.2 Einfaches Rotations-Programm

Mit dem folgenden Programm dreht der Servo einmal langsam um 180° und anschließend wieder zurück.


#include <Servo.h>  // Bindet die Servo-Bib. ein

Servo myservo;  // Erzeugt ein Servo-Objekt

void setup() {
  myservo.attach(2);  // Servo ist an Pin 2 angeschlossen
}

void loop() {
  for (int pos = 0; pos <= 180; pos=pos+1) { // von 0 bis 180 °
    myservo.write(pos); // dreht Servo auf pos °
    delay(15); // 15 ms Pause, damit der Servo die Position erreicht.
  }
  for (int pos = 180; pos >= 0; pos=pos-1) { // von 180 bis 0° zurück
    myservo.write(pos); 
    delay(15); 
  }
}

Anpassungen

Ändere das Programm ab, so dass

  1. der Servo nur noch 90° weit dreht.
  2. sich der Servo doppelt so schnell dreht, d.h. pro Schritt eine Drehung um 2° durchführt.
  3. der Servo mit einem einzigen Schritt von 0 auf 180° dreht und wieder zurück.
    Ermittele die Zeit, die als Pause eingelegt werden muss, damit die Drehung jeweils vollständig durchgeführt wird.