Re: Einstellung Encoderscheibe Kategorie: Pro-Bot128 (von Mansfeld - 24.03.2010 16:22) | ||
Als Antwort auf Einstellung Encoderscheibe von Dietrich Diebel - 23.10.2009 12:27 | ||
| ||
> Hallo liebe Gemeinde der Probot-Anwender, > nach mehreren Versuchen mit der achtgeteilten Encodserscheibe war mir die Präzision nicht gut > genug und habe deshalb die zwölfgeteilte eingesetzt. > Das bedeutet aber, dass die Bibliothek nun entsprechend angepasst werden muss, um die Vorgaben > weiterhin in cm und Grad machen zu können. > in der Datei PRO-BOT128_Lib.cbas Befindet sich ein Eintrag: > #define Encoder_IR 8 Encoder_IR wird benutzt, um die Encoder-Dioden an X1_8 zu schalten. Siehe PRO_BOT128_INIT() Port_DataDirBit(Encoder_IR, 1); und ENC_LED_ON(void). > Hier vermutete ich, dass damit die Wechsel der Encoderscheibe pro Umdrehung eingestellt werden. > Deshalb habe ich diesen Wert auf 12 gesetzt. Das hat nun aber zur Folge, dass die TURN-Funktion > nun gar nicht mehr funktioniert, also habe ich den Wert wieder zurücksgesetzt. > Die Werte für Wegstrecke und Drehwinkel habe ich nun um 1,5 nach oben korrigiert. > Damit funktioniert im Prinzip alles so, wie ich es mir vorgestellt habe. > Was muss ich aber in der .lib-Datgei änsderen, damit ich wieder cm und Grad einsetzen kann? Verantwortlich für die Umrechnung von distance(degrees) in Encoder-ticks sind die Zeilen: //Calculate "cm" in ticks encoder_cnt=ABS_INT((distance-3))*UNIT_TICK; und //calculate degree encoder_cnt=ABS_INT(degree)*10; encoder_cnt=(encoder_cnt/37)-3; > Noch eine Frage zum Drehwinkel: > Die Ausführung dieser Funktion wird ja offensichtlich auch über den Encoder gesteuert. Der Winkel > ist aber immer kleiner, als erwartet, so dass ich nun statt 90*1,5 =135 einen korrigierten Wert von > 145 eintragen muss, damit halbwegs eine Drehung im rechten Winkel erfolgt. > Da der Probat aber im Wesentlichen gradeaus fahren kann, gehe ich davon aus, dass die > Justierung der LED-s an Encoderscheiben halbwegs korrekt ist. > Kann es sein, dass das sich ein Motor bei der Drehrichtung Rückwärts anders verhält, > als bei Vorwärts? Ich habe keine praktische Erfahrung, aber in der Literatur wird das behauptet. Das kann hier aber keine Rolle spielen, denn der Regler in GO_TURN() versucht die Geschwindigkeits- differenz der beiden Motoren auf Null zu regeln. (Wenn der BOT vorwärts fährt, dreht der eine Motor rechts und der andere Motor links - bedingt durch die Einbaulage.) < Wie kann ich das kalibrieren? > Besten Dank im Voraus > Dietrich | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum