hi curver,

hab noch ein wenig getestet (Haus vom Nikolaus Aussenkontur abgefahren mit 500mm Basilänge). Dabei den gravierensten Fehler eliminiert: man sollte am Ende einer Fahrstrecke (bevor man z.B. die Messwerte auf den PC ausgibt) die Motorrichtung MotorDir( , ) auf BREAK,BREAK setzen !

Jetzt klappt das relativ gut : er kommt bis auf 50mm-100mm an den Startpunkt heran.
Der Aufruf erfolgt
über
unsigned char GoTurnCircle ( long distance, int speed_mms, int radius);

mit distance in mm (> 0 , 0 nur erlaubt bei radius ^= 0 (Drehen auf Stelle))
speed_mms in mm/s (+ vorwärts,-rückwärts, Absolutwert zwischen 5 min und 600 max),
radius in mm (+=Rechtskurve, - = Linkskurve) für Kurve, 0 = geradeaus

bei distance = 0 wird der Radius-Angabe als Winkel interpretiert:
z.B.
errc = GoTurnCircle ( 0,200,-90) Linksdrehung um 90° auf der Stelle mit Geschwindigkeit 200mm/s


Gruß

mausi_mick