PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geradeaus fahren?



James C.
07.01.2009, 19:50
Hallo liebe RoboterNETZ-Community!

Ich habe vor zwei Wochen meinen Asuro fertig aufgebaut, mit Erfolg! Beim Selbsttest funktionierte er einwandfrei. Danach fing ich dann an mit programmieren und als ich ein einfaches Programm geschrieben habe, indem der Asuro einfach nur geradeaus fahren soll, musste ich feststellen, dass er einen Rechtsdrall hat! Mir wurde auch gleich klar, wo der Fehler lag, und zwar übte ein Motor mehr "Druck" auf das schwarz-weisse Zahnrad aus, als der andere. Ich habe dann eine Woche lang veruscht, die Motoren so zu justieren, dass er geradeaus fährt! ](*,) Allerdings ohne Erfolg... #-o
Ich hab gehört, es gibt da so ein Programm, mit dem der Asuro über die Lichtschranken berechnen kann, wie viel Power jeder Motor braucht, bis er geradeaus fährt, wo finde ich das?

Vielen Dank im Vorraus.

PS.: Hier ist mein Programm, mit dem der Asuro normalerweise geradeaus fahren sollte, nur um sicher zu gehen, dass es auch an der Mechanik liegt:

#include "asuro.h"

int main(void)
{
Init();
StatusLED(YELLOW);
FrontLED(ON);
BackLED(ON,ON);
MotorDir(FWD,FWD);
MotorSpeed(230,230);
while(1);
return 0;
}

malediction
07.01.2009, 21:46
hast du die aktuelle asuro bibliothek?
also die weiterentwickelte (letzter stand meins wissens märz 2008)?

da sollte so etwas enthalten sein.

vistauser
07.01.2009, 22:06
Hallo James C.
der Kollege Sternthaler hat zu diesem Thema eine dolle Arbeit ins Forum eingestellt. Ich hänge mal seine Erklärungen hierzu dran.
Mein Asuro fährt mit deinem Programm auch eine leichte Rechtskurve.

Weiterhin viel Erfolg
Olaf

hai1991
08.01.2009, 18:23
hallo James C.

noch kurz zur erklärung:
asuro besitzt 2 motoren. beide haben in der fertigung toleranzen, dh. sie können bei gleicher spannung auch schon unterschiedlich schnell drehen.
dann kommt da noch das getriebe mit den angelöteten achsen. das ist ganz eifach gemacht, und man kann daher davon ausgehen, dass diese auch nicht gleiche reibungswiderstände haben.
zuletzt sind da noch die räder, diese müssen auch nicht unbedingt exakt den gleichen umfang haben (toleranzen)

daraus ergibt sich eben, dass asuro nicht gerade fährt, obwohl du für links und rechts die selben werte angibst.


wie oben schon erwähnt gibt es in der erweiterten lib (von mitgliedern dieses forums erstellt) eine funktion mit der man eine gerade strecke fahren kann. diese heißt GoTurn.
die lib findest du im beitrag Ankündigungen: Die wichtigsten Dateien, Quellcodes, Downloads
https://www.roboternetz.de/phpBB2/viewtopic.php?t=30004&sid=2e610baae66d4daa8261601b3e1fa086

James C.
08.01.2009, 21:26
Danke, das ist genau das, wonach ich gesucht habe!
Ihr seid die besten! :D

James C.
09.01.2009, 18:50
Soo jetzt habe ich endlich wieder Zeit, mich um Meinen Asuro zu kümmern O:) (der Hoffentlich dieses Wochenende noch geradeaus fahren kann :evil: )

Nochmal danke für die schnelle Hilfe.
Ich hab mir die aktuelle Lib heruntergeladen, also die mit dem Installer, wo man dann so ein Flash Programm und natürlich die Lib auf seinem Rechner hat.

Meine Frage: Was genau soll ich jetzt mit diesen Dateien anstellen? Sorry für diese blöde frage, aber ich bin noch voll der Asuro-Noob :(

Vielen Dank im Vorraus.