Ich möchte mehrere Servos synchron ansteuern. D.h. zum Beispiel 2 Servos gleichzeitig um z.B. 90 Grad bewegen und zeitgleich 2 andere Servos um z.B. 45 Grad.
Ich möchte das mit einem arduino Nano rp2040 Connect realisieren und habe auch einen Servoshild für 16 Servos. Bisher habe ich immer nur Tutorials gefunden wo die Servos nacheinander angesteuert werden, das löst mein Problem allerdings nicht🙈. Das Ansteuern mit externer Stromversorgung ist mir bekannt, ich suche halt nach einer Lösung mehrere Positions-Signale gleichzeitig an verschiedene Servos zu senden.
Das Servosignal ist ein Impuls von 1mS bis 2mS alle 20 mS.
Wie genau synchron brauchst Du die Servo?
Die Geschwindigkeit der Servos hängt von der Versorgungsspannung (die könnte bei einem genügend dimensionierten Netzteil für alle Servos gleich) und von der Last am Servo ab.
Ich glaube daß die Servos schon wegen der Bauweise nicht die Genauigkeit haben, die Du haben willst.
Wieso brauchst Du einen RP2040?
Grüße Uwe
Ich habe mir (kurz) die Beschreibung von mobatools angeschaut. Ich denke ich kann Einiges aus den vielen Möglichkeiten die diese Bibliothek bietet, nutzen.
Das eigentliche Spracherkennungsmodul ist sehr klein, von daher bestens für mein Projekt geeignet. Die Puppen hingegen sind groß genug um EIniges an Servos (vielleicht auch Längsgetriebe) aufzunehmen. ALs Sprachausgabe möchte ich, ebenfalls von AZ-Delivery, den Mini-mp3-Player nutzen, dieser hat sich als gut ansteuerbar erwiesen und lässt sich über eine 4-stellige Nummerierung ansteuern.
Ebenfalls soll eine Gesichtserkennung integriert werden, die halt das Kind oder den Besitzer "erkennt" und entsprechend anspricht. Von daher werde ich später vermutlich einen ESP32 zum EInsatz bringen, aber jetzt für die schrittweise Entwicklung sollte ein Arduino nano ausreichend sein.Im Augenblick ist das Konzept auf 22 Servos ausgelegt (Augen, Hals, Schulter, Arme, Oberkörper, Beine und Füße). Die Spracherkennung funktioniert dem vicControl-Modul funktioniert bereits obwohl ich die Software dafür für ziemlich kompliziert halte
So, nun wisst Ihr was ich vorhabe und könnt vielleicht so besser nachvollziehen was ich brauche.
Das würde vermutlich funktionieren aber ich möchte ja nicht ständig die gleichen Paare ansteuern wie Du vielleicht jetzt wegen meiner Erklärung, verstehen wirst
@uwefedAuch DIr herzlichen Dank für Deine Antwort!
Nun, ich möchte einen/mehrere Roboter bauen der/die sich halt so natürlich als möglich bewegen. Wenn zum Beispiel der Kopf nach rechts oben bewegt werden soll dann sieht es nicht schön aus wenn er erst den Kopf hebt und dann nach rechts. Ich hoffe Du verstehst was ich meine.
Wieso ich einen rp2040 brauche? Naja, brauche ist vllt der falsche Ausdruck, ich habe einen Arduino uno, zwei RP2040 und vermutlich wird als finale Version ein ESP32 zum Einsatz kommen (wegen meiner Anforderungen zur Gesichtserkennung) Im AUgenblich ist es einfach eine Platine die ich da habe und wegen des Formfaktors für mich ideal ist.
Wegen Deiner sorge mit der Genauigkkeit; Danke erstmal für den Einwurf aber ich denke mit einer bidirektionalen Abfrage auf die Servostellung sollte eine Fehlpositionierung erkannt und korrigierbar sein. Es wird soooo viele Stolpersteine geben, das ist mir bewusst, deshalb bin ich ja froh über jeden Hinweis/Denkanstoß von Euch!
Mir ist auch bewusst das Servos eine Unmenge an Strom brauchen, deshalb ziehe ich auch noch Längsgetriebe in Betracht. Leider kann man bei den preiswerten und kleinen Modellen keine Position abfragen weswegen ich am überlegen bin die aktuelle Position über Potis an den entsprechenden Gelenken abzufragen. AUch dafür muss eine Lösung gefunden werden.
Alle mechanischen Teile sowie das Endoskelett werden mit einem 3D-Drucker (ELEGO Master pro) hergestellt. Als Software zum konstruieren verwende ich FreeCad.
Leider habe ich nur englische Antworten zum Suchthema gefunden. Da ich mich mit Englisch etwas schwer tue, werde ich mir die Beiträge von Tante G mal einen nach dem Anderen übersetzen lassen.
Gerade habe ich mir einen Sketch mit der Ansteuerung von vier Servos angeschaut, es sieht so aus als werden sie über Pinout mit einem PWM-Signal gesteuert. Grundsätzlich richtig, lässt sich aber bei 22 Servos so nicht umsetzen.
Aber danke für den Tip, ich denke über die Suche werde ich noch EIniges herausbekommen.
Naja, der Gedanke ist nicht von der Hand zu weisen, ich denke das man bei der Wahl der Bewegungsabläufe sehr genau darauf achten muss wie sich die Puppe bewegt und vor Allem wie sie spricht, also die Stimme. Das wird vermutlich sowieso ein recht schwieriges Thema werden. Alle TTS-Reader die ich bisher getestet habe, klingen nicht so, wie ich es mir vorstelle. Aber dieses Thema kommt relativ am Ende des Projekts, vermutlcih werde ich durch twago einen Sprecher arrangieren, es sei denn jemand kennt eine Software die Texte in Sprache umsetzt, als mp3 speichern kann und die halt wie ein Teddy bzw eine Mädchenstimme klingt. Das Bisherige war eher enttäuschend.
Du betrachtest in mehreren Beiträgen diese Platine wie einen "normalen" Arduino Nano. Das ist falsch. der "normale" Nano hat einen AtMega328 als Prozessor, der RP2040 ist ein völlig anderer Prozessor (ARM 2 Kerne), so dass Libs ohne explizite Anpassung da kaum laufen werden.
na dann bewegst halt den Kopf
einen Grad nach rechts ,
einen Grad nach oben,
einen Grad nach rechts,
einen Grad nach oben,
...
so lange bis du dort bist wo du willst.
das geht so schnell hintereiander - da ist die Mechanik träger als du das sehen kannst das das lauter kleine Steps sind.
und wenn die durchzuführenden Schritte nicht gleich sind, kann man das auch in Steps aufteilen:
zwei Grad nach rechts ,
einen Grad nach oben,
zwei Grad nach rechts,
einen Grad nach oben,
...