PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Turn funktion



sloti
25.11.2007, 20:48
Moin Moin,

ich habe folgendes Programm geschrieben:


#include "asuro.h"

int main(void) {

Init();
MotorDir(FWD,FWD);
MotorSpeed(140,140);
Msleep(3000);
MotorSpeed(0,0);
Msleep(3000);
Turn(90,140);
Msleep(3000);
BackLED(ON,ON);



while (1);




return 0;
}


In dem Programm soll er erstmal ca. 3 sec. lang geradaus fahren, dann für 3 sec. stehen bleiben sich darauf um 90° drehen und dann die beiden Back leds anschalten.
Bis auf die 90° Drehung macht er auch alles ich weiß nicht was ich falsch gemacht habe.

PS.: Mit der Go funktion habe ich ähnliche probleme, obwohl im selftest die Odometrie eigenltich reibungslos funktioniert hat.

schon mal Danke im vorraus

mfg
Erik

damaltor
25.11.2007, 21:42
dir fehlt glaub ich EncodeInit(), oder?

sloti
26.11.2007, 14:53
Also, wenn ich die encoder intialisiere dreht er sich andauernd im Kreis anstatt den Teil zu überspringen :). Das ist zwar schon ein Fortschritt aber er macht trotzdem noch nich wirklich das was er soll.
Hier nochmal der neue Code


#include "asuro.h"

int main(void) {

Encoder_Init();
Init();

MotorDir(FWD,FWD);
MotorSpeed(140,140);
Msleep(3000);
MotorSpeed(0,0);
Msleep(3000);
Turn(90,140);
Msleep(3000);
BackLED(ON,ON);



while (1);




return 0;
}


mfg
Erik

damaltor
26.11.2007, 15:38
tu encoder_init mal hinter das normale init.

sloti
26.11.2007, 15:52
ahh danke nun klappt das, auch wenn die 90° eher 130° waren :).

damaltor
26.11.2007, 16:02
dann hast du vermutlich die falschen encoderscheiben aufgeklebt. mit den anderen wird es funktionieren.