sitemap link mailform link home

ASURO kalibrieren

Ein großes Problem beim ASURO ist, dass einige Hardware-Funktionen erst kalibriert werden müssen.

Die Werte der Pollswitch-Taster können mit einem einfachen Programm ermittelt werden:

http://elektronik.nmp24.de/index.php?Robots:ASURO:Pollswitch_testen

Aber auch die Odometrie und die Streuung der Motoren kann optimiert werden. Dazu gibt es hier ein Programm mit ausführlicher Anleitung:

http://www.roboternetz.de

Nach dieser Kalibrierung müsste der ASURo dann mit GoTurn() bzw. Go() perfekt geradeaus fahren Laughing

Allerdings kann es auch sein, dass die IR-Fototransistoren bzw. IR-Dioden nicht korrekt angelötet sind. Hier gibt es oft "kalte Lötstellen". Das lässt sich sehr einfach mit dem folgenden Programm testen:

 

// Odometertest mit IR-Ausgabe

#include "asuro.h"
#include "stdlib.h"

int main (void) {

   Init ();

   EncoderInit();
    MotorDir(FWD,FWD);
    MotorSpeed(120,120);
     
    int odo_links;
    int odo_rechts;
    char text[16]; // Speicher für mit itoa() umgewandelte Integer-Zahl
    int i;
    for(i=0; i<8000; i++){
        odo_links = encoder[LEFT];
        odo_rechts = encoder[RIGHT];
        Msleep(300);
        SerPrint("Links:");
        // Umwandlung einer Integer-zahl in eine Zeichenkette:
        itoa(odo_links, text, 10); // 10 bedeutet Dezimal-Ausgabe
        SerPrint(text); // Ausgabe Odometriewert links
        SerPrint("_Rechts:");
        itoa(odo_rechts, text, 10); // 10 bedeutet Dezimal-Ausgabe
        SerPrint(text); // Ausgabe Odometriewert links
        SerPrint("\r\n"); // Zeilenvorschub
       }
      
    return 0;
}

So sieht die Ausgabe bei Geradeaus-Fahrt mit dem Terminal-Programm "Hercules" aus:

Screenshot

Es ist nun deutlich zu erkennen, dass der linke Encoder nicht funktioniert!

 

 

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »