mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage zum Servomotor


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Alex H. (aheppis)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Servus zusammen,

ich habe hier einen kleinen Servomotor (Torcster NR-58 Digital), den ich 
mit einem PIC ansteuere. Zum Servo habe ich leider keinerlei Datenblatt.

Ich habe mal ein bißchen rumgespielt und festgestellt, daß er die 
Position auch hält, wenn ich die PWM wieder wegnehme. LIegt wohl daran, 
daß es ein digitaler Servo ist, oder!?

Heißt das dann im Umkehrschluß dann auch, daß der Servo über die 
Versorgungsleitung (rot) auch ständig Strom zieht? Und weiß jemand wie 
hoch diese Ströme typischerweise sind?

Danke euch schon mal :-)

Autor: Viktor B. (coldlogic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alex,

Was das Servo bei fehlendem PWM-Signal tut, hängt vom Servo ab. 
Eigentlich ist das ja Betrieb außerhalb des Datenblatts.

Und zur Stromversorgung: Wenn das Servo wirklich die Position aktiv 
hält, dann wird die Stromaufnahme von der Kraft abhängen, mit der das 
Servo die Position hält. Wirken keine Kräfte auf den Hebel, wird die 
Stromaufnahme vernachlässigbar klein sein. Bei der maximal zumutbarer 
Kraft wird die maximale Menge an Strom gezogen, sog. "stall current". 
Dazwischen verhält sich das ziemlich linear proportional.

Upd.: die typischen ströme dafür kenne ich nicht, aber die werden 
wahrscheinlich um die 500 mAh max. liegen. Das sagt das Datenblatt von 
einem ähnlichen (etwas größer und analog) Servo, Tower Pro SG90. Als 
Anfangswert passt es ganz gut.

: Bearbeitet durch User
Autor: Alex H. (aheppis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke Dir schon mal für Deine Antwort.

Ich hab mal nachgemessen - mein Servo zieht im Ruhezustand ca. 2,5 mA.
Dies hätte ich allerdings gern unterbunden da das ganze an einer 
Batterie hängt und die würde ich gerne schonen.
Zudem geht der PIC, der das ganze ansteuert irgendwann in den 
SLEEP-Mode.
In der Zeit brauche ich den Servo auch nicht.
Da ich hier noch einen MOSFET (IRLZ-44N) rumliegen hatte dachte ich mir 
das ganze einfach über den PIC auszuschalten (siehe angehängt 
Schaltung).
Allerdings zieht der Servo trotz abgeschalteten MOSFET immer noch gleich 
viel Strom.
Habe ich hier einen Denk- oder Dimensionierungsfehler?

: Bearbeitet durch User
Autor: Sbl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klemm mal die PWM Leitung weg. Wie ist der Strom dann?

Autor: My2ct (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Viktor B. schrieb:
> Upd.: die typischen ströme ... werden wahrscheinlich um die 500 mAh max. liegen.

Ganz schlechte Einheit, um damit Angaben über Ströme zu machen :-(

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
> Habe ich hier einen Denk- oder Dimensionierungsfehler?

Ersteres.
Du klaust Masse am Versorgungspin, lässt sie aber am PWM-Pin.
Ergebnis: parasitierende Versorgung über den Portpin des Prozessors.
Weh dir du hast ein PWM-Signal auf der Steuerleitung ohne das der FET an 
ist: Voller Strom aus dem Portpin und das war's mit dem Proz.
Mal ganz ab davon das keiner weiß wie die Eingangsschaltung am Servo 
ist, also ob die das verträgt schon den Ruhestrom zu tragen.
Viele haben da zur TTL-isierung eine Transistorstufe dran, die auf GND 
schaltet, da geht sowas eigentlich gar nicht???

Du musst Plus schalten.

Aber: das wäre das erste Servo das die Position hält ohne Steuersignal 
das mit unterkommt.
Meine gehen alle aus nach 1-2 Sekunden.

Autor: Alex H. (aheppis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die PWM-Leitung hatte ich abgeklemmt und hatte den Strom trotzdem...
Klemme ich den 10k Widerstand dann gegen Masse oder gegen Drain, wenn 
ich den MOSFET zwischen Plus und Drain hänge?

Dero muß die Position in dem Moment auch nicht halten. Da ist eine 
kleine Feder am Motor, die ihn hält.

Autor: Achim S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
> Die PWM-Leitung hatte ich abgeklemmt und hatte den Strom trotzdem...

Wenn der Strom über die Versorgungsleitung zum Servo fließt, dann muss 
er auch irgendwo wieder zurückfließen. Wenn das über die 
PWM-Steuerleitung nicht möglich ist (weil du sie abgeklemmt hast) und 
wenn es über den GND-Anschluss nicht möglich ist (weil dort ein 
sperrender FET eingebaut wurde), dann kann kein Strom fließen.

Wenn du trotzdem einen Strom misst, dann hast du entweder einen Fehler 
in deinem Aufbau oder einen Fehler in deiner Messung.

Ein Fehler im Aufbau könnte z.B. sein, dass du den FET falsch 
angeschlossen hast (in deinem Schaltplan sieht er richtig aus). Oder 
dass du den FET zuvor irgendwie zerstört hast (überlastet?) und er jetzt 
nicht mehr sperren kann.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
> Die PWM-Leitung hatte ich abgeklemmt

Offen gelassen oder mit Pulldown?

Alex H. schrieb:
> Klemme ich den 10k Widerstand dann gegen Masse oder gegen Drain, wenn
> ich den MOSFET zwischen Plus und Drain hänge?

Den MOSFET betreibst du gar nicht am Plus, der ist ja gepolt und Gate 
muss "über" Source sein, damit er aufgeht.
Du brauchst einen P-Channel FET und musst den dann je nach Spannung am 
Source evtl. mit einem Open Collector treiben, sonst raucht dein 
Controller trotzdem.
Die Schaltung bleibt aber so, nur die Polung ist andersrum.

Autor: Alex H. (aheppis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde das nachher gleich mal noch aufbauen und testen.
Und die 10k? Klemme ich die direkt von Gate gegen Masse oder über die 
Source Gate Strecke, wenn ich das in die Versorgung des Motors hänge?

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Pulldown soll den Transistor zuziehen.
Der muss also genau so geschaltet werden wie in der Schaltung oben. Nur 
das Minus Plus ist.

Und weil du das vermutlich nicht weißt: Das Gate muss dann 0V sein für 
"an", und die Source gehört an das gleiche Potential wie die Versorgung 
des Controllers. Nix da 3,3V Controller und 5V oder 6V Servo, und nix da 
5V Controller und 6V Servo.
Wenn du das willst, musst du einen Transistor als Open Collector mit dem 
µC schalten, der dann den FET schaltet.

Autor: Alex H. (aheppis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok, also wenn ich das jetzt richtig verstanden habe, dann muß das so 
aussehen, wie auf dem angehängten Bild?
Und dann ggf. noch ein Pull-Up auf Versorgungsspannung.
Die Versorgungsspannung ist bei beidem gleich.

Und der hier wäre dann zum Beispiel ein passender?
https://www.conrad.de/de/p/infineon-technologies-irf9z24npbf-mosfet-1-p-kanal-45-w-to-220ab-162549.html

Autor: Axel S. (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
> ich habe hier einen kleinen Servomotor (Torcster NR-58 Digital)

Ähem. Das ist kein "Servomotor", sondern ein Modellbauservo. Der 
Unterschied ist in etwa so groß wie der zwischen "Natriumchlorid" und 
"Natriumdampflampe".

> Ich habe mal ein bißchen rumgespielt und festgestellt, daß er die
> Position auch hält, wenn ich die PWM wieder wegnehme. LIegt wohl daran,
> daß es ein digitaler Servo ist, oder!?

Nein. Das liegt daran, daß da ein fettes Getriebe mit Untersetzung um 
1000:1 zwischen dem Motor und dem Abgang ist. Da reicht allein die 
Reibung, daß sich am Abgang von alleine nichts tut. Oder doch erst bei 
Kräften, wo das Servo mechanisch zerbröselt.

> Heißt das dann im Umkehrschluß dann auch, daß der Servo über die
> Versorgungsleitung (rot) auch ständig Strom zieht?

Mit Umkehrschluß hat das nichts zu tun. Wenn das Servo die vorgegebene 
Position erreicht hat, wird es den Motor stoppen und dadurch dann viel 
weniger Strom brauchen als wenn der Motor drehen muß. Aber ganz auf 0 
wird der Strom nicht fallen.

Autor: Alex H. (aheppis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nein. Das liegt daran, daß da ein fettes Getriebe mit Untersetzung um
> 1000:1 zwischen dem Motor und dem Abgang ist. Da reicht allein die
> Reibung, daß sich am Abgang von alleine nichts tut. Oder doch erst bei
> Kräften, wo das Servo mechanisch zerbröselt.

Kann ich so nicht unterschreiben.
Wenn er ohne Strom ist, dann kann ich ihn von Hand bewegen.
Wenn Versorgungsspannung anliegt, aber keine PWM, dann läßt er sich 
nicht bewegen bzw. arbeitet dagegen.

Autor: Philipp G. (geiserp01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
> Kann ich so nicht unterschreiben.
> Wenn er ohne Strom ist, dann kann ich ihn von Hand bewegen.
> Wenn Versorgungsspannung anliegt, aber keine PWM, dann läßt er sich
> nicht bewegen bzw. arbeitet dagegen.

Ich habe bei digitalen Servos beide Erfahrungen gemacht. Futaba, Savöx, 
Hitec geben bei fehlendem Signal den Motor frei, kannst das Servo also 
dann gegen das Getriebe frei bewegen.

Andere Digital Servos (Marke weiss ich grad nicht mehr) halten die 
Position auch bei fehlendem Signal.

Versorungsspannung liegt natürlich immer an. Es gibt auch solche, die in 
die Nullposition zurückfahren. Sogar welche bei denen man das 
programmieren kann. Best practice ist wohl den Motor freigeben, damit 
beim Crash zumindest die Ruder/Lenkgetriebe/Rotoransteuerung nachgeben 
kann.

Axel S. schrieb:
> 1000:1 zwischen dem Motor und dem Abgang ist. Da reicht allein die
> Reibung, daß sich am Abgang von alleine nichts tut. Oder doch erst bei
> Kräften, wo das Servo mechanisch zerbröselt.

Na na na. Da gibt es durchaus gescheite kugelgelagerte Servos mit 
Metallgetriebe und bürstenlosen Motoren.

: Bearbeitet durch User
Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Das liegt daran, daß da ein fettes Getriebe mit Untersetzung um
> 1000:1 zwischen dem Motor und dem Abgang ist.

Üblicherweise ist das deutlich weniger, so 50:1 plusminus.

Alex H. schrieb:
> Ok, also wenn ich das jetzt richtig verstanden habe, dann muß das so
> aussehen, wie auf dem angehängten Bild?

Ja, so etwa.
Der IRF9Z24N ist aber nicht wirklich geeignet. Der geht bei 5V am Gate 
so gerade eben für ein Messgerät auf, der will 10V sehen.
NDP6020P dürfte besser sein.

Autor: Axel S. (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex H. schrieb:
>> Nein. Das liegt daran, daß da ein fettes Getriebe mit Untersetzung um
>> 1000:1 zwischen dem Motor und dem Abgang ist. Da reicht allein die
>> Reibung, daß sich am Abgang von alleine nichts tut. Oder doch erst bei
>> Kräften, wo das Servo mechanisch zerbröselt.
>
> Kann ich so nicht unterschreiben.
> Wenn er ohne Strom ist, dann kann ich ihn von Hand bewegen.
> Wenn Versorgungsspannung anliegt, aber keine PWM, dann läßt er sich
> nicht bewegen bzw. arbeitet dagegen.

OK. Ich hatte noch kein solches "digitales" Servo in den Fingern. Kann 
durchaus sein, daß sich ein solches den letzten Sollwert merkt und dann 
auch aktiv beibehält. Das wird man dann auch am Stromverbrauch sehen, ob 
der ansteigt wenn man eine Rückstellkraft aufs Servo gibt.


Philipp G. schrieb:
> Best practice ist wohl den Motor freigeben, damit
> beim Crash zumindest die Ruder/Lenkgetriebe/Rotoransteuerung nachgeben
> kann.

Da kann man verschiedener Ansicht sein. Wenn das Modell den 
Empfangsbereich verläßt, ist es evtl. auch besser, die aktuelle 
eingestellten Servopositionen zu halten.


Philipp G. schrieb:
> Na na na. Da gibt es durchaus gescheite kugelgelagerte Servos mit
> Metallgetriebe und bürstenlosen Motoren.

Jens M. schrieb:
> Üblicherweise ist das deutlich weniger, so 50:1 plusminus.

OK. 1000:1 war vielleicht etwas übertrieben. Zur besseren 
Anschaulichkeit. Trotzdem würde ich erwarten, daß ein Servo ohne Signal 
den letzten Zustand einfach hält. Mit einem deutlichen Haltemoment.

Zugegeben habe ich die Thematik seit Jahrzehnten aus den Augen gelassen. 
Zumindest an den Steuersignalen hat sich ja anscheinend seitdem nichts 
verändert. Aber die Impulsvermessung und Positionserfassung kann man 
mittlerweile sicher besser machen. Und weniger Untersetzung spart 
Gewicht und Energie (Reibungsverluste).

Autor: Philipp G. (geiserp01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Zugegeben habe ich die Thematik seit Jahrzehnten aus den Augen gelassen.
> Zumindest an den Steuersignalen hat sich ja anscheinend seitdem nichts
> verändert.

Doch. Es gibt S-Bus, da hängst Du alle Servos einfach in Reihe. Man muss 
nicht mehr jedes Servo mit dem Empfänger verbinden. Alles digital und 
voll programmierbar.

Das klassische Steuersignal mit PWM funktioniert natürlich immer noch.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp G. schrieb:
> in Reihe

Parallel.
SBus ist ein serielles Protokoll, das immer alle Kanäle raushaut.
Die Servos bzw. SBUS-PWM-Adapter sind parallel dran und müssen (!) 
programmiert werden, damit sie wissen, welches der Datenworte für sie 
ist.
Man kann damit auch mehrere Servos "parallelschalten", also logisch 
identisch  reagieren lassen, oder eben auf jeden KAnal nur eins 
programmieren.

Eigentlich nett, nur leider wenig verbreitet...

Autor: Alex H. (aheppis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> 5V Controller und 6V Servo.
> Wenn du das willst, musst du einen Transistor als Open Collector mit dem
> µC schalten, der dann den FET schaltet.

Also wäre das so möglich, wie auf der Skizze, daß der Motor dann nur bei 
einer 1 am PIC versorgt ist?

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.