Der Aufbau einer Roboter, der Mauszeiger folgt

31 Schritt:Schritt 1: Mathematik: Umwandlung Stiftposition zu Servowinkel Schritt 2: Verwenden Sie Verarbeitung IDE, um die Maus-Tracking-Programm zu schreiben Schritt 3: Verwenden Sie Arduino IDE, um die Servosteuern Programm zu schreiben Schritt 4: Mechanismus: den Bau der Roboter Schritt 5: Mechanismus: der Hauptkanal Schritt 6: Mechanismus: der Stift-up-Servo Fall (1/5) Schritt 7: Mechanismus: der Stift-up-Servo Fall (2/5) Schritt 8: Mechanismus: der Stift-up-Servo Fall (3/5) Schritt 9: Mechanismus: der Stift-up-Servo Fall (4/5) Schritt 10: Mechanismus: der Stift-up-Servo Fall (5/5) Schritt 11: Mechanismus: Anbringen der Stift-up-Servo Fall an den Hauptkanal Schritt 12: Mechanismus: befestigen Sie die Servoplatten zum Hauptkanal Schritt 13: Mechanismus: Hinzufügen von Nabenhalterungen Schritt 14: Mechanismus: Hinzufügen der Arm-Servos Schritt 15: Mechanismus: Hinzufügen der Kugellagerplatten Schritt 16: Mechanismus: Hinzufügen der Servo Hubs Schritt 17: Mechanismus: Brackets vor den Servoplatten Schritt 18: Mechanismus: Befestigung für die Feder-up-Servokabel (1/3) Schritt 19: Mechanismus: Befestigung für die Feder-up-Servokabel (2/3) Schritt 20: Mechanismus: Befestigung für die Feder-up-Servokabel (3/3) Schritt 21: Mechanismus: ruhenden Beinen, um das Schreibgerät zu schützen (1/2) Schritt 22: Mechanismus: ruhenden Beinen, um das Schreibgerät zu schützen (2/2) Schritt 23: Mechanismus: die Befestigung der Arme! Schritt 24: Mechanismus: Anbringen der zweiten Arme Segmente Schritt 25: Mechanismus: Federhaltesystem Schritt 26: Mechanismus: Montage der Kugelschreiber in der Stifthaltesystem Schritt 27: Mechanismus: Anbringen der Stifthaltesystem auf den Arm Schritt 28: Mechanismus: die Verbindung der beiden Arme Schritt 29: Mechanismus: fertig! Schritt 30: Anschluss der Servomotoren Schritt 31: Lauf alles

Der Aufbau einer Roboter, der Mauszeiger folgt


In diesem instructable Ich werde Ihnen zeigen, wie zu bauen und steuern einen Roboter in der Lage, Zeichnen und Schreiben auf einer ebenen Fläche, wie oben im Video dargestellt.
Um dieses Projekt benötigen Sie ausführen:
Ein Computer Ein Download von IDE Verarbeitung : eine einfache, kostenlose, Open-Source-Programm-Entwicklungs-Tool (keine Installation erforderlich). Ein Arduino Board: eine einfache, Open-Source-Mikrocontroller. Zwei Standard-Größe Servomotoren, habe ich zwei Hitech HS-5645MG . Eine schwere, Viertelskala Servomotor, habe ich eine Leistung HD-1235MG . Einige mechanische Hardware, um einen Rahmen zu bauen Halten der beiden Servos, die beiden Arme und das Schreibgerät. Ich habe Actobotics Komponenten und Sie erhalten eine vollständige Liste der Stücke, die ich in den Mechanismus Abschnitten dieses instructable verwendet finden. Ein Steckbrett und Schaltdrähte für elektrische Anschlüsse. Eine unabhängige Gleichstromquelle für die Servomotoren (Alternativ können Sie die eins nach dem Arduino Board zur Verfügung gestellt). Ein Kugelschreiber und ein Stück Draht (hier habe ich ein Stück von Fahrradbremsen-Kabel).
Grundmechanismus
Wir werden zwei Servomotoren, die jeweils an einem Gelenkarm befestigt zu verwenden. Jeder Arm besteht aus zwei Gelenksegmente, mit einem Servomotor an einem Ende und dem Schreibwerkzeug an dem anderen Ende verbunden sind. Die Position des Schreibendes der Roboterarme vollständig durch zwei Winkel durch die Servomotoren gesteuert bestimmt.
Der Aufbau einer Roboter, der Mauszeiger folgt

Basisarchitektur
Nachfolgend finden Sie eine kurze Vorschau des Setups. Der Computer wird ein Verarbeitungsprogramm, das die Position des Mauszeigers Bahnen laufen, und senden Sie es an die Arduino-Board. Dieses Programm ist in dem Verarbeitungsabschnitt des instructable beschrieben.
Der Computer ist mit dem Arduino Board über USB-Kabel dem Arduino verbunden.
Die Position des Maus-Cursors zu geeigneten Winkeln für die Servomotoren umgesetzt, dies ist in der Mathematik Abschnitt dieses instructable beschrieben.
Das Arduino an Servomotoren durch einfache Drähte verbunden, Arduino steuert die Servomotoren durch ein anderes Programm. Die Verkabelung und arduino Programm ist in dem Arduino Abschnitt dieses instructable beschrieben.
Der mechanische Aufbau hält die Servomotoren, ist Gelenkarme und Stift in der Mechanism Abschnitt dieses instructable beschrieben.
Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 1: Mathematik: Umwandlung Stiftposition zu Servowinkel

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Dieser Abschnitt erläutert, wie die Position des Mauszeigers auf dem Bildschirm des Rechners in Winkeln für die Servomotoren umgesetzt, so daß das Schreibende der Gelenkarme bildet die Bewegung des Mauszeigers.
    Es ist nicht notwendig, dies zu verstehen, die intructable erfolgreich abgeschlossen, da ich die Teile des Codes, die die Umwandlung der Cursorposition Servo Winkeln implementieren ist.
    Analyse eines einzelnen Servomotor
    Analysiert man ein Setup mit einem einzigen Arm und Servomotor (Abbildung oben):
    Rufen Sie O der Ursprung unserer Referenz. Es liegt auf der Drehachse des Servomotors angeordnet.
    Rufen P den Punkt wir uns auf die Schreibebene oder Position des Stifts erreichen wollen.
    Call (x, y) die Koordinaten des P.
    Rufen Sie einen der Länge der Arme Segmente. (Hinweis: Wenn alle Armsegmente von gleicher Länge sind, sind die Berechnungen wesentlich einfacher).
    Nennen J die Position des Gelenks, wo die zwei Armsegmente verbunden sind.
    Rufen r die Entfernung OP: r = (x² + y²) 1/2
    Nennen θ der Winkel zwischen OP und der x-Achse: θ = atan2 (y, x)
    Im Dreieck OJP:
    Der Abstand OJ = a
    Der Abstand JP = a
    Rufen Sie den Winkel φ POJ: φ = acos (r / (2a))
    Nennen α der Winkel, der dem Servomotor zugeführt ist zur Position P erreicht werden:
    α = θ + φ
    α = atan2 (y, x) + acos ((x² + y²) 1/2 / (2a))
    Beachten Sie, dass Fütterung dieser Winkel auf einen einzigen Servomotor wird nicht Position des Stifts bis zu einem Punkt zu beschränken. Es wird J auf einen einzigen Punkt zu beschränken, sondern wird P frei, auf einem Kreis mit dem Radius a um J. Hinzufügen des zweiten Servomotor wird uns erlauben, die Position P mehr einschränken zu bewegen lassen.
    Hinzufügen des zweiten Servomotor
    Der Aufbau einer Roboter, der Mauszeiger folgt

    Wir können die Berechnungen in der vorstehenden Randnummer getan, außer dieser Zeit wird der Punkt, den wir zu P erreichen wollen, ist in der Referenz des zweiten Servomotors, der von der Referenz wir früher verwendet Offset wird gesehen wiederholen.
    Aufruf D den Abstand zwischen den Achsen der beiden Servomotoren.
    Die Koordinaten von P in dem Referenz des zweiten Servomotors sind: (x + d, y)
    Die Konfiguration der Arme des zweiten Servomotors ist ähnlich, aber so abgebildet, finden wir:
    Nennen α 2 der Winkel, der dem zweiten Servomotor gespeist ist in die Position P erreicht werden:
    α 2 = θ 2 - φ 2
    α 2 = atan2 (y, x + d) - acos (((x + d) ² + y²) 1/2 / (2a))
    Zuführen der Winkel α und α 2 mit den beiden Stellmotoren wird P zwingen, sich im Schnittpunkt der beiden Kreise = zwei Punkten. Wir können die Domäne von P in der Weise zu beschränken, dass der Stift zunächst mit dem obersten der beiden Stellen angebracht und nie die Möglichkeit haben, zu dem anderen Schnittpunkt umzuschalten.
    So können wir vollständig die Position des Stiftes zu kontrollieren, indem zwei senkrecht zu den Servomotoren.
    Die Bilder oben zeigen die Formen der Domain erreichbar auf der Schreibebene für verschiedene Werte der Armlänge (a) und Servomotor-Offset (d).

