Je projette d'utiliser des servo afin de synchroniser un grand nombre de mouvements (tous similaires).
Le mouvement consiste en une translation simple sur un seul axe, avec une distance assez courte (~5cm).
Chaque servo sera potentiellement placé dans une cage cubique de 5cm de coté, ce qui rends les choses encore plus complexes.
Mes contraintes sont :
en premier lieu la vitesse du moteur, car les mouvements seront synchronisés à la manière d'un ballet d'opéra et il faut donc de la réactivité et de la précision.
le bruit, car il pourrait y avoir plusieurs dizaines de moteurs, et si les rendus des premiers protos sont cool, 200.
Les autres possibilités envisagées et abandonnées sont :
les potentiomètres linéaires motorisés : trop couteux malheureusement (~13€/u)
les systèmes pneumatiques car trop bruyant (micro compresseur nécéssaire)
J'aurai également aimé savoir si certains d'entre vous savaient s'il était possible de "lire" l'angle d'un servomoteur :
Admettons que je mette une tige au bout de l'engrenage de mon servo et que je le faisais tourner à la main, est ce qu'arduino pourrait voir, et identifier ces changements d'états ?
Je me doute que mes questions sont plutot bizarres, mais merci d'y avoir répondu =(
J'aurai également aimé savoir si certains d'entre vous savaient s'il était possible de "lire" l'angle d'un servomoteur :
Si le servo est correctement dimensionné et que tu n'as pas essayé de l'envoyer au delà de ses butées, la valeur de l'angle c'est la consigne que tu as donnée à la fonction Servo.Write()
D'ou ma question de si le le force à la main. Concrètement, je prends l'engrenage du servo, je tourne fort, il change d'angle, est-il possible de savoir son angle ?
y_nk:
D'ou ma question de si le le force à la main. Concrètement, je prends l'engrenage du servo, je tourne fort, il change d'angle, est-il possible de savoir son angle ?
Je crois qu'il faudrait regarder du coté des servos numériques. Il me semble que je l'avais vu dans une doc en cherchant à répondre à une personne sur ce forum.
Non.
Un servo se pilote mais n'a pas de voie de retour en standard (exceptions ?), uniquement la commande PWM qu'il s'agisse d'un analogique ou d'un numérique.
Si tu forces, peux importe la position du moteur, t'es en train de le cramer et il faudra le changer bientôt
Analogique ou numérique ne porte que sur la méthode de contrôle du positionnement à l'intérieur.
En analogique, un potentiomètre est couplé à l'axe. Ce potentiomètre fournie une tension qui est comparée avec une tension fabriquée par un circuit RC qui dépend donc que la largeur de l'impusion de commande.
Si la tension issue du potentiomètre est plus grande, le moteur tourbne dans un sens, sinon il tourne dans un l'autre sens.
Il y a en plus un petit hysteresis pour éviter qu'il oscille autour de la position de repos.
Corollaire 1 : Si tu va vers la position X depuis une position Y < X ou depuis une position Z > X, alors la position effective d'arrêt à peu de chance d'être identique à cause de cet hystéresis. Un bon servo à une erreur plus faible qu'un mauvais...
Corollaire 2 : Si tu ouvre le servo et que tu piques la tension en sortie du potar pour l'envoyer à une entrée analogique de ta 'duino, tu connais la position. Tu as inventé le servomoteur a retour de position XD
Un servo numérique utilise un encodeur de position (optique généralement) pour connaitre la position de l'axe. Un circuit numérique (un microcontroleur quoi), va piloter le moteur pour que la position de l'axe corresponde àla consigne (largeur d'impulsion). Comme il a un micro, il peut piloter de manière évoluée et utiliser des algo d'asservissement type PID.
D'où un positionnement plus précis.
Corollaire 2bis : Tu peux pas bricoler le servo pour connaitre la position (ou alors c'est plus dur pour se brancher sur l'encodeur de position)
Donc si tu veux un bon servo donc numérique et que tu veux connaitre la position de ton axe, tu met toi-même un potar ou un encodeur optique a l'extérieur.
Très utile pour tout couper justement si ton servo force avant de le cramer (au prix du servo numérique, vaut mieux).