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;
}
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;
}