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


von Bascompasstschon (Gast)


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

: Gesperrt durch Moderator
von Paul B. (paul_baumann)


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

von Tishima (Gast)


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

von Bascompasstschon (Gast)


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 :-)

von Purzel H. (hacky)


Lesenswert?

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

von Bascompasstschon (Gast)


Lesenswert?

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

von Bascompasstschon (Gast)


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).

von Lukas K. (carrotindustries)


Lesenswert?

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

von Bascompasstschon (Gast)


Lesenswert?

Das ist ein Servo von Modelcraft, der heisst Modelcraft MC-621. Anbei 
der Link

http://www.conrad.de/ce/de/product/209067/DIGITAL-SPEED-SERVO-MC-621DMGHS

von Bascompasstschon (Gast)


Lesenswert?

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

von Gelöscht (kami89)


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

von Bascompasstschon (Gast)


Lesenswert?

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

von T.Danielzik (Gast)


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

von Bascompasstschon (Gast)


Lesenswert?

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

von Bascompasstschon (Gast)


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 :-(

von nachdenklicher (Gast)


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

von Bascompasstschon (Gast)


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?

von spess53 (Gast)


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

von nachdenklicher (Gast)


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

von Bascompasstschon (Gast)


Lesenswert?

Ja, alles ist richtig miteinander verbunden. :-)

von Bascompasstschon (Gast)


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.

von Bascompasstschon (Gast)


Lesenswert?

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

von Anja (Gast)


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

von Bascompasstschon (Gast)


Lesenswert?

Was meinst du genau mit Totbereich?

von Bascompasstschon (Gast)


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?

von Gelöscht (kami89)


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.

von Anja (Gast)


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

von Bascompasstschon (Gast)


Lesenswert?

achso, eine Art Bandpassfilter, oder?

von Anja (Gast)


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

von MWS (Gast)


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.

von nachdenklicher (Gast)


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

von STK500-Besitzer (Gast)


Lesenswert?

Wie wäre es mit dem Quellcode?

von Anja (Gast)


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

von Bascompasstschon (Gast)


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!:-)

von MWS (Gast)


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.

von Frager (Gast)


Lesenswert?

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

von Karl Schmidig (Gast)


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

von Maggus (Gast)


Lesenswert?

Bei mir war in der PID Berechnung ein typecast Fehler,
daher gab mein output zum Servo immer nur ganzzahlige Werte aus (PWM),
daher kam das Ruckeln ;-)

Maggus :-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Da die ursprüngliche Frage mittlerweile mehr als 6 Jahre alt ist und der 
TO längst seinen Bachelor haben sollte, schließe ich den Thread.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.