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

AnschlussMotorAufgabe
S1180°-ServoVorderlenkung
S2180°-ServoHinterachsen-Mikrotrimm — für echtes Vierrad-Lenken auf engstem Raum
S3180°-ServoSeitenspiegel-Klappe — klappt beim Einparken automatisch ein
S4360°-ServoRotierendes Warnlicht — signalisiert aktiven Park-Assistenten
S5360°-ServoDeko-Parkuhr-Zeiger — läuft während des Einparkens mit
S6180°-ServoBordstein-Flagge — klappt ein, sobald die Zielposition erreicht ist
STEPPERSchrittmotorHinterachsen-Antrieb — millimetergenaues Vor- und Rückwärtsfahren
DCDC-MotorKurzer 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.