Mein ASURO macht Probleme beim Geradeausfahren. Mit diesem Code geht es halbwegs, hierbei gibt es eher Probleme mit der Präzision der Turns.

Code:
#include "asuro.h"

int main()
{
  Init();
  EncoderInit(); 
 
  StatusLED (RED);
  
  const int POWER=130;
 
  int i,j;
 
  for (i=0; i<5; ++i)
  {
    for (j=0; j<3; ++j) //Dreieck
    {
        Go(-500,POWER);
        Turn(120,POWER);
    }
  }
 
  StatusLED (GREEN); 
 
  for (i=0; i<5; ++i)
  {
    for (j=0; j<4; ++j) //Quadrat
    {
        Go(-500,POWER);
        Turn(90,POWER);
    }
  }
 
  StatusLED (RED);
 
  while (1);
  return 0;
}
Lasse ich ihn allerdings vorwärts fahren, also Go(500,POWER), dann bricht er nach wenigen cm stark nach links aus, teilweise dreht er nur noch auf dem Fleck.

Was könnte hier der Grund sein? Rückwärts o.k., vorwärts ganz mies. Kommt da die Odometrie in Frage?

Verwende aktuelle Lib Version 2.70