Schritt 2: Verwenden Sie Verarbeitung IDE, um die Maus-Tracking-Programm zu schreiben

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Holen Sie sich das Verarbeitungs IDE:
    Zum Verarbeitungs Website , navigieren Sie zu der Download-Sektion, laden Sie die Verarbeitungs Integrated Development Environment und führen Sie es (keine Installation erforderlich).
    Launch Verarbeitung, erstellen Sie ein neues Programm (auch als Skizze) aus dem Menü Datei.
    Schreiben Sie eine Skizze:
    Fügen Sie folgenden Code in Ihre Skizze:
    Hinweis: das Programm wird nicht korrekt ausgeführt, bis der Arduino mit dem Computer verbunden ist, wird dies im Rennen alles Abschnitt dieses instructable erläutert.

      importieren processing.serial. *;
    
     // Die Daten, die las war geschickt, um arduino:
     int _LastSent_MouseX;
     int _LastSent_MouseY;
     int _LastSent_PenUp;
    
     // Die aktuellen Werte der Mausposition und Stift nach oben / unten Staat:
     int _Current_MouseX;
     int _Current_MouseY;
     boolean _Current_PenUp;
    
     // Eigenschaften des Zeichnungsfensters:
     int _WindowWidth;
     int _WindowHeight;
    
     // Port für die Kommunikation mit arduino
     Serien _SerialPort;
    
     ////////////////////////////////////////////////// ////
     // Einrichten der Verarbeitung Leinwand
     Leere setup () {
       _WindowWidth = 1600;
       _WindowHeight = 800;
       Größe (_WindowWidth, _WindowHeight);
       strokeWeight (8);
    
       // Zur Kommunikation mit dem Arduino Öffnen Sie die serielle Schnittstelle
       // Sicherstellen, dass die COM-Schnittstelle ist die gleiche wie die von Arduino verwendet (Extras> Serial Port-Menü)
       _SerialPort = New Serien (this, "COM7", 9600);
       _SerialPort.bufferUntil ('\ N');
     }
    
     ////////////////////////////////////////////////// ////
     // Auf dem Computerbildschirm Zeichnen Sie das Fenster
     Leere draw () {
       // Canvas grau Füllen
       Hintergrund (100);  
       // Stellen Sie die Strichfarbe auf weiß
       Hub (255);
       // Zeichne einen Kreis an der Mausposition
       Ellipse (_Current_MouseX, _Current_MouseY, 8, 8);
     }
    
     ////////////////////////////////////////////////// ////
     // Aktualisiert die meisten aktuellen Stand der Mausposition und sendet diese Informationen an arduino
     Leere mouse () {  
       _Current_MouseX = MouseX;
       _Current_MouseY = MouseY;
       SendToArduino ();
     }
     // Aktualisiert die meisten aktuellen Stand der Feder nach oben / unten Zustand und sendet diese Informationen an arduino
     Leere mouse () {
       _Current_PenUp = _Current_PenUp!;
       SendToArduino ();
     }
    
     ////////////////////////////////////////////////// ////
     Leere SendToArduino () {
       // Es ist leistungsfähiger, um einfache ints über die serielle Schnittstelle an das Arduino-Board senden
       // Ist es jedoch schwierig, zu gewährleisten, dass die Daten in der richtigen Reihenfolge auf der Seite empfangen arduino
       // Um ​​zu vermeiden, falsch interpretiert gesendeten Daten über den seriellen Anschluss, verwenden wir die folgende Konvention:
       // Position X wird als als int-Wert von 0..127 gesendet werden
       // Y Position wird als int Wert 127..255 gesendet werden
       // Auf / Ab-Zustand wird als int-Wert von 100 oder 200 gesendet werden
       int new_MouseX = round (map (_Current_MouseX, 0, _WindowWidth, 0, 127));
       int new_MouseY = round (map (_Current_MouseY, 0, _WindowHeight, 255., 127.));
       int new_PenUp = _Current_PenUp?  100: 200;  //
    
       // Wir sind nur gehen, um die Daten an die Arduino zu senden, wenn einer der Werte geändert
       if (new_MouseX! = _ LastSent_MouseX || new_MouseY! = _ LastSent_MouseY || new_PenUp! = _ LastSent_PenUp) {
         _LastSent_MouseX = New_MouseX;
         _LastSent_MouseY = New_MouseY;
         _LastSent_PenUp = New_PenUp;
    
         _SerialPort.write ((Byte) new_MouseX);
         _SerialPort.write ((Byte) new_MouseY);
         _SerialPort.write ((Byte) new_PenUp);
       }
     }
    
     ////////////////////////////////////////////////// ////
     // Das ist nützlich, um die Nachrichten aus dem Arduino-Board über die serielle Schnittstelle gesendet angezeigt
     // Für Debug-Zwecke
     Leere serialEvent (Serial myport)
     {
       String myString = myPort.readStringUntil ('\ n');
       println (MyString);
     }
    
    


