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.
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.
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.