Servo-Steuerung mit Symcon - komisches Verhalten

Hallo Leute,

ich habe einem großen Spielzeug-Mähdrescher soweit umgebaut, dass der Arm mit einem Servo betrieben dann auf bestimmte Postionen fährt, Pumpen aktiviert um “Shot-Gläser” mit “Leckereien” zu befüllen. Mehr Details gerne bei Interesse…

Dieser Servo wird über eines meiner Module das mit PiGPIO auf einem Raspberry Pi interagiert gesteuert. Zu 99% funktioniert das auch sehr gut, aber:

In einigen selten Fällen läuft das Servo einfach “selbständig” weiter, auffällig ist dabei, dass es das in einer verhältnismäßig langsamen Geschwindigkeit macht (ganz im Gegensatz zu den “gewollten Änderungen”).

Nun bin ich unsicher woran es liegt:

  • mein Modul?
  • PiGPIO?
  • dem Servo? (ist jetzt mit Sicherheit kein “High-End-Servo”)

Jemand da Erfahrungen?

Joachim

Ich würd da eher auf das Servo tippen. Hast du die Möglichkeit es an einen Empfänger anzuschließen? Oder auch Servotester. Digitalservos neigen (oder neigten) zum Zittern wenn z.b. die Zündkerze vom Motor nicht entstört war. Nicht alle, aber manche. Mir ist klar, dass dein Mähdrescher keine Zündkerze hat, ich wollte auf die mögliche Störung hinweisen :wink: .

Hallo Helmut,

vielen Dank für Deine Antwort!

Ist jetzt das erst Mal, dass ich etwas mit einem Servo gemacht habe - daher auch keinen Servo-Tester oder ähnliches Equipment.

Da hier ja Links nicht so gerne gesehen sind, hier mal die Artikelbeschreibung:

HUAZIZ 2 Stück Servo-Motoren, Metallgetriebe, Drehmoment, digitaler Servo-Motor, hohe Geschwindigkeit, für Smart-Auto, JR, Boot, RC, Hubschrauber, Arduino, Raspberry Pi, DIY-Projekt

Marke: HUAZIZ

  • Metall getriebe Zahnrad M-G-996R Digital Servomotor, Maximaler Winkel: 180 °.Drehmoment 13kg.cm.at (6V) 15kg.cm.at (7,2 V).

  • Temperaturbereich: 0-55 ℃. Betriebsspannung: 4,8 bis 7,2 V Dieser Servomotor wurde vom Mikroservomotor S-G-90 und M-90-S aktualisiert.(Geschwindigkeit,Spannung und Genauigkeit nehmen alle zu).

  • Stromversorgung:Über externen Adapter.Stabil und stoßfest.Kernloser Motor, Metallgetriebe. Drehmoment bei 6V 12 kg/cm, 7,2V 13 kg/cm.

  • (Empfohlene Universell Einsetzbar:Mikro-Servomotor für ferngesteuerte 1:10 RC-Car-Roboter-Hubschrauber-Servoflugzeuge und für die meisten DIY-Projekte geeignet.

  • Geschwindigkeit: 0,17 sec/60 Grad bei 4,8 V; 0,13 sec/60 Grad bei 6,0 V. Drehmoment bei 6V 12 kg/cm,7,2V 13 kg/cm.(Empfohlene.

Die Bewertungen - und darauf habe ich mich als Laie mal orientiert sind 4,5 von 5.

Bei der Entwicklung hatte ich schon ein Servo zerstört - vielleicht einfach mal austauschen? Oder lieber einen anderen Hersteller wählen?

Joachim

Was mich etwas stutzig macht, die 13kg bei dem Preis. Ein Hitec Digitalservo (HS-5485HB) kostet das doppelte bei “nur” 6,5kg. Könnte auch sein, dass es die 13kg gar nicht bringt oder nur für einen kkurzen Zeitrum und dann eben auf gibt. Du könntest dir noch mal so ein günstiges Servo holen und wieder probieren. Tritt das Problem nach einer gewissen Zeit wieder auf, liegts am Servo :-). Oder ein Hitec oder Sanwa oder auch (die hab ich auch gerne verwendet) Thundertiger.

…ich habe mich nun entschlossen da “zweistufig” zu verfahren: Ich habe jetzt nochmal die Servos wie vorhanden bestellt, wenn das keine Änderung bringt dann schaue ich mal nach “höherwertiger Technik”…

Joachim

Nachdem ich schon mehrere Servos durch Software-PWM, egal ob Raspi oder Arduino genau mit solchen Problemen zerstört habe, steuere meine Servos nur noch mit einem Modul PCA9685 16 Kanal I2C 12-Bit PWM Servo. Damit gehts bei mir bisher ohne Ausfälle.

Peter

Hallo Peter,

auch Dir vielen Dank für Deinen Impuls! Sehr interessant!

Ich habe mir mal kurz das Datenblatt des PCA9685 angeschaut. Ich vermute ich bekomme da ein Timing-Problem? Ich müsste ja vom Symcon aus PiGPIO ansteuern, darüber wiederum den PCA9685 und aber auch sicherstellen das ich z.B. nach 1500µs (für die Mittelstellung) den Ausbefehl gesendet bekomme - und das ja ziemlich genau. Mache ich das über die angebotene Funktion von PiGPIO, gebe ich PIN und Laufzeit an, da kümmert sich dann die Funktion selbst darum…

Ich kann im Datenblatt etwas übersehen haben, aber ich habe keine Funktion dort gesehen, die dieses für mich erledigen würde…

Joachim

gucke mal, ob dir das weiterhilft: https://learn.adafruit.com/16-channel-pwm-servo-driver?view=all

und hier: https://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi/overview