-
-
Neuer Benutzer
Öfters hier
Hi
Ich habe auch immer einen kleinen Rechtsdrall beim Asuro -> rechter Motor langsamer.
Nun dachte ich mir:
-einmal die Odometrie so lange auslesen, bis der offset, den ich auf die einzelnen Motoren gebe dafür sorgt, dass beide Räder gleich schnell drehen und somit die differenz zwischen encoder[LEFT] und encoder[RIGHT] = 0 ist
-diesen Wert immer bei Speedangaben mit draufrechnen
Ich musste zum Beispiel, wenn beide Motoren vorwärts fahren rechts +4 und links -4 draufgeben, damit die Kiste gerade fährt. (TestSpeed 150)
Das Problem ist nun, dass der Unterschied der Motoren nicht nur von der Geschwindigkeit abhängt (bei 200 war +und- 4 wieder Schei*e), sondern auch von der Richtung.
Rückwärts fährt er zum Beispiel ohne Offset gerade, wenn ich langsamer, als 120 und schneller als 80 bin.
Also ist eine einmalige Einstellung, also ein Offset nicht sinnvoll.
Besser ist es, den Encoder einmal zu starten und vor jeder absolut geraden Fahrt auf 0 zu setzen und permanent abzufragen, ob beide die gleichen Werte haben -> gegebenenfalls gegensteuern.
Ist eine recht gute Lösung, wenn es nach meinem alten Ausbilder geht, der gerne alles und jeden in einen Regelalgorithmus packen wollte.
(einschwingen) war sein Lieblingswort
Allerdings finde ich diese Lösung recht umständlich, da jede gerade Fahrt in eine Schleife gepackt werden muss, die permanent die Odometrie abfragt.
Eine Lösungsidee ist jetzt ein Interrupt, der bei einer Abweichung von über (denkt euch was aus) die Korrektur anspricht. Hat jemand Ahnung oder bessere Ideen?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen