MODE 4 — YAW HOLD

Medium · 1h · Fast kostenlos

Ziel & Anwendung

Dein Fahrzeug hält automatisch seinen Kurs! Ein Fingertipp auf die Touch-Fläche speichert die aktuelle Ausrichtung als Soll-Kurs, der Kompass-Sensor erkennt jede Abweichung und der Antrieb lenkt sanft gegen. Drei Zeiger zeigen live Lenkausschlag, Soll-Kurs und Ist-Kurs.

  • PI-Regelkreis für Heading-Hold (Kurs-Halten) mit dem Gyroskop implementieren
  • ±180°-Winkel-Wrap-Around im Fehler korrekt behandeln
  • Teach-In Funktion per Fingertipp für Soll-Kurs-Speicherung realisieren

Anschluss & Funktion

Motoren am Board

AnschlussMotorAufgabe
S1180°-ServoLenkausschlag-Anzeige
S2180°-ServoSoll-Kurs-Markierung
S3180°-ServoIst-Kurs-Anzeige
S4360°-ServoAntrieb links — Kurskorrektur
S5360°-ServoAntrieb rechts — Kurskorrektur
S6180°-ServoKursabweichungs-Fähnchen
STEPPERSchrittmotorKursabweichungs-Skala
DCDC-MotorVibrationswarnung bei starker Abweichung

Materialliste

  • Fahrzeug-Chassis aus vorherigen Projekten (oder Schuhkarton-Neubau)
  • Kartonpfeil als Richtungs-Markierung oben auf dem Chassis
  • Kompass-Skala aus Papier (N/S/O/W) unter dem Pfeil
  • Heißkleber

Step-by-Step Tutorial

  1. Fahrzeug und Kompass-Anzeige aufbauen

    Baue oder nutze ein vorhandenes Fahrzeug-Chassis mit S4/S5-Differentialantrieb. Klebe eine Kompass-Skala (Papier) oben auf das Chassis. Befestige einen Kartonpfeil mittig in Fahrtrichtung. S1 als Lenkwinkel-Anzeige neben der Skala.

    Check: Kartonpfeil zeigt klar die Fahrtrichtung, Kompass-Skala ist lesbar

    Tipp: Pfeil muss in Richtung des Ultraschall-Sensors zeigen — nicht qür dazu

  2. Teach-In Funktion mit der Touch-Fläche

    Richte das Fahrzeug in die gewünschte Fahrtrichtung aus und tippe die Touch-Fläche an: Die aktuelle Ausrichtung wird als Soll-Kurs übernommen. Ab dann hält der Regler genau diesen Kurs. S2 zeigt den Soll-Kurs als Markierung auf der Kompass-Skala.

    Check: Antippen der Touch-Fläche speichert die aktuelle Ausrichtung als Zielwert

    Tipp: Das Gyroskop liefert die aktuelle Ausrichtung direkt — kein Warten nötig, der Zielkurs steht sofort fest

  3. ±180°-Wrap-Around behandeln

    Der Kurs-Fehler wird immer auf den kürzesten Drehweg umgerechnet, nie über den langen Umweg um den ganzen Kompass herum.

    Check: Wenn das Fahrzeug von knapp unter zu knapp über der Kompass-Nullmarke dreht, wird kein Sprung-Fehler berechnet

    Tipp: Ohne diese Korrektur würde das Fahrzeug genau an der Nordmarke des Kompasses kurz in die falsche Richtung gegensteuern

  4. PI-Regler und Antrieb koppeln

    Beide Antriebsservos erhalten denselben Korrekturwert, wodurch sich das Fahrzeug in die passende Richtung eindreht. S1 zeigt den aktuellen Korrekturausschlag.

    Check: Fahrzeug korrigiert sanft, wenn es vom Kurs abweicht

    Tipp: Weicht das Fahrzeug lange in eine Richtung ab, baut sich zusätzlich zur sofortigen Korrektur ein aufsummierter Nachdreh-Anteil auf

  5. Leichtgängigkeitstest und Heading-Hold-Test

    Alle Räder manuell drehen — kein Widerstand. Erst dann Strom einschalten und Touch-Fläche antippen (Kurs speichern). Fahrzeug manuell um ein Stück verdrehen: der Antrieb muss korrigierend gegensteuern. Loslassen: Fahrzeug kehrt auf Kurs zurück.

    Check: Fahrzeug dreht sich von alleine zurück, wenn es manuell vom Kurs gebracht wird

    Tipp: Gyro-Drift über lange Betriebszeit: Touch-Fläche einfach erneut antippen zum Neu-Einmessen

