Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > 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