Forum: Mikrocontroller und Digitale Elektronik Probleme mit Modellbauservo MC1811 (Modelcraft) an ATMEGA8


von Michael H. (michael_h89)


Lesenswert?

Hallo ,

ich habe einen kleinen "Servotester" mit 2 Servoausgängen gebaut auf 
Basis ATMEGA8.

Ausgang 1 hängt an einem "normalen" Ausgang der einfach mittels Delay 
20*{1000 us ein und 18ms aus} und dann  20*{2000 us ein und 18 ms aus} 
usw. geschaltet wird: Server dreht im 2 Sekundentakt links rechts...

Ausgang 2 hängt am OC1A und wird mittels Timer getoggelt, wobei die 
Impulszeit über OCR1A mittels 2 Tasten verstellt werden kann. Ein 
Display zeigt hier den eingestellten Wert in us.

Das funktioniert perfekt mit einer ganzen Reihe von Servos (Robbe, 
Graupner, Modellcraft ES05). Auch mit dem Oszilloskop betrachtet, 
bekomme ich ein sauberes Signal.

Soweit so Gut.

Bis ich ein Modelcraft MC1811 Mircoservo an Ausgang 2 anschliesse.... 
wenn ich es im laufenden Betrieb anhänge, verursacht es sofot einen 
Reset (ich sehe das am Display, welches beim Programmstart für 1s 
"Start" anzeigt)

Das wäre noch nicht so schlimm.... das Servo tut aber auch nix. Gut, ist 
es halt kaputt, dachte ich und habe ein zweites MC1811 angeschlossen... 
der gleiche Effekt.... mit allen 5 Stk. die ich habe.

Die Servos selber sind nagelneu und funktionieren an einem normalen 
Modellbauempfänger auch ganz normal.

An Ausgang 1 noch schlimmer: Servo bewegt sich unkontrolliert, zuckt, 
Display beginnt zu flackern, zeigt wirre Zeichen, uC macht Reset - uC 
stürzt komplett ab usw.

Das Signal selbst (am Oszi) ist übrigens die ganze Zeit (ausser bei 
Reset ;-)) sauber...

Habe das Servo auch schon an eine eigene Stromversorgung über ein 
Netzgerät gehängt - gemeinsame Masse, Signal vom uC. Dann gibts zwar 
keine Abstürze und Resets, das Servo tut aber trotzdem nichts (Robbe, 
Graupner etc. funktionieren...) - nur manchmal ein leises Ticken

Ich verstehs einfach nicht mehr....

Any ideas? oder einfach in die Tonne damit und andere besorgen (bräuchte 
die Dinger für eine Arte "Roboterprojekt") - hab mich für die 
entschieden, weil sie klein, leicht und günstig sind....

: Bearbeitet durch User
von Schreiber (Gast)


Lesenswert?

Michael H. schrieb:
> Die Servos selber sind nagelneu und funktionieren an einem normalen
> Modellbauempfänger auch ganz normal.

dann vergleich mal Pegel und Signaltiming mit dem Signal des µC

von Schreiber (Gast)


Lesenswert?

Michael H. schrieb:
> Ausgang 1 hängt an einem "normalen" Ausgang der einfach mittels Delay
> 20*{1000 us ein und 18ms aus} und dann  20*{2000 us ein und 18 ms aus}

dachte die Frequenz bleibt konstant und nur das Tastverhältniss soll 
sich ändern

von Modellbauer (Gast)


Lesenswert?

Schreiber schrieb:
> dachte die Frequenz bleibt konstant und nur das Tastverhältniss soll
> sich ändern

Frequenz und Tastverhältnis sind für die Ansteuerung von Modellbauservos 
ziemlich unkritisch. Die Position wird alleine durch die Dauer des 
positiven Pulses bestimmt (0,5 .. 1.5 ms)

von Klaus (Gast)


Lesenswert?

Michael H. schrieb:
> Servo bewegt sich unkontrolliert, zuckt,
> Display beginnt zu flackern, zeigt wirre Zeichen, uC macht Reset - uC
> stürzt komplett ab usw.

Deine Stromversorgung ist rottig. Bei den Anlaufströmen des Servos 
bricht sie einfach zusammen.

MfG Klaus

von TK (Gast)


Lesenswert?

Hallo,
Klaus hat das Stichwort gegeben. Hast Du schon mal die Stromaufnahme von 
Deinen Servos gemessen - und ich meine NICHT mit einem Multimeter!
Die Teile benötigen - je nach Typ - schon mal gerne 2 bis 3A für 10ms. 
Und
genau hier ist Dein Problem.
Ach so - die Stromaufnahme gilt dann pro Stück. Daher sollte Deine 
Stromversorgung entweder eine 4 Zellen Akkuversorgung mir KURZEN 
Leitungen sein oder ein schnelles Netzteil mit 5A.

Gruß
TK

von Michael H. (michael_h89)


Lesenswert?

Schreiber schrieb:

> dachte die Frequenz bleibt konstant und nur das Tastverhältniss soll
> sich ändern


Hast schon recht, richtigerweise müsste das 20*{1000 us ein und 19ms 
aus} und dann  20*{2000 us ein und 18 ms aus} heissen... die "Pause" ist 
aber unkritisch, wie von Modellbauer bereits erwähnt.



@Stromversorgung: ja, in die Richtung habe ich auch gedacht... wie 
beschrieben, habe ich die Servos deshalb versuchsweise an eine eigene 
Versorgung gehängt, dann ist zumindest das reseten und abstürzen vom 
Controller weg... das erklärt allerdings nicht, war das Servo dann 
trotzdem nix tut.


Ich kann mir ausserdem auch nicht vorstellen, dass diese Micro-Dinger 
einen höheren Anlaufstrom als die Robbe-5Kilo Servos haben, die ich 
sonst in einem 1:8er Buggy als Lenkservo verwende....


das Netzteil liefert übrigens bis 3A und zeigt über eine LED wenns (auch 
nur kurz) in Stromgbegrenzung geht, was nicht der Fall ist...

von Werner M. (Gast)


Lesenswert?

TK schrieb:
> oder ein schnelles Netzteil ...

Selbst ein anständiger Elko dicht bei den Servos reicht schon, um den 
Anlaufstrom zu liefern.

von Modellbauer (Gast)


Lesenswert?

Michael H. schrieb:
> Hast schon recht, richtigerweise müsste das 20*{1000 us ein und 19ms
> aus} und dann  20*{2000 us ein und 18 ms aus} heissen... die "Pause" ist
> aber unkritisch

Was hast du mit "19ms" und "18ms"?

Der Wert ist dermaßen unkritisch, dass es sich gar nicht lohnt, mehr als 
einen Richtwert anzugeben. Solange die Pausen irgendwo zwischen 10 und 
100ms (oder noch weiter) liegt, funktionieren Servos i.d.R. problemlos.

von TK (Gast)


Lesenswert?

Hallo,

die 20ms Periodendauer (nicht Duty-Cycle) sind total unkritisch. Hier 
gehen auch 13ms oder 25ms. Jetzt nochmal zu meiner Frage: Hast Du schon 
mal die Stromaufnahme vom Modelcraft gemessen? Und welche 
Spannungsspitze hat im Einschaltmoment dann Deine VCC (vielleicht auch 
mal an einen BOR denken).
Ich selbst habe auch schon die Modelcraft Teile eingesetzt - wenn auch 
einen anderen Typ - und habe ähnliche Erfahrungen gemacht (gehen 
zunächst nicht oder zappeln rum). Die Lösung war bisher IMMER: noch 
kürzere Leitungen zum Servo UND getrennte Strompfade für Servo und 
Elektronik.
Übrigens: > Selbst ein anständiger Elko dicht bei den Servos reicht 
schon, um den Anlaufstrom zu liefern.
stimmt nur bedingt, denn der verlagert das Problem auf einen anderen 
Bereich. Auch der Elko muss wieder geladen werden und benötigt dann 
ebenfalls einen sehr großen Ladestrom.

Gruß
TK

von Werner M. (Gast)


Lesenswert?

TK schrieb:
> Auch der Elko muss wieder geladen werden und benötigt dann
> ebenfalls einen sehr großen Ladestrom.

Das Nachladen des Elkos kann aber über die Zeit gestreckt werden, so 
dass der Nachladestrom , also die Spitzenlast am Netzteil und auf der 
Zuleitung wesentlich kleiner sein können.

von Stefan F. (Gast)


Lesenswert?

Vielleicht ist der Servo blockiert und kann sich daher nicht bewegen und 
zieht daher außergewöhnlich viel Strom.

Hast du ihn mal an einer normalen Fernsteuerung probiert?

Ich hatte mal zum Basteln den kleinsten Servo von Modelcraft verwendet 
und bin auf keine Besonderheiten gestoßen. Angesteuert hatte ich ihn zur 
Probe mit einem ATtiny2313 und im Roboter mit einem Atmega644.

von JojoS (Gast)


Lesenswert?

Das Servo scheint Schrott zu sein: 
http://f-es-b-modellbau.blogspot.de/2014/06/micro-servos-geiz-ist-ungeil.html?m=1

Der Motor ist sicher nicht entstört und versaut die Versorgsspannung, 
vielleicht kann man mit kleinen Filterkondensatoren und Drosseln in der 
Zuleitung retten, zuviel Strom sollte ein Microservo nicht ziehen 
können. Oder die Lageregelung ist zu aggressiv und verursacht die 
Störungen.

von Michael H. (michael_h89)


Lesenswert?

JojoS schrieb:
> Das Servo scheint Schrott zu sein:
> http://f-es-b-modellbau.blogspot.de/2014/06/micro-...
>
> Der Motor ist sicher nicht entstört und versaut die Versorgsspannung,
> vielleicht kann man mit kleinen Filterkondensatoren und Drosseln in der
> Zuleitung retten, zuviel Strom sollte ein Microservo nicht ziehen
> können. Oder die Lageregelung ist zu aggressiv und verursacht die
> Störungen.

Vielen Dank für den Link! Das deckt sich ja mit meinen Erfahrungen. Ich 
werde versuchen, die Dinger beim Conrad zurückzugeben.... wenn nicht, 
direkt in die Tonne...

Habe allerdings - auch Dank der Tips hier - wieder einiges dazugelernt 
und werde trotzdem die Versorgung der Servos von der Steuerung 
entkoppeln...

von vorüberziehender (Gast)


Lesenswert?

Stefan Us schrieb:
> Hast du ihn mal an einer normalen Fernsteuerung probiert?

Michael H. schrieb:
> Das wäre noch nicht so schlimm.... das Servo tut aber auch nix. Gut, ist
> es halt kaputt, dachte ich und habe ein zweites MC1811 angeschlossen...
> der gleiche Effekt.... mit allen 5 Stk. die ich habe.
>
> Die Servos selber sind nagelneu und funktionieren an einem normalen
> Modellbauempfänger auch ganz normal.

Frage beantwortet?

von Michael H. (michael_h89)


Lesenswert?

... es hat mir natürlich keine Ruhe gelassen ;-)

Nachdem ich auf der Platine sämtliche Versorgungs- und Masseleitungen 
nachgegelötet hatte und einen Elko direkt parallel zur Versorgung des 
Servos gegeben hatte, gings dann irgendwann.... zumindest bewegt sich 
der Servo nun mehr oder weniger wie er soll. Der Elko hat nun 
allerdings, festhalten, 2200uF und ist entsprechend fast so groß, wie 
die ganze Schaltung :D

Mit dem nächst kleineren, den ich da hab (immerhin 47uF) funktioniert es 
immer noch nicht (dazwischen hab ich nichts da...)

Was ich trotzdem nicht wegbekomme, ist der Neustart des uC, wenn ich das 
Servo im laufenden Betrieb anstecke... da das aber eh nicht der 
Normalfall ist (normal steckt das Servo beim Start des uCs schon dran) 
ist mir das erstmal egal.

Strom zieht das Ding ca. 300mA wenn es "in Fahrt" ist... und immerhin 
50mA wenn es "steht". Mögliche Stromspitzen kann ich nicht messen, dafür 
sind meine Messgeräte zu träge.

Zum Experimentieren reicht es vorerst mal. Ich werde die Dinger aber 
dennoch tauschen, denn:

- der Elko ist mir eindeutig zu groß :-)
- der Servo zuckt teilweise unkontrolliert herum (das macht er übrigens 
an nem Empfänger auch, wie ich jetzt bemerkt habe...)
- der Stromverbrauch (bzw. die offensichtlich vorhandenen Spitzen) sind 
mir zu hoch

Ich kann nur jedem von diesem Servo abraten!

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Dein Servo ist sicher defekt. Ich habe genau diesen Typ 2x gekauft und 
überhaupt keine Probleme damit.

Ich betreibe es in einer Anwendungen mit den 5V Vcc des Mikrocontroller, 
stabilisiert durch einen 100µF Elko. In der anderen Anwendungen habe ich 
für die Servos (es sind 4 insgesamt, 3 davon aber andere Modelle) einen 
separaten Batterie-Pack aus 4x Mignon ohne Kondensator.

> Strom zieht das Ding ca. 300mA wenn es "in Fahrt" ist...
Soweit Ok

> und immerhin 50mA wenn es "steht".
Das darf nicht sein. Meiner verbraucht nur etwa 1mA.

> der Servo zuckt teilweise unkontrolliert herum (das macht er übrigens
>  an nem Empfänger auch, wie ich jetzt bemerkt habe...)
Was die hohe Stromaufnahme erklären dürfte.

Ich würde deswegen allerdings nicht das Produkt schlecht reden. Meine 
beiden funktionieren prima, und ich habe noch 12 weitere (andere) von 
Modelcraft im Einsatz, die alle zufriedenstellend funktionieren.

Bevor man ein Produkt öffentlich schlecht darstellt, sollte man erstmal 
die defekten zurück geben und um Korrektur-Lieferung bitten. Es kann 
immer mal passieren, dass ein einzelnes Teil oder eine Serie defekt ist.

Bedenke, dass Conrad Schadensersatz von Dir verlangen könnte. Wir leben 
in einem freien Land. Aber wir dürfen nicht das Geschäft anderer 
schädigen. Selbst wenn du Recht hast und dieses Produkt nachweislich 
grundsätzlich Schrott ist, darfst du das nicht. Das darf nur die Presse.

von Michael H. (michael_h89)


Lesenswert?

Stefan Us schrieb:
> Dein Servo ist sicher defekt.

Das glaube ich nicht. Wie im Eingangpost erwähnt, habe ich 5 Stk. davon, 
und alle verhalten sich gleich... es sei denn, es ist ein 
Serienfehler...

Stefan Us schrieb:
> Ich würde deswegen allerdings nicht das Produkt schlecht reden. Meine
> beiden funktionieren prima, und ich habe noch 12 weitere (andere) von
> Modelcraft im Einsatz, die alle zufriedenstellend funktionieren.

Ich wollte das Produkt keineswegs schlecht reden, sondern lediglich 
meine  persönlichen (schlechten)Erfahrungen damit schildern.... und 
sorry - empfehlen kann ich das Ding echt nicht... ;-)

Wie auch schon im Eingangspost erwähnt, habe ich ebenfalls eine andere 
Type von Modelcraft getestet, die problemlos funktioniert....

von Jojo S. (Gast)


Lesenswert?

Stefan Us schrieb:
> Ich würde deswegen allerdings nicht das Produkt schlecht reden.

wir reden hier von einem Servo das sogar bei Conrad für <4 € verkauft 
wird. Es gibt auch Micro Servos für über 100 €, und das da 
Qualitätsunterschiede sind ist nicht verwunderlich und die darf man auch 
nennen.
Sogar auf der Conrad Shopseite kommt das Servo in den Bewertungen nicht 
gut weg: 
http://www.conrad.de/ce/de/product/275460/?gclid=Cj0KEQiAz7OlBRDErsTx47LKz-8BEiQAY0OlYq6OyDpzcXYdqK04y1c6gjq81ZgiIFxYiwd6bK4XzPAaAsQE8P8HAQ&insert_kz=VQ&hk=SEM&WT.srch=1&WT.mc_id=google_pla&s_kwcid=AL!222!3!48259678737!!!g!!&ef_id=Uqi4XwAABDZjUrSQ:20150107143905:s

da kann man Conrad allerdings dafür loben auch die negativen Wertungen 
stehen zu lassen, das machen viele Shops sicher anders. Nur muss man die 
vorher erstmal lesen, und das nervt natürlich auch.

von Martin V. (oldmax)


Lesenswert?

Hi
Vermutlich stammt der Grundstrom von 50mA von einer unsauberen 
Ansteuerung. er wird vermutlich im nicht sichtbarenbereich "Pendeln". 
Schau dir mal die Signallage/ Signaldauer etwas genauer an, wenn du ein 
Oszi hast. Hast du dem Atmega einen Quarz verpasst oder ist er 
freischaffend? Dann könnte auch eine instabile Taktfrequenz mitspielen. 
Vielleicht opferst du der Servo-Spannungsversorgung einen eigenen 
Regler. Damit wirkt sich die Strombelastung nicht mehr direkt auf die 
Versorgung des Controllers und wenn du da 300 mA dem Servo gönnst, wird 
dir so ein Regler möglicherweise etwas ins Schwitzen geraten.
Gruß oldmax

von Michael H. (michael_h89)


Lesenswert?

Martin Vogel schrieb:
> Vermutlich stammt der Grundstrom von 50mA von einer unsauberen
> Ansteuerung. er wird vermutlich im nicht sichtbarenbereich "Pendeln".
> Schau dir mal die Signallage/ Signaldauer etwas genauer an, wenn du ein
> Oszi hast.

Michael H. schrieb:
> Das funktioniert perfekt mit einer ganzen Reihe von Servos (Robbe,
> Graupner, Modellcraft ES05). Auch mit dem Oszilloskop betrachtet,
> bekomme ich ein sauberes Signal.

;-)

von Thomas P. (Gast)


Angehängte Dateien:

Lesenswert?

Nach meinen Unterlagen (siehe Scan) ist der Micro Servo MC-1811 ein 
Analog-Servo. Zur Ansteuerung mit einem Mikrocontroller verwendet man 
aber pulsweitenmodulierte (PWM)-Signale, d.h. man benötigt hierfür einen 
digitalen Servo, wie z.B. den Micro Server SG90. Kein Wunder, dass der 
Analog-Servo MC-1811 nur ruckt und zuckt: er versucht dem 
Rechteck-Steuersignal exakt zu folgen und dass ist bei einer 
Taktfrequenz von 50 Hz (= 1/20ms) ziemlich schwierig.

von Michael (Gast)


Lesenswert?

Thomas P. schrieb:
> Zur Ansteuerung mit einem Mikrocontroller verwendet man
> aber pulsweitenmodulierte (PWM)-Signale, d.h. man benötigt hierfür einen
> digitalen Servo

Schwachsinn....

von Thomas P. (Gast)


Angehängte Dateien:

Lesenswert?

Michael H. schrieb:
> Modellcraft ES05

Bevor sie übereilt etwas als Schwachsinn bezeichnen, sollten sie erst 
einmal besonnen nachdenken. Schauen Sie Sie sich z.B. einmal die 
Unterlagen zudem von Ihnen erfolgreich eingesetzten Servo Modellcraft 
ES05 an: Die Ansteuerung erfolgt mit einem PWM Signal.

