MODE 7 — PRECISION
Hard · 2h · Fast kostenlos
Ziel & Anwendung
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.
- Stepper-Motor als Antrieb für präzise Positionierung nutzen.
- Stepper-Schritte akkumulieren und als Positions-Feedback verwenden.
- Unterschied zwischen Stepper (Position) und 360°-Servo (Geschwindigkeit) verstehen.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Vorderlenkung |
| S2 | 180°-Servo | Hinterachsen-Mikrotrimm — für echtes Vierrad-Lenken auf engstem Raum |
| S3 | 180°-Servo | Seitenspiegel-Klappe — klappt beim Einparken automatisch ein |
| S4 | 360°-Servo | Rotierendes Warnlicht — signalisiert aktiven Park-Assistenten |
| S5 | 360°-Servo | Deko-Parkuhr-Zeiger — läuft während des Einparkens mit |
| S6 | 180°-Servo | Bordstein-Flagge — klappt ein, sobald die Zielposition erreicht ist |
| STEPPER | Schrittmotor | Hinterachsen-Antrieb — millimetergenaues Vor- und Rückwärtsfahren |
| DC | DC-Motor | Kurzer Vibrationsimpuls beim erfolgreichen Einparken |
Materialliste
- Chassis wie MODE 1 (Karton, S1 Lenkung)
- Direkter Stepper-Antrieb auf Hinterachse: Holzstäbchen als Achse durch Stepper-Mitnehmer
- Stabiles Karton-Chassis — Stepper ist schwerer als Servos
Step-by-Step Tutorial
Stepper als Hinterachsen-Antrieb montieren
Stepper-Mitnehmer auf die Stepper-Achse stecken. Holzstäbchen als Hinterachse durch den Mitnehmer führen. Hinterräder auf das Stäbchen schieben und fixieren. Stepper fest auf das Chassis kleben — er trägt den Antrieb.
Check: Stepper-Mitnehmer sitzt fest, Achse dreht sich mit dem Stepper
Tipp: Stepper ist schwerer als Servo — Chassis muss stabil genug sein. Stepper tief und hinten montieren für guten Schwerpunkt.
Lenkservo S1 vorne montieren
S1 vorne montieren, Karton-Lenkgestänge bauen wie in MODE 1. Baue zusätzlich Seitenspiegel-Klappe (S3) und Bordstein-Flagge (S6) — beide gut sichtbar am Chassis.
Check: S1 (180°) lenkt die Vorderräder leichtgängig
Tipp: S4/S5 zeigen hier kein Fahrverhalten mehr, sondern drehen als Warnlicht bzw. Deko-Parkuhr, solange der Park-Assistent aktiv ist.
Leichtgängigkeits-Test
Stepper-Achse von Hand drehen: leichte Rastmomente sind normal. Räder von Hand rollen. Lenkung von Hand betätigen. Dann ProtoPeaks einschalten.
Check: Stepper dreht leicht wenn Achse von Hand gedreht wird, Vorderräder lenken frei
Tipp: Stepper hat Rastmomente — das sind spürbare Klicks bei jeder Umdrehung. Normal, nicht wegoptimieren.
MODE 7 aktivieren — Präzisions-Fahrt testen
Autos → MODE 7. Joystick Y leicht nach vorne drücken: Stepper macht kleine Schritte vorwärts. Display zeigt Stepper-Position. Joystick loslassen: Stepper stoppt exakt. Joystick Y zurück: rückwärts.
Check: Joystick Y leicht nach vorne: Stepper macht kleine Schritte. Position auf Display sichtbar.
Tipp: stepDir = ±1 bis ±5 Steps pro Frame. Bei 250ms Update-Rate: max. 5 Steps alle 250ms = sehr langsam und präzise.
Nullpunkt-Reset und Einpark-Test
Auto an eine Markierung fahren. EncoderButton drücken: Position = 0. Weiterfahren. Dann: genau so viele Schritte rückwärts fahren bis Display wieder 0 zeigt. Auto steht exakt an der Ausgangsposition.
Check: EncoderButton setzt Position auf 0. Auto kann auf exakter Startposition zurückfahren.
Tipp: Stepper akkumuliert Schritte — Display zeigt Gesamtposition. Mit dieser Info kann man auf exakte Startposition zurückfahren.
Troubleshooting
- Stepper dreht sich nicht obwohl Joystick gedrückt — stepper.run() muss jede Loop-Iteration aufgerufen werden (oben in handleMode_RCAUTO). stepDir muss ≠ 0 sein — Deadzone von 1 prüfen.
- Stepper summt aber dreht sich nicht — Zu viel Last auf der Achse. Räder auf glattetem Untergrund testen. Stepper-Geschwindigkeit (setMaxSpeed) erhöhen.
Modifikationen & Sicherheit
- Pro-Tipp: stepDir * 20 auf * 5 reduzieren für noch feinfühligere Schrittsteuerung.
- Erweiterung: Ultraschall-Sensor als automatischer Einpark-Assistent — zeigt optimale Parkposition an.
- Sicherheit: Stepper kann bei Blockierung heiß werden — nie dauerhaft gegen mechanischen Anschlag fahren.
Wichtige Code-Teile
// Stepper fährt millimetergenau vor/zurück
int stepDir = applyDeadzone(map(JoystickY, 0, 4095, -5, 5), 0, 1);
if(stepDir != 0) stepper.move(stepDir * 20);
// S1 (180°): Lenkung aktiv
servocontroller.setServoPulse(1, map(constrain((int)JoystickX, 0, 4095), 0, 4095, 1200, 1800));
// S4/S5 stehen still im Stepper-Modus
servocontroller.setServoPulse(4, 1500);
servocontroller.setServoPulse(5, 1500);
// EncoderButton: Nullpunkt-Reset
if(EncoderButton) stepper.setCurrentPosition(0);Ähnliche Projekte
- MODE 6 — CRUISE — Encoder stellt eine konstante Ziel-Geschwindigkeit ein — das Auto hält diesen Kurs ohne Joystick-Halten. Joystick X lenkt weiterhin, EncoderButton setzt Speed zurück auf Null.
- MODE 10 — Krabbe & Pirouette — Beide Achsen lenken mit — per Tastendruck wechselst du zwischen Krabbengang (das Auto schiebt sich seitlich) und Pirouette (das Auto dreht sich auf der Stelle). Zwei völlig unterschiedliche Fahrmodi in einem Fahrzeug.
- MODE 2 — SCARA-Arm — 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.