MODE 2 — SCARA-Arm
Hard · 2h 30 min · Fast kostenlos
Ziel & Anwendung
Du steuerst nie ein einzelnes Gelenk direkt — du gibst nur vor, wohin die Hand zeigen soll, und die beiden Arm-Gelenke berechnen automatisch den passenden Winkel. Genau nach diesem Prinzip arbeiten echte Industrieroboter.
- Du bewegst nur einen Zielpunkt — die Arm-Gelenke berechnen ihren Winkel dazu ganz automatisch.
- Ein Werkzeugrad-Paar am Arm-Ende dreht sichtbar gegenläufig, sobald der Punkt erreichbar ist.
- Ein Status-Fähnchen zeigt dir auf einen Blick, ob der Zielpunkt exakt getroffen wurde.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Oberarm-Schulter — berechnet automatisch den Winkel zum Zielpunkt |
| S2 | 180°-Servo | Unterarm-Ellbogen — berechnet automatisch den Winkel zum Zielpunkt |
| S3 | 180°-Servo | Höhen-Hub — zieht die Arm-Plattform per Seilzug hoch oder lässt sie herab |
| S4 | 360°-Servo | Werkzeugrad 1 — dreht, sobald der Zielpunkt erreichbar ist |
| S5 | 360°-Servo | Werkzeugrad 2 — dreht gegenläufig zu Werkzeugrad 1 |
| S6 | 180°-Servo | Status-Fähnchen — zeigt an, ob der Zielpunkt exakt getroffen wurde |
| STEPPER | Schrittmotor | Fuß-Drehteller — dreht zusätzlich zur Zielpunkt-Steuerung mit |
| DC | DC-Motor | Kurzer Rüttel-Impuls im Moment des Zieltreffers |
Materialliste
- Kartonbox als Standfuß (mind. 15 × 15 cm) + schweres Füllmaterial
- Runde Kartonscheibe (Ø ca. 10 cm) als Drehteller
- 2 senkrechte Holzstäbchen als Führungsschienen für den Höhen-Hub
- Kleine Kartonplattform (ca. 10 × 10 cm) als Hub-Plattform
- Dünner Faden (ca. 40 cm) als Seilzug für den Hub
- 2 Kartonstreifen je ca. 10 × 3 cm als Ober-/Unterarm
- 2 kleine Kartonkreise (Ø ca. 4 cm) als Werkzeugräder
- Kleine Kartonlasche als Status-Fähnchen
- Strohhalme als Gleitlager, Gummiband zur Gewichtsentlastung
- Klebeband und Heißkleber
Step-by-Step Tutorial
Fuß-Drehteller bauen
Fülle die Kartonbox mit schwerem Material. Stecke den Mitnehmer auf die Schrittmotor-Achse und klebe die runde Kartonscheibe flächig darauf — das ist die drehbare Basis für den ganzen Arm.
Check: Drehteller dreht sich gleichmäßig mit dem Schrittmotor mit
Tipp: Standfuß so schwer wie möglich befüllen — der Arm hat später einiges an Gewicht oben.
Höhen-Hub mit Seilzug bauen
Stecke zwei Holzstäbchen senkrecht als Führungsschienen auf den Drehteller. Schneide Löcher in die kleine Kartonplattform, durch die die Stäbchen als Gleitschiene laufen. Schraube das Servo-Horn auf den Höhen-Servo und klebe das Faden-Ende daran fest — der Faden läuft nach oben über die Plattform. Dreht der Servo, wickelt sich der Faden auf und zieht die Plattform nach oben.
Check: Hub-Plattform lässt sich am Faden sauber hoch- und runterziehen, ohne zu verkanten
Tipp: Löcher in der Plattform mit einem Kugelschreiber weiten, damit sie ohne Klemmen an den Stäbchen entlanggleitet.
Oberarm und Unterarm montieren
Schraube ein Servo-Horn auf den Schulter-Servo und klebe den Oberarm-Kartonstreifen flächig darauf. Montiere den Ellbogen-Servo am Oberarm-Ende, schraube auch dort ein Horn auf und klebe den Unterarm-Streifen daran. Ein Gummiband von der Arm-Unterseite zur Hub-Plattform entlastet den Schulter-Servo.
Check: Beide Arm-Gelenke bewegen sich frei, Unterarm zeigt in die entgegengesetzte Richtung wie der Oberarm
Tipp: Arm-Segmente nicht länger als 10-12 cm bauen, sonst wird der Schulter-Servo überfordert.
Werkzeugrad-Paar am Arm-Ende anbringen
Klebe je eine kleine Kartonscheibe auf die Hörner der beiden verbleibenden 360°-Servos und montiere sie nebeneinander am Ende des Unterarms. Bemale beide unterschiedlich, damit die gegenläufige Drehung gut zu erkennen ist.
Check: Beide Räder drehen sich gegenläufig, wenn du sie testweise von Hand antreibst
Status-Fähnchen bauen
Klebe eine kleine Kartonlasche auf das letzte Servo-Horn und montiere den Servo gut sichtbar am Standfuß. Das Fähnchen zeigt später an, ob der Zielpunkt exakt getroffen wurde.
Check: Fähnchen klappt sichtbar hoch, wenn der Servo auf die Zu-Position fährt
Leichtgängigkeits-Test ohne Strom
Drehe den Fuß-Drehteller von Hand, ziehe die Hub-Plattform am Faden hoch und runter, bewege Schulter und Ellbogen durch, drehe beide Werkzeugräder. Klemmt oder schleift etwas, Löcher nachbessern oder ein Strohhalm-Stück als Gleitlager einsetzen. Erst wenn alles frei läuft, ProtoPeaks einschalten.
Check: Drehteller, Hub-Plattform, beide Arm-Gelenke und beide Werkzeugräder bewegen sich von Hand frei
Mode 2 starten und Zielpunkt steuern
Wähle im Menü Robotik den zweiten Modus. Bewege den Joystick zur Seite: die Fuß-Basis dreht mit und die Arm-Gelenke passen ihren Winkel automatisch an, als würde die Hand einem unsichtbaren Punkt folgen. Bewege den Joystick nach vorne/hinten: der Zielpunkt verschiebt sich, die Gelenke rechnen automatisch nach.
Check: Joystick bewegt einen unsichtbaren Zielpunkt — beide Arm-Gelenke drehen automatisch mit, die Fuß-Basis dreht gleichzeitig mit
Tipp: Du steuerst nie ein einzelnes Gelenk direkt — du gibst nur vor, wohin die Hand zeigen soll. Das ist das Grundprinzip echter Industrieroboter.
Höhe verstellen und Zieltreffer testen
Drehe den Encoder: die Hub-Plattform samt Arm hebt oder senkt sich. Lass den Joystick in der Mitte los, sobald der Arm die Zielposition erreicht hat: das Status-Fähnchen klappt hoch, ein kurzer Rüttel-Impuls und ein Ton bestätigen den Treffer.
Check: Encoder hebt/senkt die Hub-Plattform. Zielpunkt getroffen: Fähnchen klappt hoch, kurzer Rüttler ist spürbar
Troubleshooting
- Arm bewegt sich gar nicht, obwohl der Joystick ausgelenkt wird — Der Zielpunkt liegt außerhalb der Reichweite der beiden Arm-Segmente. Joystick länger in eine Richtung halten oder den Encoder drehen, um den Punkt zurück in den erreichbaren Bereich zu bewegen.
- Hub-Plattform verkantet und bleibt hängen — Führungslöcher zu eng oder Stäbchen nicht parallel. Löcher weiter aufweiten, Stäbchen mit einem Lineal exakt parallel ausrichten.
- Fuß-Drehteller reagiert nicht auf den Joystick — Mitnehmer sitzt locker auf der Motorachse. Fester aufstecken, bei Bedarf zusätzlich mit einem Tropfen Heißkleber fixieren.
Modifikationen & Sicherheit
- Pro-Tipp: Werkzeugräder mit Sandpapier bekleben — sieht dann wirklich wie ein kleines Schleifwerkzeug aus.
- Erweiterung: Faden-Länge des Höhen-Hubs verlängern für mehr Hubweg — dann reicht der Arm auch über höhere Hindernisse.
- Sicherheit: Finger nicht zwischen Ober- und Unterarm halten, während der Modus aktiv ist — die automatische Winkel-Berechnung kann sich schnell ändern.
Wichtige Code-Teile
// Joystick verschiebt den Zielpunkt (X/Y)
targetX += applyDeadzone((int)JoystickX - 2048, 0, 200) * 0.005f;
targetY += applyDeadzone((int)JoystickY - 2048, 0, 200) * 0.005f;
targetX = constrain(targetX, 0, 180);
targetY = constrain(targetY, 20, 180);
// Inverse Kinematik berechnet die Gelenkwinkel für S1/S2
JointPositions pos = scaraIK.calculate(targetX, targetY, 0);
if(pos.valid) {
servocontroller.setServoPulse(1, scaraIK.angleToPulse(pos.q1, 0, 180, 1000, 2000));
servocontroller.setServoPulse(2, scaraIK.angleToPulse(pos.q2, 0, 180, 1000, 2000));
}
// S3: Höhen-Hub via Encoder
servocontroller.setServoPulse(3, mapEncoder);
// Stepper: Fuß-Drehteller folgt zusätzlich JoystickX
int stepSpd = applyDeadzone(map(JoystickX, 0, 4095, -3, 3), 0, 1);
if(stepSpd != 0) stepper.move(stepSpd * 15);
// S4/S5: Werkzeugräder gegenläufig, aktiv wenn Zielpunkt erreichbar
servocontroller.setServoPulse(4, pos.valid ? 1700 : 1500);
servocontroller.setServoPulse(5, pos.valid ? 1300 : 1500);Ähnliche Projekte
- MODE 1 — Gyro-Greifarm — Neigst du das ProtoPeaks-Board, lehnt sich der ganze Arm mit — Fuß, Schulter und Handgelenk drehen gleichzeitig in deine Richtung. Kommt ein Gegenstand nah genug heran, schnappt der Greifer wie von selbst zu.
- MODE 7 — Pick & Place — Legst du ein kleines Objekt in die Zulauf-Station, läuft alles von allein: Der Arm fährt hin, greift zu, hebt an, dreht sich zur Ablage und kehrt zurück. Ein echter Fabrik-Roboter im Miniformat, komplett automatisch.
- MODE 7 — PRECISION — Der Stepper-Motor ermöglicht millimetergenaus Vor- und Rückwärtsfahren per Joystick — S1 lenkt, S4/S5 stehen still. EncoderButton setzt die Nullposition zurück.