Auch Ihre Testschaltung (kleiner "Servotester" mit 2 Servoausgängen 
gebaut auf Basis ATMEGA8. Ausgang 1 hängt an einem "normalen" Ausgang 
der einfach mittels Delay 20*{1000 us ein und 18ms aus} und dann 
20*{2000 us ein und 18 ms aus} usw. geschaltet wird: Server dreht im 2 
Sekundentakt links rechts...). Das liefert aus nachrichtechnischer Sicht 
gesehen nichts anderes als ein PWM-Signal mit 50 Hz Taktfrequenz, bei 
dem sich nach jeweils 20 Zyklen die Pulsweite ändert.

von Thomas P. (Gast)


Lesenswert?

Hallo,
ich habe mir die funktionalen Unterschiede bei der Ansteuerung von 
Analogservos und der Digitalservos einmal näher angeschaut. (Die Aussage 
mit " ... versucht dem Rechteck-Steuersignal exakt zu folgen" nehme ich 
zurück, sie ist tatsächlich unsinnig.)

Im Unterschied zu digitalen Servos scheint es jedoch bei analogen Servos 
sehr wichtig zu sein, dass das Steuersignal eine konstante Periode (z.B. 
20 ms) hat. Bei Ihrer Ansteuerung ist jedoch die Periode schwankend: 
zuerst beträgt sie
     1000 us (an)  + 18 ms (aus) = 19 ms Periode,
dann 2000 us (ein) + 18 ms (aus) = 20 ms Periode.

Möglicherweise funktioniert der Analogservo also dann, wenn Sie die 
"Auszeit" in der ersten Periode zu 19 ms abändern, so dass die 
Periodendauer immer 20 ms beträgt.

Ich habe im Internet bei der Suche nach dem Unterschied zwischen 
Analogservos und Digitalservos noch folgenden Hinweis gefunden (Zitat):

Analogservos dürfen nicht an digitalen Ausgängen bzw. mit der 
Einstellung "Digitalservo" betrieben werden! Sie werden dabei 
beschädigt. Im Gegensatz dazu kann man aber Digitalservos auch mit der 
Einstellung für Analogservos bzw. an analogen Ausgängen betreiben - 
allerdings ohne dann die Vorteile der Digitaltechnik nutzen zu können.

von Klaus (Gast)


Lesenswert?

Thomas P. schrieb:
> Im Unterschied zu digitalen Servos scheint es jedoch bei analogen Servos
> sehr wichtig zu sein, dass das Steuersignal eine konstante Periode (z.B.
> 20 ms) hat. Bei Ihrer Ansteuerung ist jedoch die Periode schwankend:
> zuerst beträgt sie
>      1000 us (an)  + 18 ms (aus) = 19 ms Periode,
> dann 2000 us (ein) + 18 ms (aus) = 20 ms Periode.

Ist ist nicht wichtig, daß das Steuersignal eine konstante Periode 
hat. Hunderte von Erfahrungsberichten, eigene Tests und eine Analyse der 
Impulsdiagramme verschiedener RC-Anlagen bestätigen dies. Bei analogen 
Servos ist so bei 10ms die untere Grenze, nach oben wird die Grenze 
eigentlich eher durch die Geschwindigkeit bestimmt, mit der man die 
Position ändern will.

Probleme lassen sich immer auf die Versorgung reduzieren, die 
Funkenstörungen des Motors sind für die Digitalelektronik unerheblich, 
sie stören höchstens einen Empfänger. Es geht aber nicht nur um den 
Spitzenstrom, sondern auch um Ground-Bounce oder Übersprechen von der 
Versorgung auf Signalleitungen etc. Motoren an der selben Versorgung wie 
die Logik zu betreiben ist immer problematisch. Und selbst wenn man das 
Servo getrennt versorgt, ist dessen Elektronik immer noch an der 
Versorgung des Motors. Ein Akku ist halt ein anderes Tier als ein 
Regler, es gibt keine Strombegrenzung, und erst recht keine Fold-Back 
Kennlinie.

MfG Klaus

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.