-
-
Moderator
Robotik Visionär
Hallo
Ich habe Dirks Stopwatch-Ansteuerung nun auch getestet und es funktioniert ohne Probleme, wenn die Werte innerhalb des mechanischen Drehbereichs sind. Die Maxwerte für mein ES-030-Servo sind ca.:
#define LEFT_TOUCH 515 // Left servo touch
#define RIGHT_TOUCH 200 // Right servo touch [max. 255]
Was mir an task_Servo() nicht so recht gefällt ist der Rücklauf nach dem erreichen der rechten Endposition. Es wird dann sofort auf pos=0 geschaltet, das Servo hat aber keine Zeit, die linke Position anzufahren. Da bei diesem Seitenwechsel pos wieder erhöht wird, ist es von der Servosgeschwindigkeit abhängig, wann die Servoposition wieder mit pos syncron wird. (Das kann man schön sehen, wenn man pos++ nach pos+=5 ändert). Wenn nun LEFT_TOUCH zu klein ist, könnte das Servo kurzzeitig gegen den linken Anschlag fahren.
Da sich die rechte Endposition aus LEFT_TOUCH und RIGHT_TOUCH zusammensetzt, würde ich LEFT_TOUCH erstmal ziemlich groß und RIGHT_TOUCH eher klein wählen, beides nahe der Drehbereichsmitte, und dann Schrittweise ändern.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen