PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GoTurn(); - Fehler und Modifikationen



Weiti
23.12.2007, 15:10
Hallo allerseits,

ich habe die neue Asuro.lib in betrieb genommen und kann leider nicht mehr geradeaus fahren. geschweige denn überhaupt noch kontrolliert fahren.

zuerst noch: der rechte Motor muss aus unerfindlichen gründen +20 Geschwindigkeit haben um so schnell wie der linke zu sein. Prinzipiell kein Problem, aber wie macht man das mit GoTurn() ?

dann gibt es folgende Probleme:


GoTurn (20, 0, 150);

und


for (i = 0; i < 4; i++)
{
GoTurn (20, 0, 150);
GoTurn ( 0, 90, 150);
}


lassen ihn ewig im Kreis fahren (gerade wenn die räder gleich laufen würden), gelegentlich blockiert dabei eins der Räder.

weiß jemand Rat?


edit: ganzer code:

#include "asuro.h"

int main(void)
{
int i;
Init();
EncoderInit();
for (i = 0; i < 4; i++)
{
GoTurn (20, 0, 150); // entspricht Go (200, 150)
GoTurn ( 0, 90, 150); // entspricht Turn (90, 150)
}
while (1){
BackLED(ON,ON);

}
return 0;
}

liggi
23.12.2007, 19:25
muss man vielleicht in der lib den wert einstellen, bei unter dem weis oder schwarz ist und drüber das andere?? und wenn ja, danach die lib neu erstellen.

mfg liggi

Weiti
24.12.2007, 15:21
bei unter dem weis oder schwarz ist und drüber das andere??
hä? Wo soll ich ändern? :-s

Ich habe gerade mal überlegt wie die GoTurn() funktionieren soll: ich nehme an die benutzt die Odometrie zur Streckenmessung!? Meine rechte Odometrie will nämlich nicht, ich halte das für den Fehler.