a) die Werte müssen ja irgendwo herkommen, warum nicht am Arduino berechnen?
b) 10.000 Werte ... ich weis nicht welche "Auflösung" du dir von einem Servo erwartest, aber bei einem (unechten) 180Grad Servo in 10.000 Schritte dazwischen machen zu wollen, ich denke da sind die meisten schon mit einem 10tel überfordert. Schau dir mal die Servolib an, aber ich glaube du kannst die Grad onehin nur als Int übergeben...
@noiasca
Vieleicht löscht Du Deinen Beitrag und liest die Diskussion nochmals durch.
Grüße Uwe
noiasca:
Schau dir mal die Servolib an, aber ich glaube du kannst die Grad onehin nur als Int übergeben...
Wenn man anstelle der Gradzahl die Pulsweite in µs übergibt, hat man, je nach Servo, einen Bereich von ca. 2000 µs (Standard 544 bis 2400 µs) als ganze Zahl. Irgendwie muß man also von den Fließkommazahlen zu ganten Zahlen kommen. Wie der Algorithmus dazu aussieht, wurde bislang nicht behandelt. Bei komplizierten Berechnungen könnte eine Fließkommarecheneinheit (siehe meine Anregung in #16) hilfreich sein. Oder man nimmt die Anregung aus #20 zur Datenreduzierung vor der Übertragung in den Arduino auf. Oder der Arduino verarbeitet die Daten in aller Ruhe, speichert sie auf SD-Karte, FRAM oder im Teensy-Speicher, um die reduzierten Daten zügig zu verwenden, wenn die Show beginnt.
Letztlich fehlen Informationen, um eine sinnvolle Strategie empfehlen zu können. Oder eben ausprobieren, dann ist man schlauer ![]()
agmue:
Der Arduino braucht nur den neuen Sollwert zu senden, dann bewegt sich der Servo zur neuen Position. Dafür dürfte der Wert des Servos (Model: DS-319HV) "Operating Speed: 0.05sec.60º 7.4V" ausschlaggebend sein.
Danke für die Antwort. Hältst du den Corona DS-319HV für gut? Bzw. gut kompatibel mit dem Arduino?
Gruß CHris
Corona DS-319HV ist mir unbekannt, aber "Betriebsgeschwindigkeit: 0.07sec.60º / 0.06sec.60º" liest sich gut. Wäre einen Versuch wert.
Aber siehe Schlußsatz von #22.