Hallo,
Eine Frage kann ich dir schonmal Beantworten:
In der RP6Config.h - Datei findest du ab Zeile 36 verschiedene Encoder-Auflösungen. Um herauszufinden, welche Auflösung dein RP6 hat machst du zum Beispiel folgendes:
- Du schreibst ein kleines Programm, das den RP6 eine bestimmte Distanz fahren lässt. ( mit move(<Speed>,<Direction>,DIST_MM(<Distanz>),true); )
- nach der Distanz soll er anhalten und über die Schnittstelle die gezählten Encoder-Schritte (links und rechts) ausgeben.
- Miss die tatsächlich zurückgelegte Distanz.
- Widerhole diese Testreihe 3-mal und mach einen Mittelwert der tatsächlichen Distanz und der Encoder- Schritte.
- Die Encoder- auflösung berechnet sich nun: Distanz / Enc.Schritte.
- Mach denselben Test noch ein zweites Mal. Bei mir waren es dann durchschnittlich 9 mm zuviel auf 2m !

Rotieren:
PR6Config.h zeile 48 - 64 lesen.
Es ist eigentlich nur durch Experimentieren möglich. versuche es einfach mit grösseren und kleineren Werten.
Da 90° etwas kurz sind, kannst du ja 360° oder mehr drehen. Dann spielt die Toleranz der Motoren auch weniger mit.

Zu deinem Programm:
Ev. Hilft es dir weiter, die Move_04 Beispiele genau anzuschauen und abzugucken.

MfG
Filou