Différences entre versions de « Servo-Moteur »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 44 : Ligne 44 :
 
* Jaune: Commande de la position du servo-moteur.
 
* Jaune: Commande de la position du servo-moteur.
  
 +
== Programmation Arduino ==
  
 +
Il bien évidemment possible de programmer soi-même la commande d'impulsion mais cela serait fastidieux et demanderait une optimisation importante du programme.
 +
 +
Mais pour nous faciliter la vie, Arduino dispose de la librairie Servo.h qui permet de prendre facilement le contrôle de deux servomoteurs (ou plus) sur les pin 9, 10 ou autres. Le programme ci-dessous fonctionne, par ailleurs, parfaitement avec la pin 2.
 +
 +
=== Montage ===
 
[[Fichier:ServoRaccordement.png]]
 
[[Fichier:ServoRaccordement.png]]

Version du 14 avril 2012 à 21:16

Qu'est-ce qu'un servo-moteur

Un servo-moteur est un type de moteur électrique. C'est un dispositif typiquement utilisé en modélisme pour, par exemple, contrôler la direction d'une voiture télécommandée.

Servomoteur.jpg

Sur un servo-moteur, l'angle de de l'axe reste fixé dans une position et peu varier entre 0 et 180° en fonction du signal envoyé. Un servo-moteur comprend :

  • Un moteur électrique (continu), généralement assez petit.
  • Des engrenages réducteur en sortie du ce moteur (pour avoir moins de vitesse et plus de couple ou de force).
  • Un capteur type "potentiomètre" raccordé sur la sortie.
    • Il s'agit donc d'une résistance qui varie en fonction de l'angle, ce qui permet de mesurer l'angle de rotation sur l'axe de sortie.
    • Un asservissement électronique pour contrôler la position/rotation, de cet axe de sortie pour le maintenir à la bonne position.

Commander électronique d'un servo-moteur?

Le principe de base est assez simple. Il suffit d'envoyer une impulsion et c'est le temps que durera cette impulsion qui déterminera l'angle du servo-moteur. ce temps d'impulsion est de quelques de quelques millisecondes et doit être répété à intervalle régulier (toutes les 20 ms à 50ms). Si le temps d'impulsion varie d'un fabricant à l'autre, les valeurs suivantes sont assez standard:

  • 1.25 ms = 0 degré
  • 1.50 ms = 90 degrés
  • 1.75 ms = 180 degrés

ServoImpluseAngle.jpg

Source: Area RC-Bot

Raccordement d'un servo-moteur

Raccordement d'un servo-moteur Puisque l'interface de commande est assez simple, un servo-moteur se raccorde avec seulement 3 fils (la masse, +5v et la commande par impulsion). Les raccordements les plus standardisés sont:

Noir, Rouge, Blanc

  • Noir: Raccordé à la Masse,
  • Rouge: Alimentation moteur et logique de commande. Raccordé à VCC 5v,
  • Blanc: Commande de la position du servo-moteur.

Marron, Rouge, Jaune

Couleurs du standard Graupner.

Servograupner.png

  • Marrons: Raccordé à la Masse,
  • Rouge: Alimentation moteur et logique de commande. Raccordé à VCC 5v,
  • Jaune: Commande de la position du servo-moteur.

Programmation Arduino

Il bien évidemment possible de programmer soi-même la commande d'impulsion mais cela serait fastidieux et demanderait une optimisation importante du programme.

Mais pour nous faciliter la vie, Arduino dispose de la librairie Servo.h qui permet de prendre facilement le contrôle de deux servomoteurs (ou plus) sur les pin 9, 10 ou autres. Le programme ci-dessous fonctionne, par ailleurs, parfaitement avec la pin 2.

Montage

ServoRaccordement.png