Die ersten Fehler habe ich gefunden, aber jetzt wird's seltsam.
Ich lasse den Motor seine Position ermitteln und um die entsprechende Gradzahl zurückdrehen. Das funktioniert.
Danach kann ich auch eine absolute Gradzahl anfahren.
Die scheint auch zu stimmen.
Lasse ich jetzt den Motor wieder zurückfahren fährt er beim jedem weiteren Versuch, eine absolute Position anzufahren, eine 45° Position an, mal links, mal rechts.
Lasse ich den ersten Schritt weg fährt er auch keine absolute Position an
Hallo,
meine erste Frage lautet: Woher weißt du das die Positionierung, funktioniert?
Ich gehe davon aus, das du den Motor Entrechend eingestellt hast , das er dir die Winkel zurückliefert ?!
Zur Positionierung am Startup (Topgear..):
Ich dachte auch immer das die Grundstellung ohne Spannung 0° ist, offenbar falsch, man kann auch den absoluten Winkel messen.
Der absolute Winkel ist immer 0--359°, wenn man den schon nach Anlegen der Spannung messen kann ist verständlich was der HUB macht.
Was man bei der Positionierung aber auch immer machen kann (Auszug aus meinem C Programm)
SendData_a={0x0b,0x00,0x81,0x01,0x11,0x51,0x02,0x5a,0x00,0x00,0x00};
Hiermit initialisiert man die aktuelle Position von etwas (Motor Encoder : 0x02) auf einen bestimmten Wert, hier 90° = 0x5a,0x00,0x00,0x00.
Ab dann kann man Postionen = Winkel anfahren mit:
SendData_b={0x0e,0x00,0x81,0x01,0x11,0x0d,0x96,0x00,0x00,0x00,0x46,0x64,0x7e,0x00};
Zu beachten wäre, das die Positionioergenauigkeit von der Verstellgeschwindigkeit abhängt.
Daher habe ich in meiner FB für das Topgearcar dynamisch gelöst.
Da ich hier "Sollwinkel = Einschlagwinkel der Lenkung an FB" , Istposition, Sollposition des Motors kenne, fahre ich die letzten 10 Grad mit max 5% Listung an.
Ausserdem habe ich trotzdem leider eine Abweichung zwischen Soll ist von ca. 1-2°.
Fazit:
In der Liguino Bibliothek: einfach schauen, wo da die "Befehle zum Hub" .. "Schreibe irgendwas" implementiert sind im Zweiffel in der Basisklasse zu finden
Da ich die Lego Apps nicht verwende, kann ich nicht sagen wie es dort geht.
Hoffe das hilft irgendwie weiter, und beantwortet das eine oder andere .
Gru0