Troubleshooting

  • Fahrzeug dreht immer weiter in eine Richtung — Touch-Fläche erneut antippen — der Zielkurs wird direkt aus der aktuellen Ausrichtung neu gesetzt
  • Kurs driftet auch im Stillstand — Fahrzeug für ein paar Sekunden ruhig hinstellen und danach neu einmessen (Touch-Fläche antippen)
  • Kurs-Korrektur beginnt erst bei großer Abweichung — Kleinere Abweichungen testen — die Korrektur setzt bereits ab wenigen Grad Unterschied sanft ein

Modifikationen & Sicherheit

  • Pro-Tipp: Mehrere gespeicherte Kurse per Dreh-Regler durchschalten
  • Pro-Tipp: Fahrgeschwindigkeit unabhängig überlagern — Heading-Hold läuft bei jedem Tempo
  • Sicherheit: Gyro-Drift bei langen Fahrten — periodisches Neu-Einmessen per Touch-Fläche empfohlen

Wichtige Code-Teile

// Teach-In: Touch-Fläche übernimmt aktuelle Ausrichtung als Ziel
if (isButtonPressed(touch1, lastTouch1)) { targetYaw = GyroZ; integYaw = 0; }

float errYaw = targetYaw - GyroZ;
// Kürzesten Drehweg über die ±180°-Grenze wählen
while (errYaw > 180.0f)  errYaw -= 360.0f;
while (errYaw < -180.0f) errYaw += 360.0f;

integYaw = constrain(integYaw + errYaw * dt, -30.0f, 30.0f);
float yawCtrl = constrain(errYaw * 6.0f + integYaw * 1.0f, -400.0f, 400.0f);

// Antrieb: beide Servos erhalten denselben Korrekturwert
servocontroller.setServoPulse(4, constrain(1500 + (int)yawCtrl, 1000, 2000));
servocontroller.setServoPulse(5, constrain(1500 + (int)yawCtrl, 1000, 2000));

// Anzeigen
servocontroller.setServoPulse(1, constrain(1500 + (int)yawCtrl / 2, 1000, 2000));
servocontroller.setServoPulse(2, map(constrain((int)targetYaw, -180, 180), -180, 180, 1000, 2000));
servocontroller.setServoPulse(3, mapGyroZ);

// Kursabweichungs-Fähnchen + Vibrationswarnung
servocontroller.setServoPulse(6, errYaw > 2 ? 2000 : (errYaw < -2 ? 1000 : 1500));
setMotorspeed(abs(errYaw) > 30 ? 40 : 0);

Ähnliche Projekte

  • MODE 3 — DIST HOLD — Dein Karton-Fahrzeug hält automatisch Abstand! Ein Ultraschall-Sensor misst die Entfernung zum vorausfahrenden Objekt, die beiden Antriebsräder bremsen oder beschleunigen automatisch dagegen. Eine Berührungsfläche oder die Steuerknüppel-Taste lösen jederzeit einen sofortigen Notfall-Stopp aus.
  • MODE 8 — SEGWAY — Der heilige Gral der Robotik aus Karton! Ein Neigungsregler liest den Kippwinkel und steuert die beiden Antriebsräder genau entgegen — so bleibt der Roboter aufrecht, ganz wie ein echter Segway. Der Dreh-Knopf gleicht kleine Bauungenauigkeiten aus, bei zu starker Neigung schaltet der Roboter zum Schutz automatisch ab.
  • MODE 7 — GIMBAL — Steuere einen Gimbal aus zwei verschiedenen Quellen — und wechsle live zwischen ihnen! Eine Berührungsfläche schaltet auf den Bewegungssensor (Kopfbewegung nachahmen), die andere auf den Steuerknüppel. Eine starke Glättung sorgt für butterweiche Übergänge, zwei Anzeige-Servos zeigen, welche Quelle gerade aktiv ist.