Schritt 3: Verwenden Sie Arduino IDE, um die Servosteuern Programm zu schreiben

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Holen Sie sich das Arduino IDE:
    Gehen Sie auf die Arduino-Website , navigieren Sie zu der Download-Sektion, laden Sie die Arduino Integrated Development Environment und installieren. Starten Sie es, ein neues Programm (auch als Skizze) aus dem Menü Datei.
    Schreiben Sie eine Skizze:
    Fügen Sie folgenden Code in Ihre Skizze:

      #include <Servo.h>
     // Um ​​Debug-Ausgaben zu aktivieren, kommentieren Sie die folgende Zeile ein:
     // #define DEBUG
    
     Servo servoLeft;
     Servo servoRight;
     Servo servoUp;
     const float pi = 3.14159;
     schweben RadianToDegree = 180 / pi;
     schweben DegreeToRadian = pi / 180;
    
     // Die Länge des Armabschnitts (Abmessungen sind so skaliert, dass Armsegment Länge gleich 1 ist)
     const float a = 1 .;
     // Der Versatz zwischen den beiden Servoachsen:
     const float d = 5,7 / 14,7;
     // Um ​​eingehende Bytes Werte schweben zu konvertieren:
     const float ByteToFloat = 1,0 / 255,0;
     // Sicherheitsmargen zu vermeiden Verlassen des sicheren Streckzone:
     // Beachten Sie, dass die Zeichenfläche hat hier die gleiche x / y-Verhältnis als bei der Verarbeitung Skizze
     const float thetaMax = acos (d / 2 - 1.);
     const float YMin = sin (thetaMax) + d;
     const float XAmplitude = 2,2;
     const float YAmplitude = 1,1;
     const float XMin = -0.5 * (XAmplitude-d);
     const float XMax = d-XMin;
     const float YMax = YMin + YAmplitude;
     // Stiftposition (Abmessungen sind so skaliert, dass Arm Segmentlänge gleich 1 ist)
     float x = 0 .;
     float y = 1,2;
    
     // Für Kommunikation über serielle Schnittstelle:
     int MyDelay = 10;
     int incomingByteX = 0;
     int incomingByteY = 0;
     int incomingByteU = 0;
    
     // Servopositionen und serielle Schnittstelle initialisieren
     Leere setup ()
     {
       Serial.begin (9600);
       servoLeft.attach (9);
       servoRight.attach (10);
       servoUp.attach (6);
       servoLeft.writeMicroseconds (1940);
       servoRight.writeMicroseconds (1095);
       servoUp.writeMicroseconds (1100);
     }
    
     // Die folgende Methode liest die serielle Eingänge, 
     // Konvertiert eingehende Daten an Stift Positionen
     // Wandelt pen Positionen zu Servomotor Winkel
     // Sendet Winkelwerte zu Servomotoren
     Leere Schleife ()
     {
       // Warten, bis 3 Bytes
       if (Serial.available ()> = 3);  
       {
         incomingByteX = Serial.read ();
         incomingByteY = Serial.read ();
         incomingByteU = Serial.read ();
        // Überprüfen, ob eingehende Daten im Einklang mit den convetions wir bei der Verarbeitung Skizze eingestellt
        // Dies vermeidet falsch interpretiert Daten, die ungeordnete kommt
         if ((incomingByteU == 100 || incomingByteU == 200) 
         && IncomingByteX> = 0 && incomingByteX <= 127 
         && IncomingByteY> = 127 && incomingByteY <= 255)
         {
           #ifdef DEBUG
           Serial.print ("SERIAL X:"); Serial.print (incomingByteX);
           Serial.print ("|| SERIAL Y:"); Serial.print (incomingByteY);
           Serial.print ("|| SERIAL U:"); Serial.print (incomingByteU); Serial.println ();
           #endif
      
           x = incomingByteX * ByteToFloat * 2 * (XMax-XMin) + XMin;
           y = (incomingByteY * ByteToFloat - 0,5) * 2 * (YMax-YMin) + YMin;
         
           // Convert (x, y) Werte zu Servomotor Winkel
           schweben ThetaLeft = GetThetaLeft (x, y);
           schweben ThetaRight = GetThetaRight (x, y);
          
           // Senden die Positionen der Servomotoren
           SetServoLeftToTheta (ThetaLeft);
           SetServoRightToTheta (ThetaRight);
           ServoUp (incomingByteU == 100);
         }
       }
         Verzögerung (MyDelay);
     }
    
     // Die folgenden Methoden zu konvertieren (x, y) Positionen zu Servomotor Winkel
     schweben GetThetaLeft (float x, float y) {
       float R = hypot (x, y);
       schweben Theta = atan2 (y, x);
       schweben phi = acos (R / 2.);
       schweben Out = RadianToDegree * (Theta + Phi);
       zurück Out;
     }
     schweben GetThetaRight (float x, float y) {
       x = (xd);
       float R = hypot (x, y);
       schweben Theta = atan2 (y, x);
       schweben phi = acos (R / 2.);
       schweben Out = RadianToDegree * (Theta - Phi);
       zurück Out;
     }
     // Die folgenden Verfahren eingestellt Winkelpositionen auf den beiden Arm-Servomotoren
     schweben SetServoLeftToTheta (float ThetaLeft) {
       // Kalibrierung für links Servo Hitech-5645MG
       // Theta | US
       // ---------------------------
       // 2200
       // 90 1940
       // 180 1020
       // 750
       schweben mS = 1940 + (ThetaLeft-90.) * (1020.-1940.) / 90 .;
       servoLeft.writeMicroseconds (round (MS));
     }
     schweben SetServoRightToTheta (float ThetaRight) {
       // Kalibrierung für links Servo Hitech-5645MG
       // Theta | US
       // ---------------------------
       // 2200
       // 0 1995
       // 90 1095
       // 750
       schweben mS = 1995 + (ThetaRight) * (1095.-1995.) / 90 .;
       servoRight.writeMicroseconds (round (MS));
     }
     // Die folgende Methode bringt die Hebeservo auf Stift-oben oder Stift-abwärts-Position
     Leere ServoUp (boolean stifthoch) {
       if (stifthoch) {servoUp.writeMicroseconds (1000);  }
       else {servoUp.writeMicroseconds (1200);  }
     }
    


