-
-
Moderator
Robotik Visionär
Hallo
Streng genommen ist es schon eine Pulsweitenmodulation, allerdings nicht so wie man es von Antriebsmotoren kennt:
https://www.roboternetz.de/wissen/index.php/Servo
Entscheidend für die Position ist die Länge des High-Impulses (0,5-1,5ms). Mit der Low-Pause kann man beeinflußen, wie "aggressiv" das Servo die gewünschte Position ansteuert. Zum Austesten der Werte finde ich solche Zählschleifen prima, weil man genau weiß, was man da tut. Die Servos brauchen diese Puls/Pause-Folge übrigens bis sie die Position erreicht haben.
Viel eleganter und für mehr Servos geeignet ist der Beispielcode mit dem 100kHz-Timer in dem RNWissen-Beitrag oben. So erledigt der Prozessor die Servoaufgabe locker nebenher.
Übrigens hat die dummy-Zuweisung in den Schleifen keine pwm-Funktion. Sie dient nur dazu den Kompiler zu zwingen, den Code nicht wegzuoptimieren und die Schleife etwas zu verzögern.
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