-
-
Erfahrener Benutzer
Robotik Einstein
RP6
Hallo Robotoni,
Glückwunsch zu deinem RP6. Er hat ja in den 3 Wochen schon eine Menge an Hardware spendiert bekommen!
Zur Ansteuerung eines Servos gibt es hier im Forum viele gute Lösungen, so dass ich mich nicht traue, eine in reinem GCC für den RP6 zu posten (wer weiß, was es dann an Kritik hagelt: Zu einfach! Gab es schon tausendmal und viel besser ...).
Aber das Prinzip gilt auch für den RP6:
Das Servo braucht einen positiven Impuls von 1ms (linker Anschlag) bis 2ms (rechter Anschlag). Dieser Impuls sollte sich ca. alle 20ms wiederholen.
Du must also einen Port z.B. auf High schalten und nach 1,5ms wieder auf Low, wenn das Servo in Mittelstellung sein soll. Das wiederholt sich alle 20ms. Sieh dir mal die Funktion "delayCycles" an! Damit könntest du auch feinere Abstimmungen für die Impulsdauer erreichen.
Ich würde als erstes eine Task schreiben, die alle 20ms einen Impuls erzeugt (die Stopwatches sind dafür ideal). Die Impulslänge veränderst du dann nach Bedarf.
Gruß Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen