www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Servo ruckeln, brauche dringend Hilfe!


Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebes Forum!

Ich will eine Lage mithilfe eines Servos über einen PID-Regler 
ausregeln. Zur Verfügung steht mir ein STK500. Allerdings ruckelt bzw. 
zittert der Servo stark. Wenn ich die jeweiligen Konstanten im Servo 
ändere, ändert sich das Zittern nicht wirklich. Nun habe ich schon ein 
bisschen recherchiert und herausgefunden, dass Kondensatoren da helfen 
könnten. Daraufhin habe ich an die Spannungsversorgung 5 Kondensatoren a 
1000uf parallel angeklemmt (damit die Kapazität höher wird). Das hilft 
jedoch leider auch nicht wirklich :-(. Oder muss ich noch einen 
Kondensator in die Impulsleitung vom Board zum Servo klemmen? Könnt ihr 
mir helfen?

(Bzgl. des Betreffs: ich bin am Ende meiner Bachelor-Thesis und deshalb 
sitzt mir die Zeit ein bisschen im Nacken :-))

Viele Grüße

Bascompasstschon

Autor: Paul Baumann (paul_baumann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Füge mal in die Steuerleitung zum Servo einen Widerstand von ca. 200 Ohm
ein. Ich hatte dieses Problem auch schon mal. Servos von 
unterschiedlichen
Herstellern reagierten mit dem gleichen Programm "zittrig", andere 
nicht.

MfG Paul

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wenn Du diese Modelbauservos meinst und die 5V für die 
Versorgungsspannung aus dem STK500 beziehst kann der Spannungsregler 
nicht den benötigten Strom liefern.

Dann tritt ebenfalls dieser effekt auf.

gruß,
Bjoern

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ich werde jetzt mal einen Widerstand einlöten und dann berichten, 
danke für den Tipp! :-)

