[Lyon-hackerspace] Arduino et servo-moteur

Clement Quinson clement.quinson at gmail.com
Wed Aug 3 11:15:24 CEST 2011


Hello,
effectivement, ya aucune puissance sur le fil de contrôle d'un
servomoteur: il ne sert qu'à fournir la consigne d'asservissement. Il
n'y a donc rien de spécial à faire pour brancher le tout sur une
arduino. Donc oui, tu as raison :)

Sauf biensur comme tu le soulignes, pour la partie alim, qui doit être
entre 4.8 et 6v, parfois plus si on veut que ca poutre des mamans ours
(à vos risques et périls ;). Penser à relier les masses, par contre
(arduino & alim qui fournit la patate au(x) servo(s) ).
Autre détail: même un petit servo standard peu performant (comme un
S3003 ou similaire) tire largement plus de jus que ce que le régu 5v
d'une Arduino peut fournir lorsqu'on le fait forcer au maximum (de
l'ordre de l'ampère vs centaines de miliampères)
Dans mes montages, j'utilise un (voire plusieurs) LM338 pour faire des
sources de tension à 6/7v, mais c'est pas forcément le truc optimal.
Ca juste marche sans etre trop prise de tete.
En fonctionnant sur piles, ca marche très bien aussi (à la base, les
servos sont faits pour bien s'intégrer aux modèles réduits sur
batterie :)

En résumé: utiliser le 5v de l'arduino pour un servo, ca marche, à
condition de ne pas le faire forcer (du tout) !
Zavez un chan IRC ? Ou ca ? :)
C.

2011/8/3 Yves Quemener <quemener.yves at free.fr>:
> Cool, bon ben j'ai répondu en partie des conneries sur l'IRC alors.
> Puisqu'on a un spécialiste sous la main, j'ai une question sur la
> puissance de la bestiole. D'après ce que j'ai compris, le PWM est
> purement un signal de contrôle ? ça ne tire qu'un petit courant et pas
> de risque de retour venant griller l'arduino si le moteur reçoit des
> contraintes mécaniques ? Bref, tant qu'on branche le 0 et le 5 V du
> servo sur une source de puissance solide, on peut laisser le PWM en
> direct sur la sortie de l'arduino ?
>
> On 08/03/2011 02:10 AM, Clement Quinson wrote:
>> Hello,
>> en fait, servo digital ou analogique, ca n'a rien à voir avec la
>> manière de le commander, qui est standard. Ce qui est analogique ou
>> digital, c'est la tripaille du servo en lui même.
>>
>> Pour être plus exact, le servo n'est pas vraiment commandé par une pwm
>> au sens strict (ou on s'intéresse au rapport cyclique entre temps à
>> l'état haut et temps à l'état bas). Le servo, lui, est sensible aux
>> largeurs des impulsions à l'état haut ; la fréquence à laquelle tu lui
>> envoie des impulsions lui importe peu (ca joue sur sa fréquence de
>> rafraichissement, et il y a grosso modo un standard, à 50Hz à peu près
>> je crois). Ensuite, une impulsion de 500us correspond à une consigne
>> 0°, et 2500us à 180°. Enfin, ca dépend des servos, de l'age du
>> capitaine, etc etc etc ;)
>>
>> Ensuite, qu'est ce que ca change servo analogique ou digital, eh bien
>> dans le premier cas, l'asservissement est purement fait en analogique,
>> justement. Asservissement, c'est ce qui lui permet de se positionner
>> correctement. En résumé: il y a un potard solidaire du palonier (l'axe
>> de sortie), et tu lui donne un signal de commande "va à telle
>> position". La tripaille du servo effectue un asservissement entre ta
>> commande, et la mesure faite par le potard. Tant qu'il n'est pas en
>> position, elle envoie du jus dans le moteur -et ce, dans le bon sens.
>> Dans le cas d'un servo digital, le principe est le même, sauf qu'il y
>> a un microcontroleur dans l'histoire, ce qui permet de faire des
>> réglages plus fins (vitesse de déplacement, précision dde mesure de la
>> commande, de la position, etc etc etc). Ca fait plus classe, aussi,
>> servo digital...
>>
>> Pour revenir à nos moutons, la lib Servo dans arduino (dont je
>> t'invite à examiner le code pour te faire une idée plus précise de la
>> chose par toi même) sert à générer directement les bonnes impulsions
>> au bon moment sur la pin que tu veux. Ca marche sur n'importe quelle
>> pin (à partir de la version... je sais plus laquelle) de l'IDE/de la
>> lib, sachant que les pin "analog in" sont, outre cette fonction
>> particulière additionnelle, des I/O "comme les autres". Donc, elle
>> peuvent être utilisée en digital, et piloter un servo comme toute
>> autre pin.
>>
>> Voili voilou, en espérant que  ca réponde à tes questions ! Hésite pas
>> si t'en as d'autres :)
>> C.
> _______________________________________________
> Lyon-hackerspace mailing list
> Lyon-hackerspace at lists.hackerspaces.org
> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace
>


More information about the Lyon-hackerspace mailing list