Arduino-Servomotoren

5 Schritt:Schritt 1: Wie um sie zu verbinden Schritt 2: Code Schritt 3: Wie es funktioniert Schritt 4: Weitere Dinge über Servos Schritt 5: Überprüfen Sie heraus mehr

Arduino-Servomotoren

Servomotoren sind große Geräte, die an einer bestimmten Position drehen kann.
In der Regel haben sie eine Servohebel, der um 180 Grad drehen kann. Mit Hilfe der Arduino, können wir eine Servo sagen, zu einer bestimmten Position zu gehen und es wird dorthin gehen. So einfach ist das!
Servomotoren wurden zuerst im Remote Control (RC) weltweit eingesetzt, in der Regel, um die Steuerung von RC-Cars oder die Klappen auf einem RC Flugzeug zu steuern. Mit der Zeit fanden sie ihre Anwendungen in der Robotik, Automatisierung, und natürlich, die Arduino Welt.
Hier werden wir sehen, wie man einen Servomotor zu verbinden, und dann, wie man es in verschiedene Positionen drehen.
Der erste Motor, den ich je auf einem Arduino verbunden, vor sieben Jahren, war ein Servomotor. Nostalgic Moment vorbei, zurück an die Arbeit!
Wir werden die folgenden Dinge:

    Ein Arduino Board an einen Computer über USB A-Servomotor Jumper Drähte

Es gibt nur wenige große Namen in den Servomotor Welt. Hitec und Futaba sind die führenden RC Servo-Hersteller. Gute Orte, um sie zu kaufen sind Servocity , Sparkfun und Hobbyking .
Diese instructable und viele mehr in meinem Arduino Entwicklungscookbook gefunden werden hier . : D

Schritt 1: Wie um sie zu verbinden

  1. Arduino-Servomotoren

    Ein Servomotor hat alles eingebaut: einen Motor, eine Rückkopplungsschaltung, und am wichtigsten, einen Motortreiber. Es muss nur eine Stromleitung, einer Erde und einem Steuerstift.
    Im Folgenden sind die Schritte, um einen Servomotor auf den Arduino zu verbinden:
      Der Servomotor weist eine Buchse mit drei Stiften. Der dunkelste oder sogar schwarze ist in der Regel der Grund. Schließen Sie hier die Arduino GND. Schließen Sie das Netzkabel, das in allen Standards sollten rot, um auf der Arduino 5V werden. Schließen Sie das andere Linie auf der Servostecker auf dem Arduino einem digitalen Stift.

    Überprüfen Sie das Bild für eine Ansicht des Servo auf die Arduino verbunden.

Schritt 2: Code


  1. Mit dem folgenden Code wird ein Servomotor auf 0 Grad drehen, 1 Sekunde warten, bevor Sie ihn auf 90, warten Sie noch eine zweite, schalten Sie es auf 180, und dann gehen Sie zurück.
      // Fügen Sie den Servo-Bibliothek 
    #include <Servo.h> // Deklarieren Sie die Servo pin int servoPin = 3; // Ein Objekt Servo Servo Servo1; Leere setup () { // Wir müssen die Servo der verwendeten Pin-Nummer anhängen Servo1.attach (servoPin); } Leere Schleife () { // Stellen Servo gehen auf 0 Grad Servo1.write (0); Verzögerung (1000); // Stellen Servo gehen bis 90 Grad Servo1.write (90); Verzögerung (1000); // Stellen Servo gehen zu 180 Grad Servo1.write (180); Verzögerung (1000); }
    Wenn der Servomotor an einem anderen digitalen Pin angeschlossen ist, genügt der Wert servoPin verändern, um den Wert des digitalen Stift, der verwendet wurde.

Schritt 3: Wie es funktioniert

  1. Arduino-Servomotoren

    Servos sind klug Geräte. Mit nur einem Eingabestift, die Position von der Arduino erhalten sie und sie dorthin zu gehen. Intern haben sie einen Motortreiber und eine Rückkopplungsschaltung, die sicher sind, dass der Servohebel auf die gewünschte Stellung macht. Aber welche Art von Signal sie auf dem Eingabestift zu erhalten?
    Es ist eine Rechteckwelle ähnlich der PWM. Jeder Zyklus des Signals dauert 20 Millisekunden und für die meiste Zeit ist der Wert LOW. Zu Beginn jedes Zyklus ist das Signal hoch für eine Zeit zwischen 1 und 2 Millisekunden. Bei 1 Millisekunde steht es 0 Grad und bei 2 Millisekunden stellt es 180 Grad. Dazwischen, stellt es den Wert von 0 bis 180. Dies ist eine sehr gute und zuverlässige Methode. Die Grafik macht es ein wenig einfacher zu verstehen.
    Denken Sie daran, dass mit dem Servo-Bibliothek automatisch deaktiviert PWM-Funktionalität auf PWM Pins 9 und 10 auf der Arduino UNO und ähnliche Platten.

    Code Aufschlüsselung


    Der Code deklariert einfach die Servo Objekt und initialisiert das Servo unter Verwendung des servo.attach () Funktion dann. Wir sollten nicht vergessen, um den Servo Bibliothek enthalten. In der Schleife (), setzen wir die Servo auf 0 Grad, warten, dann stellen Sie es auf 90 und später auf 180 Grad.

Schritt 4: Weitere Dinge über Servos


  1. Steuerung Servos ist einfach, und noch ein paar Tricks, die wir verwenden können, hier:

    Steuerung der genauen Pulszeit


    Arduino hat eine eingebaute Funktion servo.write (Grad), die die Steuerung von Servos vereinfacht. Allerdings sind nicht alle Servos respektieren die gleichen Zeitpunkte für alle Positionen. Normalerweise bedeutet 1 Millisekunde 0 Grad, 1,5 Millisekunden bedeuten 90 Grad, und, natürlich, meine 2 Millisekunden 180 Grad. Einige Servos haben kleinere oder größere Bereiche.
    Für eine bessere Kontrolle, können wir die servo.writeMicroseconds (us) Funktion, die die genaue Anzahl der Mikrosekunden als Parameter verwenden. Denken Sie daran, 1 Millisekunde entspricht 1.000 Mikrosekunden.

    Mehr Servos


    Um mehr als ein Servo verwenden, müssen wir mehrere Servo Objekte erklären, verschiedene Stifte zu befestigen, um jeden einzelnen, und die Adresse jedes Servo individuell. Zunächst müssen wir die Servo Objekte als-viel wie wir brauchen erklären:
      // Servo Objekte erstellen
     Servo Servo1, Servo2, Servo3; 

    Dann müssen wir jedes Objekt zu einem Servomotor zu befestigen. Denken Sie daran, jeden Servomotor verwendet einen einzelnen Stift:
      Servo1.attach (servoPin1);
     Servo2.attach (servoPin2);
     Servo3.attach (servoPin3); 

    Am Ende, wir müssen nur jeden Servo Objekt einzeln zu adressieren:
      Servo1.write (0);  // Set Servo 1 auf 0 Grad
     Servo2.write (90);  // Set Servo 2 bis 90 Grad 

    Anschluss-weise, das Gelände von den Servos gehen GND auf dem Arduino, der Servo-Power bis 5V oder VIN (abhängig von der Stromaufnahme), und am Ende hat jeder Signalleitung zu einem anderen digitalen Pin angeschlossen werden. Entgegen der landläufigen Meinung, ich Servos nicht brauchen, um durch PWM gesteuert werden Stifte-beliebigen Digitalstift funktioniert.

    Laufservos


    Es gibt eine besondere Art von Servos Laufservos markiert. Während eine normale Servo geht an einer spezifischen Position in Abhängigkeit von dem Eingangssignal, einen Laufservo entweder rotiert im Uhrzeigersinn oder gegen den Uhrzeigersinn mit einer Geschwindigkeit proportional zu dem Signal. Zum Beispiel wird die (0) Funktion Servo1.write den Servomotor Spin gegen den Uhrzeigersinn auf Hochtouren zu machen. Die (90) Funktion Servo1.write den Motor stoppen und Servo1.write (180), wird der Motor im Uhrzeigersinn mit voller Geschwindigkeit drehen.
    Es gibt mehrere Verwendungen für solche Servos; jedoch, sie sind sehr langsam. Wenn Sie den Aufbau einer Mikrowelle und brauchen einen Motor, um die Nahrung zu drehen, ist dies Ihrer Wahl. Aber Vorsicht, sind Mikrowellen gefährlich!

Schritt 5: Überprüfen Sie heraus mehr


  1. Weitere Themen in Bezug auf Motoren, wie bürstenlose Transistortreiber ormotor Drehzahlregelung kann in meinem Arduino Entwicklungscookbook finden Sie hier . : D