-
-
Erfahrener Benutzer
Robotik Visionär
Ob der Sencor an Int0 oder int1 hängt sollte nicht wesentlich sein, es sein denn der µC wäre völlig überlastet. Das wird hier aber nicht der Fall sein.
Der rechte Motor scheint nicht ganz so stabil zu sein. Die Schwankungen sind auch nicht symetrisch um den Sollwert und dadruch kommt im Mittel mehr als 10 für den Odometiresensor raus. Das Problem sind die Wert außerhalb von 9 -11: auch wenn der Sensor z.B. 13 zurückgiebt, wird der PWM Wert nur um 5 reduziert, genauso als hätte man 11 gehabt.
Der unterschiedliche PWM Wert könnte z.B. durch die andere Drehrichting des Motors entstehen, oder durch Unterschiede in der Reibung im Getreibe. Das sollte aber ein gute Regelung kompensieren können.
Eine Lösung wäre ein besserer Regelungsalgorithmus. Es kommt darauf an, dass auch die Summe der bisher zurückgelegten Schritte stimmt, nicht nur die momentane Geschwindigkeit. Eine einfache Idee wäre eine direkte Proportionalregelung: also statt der Schritte um +-5 den PWM wert um z.B. 3 * (odo_soll - odo_ist) zu verändern. Damit werden im PWM wert die Abweichungen aufaddiert und die Fehler können sich nicht unbegrenzt aufsummieren. Der kleinere Faktor von z.B. 3 eventuell für eine bessere Stbilität.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen