Forum: Mikrocontroller und Digitale Elektronik 270° Digital-Servo ansteuern


von Remo (bungler)


Angehängte Dateien:

Lesenswert?

Hallo.
Ich habe mal eine Frage zum Ansteuern eines Digitalen Servos mit einem 
Drehgrad von 270 Grad.
z.B. diesen hier:
Feetech FT90M-FB Metall Digital Servo 14g 2,2kg 270° Feedback Arduino

www.premium-modellbau.de/feetech-ft90m-fb-metall-digital-servo-14g-2-2kg 
-2700-feedback-arduino

Und  ja ich habe in diesem Forum bereits nach diesem Thema gesucht aber 
für mich nicht so eindeutig erklärendes gefunden. Auch meine Recherche 
bei google ergab beim Thema Ansteuerung eines Digi—Servos unklare 
(zumindest für mich) Aussagen.

Bei Arduino—Bastlern (Ich hasse den Begriff: „Maker“ :-)) wird 
anscheinend nur mit Bibliotheken gearbeitet. Davon mal abgesehen kennen 
die dort auch keine Schaltpläne sondern nur diese dämlichen 
Fritzing—Grafiken.  Aber zurück zum eigentlichen Thema:  ich möchte ja 
das PWM- Ansteuersignal mal zu Gesicht bekommen. Im Internet finde ich 
dazu gar nichts. Nur die üblichen
Steuersignale für Analog-Servos.

Wie sehen da denn nun die Periodendauer und die Impulsdauer aus ?


Übrigens: Ich würde den Mikrocontroller(ESP32 oder ähnlich) am liebsten 
mit Basic oder micropython programmieren. C, C++ und Java mag ich nicht. 
Schreckliche Syntax.

von NichtWichtig (Gast)


Lesenswert?

Wo ist das Problem?

Maximale PWM Frequenz sollte im Datenblatt stehen.

Ich verwende Servos die mit 333Hz betrieben werden können.

Impuls ist ähnlich den analogen mit ca. 1,5ms bei Mittellage.

PWM mit STM32F103 für 2 Servos per Timer ist keine große Sache.

von Jens M. (schuchkleisser)


Lesenswert?

Servosignale sind schon seit 50 Jahren standardisiert auf
- TTL-Pegel
- 50Hz Wiederholrate
- 1-2ms Impulszeit
- 1ms ergibt den mechanisch sinnvollen Linksanschlag des Servos, 2ms den 
rechten

Da es aber keine Standardisierungsbehörde gibt, macht da jeder 
Hersteller von Servo und Empfängern so ein bissel seins...
- z.B. 100 oder gar 200 Hz, bis zu 333Hz für sog. Heckservos für 
Hubschrauber haben sich eingebürgert, hier auch oft mit kürzeren 
Pulslängen
- 1506ms für die Mittellage statt 1500.
- 0,8-2,2 oder gar 0,5-2,5ms für den vollen Drehbereich (oder auch 
1,2-1,8 für den sinnvollen Drehbereich von "100%" und darüber hinaus 
kommt man gern auch unsymmetrisch an die mechanischen Anschläge)
- mein links oder dein links
- nur 2,5V (oder 2,7 oder 3 oder 3,3) für den Highpegel
- Push-Pull-Ausgänge statt Totempole

Aus Bastelerfahrung:
- Mach einen Treiber an deinen Chip, so das der Ausgangspegel ca. 5V 
erreicht (oder die maxmiale Betriebsspannung des Servos, je nachdem was 
kleiner ist).
- Versehe diesen mit einem Schutzwiderstand in Reihe, damit kein zu 
hoher Strom in den Servoeingang fließt.
- Geh davon aus, das du ca. 1500us als Mittellage ansehen kannst.
- Deine Signalrichtung sollte einstellbar sein, und der Grenzbereich 
ebenso
- Wiederholrate ist "egal", heutige Servos können eigentlich alle mit 
100Hz umgehen, viele mit 200, aber 87Hz geht auch. Bei analogen Servos 
war das anders. Im Zweifel: keinen Mist von DooYee kaufen sondern was wo 
es ein DaBla zu gibt.

von Rolf M. (rmagnus)


Lesenswert?

Remo schrieb:
> Wie sehen da denn nun die Periodendauer und die Impulsdauer aus ?

Mir ist nicht klar, was du da jetzt im Bezug auf die Impulsdauer nicht 
verstehst. Warum die Fragezeichen im Bild? Oben steht rechts der Wert 
und links auch, unten steht rechts der Wert und links ein Fragezeichen?
Für eine Impulsdauer von 0,5ms brauchst du eine Impulsdauer von 0,5ms, 
oder was genau ist die Frage?
Und die Periodendauer hat keinen Einfluss auf die Position. Sie muss nur 
in einem Bereich liegen, der vom Servo unterstützt wird. 20ms sollten 
immer gehen.

Jens M. schrieb:
> - Wiederholrate ist "egal", heutige Servos können eigentlich alle mit
> 100Hz umgehen, viele mit 200, aber 87Hz geht auch. Bei analogen Servos
> war das anders.

Die Grenzen lagen meistens etwas enger, aber grundsätzlich war auch bei 
analogen Servos die Periodendauer für die Position nicht entscheidend, 
sondern nur die Impulsdauer.

von Jens M. (schuchkleisser)


Lesenswert?

Rolf M. schrieb:
> Die Grenzen lagen meistens etwas enger, aber grundsätzlich war auch bei
> analogen Servos die Periodendauer für die Position nicht entscheidend,
> sondern nur die Impulsdauer.

Für die Position nicht, aber für die (Verlust-)Leistung.
Analoge Servos vertragen auch 100Hz, werden dann schneller und vor allem 
schneller heiß.
Das liegt an der Motoransteuerung, die aus der Ist-Position ein dem 
Steuersignal entsprechendes Signal erzeugt und mit dem Sollsignal 
verknüpft.
Die Differenz wird auf eine Motorbrücke gegeben und steuert dann direkt 
den Antrieb.
Kommen die Impulse schneller, bekommt der Motor "mehr Anschubser" pro 
Sekunde und wird damit höher belastet.

Die Digitalservos dagegen lesen den Sollwert und steuern den Motor 
asynchron dazu an, daher macht da die Signalfrequenz nichts an der 
Leistung.

von Remo (bungler)


Lesenswert?

Etwas Verspätet aber ich komme erst jetzt dazu:
Vielen Dank für die Antworten. Ja jetzt habe ich es kapiert. Habe mal 
wieder zu kompliziert gedacht. Merci Remo.

von NichtWichtig (Gast)


Lesenswert?

Sehr schön, viele Spaß und Erfolg beim basteln.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.