Vous êtes sur la page 1sur 3

TP N°4 : Contrôle d’un servomoteur sous

ARDUINO

A/ Principe du contrôle
Les servomoteurs de modélisme sont commandés par l’intermédiaire d’un câble
électrique à trois fils :

-Masse : Noir ou Marron


-Alimentation : Rouge
-Signal : Blanc ou Jaune

1. Cas des servomoteurs classiques


Le signal est codé en largeur d’impulsion (PWM). Cela signifie que c’est la durée
des impulsions (en général entre 1 et 2 millisecondes) qui détermine l’angle
absolu de l’axe de sortie et donc la position du bras de commande du
servomoteur. Le signal est répété périodiquement (en général toutes les 20
millisecondes), ce qui permet à l’électronique de contrôler et de corriger
continuellement la position angulaire de l’axe de sortie, cette dernière étant
mesurée par le potentiomètre.

Lorsque le moteur tourne, l’axe du servomoteur change de position, ce qui


modifie la résistance du potentiomètre. Le rôle de l’électronique est de

1/3
commander le moteur pour que la position de l’axe de sortie soit conforme à la
consigne reçue : c’est un asservissement.

2. Cas des servomoteur à rotation continue

Certains servomoteurs ne sont pas asservis en position, mais en vitesse. Dans ce


cas, la vitesse est proportionnelle à la largeur des impulsions :

2.1 Câblage

Si la puissance nécessaire est faible, le servomoteur peut être alimenté


directement par l’Arduino :

Si une puissance plus importante est nécessaire, il faudra utiliser une


alimentation externe, en passant par un shield de pilotage de moteurs par
exemple.
2.2 Programmation
Grâce à la bibliothèque Servo.h , la commande des servomoteurs est très simple.
 Après avoir inclus la bibliothèque :
#include <Servo.h>

 on crée un objet de type Servo (la partie « numérique » de l’objet


« matériel » :

Servo monServo;

 on attache le Servo « numérique » à un port numérique (comme on a déjà


attaché le servo « matériel » au connecteur du port de l’Arduino) :
monServo.attach(9);

2/3
 et il ne reste plus qu’à lui donner des ordres :monServo.write(180); //
positionner le servomoteur à l'angle absolu 180°

B/ Manipulation

1) Le servomoteur du montage 1 fait


des allers retours de part et
d’autre de la position médiane.
L’angle minimum choisi est donc de
70° et l’angle maximum de 110°. On
fixe la pause entre 2 changements
de position à 1s.
a) Réaliser ce montage à l’aide du
logiciel PROTEUS.
b) Etablir le programme à l’aide du
logiciel ARDUINO qui permet le
fonctionnement d’un tel montage. Montage 1
c) Simuler le montage sous PROTEUS.

2) Soit montage 2 :

Montage 2

a) Réaliser ce montage à l’aide du logiciel PROTEUS.


b) Etablir le programme à l’aide du logiciel ARDUINO qui permet le
fonctionnement d’un tel montage.
c) Simuler le montage sous PROTEUS.

3/3

Vous aimerez peut-être aussi