@Tishima: ja es ist ein Modellbauservo, aber ich habe ein externes 
Netzteil, das STK500 geht aus, wenn ich den Servo dranklemme, weil der 
zu viel Strom zieht :-)

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein analoges Servo zittert fuer gewoehnlich mit der Ansteuerfrequenz 
wenn es drehmoment abgeben muss, ein Digitalservo eigentlich nicht.

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, ich habe jetzt mal einen Widerstand eingelötet, aber er zittert 
immer noch, wenn er in einer ausgelenkten Lage verweilt. :-(

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Servo ist ein Digitalservo und zittert nur, wenn ich den Regler 
implementiert habe. Steuern, das heißt bestimmte Positionen anfahren ist 
kein Problem. Ich habe das schonmal mit einem anderen Servo ausprobiert, 
bei dem ist das nicht aufgetreten (bei gleichem Regelalgorithmus).

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WAS für ein Servo ist es denn überhaupt?
Plastik-Modellbauservo oder ein dickes Industrieservo mit gigantischem 
Drehmoment oder was zwischen drin?

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein Servo von Modelcraft, der heisst Modelcraft MC-621. Anbei 
der Link

http://www.conrad.de/ce/de/product/209067/DIGITAL-...

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh man, das ist echt nervig, ich bin so kurz vorm Ziel und jetzt ruckelt 
der Servo so :-(((

Autor: Urban B. (kami89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascompasstschon schrieb:
> Der Servo ist ein Digitalservo und zittert nur, wenn ich den Regler
> implementiert habe. Steuern, das heißt bestimmte Positionen anfahren ist
> kein Problem. Ich habe das schonmal mit einem anderen Servo ausprobiert,
> bei dem ist das nicht aufgetreten (bei gleichem Regelalgorithmus).

Wäre es dann nicht möglich dass der "gute" Servo einfach weniger schnell 
reagiert, und dann deine Regelung richtig funktioniert. Der Zitter-Servo 
fährt Sollpositionen vielleicht schneller an und deine Regelung gerät 
ins schwanken.

Kannst du nicht probieren dein Regel-Algorithmus etwas "langsamer" zu 
gestalten?

mfg

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaa, ok, ja das werde ich mal probieren und gucken, wie sich der Servo 
verhält :-)

Autor: T.Danielzik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ruckeln von Modellbauservos in der Endlage,
kann man abstellen wenn man nicht ganz bis zur Endlage verfährt.

Bei meinen Tests hat sich gezeigt das die Analogservos leicht 
unterschiedliche Ansteuerungen benötigen.

Das heißt der Impuls zum Ansteuern wird leicht verschoben.
Normal ist 1ms - 2ms
Angepasst z.B. 0,9ms - 1,9ms
oder  1,1ms - 2,1ms

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich die Regelung etwas langsamer macher, dann ruckelt er immer 
noch, es sieht so aus, als ob der Servo pulsieren würde.

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Servo ist ein Digitalservo, er verhäkt sich bei der Steuerung sehr 
gut. Ich kann an die Endpositionen fahren und er verhält sich vollkommen 
ruhig :-). Allerdings macht er bei der Regelung Probleme :-(

Autor: nachdenklicher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst das Problem gezielter angehen/beschreiben:

Was meinst Du jetzt mit regeln und was mit steuern.
Regeln würde bedeuten, dass Du einen IST-Wert vom Servo in Deine 
Steuerung/PID einbeziehst.

Das Servo allerdings regelt sich doch selbst, Du gibst wahrscheinlich 
das Ergebnis einer PID-Regelung für irgendetwas an das Servo, OHNE ABER 
die Position des Servos in diese PID einzubeziehen, ist das so?

DANN nämlich STEUERST Du das Servo und REGELST es nicht!

Was dann passiert ist folgendes:
(restliche) Regelschwingungen aus der PID-Regelung mischen/addieren sich 
mit dem Zittern, das ein einfaches Modellbauservo SOWIESO hat, und das 
ganze ergibt ein unseeliges Ergebnis.

Joe

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Sensorboard RAZOR 9dof und sende diese Werte zu meinem 
Mirkocontroller. Im Mikrocontroller ist mein Programm, was den Istwert 
mit dem Sollwert vergleicht. Die Regelabweichung durchläuft dann den 
PID-Regler, der ein Stellsignal daruas generiert und dieses an den Servo 
weiterleitet. Also, ich will meinen Servo regeln. Mit dem Ergebnis bin 
ich allerdings noch nicht so zufrieden :-(. Könnte das auch an der 
Baudrate liegen, mit der ich die Werte von RAZOR schicke bzw. dann 
empfange?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>@Tishima: ja es ist ein Modellbauservo, aber ich habe ein externes
>Netzteil, das STK500 geht aus, wenn ich den Servo dranklemme, weil der
>zu viel Strom zieht :-)

Netzteilmasse mit der Masse vom STK verbunden?

MfG Spess

Autor: nachdenklicher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immer noch nicht ganz richtig:

Du bildest das Ergebnis der "Regelung von irgendwas" nur auf der 
Servo-Position ab! Aber Du "regelst" das Servo nicht!
Das ist ein feiner aber ungeheuer wichtiger Unterschied!

Wie ich eben schon schrieb bildest Du dann natürlich auch jeden Rest von 
Regelschwingung auf dem Servo ab, verschlimmert durch die naturgemäße 
leichte Wiederholungenauigkeit/Zittern des Servos.

Joe

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, alles ist richtig miteinander verbunden. :-)

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ok entschuldige, da hab ich die zuerst falsch verstanden. :-) Ich 
regel eine Position, um genauer zu sein, einen Winkel. Den Servo ansich 
regel ich nicht. :-) Er ist nur das Stellglied, Regelgröße ist der 
Winkel.

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Problem ist auch, dass ich nicht genau weiß, was die Fehlerquellen 
sein könnten.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascompasstschon schrieb:
> Regelgröße ist der Winkel.

Vermutlich brauchst Du einen Totbereich wenn das Ziel fast erreicht ist.
Wegen Reibung ergibt sich vermutlich ein "slip stick" Effekt.

Gruß Anja

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst du genau mit Totbereich?

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A ich habe jetzt gelesen, was der Totbereich ist, das klingt 
interessant. Aber hast du eine Idee, wie ich das in den Griff bekommen 
könnte?

Autor: Urban B. (kami89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nachdenklicher schrieb:
> Was dann passiert ist folgendes:
> (restliche) Regelschwingungen aus der PID-Regelung mischen/addieren sich
> mit dem Zittern, das ein einfaches Modellbauservo SOWIESO hat, und das
> ganze ergibt ein unseeliges Ergebnis.

Das wäre auch möglich.
Um das auszuschliessen, könntest du vielleicht mal probieren ein kleines 
mechanisches Spiel in die Achse des Servos einzubauen, damit bei einer 
ganz kleinen Drehung des Servos noch keine Änderung des Sensorwertes 
erfolgt.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascompasstschon schrieb:
> Was meinst du genau mit Totbereich?

Du schaltest den Regler ab sobald die Winkelabweichung kleiner als der 
Fehler durch die Reibung ist. Also z.B. bei -1 .. 1 Grad Regeldifferenz 
wird der Wert "0" an den Regler weitergegeben oder der Regler (I-Anteil) 
eingefroren.

Gruß Anja

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso, eine Art Bandpassfilter, oder?

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascompasstschon schrieb:
> Aber hast du eine Idee, wie ich das in den Griff bekommen
> könnte?

folgende Lösungsansätze sehe ich.
- Verschiedene Reglerparameter Großsignal + Kleinsignalverhalten
  Umschaltung ab einer bestimmten Regelabweichung.
  (Z.B. reduzierter I-Anteil beim Kleinsignalverhalten).
- Totbereich (ist nur letzter Ausweg)
- Die letzten paar Grad nur noch gesteuert Verfahren und nicht geregelt. 
(Zielbremsung).

Gruß Anja

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde an Deiner Stelle ausschließen, daß es Probleme mit den Interrupts 
gibt. Wenn Du selbst Interrupts definiert hast, die lange dauern, oder 
auch Bascom Interrupts benutzt, wie z.B. eine gepufferte Serialin, so 
kann sich das u.U. mit dem Timer-Ovfl-Int in die Quere kommen, der die 
Servo-Geschichte erledigt. Dadurch kann ein Jitter im Servosignal 
entstehen, was dann zu der Ruckelei führt. Such' mal in diese Richtung.

Autor: nachdenklicher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Würde an Deiner Stelle ausschließen, daß es Probleme

Du meinst aber doch eher, dass Du es NICHT ausschliessen würdest, oder?
Denkbar wäre es schon.

Auf jeden Fall wird der OP aber nicht weiterkommen, wenn er nicht 
erstmal GENAU ermittelt, ob das Steuersignal überhaupt richtig "zur 
Ruhe" kommt, oder ob da Regelschwingungen drauf sind.
Ohne diese Info/Messung bleibt es Raten...

Joe

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit dem Quellcode?

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> Würde an Deiner Stelle ausschließen, daß es Probleme mit den Interrupts

Von der Beschreibung oben daß die Probleme nicht im gesteuerten Betrieb 
sondern nur im geregelten Betrieb auftreten würde Ich schließen daß die 
Interrupts keine tragende Rolle spielen.

Was mich mehr beunruhigt ist die Frage nach der Sensor-Baudrate.
Ich hoffe doch daß der angehende Bachelor nicht sämtliche 
regelungstechnischen Vorlesungen geschwänzt hat.
Die Abtastrate des Sensors und Regelungsrate des Reglers sollten 
synchron und gleich sein. Und selbstverständlich sollte der Regler 
schnell genug das Servo regeln können. Üblicherweise nimmt man den 
Frequenzgang der Regelstrecke auf und berechnet danach die 
Regelparameter.

Gruß Anja

Autor: Bascompasstschon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne ne, Regelungstechnik habe ich gehört, allerdings hat mir das Fach für 
die praktische Umsetzung eines Regelalgorihtmus nicht sehr viel 
gebracht. Ich bin Maschinenbauer und deshalb war es doch nur sehr 
theoretisch :-) Ich versuche jetzt mal rauszufinden, wie sich das mit 
den Baudraten verhält!:-)

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nachdenklicher schrieb:
>> Würde an Deiner Stelle ausschließen, daß es Probleme
>
> Du meinst aber doch eher, dass Du es NICHT ausschliessen würdest, oder?
> Denkbar wäre es schon.

