Servo Vorwiderstand

Hallo allerseits,

ich habe eine (evtl dumme :roll_eyes: ) Frage:
Wenn ich eine LED an einen digitalen Pin anschließe, nutze ich ja einen Vorwiderstand, damit der Strom auf z.B. 10mA beschränkt wird, da ja sowohl der Pin als auch die LED eine Belastbarkeitsgrenze (ca. 40mA bzw. 20-30 mA) haben.
Wie sieht das aber beim (PWM-)Steuerkanal für einen Servo-Motor aus? In den Zeichnungen, die ich im Internet finde, wird der Servo immer komplett ohne Vorwiderstand angeschlossen.
Warum muss hier nichts begrenzt werden?
Ich habe einmal mit einem Multimeter den Strom an der 5V-Leitung des Servos gemessen und der kam auf max. ca. 100mA (beim Drehen). Allerdings ist diese Leitung ja direkt am 5V-Pin des Arduino angeschlossen, sodass das passen sollte (max. 200mA, wenn ich mich richtig erinnere).
Bei der Steuerleitung war es mir allerdings nicht wirklich möglich einen Strom zu messen. Deswegen stehe ich gerade etwas auf dem Schlauch.

Ich bin noch ein Arduino-Neuling und hoffe, dass mir evtl. jemand etwas auf die Sprünge helfen kann? 8)

Danke,
MKay

Hallo MKay
Der Steuereingang eines Servo steuert die Elektronik des Servo an und braucht deshalb wenig Strom. Es braucht nichts das den Strom irgendwie begrenzen müßte. Die Leistung den Motor/Servo zu drehen wird von der Versorgungsspannung genommen.

Den Servo manuel zu drehen ist keine gute Idee. Du könntest die Mechanik bzw Elektronik kaputtmachen. Dein Versuch so den Strom zu messen sagt nichts aus.

Der Limit von 200mA bezieht sich auf die Spannungversorgungspin bzw Massepin des Kontrollers ATmega328. Der Strom der durch die I/O-Pins fließt muß irgenwoher kommen. Er kommt vom Spannungversorgungspin bzw Massepin.
Die 5V bzw Masse Pins des Arduino haben eine andere Strombelastbarkeit und ist durch den Max Strom der USB-Schnittstelle bzw der max Verlustleistung des 5V Spannungstabilisators gegeben. Da Motore viel Strom brauchen ist es bei mehreren Servo sinnvoll sie mit einen eigenen Spannungsversorgung zu betreiben und den Minus-Pol mit der Masse des Arduino zu verbinden.

Zu Vorwiderstände:
Es ist sinnvoll Vorwiderstände zu benutzen um einen möglichen hohen Strom zu begrenzen (wie das bei LED gemacht wird). Es ist nicht möglich mit einem Vorwiderstand die Spannung zu erniedrigen weil der Spanungsabfall am Vorwiderstand abhängig vom Strom ist. Ist der Stromverbrauch der Schaltung variabel so ist es auch der Spannungsabfall am Vorwiderstand und somit die Versorgungsspannung an der schaltung. Bei wenig Strom kann die Spannung gleich groß sein wie die Versorgungsspannung und so die Schaltung zerstören.

Grüße Uwe

Vielen Dank für die Antwort Uwe.

Der Steuereingang eines Servo steuert die Elektronik des Servo an und braucht deshalb wenig Strom. Es braucht nichts das den Strom irgendwie begrenzen müßte. Die Leistung den Motor/Servo zu drehen wird von der Versorgungsspannung genommen.

Ok, ich verstehe das so, dass der Steuereingang des Servos nur so viel Strom "zieht", wie er eben zum Steuern benötigt. Die 100mA, die ich gemessen habe, war ja der Strom, den er zum Drehen des Motors benötigt hat. Doch warum konnte ich keinen Strom am Steuereingang messen, wenn doch das PWM-Signal die ganze Zeit anliegt? Liegt es daran, dass die Spannung immer nur für max 2,4ms anliegt und mein Multimeter evtl. nicht so schnell reagieren kann?

Den Servo manuell zu drehen ist keine gute Idee. Du könntest die Mechanik bzw Elektronik kaputtmachen. Dein Versuch so den Strom zu messen sagt nichts aus.

Ich glaube du hast mich falsch verstanden :slight_smile: Manuell gedreht habe ich ihn nicht. Ich habe nur ein Ampere-Meter zwischen Arduino-PWM-Pin und Steuerleitung des Servos geklemmt, um zu sehen, wie viele mA dort fließen, wenn das PWM-Signal anliegt. Ich wollte sicher gehen, dass da wirklich max. 40mA fließen. Allerdings hat mein Multimeter nichts sinnvolles angezeigt (0,001 mA oder so).

Der Limit von 200mA bezieht sich auf die Spannungversorgungspin bzw Massepin des Kontrollers ATmega328. Der Strom der durch die I/O-Pins fließt muß irgenwoher kommen. Er kommt vom Spannungversorgungspin bzw Massepin.
Die 5V bzw Masse Pins des Arduino haben eine andere Strombelastbarkeit und ist durch den Max Strom der USB-Schnittstelle bzw der max Verlustleistung des 5V Spannungstabilisators gegeben.

Mit anderen Worten, ich kann über die digitalen Pins insgesamt max. 200mA ziehen. Aber der 5V-Anschluss auf dem Arduino (neben dem 3.3V, Gnd, und Vin) hat eine andere Strombelastbarkeit, die von der USB-Schnittstelle (also vermutlich 500mA) bzw. der max. Verlustleistung des Spannungsstabilisators abhängig ist. Habe ich das so richtig verstanden?

Da Motore viel Strom brauchen ist es bei mehreren Servo sinnvoll sie mit einen eigenen Spannungsversorgung zu betreiben und den Minus-Pol mit der Masse des Arduino zu verbinden.

Ich sehe da mehrere GND-Anschlüsse auf dem Arduino. In meinem Buch wird immer der GND-Anschluss auf der Seite der digitalen Pins genutzt. Was hat es mit den beiden auf der anderen (Power-)Seite auf sich (da wo auch 5V, Vin etc. ist)? Ist das der gleiche GND?

Ich glaube beim Strom/Spannungs-Teil brauche ich noch einen kleinen Schubser (oder zwei oder drei :P) in die richtige Richtung :slight_smile:
Mit dem Servo stelle ich mir das so vor, dass er an der Steuerleitung soviel Strom "zieht", wie er eben benötigt (hoffentlich unter 40mA).
Eine LED hingegen "verträgt" nur einen bestimmten Strom, weswegen man den Vorwiderstand verwendet.
Ist das so korrekt?

Ich habe eben nochmal die Spannung am Servo gemessen (5V zu GND). Wenn der Servo "ruhig" ist, dann messe ich 5V. Dreht er sich, so messe ich nur 4,34V, womit ich zur nächsten Frage komme:
Ich dachte, dass sich nach Kirchhoff's Regeln die Spannungen zu 0 addieren. Wenn ich also mein Servo an eine 5V Versorgungsspannung anschließe, müssen dann nicht immer die gesamten 5V am Servo abfallen?

Bei wenig Strom kann die Spannung gleich groß sein wie die Versorgungsspannung und so die Schaltung zerstören.

Den Satz verstehe ich noch nicht ganz. :slight_smile: Welche Spannung ist gemeint?

MKay:
Doch warum konnte ich keinen Strom am Steuereingang messen, wenn doch das PWM-Signal die ganze Zeit anliegt? Liegt es daran, dass die Spannung immer nur für max 2,4ms anliegt und mein Multimeter evtl. nicht so schnell reagieren kann?

Weil der Steuereingang hochohmig ist und wenig Strom fließt. (Größenordnung deutlich unter 1mA)

