|
Servo-moteur
Description d'un servo-moteur
Un servo-moteur est un moteur combiné avec un capteur qui permet de tourner l'axe de rotation à un angle donné. Certain servo-moteur dont l'axe de rotation est continu permet de tourner à des vitesses variables. Ce type de moteur est souvant utilisé en robotique ou dans les véhicules télécommandés (avion, hélicoptère, auto, ...)
Parties externe du servo-moteur
- prise
- câble
- module de rotation (horn)
- boîtier
|
|
Dans le cadre du cours nous utiliserons les servo-moteurs standart de Parallax et le GWS03N STD.
Lors de l'utilisation des connection des servo-moteurs, il faut positionner le commutateur à la position 2. |
|
|
|
Branchement du servo moteur au microcontroleur
Il est important de bien branché le servo-moteur car, si on inverse les fils blanc et noir du câble d'alimentation, on peut endommager les circuits du servo-moteur.
|
|
Exemple 1
Dans cet exemple, nous allons modifier la position de l'axe du moteur. Dans un premier temps, la position du servo-moteur se dirigera rapidement vers 10h00, ensuite vers 2h00 pour terminer à midi.
La commande PULSOUT permet d'envoyer une impulsion électrique de très courte durée. La duré de l'impulsion est lue par le servo-moteur et l'axe de rotation est déplacé en concéquence.
PULSOUT 14,1000 envoi une impulsion sur l'interface 14 d'une durée de 1000 x 2 microsecondes (2000 microsecondes ou 2 millisecondes). |
Une impulsion de 2,0 ms à chaque 20ms déplace le servo-moteur à 10 heure. D'où l'importance de la ligne de code PAUSE 20
FOR counter = 1 TO 150
PULSOUT 14, 1000
PAUSE 20
NEXT |
La boucle FOR permet de spécifier la durée que le servo-moteur doit conserver cette position. Sans la boucle FOR, le servo-moteur se déplacerait à 10 heure mais ne mentiendrait pas de force pour conserver la position. |
PULSOUT 14,500 envoi une impulsion sur l'interface 14 d'une durée de 500 x 2 micro seconde (1000 microseconde ou 1 milliseconde)
Une impulsion de 1.0ms à chaque 20ms déplace le servo-moteur à 2 heure. |
|
PULSOUT 14,750 envoi une impulsion sur l'interface 14 d'une durée de 750 x 2 micro seconde (1500 microseconde ou 1,5 milliseconde)
Une impulsion de 1.5 ms à chaque 20ms déplace le servo-moteur à midi. |
|
Exemple 2
Nous allons maintenant créer un programme qui permet d'entrer manuellement l'impulsion à envoyer au servo-moteur et le temps que la position doit être maintenu.
Expérimentez différentes valeurs pour le temps et l'impulsion. L'impulsion doit être un nombre entre 500 et 1000 et le temps un nombre entre 1 et 65534 puisqu'il s'agit d'une variable de type Word.
IMPORTANT : L'implusion doit être entre 500 et 1000 pour les servo-moteur de Parallax. Une valeur inférieur à 500 ou supérieur à 1000 forcerait le moteur à atteindre une position pour laquelle il n'a pas été conçu.
Question :
- Quelle doit être la valeur de temps pour maintenir la position du moteur servo pendant 1 seconde?
Pour empêcher l'utilisateur d'entrer une valeur incorrect pour la durée de la pulsation, on peut ajouter le code suivant :
|
|