Damit war die Tätigkeit angesprochen etwas auszuschließen. Natürlich 
damit, daß alle anderen Interrupts versuchsweise deaktiviert werden.
Ist einfach zu machen und gibt Aufschluss darüber, ob's da hakt.

Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wackelt der Sollwert für den Servo oder wackelt der Drehwinkel des 
Servos bei konstanter Stellgröße?

Autor: Karl Schmidig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ich selber nach sehr langem Gebrauch im harten Einsatz einige 
ruckelnde Servos hatte, wollte ich mich auf dieser Platform schlau 
machen.

Wiederstand oder Diode in der Signal- Zuleitung, Entsrörkern mit 4 
Windungen mit den drei Drähten, Stützkondensatoren und alle weiteren 
Versuche fruchteten nix.

Ich öffnete ein HS55 und schraubte das Potentiometer heraus. Ich stellte 
fest, dass einer der beiden Schleiferkontakte "in der Luft" war. 
Spritzte Kontaktreiniger und enfernte Kohlesatub mit einem 
Ohrenstäbchen. Spannte beide Schleifer vorsichtig nach, polierte mit 
600er Schleifpapier und montierte das Ganze. Problem gelöst.

Vorsicht bei der Monrtage: das Gertriebe und das Potentiometer müssen 
exakt zentriert sein. Ansonsten läuft nix mahr.

Auf diese Art habe ich drei ruckelnde Servos wiederbelebt. Bei einem 
Servo musste ich das Potentiometer auf der Gerteiebe- Seite 
heraudrücken.

Der Feierabendflieger

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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