MKay:
Ich glaube du hast mich falsch verstanden :slight_smile: Manuell gedreht habe ich ihn nicht. Ich habe nur ein Ampere-Meter zwischen Arduino-PWM-Pin und Steuerleitung des Servos geklemmt, um zu sehen, wie viele mA dort fließen, wenn das PWM-Signal anliegt. Ich wollte sicher gehen, dass da wirklich max. 40mA fließen. Allerdings hat mein Multimeter nichts sinnvolles angezeigt (0,001 mA oder so).

Ja, da habe ich Dich falsch verstenden. 1µA ist ein möglicher angezeigter Wert.

MKay:
Mit anderen Worten, ich kann über die digitalen Pins insgesamt max. 200mA ziehen. Aber der 5V-Anschluss auf dem Arduino (neben dem 3.3V, Gnd, und Vin) hat eine andere Strombelastbarkeit, die von der USB-Schnittstelle (also vermutlich 500mA) bzw. der max. Verlustleistung des Spannungsstabilisators abhängig ist. Habe ich das so richtig verstanden?

Ja.

MKay:
Ich sehe da mehrere GND-Anschlüsse auf dem Arduino. In meinem Buch wird immer der GND-Anschluss auf der Seite der digitalen Pins genutzt. Was hat es mit den beiden auf der anderen (Power-)Seite auf sich (da wo auch 5V, Vin etc. ist)? Ist das der gleiche GND?

Alle GND Pins sind miteinander verbunden. Du kannst jeden nehmen.

MKay:
Ich glaube beim Strom/Spannungs-Teil brauche ich noch einen kleinen Schubser (oder zwei oder drei :P) in die richtige Richtung :slight_smile:
Mit dem Servo stelle ich mir das so vor, dass er an der Steuerleitung soviel Strom "zieht", wie er eben benötigt (hoffentlich unter 40mA).
Eine LED hingegen "verträgt" nur einen bestimmten Strom, weswegen man den Vorwiderstand verwendet.
Ist das so korrekt?

Die Steuerleitung hat einen hohen Eingangswiderstand (Innenwiderstand) und deswegen fließt ein kleiner Strom. Die LED hat auch einen Innenwiderstand. Der ist viel kleiner (niederohmiger) als der eines digitalen Eingangs (zB Steuereingng Servo) und ist dazu noch nicht lienear (hat eine Diodenkennlinie). Wenn Du 5V an eine LED anschließen würdest, würde ein sehr hoher Strom fleißen und den Ausgang und die LED zerstören. Deswegen muß ein Vorwiderstand den Strom begrenzen. Der Strom wird in Funktion der LED und des Ausgangs gewählt.

MKay:
Ich habe eben nochmal die Spannung am Servo gemessen (5V zu GND). Wenn der Servo "ruhig" ist, dann messe ich 5V. Dreht er sich, so messe ich nur 4,34V, womit ich zur nächsten Frage komme:
Ich dachte, dass sich nach Kirchhoff's Regeln die Spannungen zu 0 addieren. Wenn ich also mein Servo an eine 5V Versorgungsspannung anschließe, müssen dann nicht immer die gesamten 5V am Servo abfallen?

Wenn ein Strom fließt dann fällt eine Spannung an der 500mA Sicherung des Arduino und an T1 ab. Auch die 5V der USB-Schnittstelle können ein bißchen in die Knie gehen.

MKay:

Bei wenig Strom kann die Spannung gleich groß sein wie die Versorgungsspannung und so die Schaltung zerstören.

Den Satz verstehe ich noch nicht ganz. :slight_smile: Welche Spannung ist gemeint?

Wenn Du zb 12V hast und einen Vorwiderstand verwendest um auf 5V zu kommen.

Grüße UWe

Alles klar. Vielen Dank für die Antworten. :slight_smile:
Nur beim letzten weiß ich noch nicht, worauf du genau hinaus willst :zipper_mouth_face: XD