PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : asuro faehrt nicht gradeaus



fotomarco
03.05.2007, 00:33
mein asuro faehrt leicht nach rechts ,ich hab es auch versucht mit einem program zum gradeaus fahren und passiert das gleiche
er swenkt nach rechts

damaltor
03.05.2007, 12:33
das ist eher ein software problem... bau ein besseres programm...

fotomarco
03.05.2007, 15:10
/************************************************** *****************************
*
* Description: Asuro fährt geradeaus
*
************************************************** ***************************/
#include "asuro.h"
#include <stdlib.h>


int main(void)
{
unsigned char speed, flagl=FALSE, flagr=FALSE;
unsigned int data[2];
int wegl, wegr, diff;
int speedLeft,speedRight;
Init();
MotorDir(FWD,FWD);
StatusLED(GREEN);
speed = 150;
speedLeft = speedRight = speed;
wegl=0; wegr=0;
while(wegl<333){
OdometrieData(data);
if ((data[0] < 550) && (flagl == TRUE)) {flagl = FALSE; wegl++;}
if ((data[0] > 650) && (flagl == FALSE)) {flagl = TRUE; wegl++;}
if ((data[1] < 550) && (flagr == TRUE)) {flagr = FALSE; wegr++;}
if ((data[1] > 650) && (flagr == FALSE)) {flagr = TRUE; wegr++;}
diff=wegr-wegl;
if (diff>0) speedRight--; // fahre geradeaus
else if (diff<0) speedLeft--;
else {speedRight=speed; speedLeft=speed;}
if (speedRight<0) {speedRight=0;}
if (speedLeft<0) {speedLeft=0;}
MotorSpeed(speedLeft,speedRight);
}
MotorDir(BREAK,BREAK);
while(1);
return 0;
}

ich habe dieses programm rein gemacht ich glaube dieses
program funkt gut oder ?

damaltor
03.05.2007, 18:22
nicht unbedingt. du musst evtl die werte anpassen. oder überleg dir doch mal selbst ein programm...

fotomarco
04.05.2007, 00:06
uff selbst schreiben ,ich glaube das ist zu schwer fuer mich ,ich kann bis jezt nur compilieren ,ich bin anfaenger

damaltor
04.05.2007, 12:17
hrhr... das das ziel das programmieren ist und das compilieren nur ein werkzeug ist dir schon klar, oder?

fotomarco
04.05.2007, 23:09
ich glaub das problem liegt an den radachsen sie sind nicht 100% parallel (abweichnung von 1 mm)angeloetet und deshalb laueft er ein bisschen nach rechts

TD-Buedlich
05.05.2007, 07:18
Hallo,
ich habe genau das gleiche Problem (allerdings fährt meiner nach links), die Spannung an den Motoren ist auf beiden Seiten gleich (4,8 und 4,82). Man sieht aber einen deutlichen Unterschied in der Umdrehungszahl. Auch bei einem ganz einfachen Programm wo nur die Motoren auf volle Drehzahl (MotorSpeed) gebracht werden. Die Mechanik ist genau symetrisch und auch beim Testen mit der Hand kann man keinen Unterschied in der Kraftaufbringung feststellen.
Was noch seltsamer ist das es wenn man die Motordrehzahl (MotorSpeed) anpasst funktioniert es auch nicht.
Leider auch noch keine Lösung des Problems gefunden. Habe in einem anderen Thread was mit den Widerständen der Motorbrücke gelesen, die wollte ich heute mal alle nachmessen.
Markus

damaltor
05.05.2007, 12:19
das hauptproblem ist, dass die motoren eine winzige abweichung haben, weil es keine 100%ige gleichheit gibt. das lässt sich nur über die odometrie bewältigen; gib mal in der suche asuro und geradeaus ein.