Benutzer-Werkzeuge

Webseiten-Werkzeuge


hello_mbot_kalibrierung

Dies ist eine alte Version des Dokuments!


Hello mBot Kalibrierung

FIXME Abschnitt entsteht gerade!

Dieser Abschnitt zeigt, wie der mBot kalibriert werden kann. Grundsätzlich können alle Motoren oder Sensoren kalibriert werden. Ich stelle zwei Varianten vor, wie der mBot kalibriert werden kann (er besitzt keine Encoder), um 90-Grad-Drehungen durchzuführen.

Voraussetzungen:

90°-Drehung: erste (einfache) Variante

Dieses Programm ermöglicht eine 90-Grad-Drehung des mBot. Die Drehung erfolgt zeitgesteuert, wobei die Dauer (turn_time) für eine präzise Kalibrierung angepasst werden kann.

Funktionsweise

  • Der mBot führt eine Drehbewegung für die Dauer von turn_time aus.
  • Nach Ablauf der Zeit stoppt die Bewegung um dann alle 5 Sekunden wiederholt zu werden.
  • Die Drehzeit bestimmt, wie weit sich der mBot dreht.

Kalibrierung

  • Falls sich der mBot zu weit dreht → turn_time verringern.
  • Falls sich der mBot zu wenig dreht → turn_time erhöhen.
  • Der optimale Wert wird durch Tests ermittelt.

Quellcode (engl. Sourcecode)

Listing 1:MinimalesProgramm.ino

#include <MeMCore.h>

MeDCMotor motor1(M1);
MeDCMotor motor2(M2);

void setup() {
    Serial.begin(9600);
}

void loop() {
    turn90Degrees(400); // Hier die Drehzeit anpassen
    delay(5000); // Wartezeit zwischen Drehungen
}

void turn90Degrees(int turn_time) {
    int speed = 100;  // Geschwindigkeit

    motor1.run(speed);  
    motor2.run(speed);  
    delay(turn_time);

    motor1.run(0);
    motor2.run(0);
}

Vorteile & Nachteile

Vorteil Nachteil
✅ Einfach zu implementieren und gut für Programmieranfänger geeignet. ❌ Manuelle Kalibrierung ist aufwendig.
❌ Bei schwächer werdender Batterie muss die Drehzeit erneut angepasst werden.
❌ Die Methode blockiert das Programm und lässt sich nicht elegant in komplexere Programme integrieren.

90°-Drehung: zweite (komplexere) Variante

mBot 90-Grad-Drehung mit automatischer Kalibrierung

Dieses Programm ermöglicht eine automatische 90-Grad-Kalibrierung des mBot. Die Steuerung erfolgt über eine finite state machine (FSM), die eine tastengesteuerte Kontrolle erlaubt. Nach der Kalibrierung kann der Roboter getestet werden.

Dargestellt ist der mBot, der auf einem schwarzen L (90 Grad) steht.

Dies ist die Ausgangskonfiguration für die Kalibrierung. Der Roboter dreht sich so lange gegen den Uhrzeigersinn, bis er exakt auf der schwarzen Linie steht. Dabei wird die benötigte Zeit gestoppt. Beim Zurückdrehen passiert dasselbe. Anschließend wird der Mittelwert gebildet. Dadurch kann sich der mBot selbstständig auf 90-Grad-Kurven kalibrieren.

Auf diese Weise kann sich der Roboter immer wieder selbst kalibrieren, falls sich z. B. der Akkuladestand ändert und dadurch die Motorleistung variiert.Falls der mBot mehrmals hintereinander kalibriert, könnte er einen noch genaueren Mittelwert berechnen.

Funktionsweise

  • Die FSM steuert den Kalibrierungsprozess basierend auf Benutzereingaben.
  • Der mBot führt eine Drehung aus und passt die Drehzeit automatisch an.
  • Nach erfolgreicher Kalibrierung kann die Drehung getestet werden.

Dieses Programm verwendet eine einfache Tastensteuerung – einmal zur Kalibrierung und danach zum Testen der Kalibrierung. Es dient lediglich als Beispiel, um das Prinzip zu veranschaulichen.

Quellcode (engl. Sourcecode)

Listing 1:MinimalesProgramm.ino


Bedienung

Nach dem Start befindet sich der mBot im Ruhezustand. Nachdem er auf der L-Position platziert wurde, kann es losgehen.

Schritt 1:Drücken des TastersRote LEDs leuchten

  • Die Kalibrierung startet.
  • Nach Abschluss der Kalibrierung erlöschen die LEDs.

Schritt 2:Erneutes Drücken des TastersLEDs werden grün

  • Der Testlauf beginnt.

Schritt 3:Nach dem Testlauf kehrt der mBot in den Ruhezustand zurück.

  • Der Vorgang kann von vorne gestartet werden.

Vorteile & Nachteile

Vorteil Nachteil
✅ Automatische Kalibrierung ohne manuelles Anpassen der Drehzeit. ❌ Erfordert eine FSM-Implementierung.
✅ Präzisere Drehung durch wiederholte Anpassung. ❌ Höherer Programmieraufwand.
✅ Nach der Kalibrierung direkt einsatzbereit.
✅ Die Methode blockiert das Programm nicht und lässt sich damit elegant in komplexere Programme integrieren.
hello_mbot_kalibrierung.1739897299.txt.gz · Zuletzt geändert: 2025/02/18 16:48 von torsten.roehl