[Lyon-hackerspace] Arduino et servo-moteur

Yves Quemener quemener.yves at free.fr
Wed Aug 3 10:58:34 CEST 2011


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.


More information about the Lyon-hackerspace mailing list