PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kurve trotz Go()



Niralus
10.07.2008, 11:03
Warum fährt mein Asuro trotzdem eine Kurve, obwohl er eigentlich gerade ausfahren soll. Hier der Code:

#include "asuro.h"
#include "myfunctions.h"
//#include "lib1.h"
int main(void) {
Init();
FrontLED(ON);
EncoderInit();
EncoderSet (0, 0);
Go(400,200);

while(1);
return(0);
}

Es ist egal, unter welchen Lichtverhältnissen ich ihn fahren gelassen hab. Er fährz immer eine Kurve. Manchmal macht er auch etwas verücktes, wie ruckartig im Kreis fahren.

XBert
10.07.2008, 16:11
Hmm,
wenn er immer die gleiche Kurve macht würde ich entweder sagen
das ein Motor kaputt ist oder nicht richtig angeschlossen/gelötet ist

Versuchs mal mit Messen

MFG

Niralus
10.07.2008, 18:47
was meinst du mit messen? Auf Kork läuft es öfters besser als auf Teppich. Und ich hab irgendwie das Gefühl, dass meine Odometrie Sensoren sehr lichtempfindlich sind.

Edit:

habs mal mit dem Code gemessen:



#include "asuro.h"



void main(void)

{

Init();

void sleepms(float ms) {
int i=0;
for (i=0; i<((ms/1000*72000)/256)-1; i++)
Sleep(255);
}

unsigned int data[2];
char left[10], right[10];

SerWrite("Odometrie Test\n", 17);
sleepms(500);

while(1) {
OdometrieData(data);

itoa(data[0], left, 10);
itoa(data[1], right, 10);

SerWrite("\n\nLinks: ", 9);
SerWrite(left, strlen(left));
SerWrite("\nRechts: ", 9);
SerWrite(right, strlen(right));

sleepms(500);
}


return 0;

}



Welche Werte willst du haben?
Und zum Motor:
Ich hab alles nochmal nachgelötet. Ist gleich geblieben. Kaputt ist er glaub ich nicht. Und bei geschickten Lichteinwirkungen, fährt mein Asuro halbwegs gerade

XBert
11.07.2008, 08:10
Eigentlich hab ich mit messen gemeint, dass du die Spannungen an den Motoren misst und vergleichst..

btw: ich kann mir nicht unbedingt vorstellen, dass das etwas mit lichtverhältnissen zu tun hat

MFG

Niralus
11.07.2008, 10:10
In der Funktion Go() werden doch über den Encoder die Schwarz-Weiß Übergänge gezählt. Und die Odometriesensoren messen dabei den Hellichkeitswert. Durch unterschiedlichen Lichteinfall bzw. Lichtsrärke von Fremdlicht kann dieser Wert verändert werden.
Und die Spannung mess ich mal. Was müsste die Spannung normalerweise betragen?

hai1991
13.07.2008, 16:47
hallo,
kann es vl. sein, dass ein rad etwas größer ist als das andere, oder eines verschmutzt bzw. ölig ist (kleine unterschiede können vl. die ursache sein)

Niralus
13.07.2008, 21:52
dass kann sein. Ich wollt die Achsen schon mal nachölen und putzten, doch blöderweise hab ich vergessen, wie ich die Räder von den Achsen runterbekomm ](*,) . Kann mir das jemand vlt sagen?

hai1991
14.07.2008, 12:24
bei mir muss ich eine kleine imbusschraube etwas öffnen (imbusschlüssel ist mitgelierfert)

pinsel120866
14.07.2008, 16:17
Wie kann man so etwas vergessen? Wenn man das Teil selber zusammenbaut, weiss man auch wie man es wieder zerlegt - sollte man meinen.

:-)

oberallgeier
14.07.2008, 17:17
In der Funktion Go() werden doch über den Encoder die Schwarz-Weiß Übergänge gezählt. Und die Odometriesensoren messen dabei den Hellichkeitswert. Durch unterschiedlichen Lichteinfall bzw. Lichtsrärke von Fremdlicht kann dieser Wert verändert werden ...

... kann es vl. sein, dass ein rad etwas größer ist als das andere ...
Die Suche nach "odometrie" im Forum "asuro" bringt viele interessante Threads.

Einmal ist eine Beilagscheibe an den Odometriescheiben sinnvoll und dann wird mehrfach der Fremdlicheinfluss diskutiert. Also einfach suchen, lesen, finden - und es läuft :)

viel Erfolg