Servomotoren

Veröffentlicht von

Inhalte

  • Servomotoren als vielseitig verwendbare Beweger
  • Anwendung von Code-Libraries in Arduino

Einführung

Servomotoren (Servos) sind Aktoren, mit denen kontrollierte Drehbewegungen durchgeführt werden können (d.h. der Winkel der Drehung ist einstellbar). Meistens ist der Drehbereich auf 180° beschränkt, es existieren aber auch Modelle, die eine kontinuierliche Drehung ohne Beschränkung durchführen können. Intern bestehen sie üblicherweise aus einem Gleichstrommotor für den Antrieb, einem Getriebe zur Erhöhung der Stellkraft und einer Steuerschaltung um den Drehwinkel zu kontrollieren. Die Steuerschaltung basiert auf einem Potentiometer, mithilfe dessen der aktuelle Drehwinkel ablesbar ist. Electronicsplanet hat eine gute schematische Darstellung zu dem Thema.

Anwendung finden Servos in in ferngesteuerten Fahrzeugen, als Öffner/Schließer in Haussteuerungsystemen (z.B. bei Lüftungen), u.v.m.

Anwendung von Servomotoren

Servos sind leicht in eine elektronische Schaltung einzubinden. Üblicherweise haben sie drei Anschlusskabel:

  • GND (schwarz oder braun)
  • +5V (rot)
  • Steuerleitung (gelb oder orange)

Um Servomotoren anzusteuern wird auf der Steuerleitung ein Signalpuls mit einer definierten Länge ausgegeben, wobei die Länge des Pulses den Winkel definiert, den die Motorwelle einnehmen soll.

  • 0°: Puls mit 1ms HIGH, 20ms LOW
  • 180°: Puls mit 2ms HIGH, 20ms LOW
  • Werte zwischen 1 und 2 ms entsprechen Werten dazwischen.

Die Ansteuerung des Servos erfolgt also mit einer Art von Pulsweitenmodulation, wobei die Pulse immer nur sehr kurz bleiben

Von Racso – Eigenes Werk, GFDL, https://commons.wikimedia.org/w/index.php?curid=5525798

Beispiel 1: Servomotoren manuell angesteuert

Servo_Steckplatine

Code-Anmerkungen

delayMicroseconds  ist eine Funktion, die das Programm eine entsprechende Anzahl von Mikrosekunden aufhält und daher wesentlich kürzere Zeitintervalle kontrollieren kann als delay .

Beispiel 2: Die Servo-Library

Für die Ansteuerung von Servos existiert auch eine Bibliothek, die einfacher anzuwenden ist als manuelle Ansteuerung aus Beispiel 1. Folgender Code basiert auf dem Sweep-Beispiel von der Arduino Webseite.

Dieser Programmcode verwendet die in der Arduino-IDE integrierte Servo-Bibliothek.

Code-Analyse

Durch die Einbindung der Servo-Bibliothek können Servo -Objekte angelegt werden. Ein Servo -Objekt mit Namen myservo  wird in Zeile 3 angelegt. Dieses Objekt hat diverse Eigenschaften und Methoden, die mit einem Punkt aufgerufen werden können:

myservo.attach(9)  etwa hängt definiert Pin 9 als Steuerpin für die Servokontrolle. Mit myservo.write(pos)  wird der Servo nun angewiesen auf pos  zu fahren.

Alle Methoden der Servo-Bibliothek können in der entsprechenden Dokumentation auf der Arduino Webseite nachgelesen werden.

Weiterführende Links

  • http://www.electronicsplanet.ch/Roboter/Servo/intern/intern.htm
  • https://www.arduino.cc/en/Tutorial/Sweep
  • https://www.arduino.cc/en/Guide/Libraries

 

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.