Habe hier gerade das Problem entdeckt das ich meine Servos zittern wenn ich via I2C gleichzeitig ein LCD Display "füttere"
Hat hier jemand eine Idee, wie ich dieses Problem elegant beheben kann?
Würde es vielleicht schon aufhören wenn ich das LCD nicht via I2C bespiele, sondern konventionell?
oder sollte ich die Servo Libary meiden und die Servos direkt aus dem Code ansteuern?
Definier mal was du mit zittern meinst und gib uns mal eine Übersicht über deine Beschaltung.
Evtl. hängt es auch mit der Versorgung zusammen (zu wenig Leistung für beides).
Betreibst du beides über den Arduino-5V Pin?
Mit zittern meine ich, das die Servos in Ruheposition (Stillstand) um ca 2-3Grad hin- und her zittern.
Spannungsversorgungs Probleme schließe ich aus, da die Servos genau so wie das LCD eine vom Arduino unabhängige Spannungsquelle haben.
Es ist auch so das wenn ich das LCD nicht mit Daten füttere das Problem sofort aufhört.
Vermute das es beim füttern des LCD ein interupt verwendung findet, welches die Servo PWM stört.
Das äußert sich auch dadurch dass wenn ich nur im 5sek Takt Daten an das LCD gebe auch das zittern nur alle 5sek kurz auftritt.
Du kannst, sofern du das LIB verwendest, versuchen ob das Problem behoben ist wenn du nach anfahren der Wunschposition "myservo".detach() aufrufst und vor anfahren "myservo".attach("PIN"). Kann schon sein, dass du ein paar Interferenzen einfängst die den Komparator in der Servo beeinflussen...
evtl. mal schauen ob du die Verkabelung optimieren kannst.
Stimmt...
Aber wenn die dauernd Last drauf hat bzw. dauernd etwas in eine Richtung des Servohorns drückt wird die immer Versuchen über den Komparator nachzuregeln.
Ich hatte das Problem bei einer Linearübersetzung und hab das dann mit detach() behoben. aber da drückt dann nichts auf das Servohorn. Ich kann dir am Abend mal schauen ob die Servo nachgibt/ob noch haltekraft vorhanden ist... ansonsten bin ich da auch ratlos.
Ohne LCD versucht die Servo nicht nachzuregeln? Sicher, dass es mit dem LCD zusammenhängt?
Liefer uns mal eine Schaltung und den Sketch...
Also der Ansatz von guntherb fand ich gut, jedoch bei 3 unterschiedlichen Servos zu aufwendig.
Ich habe jetzt den I2C Controller vom Display entfernt und es konventionell angeschlossen. Das zittern hat jetzt aufgehört und die Servos stehen ruhig im Stillstand.