-
-
Erfahrener Benutzer
Robotik Einstein
Hallo Siro!
Na, ich benutze die Adafruit_PWMServoDriver.h und Adafruit_PWMServoDriver.cpp.
Die bietet eine gute Grundlage, finde ich.
Darüber hinaus habe ich aber zwei Boards so dass ich bis 32 Servos ansteuere.
Also schreibe ich noch mal meine "Unterprogramme" / Bibliothek, um die Funktion der Servoansteuerung vom übrigen Programmcode abzukoppeln.
So kann ich dann z.B. meinen Aufruf tätigen mit: xxx(Servonummer,Gradzahl,Verzögerung);
PreScale wird eingestellt, ja. Habe ich schon gesehen.
Das wird in der Adafruit_PWMServoDriver.cpp gemacht. Dort wird der Prescaler nach der gewählten PWM-Frequenz eingestellt.
"Der Standardservo (ehemals Analog) wird mit 50 Hz (20ms) angegeben."
Na ja, mit 50Hz arbeiten meine nicht mehr. Und Adafruit schreibt, Analogservos werden normal mit 60Hz angesteuert. Das trifft bei meinen Servos zu.
"Theoretisch müsste der Winkel ja proportional zur Schrittweite sein..."
Theoretisch trifft das bei den meisten Servos gut zu. Aber ich habe mind. Einen, der sich nicht ännähernd daran hält.
Und 90° sind für mich eben 90 und nicht 85° und nicht 92°.
Ich muss irgendwie eine Ausgangssituation schaffen, auf die man sich verlassen und auf der man weiter aufbauen kann.
Aber ich bin da auch noch am rumprobieren.
Eigentlich möchte ich doch den Servostellwinkel kontinuierlich verändern.
Da ist irgendwo ein Beispielcode dabei, wo das gemacht wird, allein über die Pulslänge (ohne irgendwelche genauen Winkel) und das hat mir sehr gut gefallen.
Weil sonst setzt man einen Winkel und der Servo fährt mit voller Geschwindigkeit und Wucht den Winkel an.
MfG
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen