habe schon google durchfoscht, aber nichts gefunden, nur das andere auch probleme damit haben, und dann schildern, dass sie es gelöst haben, aber nicht wie...
Also der Servo lässt sich ca210° drehen... wenn ich ihn aber ansteuer sind es nur ca 120° und die im bereich in der mitte, also nicht von 0°-120° sondern von 70°-190°
Wenn ich myservo.write(0); benutze fährt er 180° an und
wenn ich myservo.write(90); benutze fährt er 70° an
Das Mapping scheint nicht zu passen und die Zeiten gar nicht...
Naja, habe es mit nem anderen noname Servo getestet... funktioniert einwandfrei... die Spektrum servos haben wohl eine andere Art der Ansteuerung...
ich habe den jetzt für mich verworfen und hole mir nen anderen Servo.
Im Internet habe ich einige Forenbeiträge gefunden, wo sie sich am Ende freuten, dass es geklappt hat, aber keiner hat die Lösung dazu gepostet. hätte es hier gerne mal komplett von Enfang bis Ende dokumentiert, damit auch alle was davon haben, aber hier bin ich an meine grenzen gestoßen.
Mit myservo.write(90); gibst Du den Wert 90° an den Servo. Das scheint ja nicht zu funktionieren. Die Bibliothek (zumindest diejenige, die ich verwende) kann aber auch Zeiten verarbeiten. Probiere mal myservo.write(2000); aus. Mein Servo reagiert auf 1500 bis 2500, bei Deinem Servo sollten es abweichende Zeiten sein. Die sollten eigentlich im Datenblatt stehen, bei dem Preis ist hoffentlich eins dabei, sonst hilft nur Probieren.
Der normale Weg ist ca. 1000 bis 2000 uS, wobei je nach Hersteller die Mittelstellung bei ca. 1500 uS liegt.
Neuere Servos akzeptieren evtl. auch höhere und tiefere Werte und haben dadurch u.U. mehr Drehwinkel.
Ausnahmen sind z.B. Heli Heckservos, die nur mit einem bestimmten Kreiselsystem des Herstellers arbeiten.