Schritt 4: Mechanismus: den Bau der Roboter

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier ist eine Liste aller Actobotics in diesem Projekt verwendeten Teile:
    4x 6.16 "(17 Löcher) Aluminiumbalken 3x 3.85 (11 Löcher) Aluminiumbalken 1x 1,54" (5-Loch) Aluminiumbalken 1x 12 "Alu-Kanal 1x 3,75" Aluminium-Kanal 2x 1,50 "Aluminium-Kanal 2x 90 ° Winkel Einzelkanal-Haltewinkel 4x Flach Einkanal-Halterung 2x Flach Triple-Channel-Halter 4x 90 ° C Hub Halterung 2x Standard-Servo-Platte D 1x Trägerbefestigungsblock 4 x 4 mm Bore Stellschraube Nabe 3x 4 mm Bore Klemmnabe 6x 90 ° Zweiseitenmontage E 2 x 4 mm (100 mm Länge) Präzisionswellenanlage 1x 4 mm (300 mm Länge) Präzisionswellenanlage 2x Standard-Hitec ServoBlocks (oder gleichwertig Hubs, Nabenlager und Kugellager-Platten) Actobotics Hardware-Pack A (Schrauben und Muttern)
    Die Servos I verwendet werden, sind:
    Hitech HS-5645MG Strom HD-1235MG
    Ich habe auch:
    Ein Kugelschreiber Ein Stück Kabel (Fahrrad Pause Kabel)

Schritt 5: Mechanismus: der Hauptkanal

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier haben wir es zusammen setzen Elemente auf dem Hauptkanal, der Basis unserer Roboter.
    Für diesen Schritt nutzen wir:
    1x 12 "Alu-Kanal 1x 4 mm (300 mm Länge) Präzisionswellenanlage 4x 90 ° C Hub Halterung 2x Flach Einkanal-Halterung 4x 4 mm Bore Stellschraube Nabe
    Befestigen Sie die Halterung an jeder Nabe aa Bohrung Stellschraube Nabe:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Schieben Sie diese Elemente auf der langen Welle:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Bringen Sie die Nabenhalterungen an den Hauptkanal, mit den flachen Einkanal Klammern, um sie ein wenig versetzt (dadurch wird Platz für die Drehbewegung um die Wellenstrang, um den Stift nach oben und unten bewegen zu geben):

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Ihre Hauptkanal jetzt sieht aus wie die Bilder unten. Die beiden zentralen Nabenhalterungen und Hubs sind frei, auf der Welle zu übersetzen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 6: Mechanismus: der Stift-up-Servo Fall (1/5)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Montage eines kastenförmigen Anordnung um den Stift-up (Power HD) Servo. Dies wird später verwendet, um die Servo auf dem Hauptkanal zu befestigen.
    Für diesen Schritt nutzen wir:
    Die Strom HD Servo
    1xFlat Einkanal-Halterung

    Das Ergebnis sollte wie folgt aussehen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 7: Mechanismus: der Stift-up-Servo Fall (2/5)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Montage eines kastenförmigen Anordnung um den Stift-up (Power HD) Servo. Dies wird später verwendet, um die Servo auf dem Hauptkanal zu befestigen.
    Für diesen Schritt nutzen wir:
    1x 3,85 (11 Löcher) Aluminiumbalken 1x Wohnung Einkanal-Halterung 2x 90 ° Doppelseite montieren E
    Das Ergebnis sollte wie folgt aussehen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 8: Mechanismus: der Stift-up-Servo Fall (3/5)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Montage eines kastenförmigen Anordnung um den Stift-up (Power HD) Servo. Dies wird später verwendet, um die Servo auf dem Hauptkanal zu befestigen.
    Für diesen Schritt nutzen wir:
    Die Baugruppe aus dem vorherigen Schritt 1x Wohnung Einkanal Halterung 2x 90 ° Doppelseite montieren E
    Das Ergebnis sollte wie folgt aussehen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 9: Mechanismus: der Stift-up-Servo Fall (4/5)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Montage eines kastenförmigen Anordnung um den Stift-up (Power HD) Servo. Dies wird später verwendet, um die Servo auf dem Hauptkanal zu befestigen.
    Für diesen Schritt nutzen wir:
    Die Anordnung aus dem vorhergehenden Schritt 1x 1,50 "Aluminium Kanal
    Das Ergebnis sollte wie folgt aussehen:
    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 10: Mechanismus: der Stift-up-Servo Fall (5/5)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Montage eines kastenförmigen Anordnung um den Stift-up (Power HD) Servo. Dies wird später verwendet, um die Servo auf dem Hauptkanal zu befestigen.
    Für diesen Schritt verwenden Sie die beiden Teile des Stift-up-Servo-Fall Sie gerade zusammengebaut wird, montieren sie für Sie zusammengestellt Riesengroße Servo einen gemütlichen kleinen Fall bereit, auf die Schreibroboter angebracht werden müssen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 11: Mechanismus: Anbringen der Stift-up-Servo Fall an den Hauptkanal

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Befestigung des kastenförmigen Anordnung um den Stift-up (Power HD) Servo auf dem Hauptkanal. Das ist einfach: Sehen Sie die Bilder oben.

Schritt 12: Mechanismus: befestigen Sie die Servoplatten zum Hauptkanal

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir auf dem Hauptkanal Hinzufügen von zwei Servoplatten, werden sie später halten die beiden Winkel Servos.
    Für diesen Schritt nutzen wir:
    2x Standard-Servo-Platte D 1x 3,75 "Aluminium-Kanal
    Bringen Sie die Servo-Platten an die kleinen 3,75 "Kanal wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Und befestigen Sie die Servoplatte an den Nabenhalterungen, die Sie links frei drehen / translate auf der langen Welle auf der Haupt 12 "channel:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Befestigen Sie den zweiten Servoplatte in der gleichen Weise. Die Servoplatten + kleine 3,75 "Kanal sollte jetzt ein wenig Platz für aufgrund der Tatsache, dass Sie die lange Welle ein wenig mit den flachen Einkanal Klammern in der ersten Aufbauschritt angehoben drehen.
    Ihr Roboter nun wie folgt aussieht:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 13: Mechanismus: Hinzufügen von Nabenhalterungen

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Anbringen von zwei Nabenhalterungen an den Servoplatten Wir haben soeben.
    Für diesen Schritt nutzen wir:

    Standard Hitec ServoBlocks / Hub Halterungen

    Die Servoplatten nun wie folgt aussehen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 14: Mechanismus: Hinzufügen der Arm-Servos

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Die Servos passen sich exakt in den Servoplatten, wie oben abgebildet.
    Für diesen Schritt verwenden:
    2x Hitech HS-5645MG Servos
    Beachten Sie, ich wählte, um den Servoachsen sind nahe beieinander statt Split auseinander. Dies hat Auswirkungen auf die Form der Domäne mit dem Stift zu erreichen. Siehe die Mathematik Abschnitt für weitere Details.

Schritt 15: Mechanismus: Hinzufügen der Kugellagerplatten

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Diese Platten dienen dazu, die Servo-Hubs an Ort und Stelle fest zu halten.
    Für diesen Schritt nutzen wir:

    Standard Hitec ServoBlocks / Kugellager-Platten

    Bringen Sie sie an den Nabenhalterungen wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 16: Mechanismus: Hinzufügen der Servo Hubs

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Die Servo Naben an der Drehservokeil befestigt. Die Roboterarme werden an diesen Knotenpunkten angebracht werden.
    Für diesen Schritt Verwendung:

    2x Normal Hitec ServoBlocks / Servo-Hubs

    Montieren Sie die Servo Hubs durch das Kugellager-Platten und sie an den Servo Splines:

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier ist eine Seitenansicht der beiden Servo Hubs ihrer Servos hängt:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 17: Mechanismus: Brackets vor den Servoplatten

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Zwei 90 ° Winkel Einzelkanalhalterung sind an der Vorderseite der Servoplatten angebracht. Diese werden später verwendet, um zwei kurzen Wellen, die von den Servohalterungen an der Schreibfläche gehen wird, um die Feder zu hart schlagen auf der Schreibfläche zu vermeiden, zu befestigen.
    Für diesen Schritt Verwendung:
    2x 90 ° Winkel Einzelkanal Bracket
    Schrauben Sie sie auf der Nabe Halterungen wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Hier ist, was es sieht aus ilke nachdem die beiden Klammern angeschraubt:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 18: Mechanismus: Befestigung für die Feder-up-Servokabel (1/3)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Dieser kleine Montage wird mit dem beweglichen Teil, der den Stift nach oben und unten macht angebracht werden. Der Stift-up Servo wird darauf zu ziehen, um den Stift anzuheben.
    Für diesen Schritt Verwendung:
    1x 1,54 "(5-Loch) Aluminiumbalken 2x 6x 90 ° Doppelseite montieren E 1x Trägerbefestigungsblock
    Das Ergebnis sollte wie folgt aussehen:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 19: Mechanismus: Befestigung für die Feder-up-Servokabel (2/3)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Schließen Sie den kleinen Montage Sie nur auf die Kugellager-Platten aufgebaut, wie oben dargestellt.

Schritt 20: Mechanismus: Befestigung für die Feder-up-Servokabel (3/3)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Ausführen ein Kabel durch das Loch des Trägerbefestigungsblock und auf den Stift-up Servohorn, wie oben und unten dargestellt:
    Der Aufbau einer Roboter, der Mauszeiger folgt


    Ihr Roboter mit dem Stift-up-Mechanismus nun abgeschlossen sieht so aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 21: Mechanismus: ruhenden Beinen, um das Schreibgerät zu schützen (1/2)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Für diesen Schritt nutzen wir:
    2x 4 mm (100 mm Länge) Precision shafting 2x 4mm Bore Klemmnabe
    Befestigen Sie die kleinen Wellen zu 100mm Klemmnaben auf diese Weise (Sie sie einfach noch nicht fest, werden Sie auf die Länge, so dass sie die Schreibfläche berührt gleichzeitig als Stift, wenn der Stift angehoben benötigen / abgesenkt) :

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 22: Mechanismus: ruhenden Beinen, um das Schreibgerät zu schützen (2/2)

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier werden wir die Kurzwellen und Klemmnaben (auch bekannt als "Ruhe legs") mit dem 90 ° Winkel Einzelkanal Bracket wir bereits aufgenommen, wie im Bild oben zu befestigen.
    Sobald beide Beine ruhen auf dem Roboter montiert, sollte es so aussehen von unten:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Und wie diese von oben:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 23: Mechanismus: die Befestigung der Arme!

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Für diesen Schritt verwenden:
    2x 6.16 (17 Löcher) Aluminiumbalken
    Bringen Sie diese Strahlen an die Servo Hubs. Man beachte, dass das Loch 2 des Strahls in Übereinstimmung mit die Stellantriebsdrehachse. Die effiziente Länge des Armsegments ist daher 16 Löchern (5,6 ").
    Einem Arm angebracht ist:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Und nun beide Arme:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 24: Mechanismus: Anbringen der zweiten Arme Segmente

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Anbringen eines zweiten Armsegment oder "Unterarm" auf den Arm.
    Wir sind mit dem zweiten Loch des Unterarms, um für alle effektiven Segmente von gleicher Länge (16 Löcher) sein.
    Dazu verwenden wir:
    1x 6,16 "(17 Löcher) Aluminiumbalken
    Wir sind nicht die beiden Befestigungsarme nur noch, wie wir bauen den Stift-Befestigungssystem zur anderen Unterarm in den nächsten Schritten.

Schritt 25: Mechanismus: Federhaltesystem

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Für diesen Schritt werden wir verwenden:
    2x 3,85 "(11 Löcher) Aluminiumbalken 2x Standard-Hitec ServoBlocks / Hub Halterungen 1x 4 mm Bore Klemmnabe
    Befestigen Sie eine Nabe montieren, um den 3,85 "Aluminium-Balken wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Dann bringen Sie die Klemmnabe auf die Nabe montieren wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt


    Der Aufbau einer Roboter, der Mauszeiger folgt


    Und schließlich, befestigen Sie die zweite Nabe an der gegenüberliegenden Seite des 3,85 "Aluminium-Balken wie folgt aus:

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 26: Mechanismus: Montage der Kugelschreiber in der Stifthaltesystem

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Ein Standard-Kugelschreiber perfekt in unser Stift Haltesystem zu passen!

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

Schritt 27: Mechanismus: Anbringen der Stifthaltesystem auf den Arm

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Hier sind wir Anbringen der Stifthaltesystem, um unsere restlichen Armsegment, wie oben dargestellt.
    Wir verwenden:
    1x 6,16 "(17 Löcher) Aluminiumbalken zuvor eingebauten Feder Haltesystem
    Beachten Sie, dass, sobald es gegen das 2. Loch des Armes Segment, das mit der Stiftspitze ausgerichtet ist. Unsere effektive Arm Segmentlänge 16 Löcher für alle Armsegmente.

Schritt 28: Mechanismus: die Verbindung der beiden Arme

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Die beiden Enden Unterarm auf der Achse genau über der Stiftspitze verbunden ist.
    Beachten Sie die Armsegmente 'über / unter Konfiguration.

Schritt 29: Mechanismus: fertig!

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Der Aufbau einer Roboter, der Mauszeiger folgt

    Alle 7 Artikel anzeigen

    Es ist an der Zeit, in der Schönheit unserer herrlichen Roboter sonnen und führen Sie eine globale Untersuchung.

Schritt 30: Anschluss der Servomotoren

  1. Der Aufbau einer Roboter, der Mauszeiger folgt

    In diesem Schritt werden wir die Servomotoren an das Arduino-Board zu verbinden. Es gibt verschiedene Arten von Hardware, um diese Verbindungen herzustellen. Ich habe ein Steckbrett und Drahtbrücken.
    Ich verwendete eine externe Gleichstromquelle, um die Servos anzutreiben. Während es möglich ist, sie direkt vom USB-Anschluss des Arduino-Board Power bietet das USB-Stromquelle begrenzter Stromausgänge. Für die Servos schneller und effizienter zu bewegen, verwenden Sie eine externe Stromquelle. Sie können einen kleinen DC-Anschluss auf dem Steckbrett verwenden, um dies zu tun.
    Das Arduino-Code in einem früheren Abschnitt dieses Tutorials bereitgestellt erwartet die folgenden Verbindungen:
    Links Servo zu Pin 9 des Arduino verbunden. Rechts Servo an Pin 10 Up-Down-Servo an Pin 6
    Sie können sehen, das Diagramm der obigen Verbindungen.

Schritt 31: Lauf alles


  1. Es ist Zeit, mit dem Roboter zu spielen! Oben ist ein längeres Video, das den Roboter in Aktion.
    Dies ist Ihre letzte Checkliste:
      Schließen Sie das Arduino an den PC mit einem USB-Kabel. Kompilieren Sie das Arduino Sketch und laden Sie sie auf die Arduino-Board, mit dem Arduino IDE Kompilierung und laden Sie Schaltflächen. Prüfen Sie, welche COM-Port Arduino wird mit unter dem Tools> Serieller Port-Menü der Arduino IDE. Überprüfen Sie, ob das Verarbeitungsprogramm mit dem gleichen seriellen Schnittstelle ist die entsprechende Zeile im Setup () -Methode. Kompilieren Sie das Verarbeitungsprogramm. Untergrund achten ountput des Arduino-Board ist mit dem Masseausgang Ihres DC-Netzteil, wenn Sie mit einem verbunden sind. Un-verbinden die Unterarm Extremitäten und Stift-raising-Systemkabel, bevor Sie das Servos unangemessene und unerwartete Bewegungen zu vermeiden. Überprüfen Sie die Armsegmente drehen leicht an ihren Gelenken. Überprüfen Sie die ruhenden Beine traf die Schreibfläche zur gleichen Zeit wie der Kugelschreiber Punkt, um den Kugelschreiber Punkt dauert zu großen Hits, wenn der Stift abgesenkt zu vermeiden. Überprüfen Sie die Armsegmente passieren leicht über die Klemmnaben Halten der Ruhe Beine (wenn nicht können Sie die Arme ein wenig, indem Sie einen flachen Metallring zwischen dem Arm und dem Servo-Hub zu erhöhen). Überprüfen Sie die Servo-Drähten oder anderen elektrischen Leitungen nicht riskieren, durch die Bewegung der Arme gerissen. Macht, zu testen und zu kalibrieren die Servopositionen einzeln, so dass die Winkel von den Servos genommen sind genau die, die zu erwarten (siehe Diagramm in Mathematik Abschnitt). Dies kann entweder durch die Programmierung Digital-Servos mit getan werden dieser Art von Gerät, oder durch Anpassungen in der Arduino-Code. Die entsprechenden Verfahren sind SetServoLeftToTheta und SetServoRightToTheta. Starten Sie die Verarbeitungsprogramm von der Verarbeitung IDE. Der Roboter sollte nun die Bewegung des Mauszeigers folgen auf dem Verarbeitungsfenster auf Ihrem Computerbildschirm.

    Spaß haben !