Académique Documents
Professionnel Documents
Culture Documents
Rennes
SEQUENCE 4
La commande
de la tourelle
et les servos
DUREE : 8H
Matériel Evaluation
Générateur de fonctions + monostable
ou Evaluation en TP ?
Carte commande de servos +
connecteur
Carte de développement à PIC
Programmateur
Disposer de servomoteurs à commande
classique analogique.
Disposer du labo d’électronique.
PC avec Flowcode 4
Shunt de mesure 0,1 Ohm ; au moins
1
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
1 Le servomoteur
Un servo-moteur tel que celui que nous utilisons est un dispositif typiquement utilisé
en modélisme pour, par exemple, contrôler la direction d'une voiture télécommandée.
Il comprend :
On pourrait dire hâtivement qu'il faut fournir un PWM comme signal de commande,
mais ce n'est pas le cas :
En clair, il faut fournir au servo une impulsion à 1 (suivie d'un retour à 0). Et le servo
va prendre en compte la largeur temporelle de cette impulsion, qu'il va convertir
proportionnellement (ou presque) en un angle.
Le retour à 0 de l'impulsion peut avoir n'importe quelle durée.
En pratique, il semblerait qu'il ne faille pas dépasser un temps de 20ms entre deux
fronts montants.
A noter aussi que une absence de signal (toujours à 1, ou toujours à 0) laisse le
servo en "roue libre" comme si il n'était pas alimenté.
2
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
fribotte.free.fr/bdtech/pic/pic_et_servo.html
http://www.bricotronique.com/montages/asmsources/servo.php
Nous utiliserons plus loin les macros disponibles sous Flowcode 4 pour générer les signaux
de commande des servos.
Une commande analogique est facile à mettre en œuvre :
Voici ci-dessous un petit circuit qui permet de générer les impulsions pour commander deux
servos :
R7
8
560
U1 C12 U2 J1 U3 J2
100n
4 3 4 3 1 4 3 1
VCC
VCC
VCC
R Q R Q R Q
2 2
7 7 3 7 3
DC DC DC
5 R2 D1 5 R3 5 R4
CV 150k CV 100k CONN-SIL3 CV 100k CONN-SIL3
1N4148 C14
470µ 16V
GND
GND
GND
2 6 2 6 2 6
TR TH TR TH TR TH
A
C7 C4 C8 C5 C9 C6
LED
K
Astable : Monostable :
fournit un signal périodique de période environ 18ms reste à l'état haut 1 à 2 ms juste après chaque impulsion de déclenchement.
DATE:
TITLE: COMMANDE SERVOS ANALOGIQUE
27/05/11
PAGE:
Autre solution :
Pour simplifier, vous pouvez aussi câbler en provisoire un seul monostable ( non
redéclenchable), que vous déclencherez avec la sortie TTL d’un générateur de fonctions
réglé sur un peu moins de 20 ms.
Voyez avec la solution que vous indiquera votre professeur.
3
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
Estimez l’effort maximal avant décrochage. Quel est le courant maximal consommé par le
servo ?
L’étude menée en EdC a montré que le couple maximal se situe aux alentours de 0,45 N.m.
Ecrire quantitativement la relation qui relie le courant et le couple. Le courant de repos ne
sera pas négligé à priori.
La puissance que dissipe l’appareil s’exprime génériquement par la relation P = U.I . Dans
notre cas, quel est le courant moyen qui vous semble raisonnable avant de risquer la
surchauffe ? Exposez vos arguments pour justifier la valeur que vous avez estimée.
4
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
Depuis la version 4, on trouve dans Flowcode tout ce qu’il faut pour piloter un servo.
EnableServo( channel )
Enables the motor's output pin, activating the motor and allowing it to move to the current
position.
DisableServo( channel )
Disables the motor's output pin, deactivating the motor.
Remarque2 : Les macros utilisent au moins le timer1 et les fonctions PWM du processeur.
Ce sont donc des ressources mobilisées dès que l’on a initialisé l’utilisation par la macro
« EnableServo ». Si vous avez besoin de ces ressources pour autre chose, il faudra penser
à libérer le contrôleur par « DisableServo »
Chaque déplacement angulaire d’un servo sera commandé par la macro : Set Position.
5
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
3 Piloter un servo
3.1 Premier programme d’essai
A chaque appui sur un bouton poussoir appelé BP1, l’axe tourne de 20° dans le sens inverse
des aiguilles d’une montre
A chaque appui sur un second poussoir appelé BP2, l’axe tourne de 20° dans le sens des
aiguilles.
6
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
Sur notre carte d’essais, la paire torsadée noir/blanc aboutit à la douille RC0 ( et le 0V), la
paire Rouge/noir va à l’alimentation. Prévoir un courant maximum allant jusqu’à 2A. Sur la
photo, il reste à câbler les poussoirs BP1 et BP2 en AN0 et AN1.
La méthode que nous vous proposons consiste à faire varier la variable n d’une unité à la
fois, et ce 30 fois de suite pour chaque déplacement. En ajoutant un délai, par exemple de
200 ms entre chaque déplacement d’une unité, on aura un mouvement globalement ralenti.
7
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
Pour vous aider, voici la liste des macros et leur rôle dans le processus :
NOM DESCRIPTION
Principal Ce n’est pas vraiment une macro, C’est le programme.
Démarrage Ici s’effectuent toutes les initialisations
Lecture EEPROM Récupère les valeurs mises en mémoire non volatile pour
l’initialisation
PImax Valeurs limites que l’on choisit de ne pas dépasser, aussi bien
PImin pour la rotation de la base ( PB) que pour l’inclinaison du plateau
PBmax (PI)
PBmin
IdentificationActionClavier On identifie les touches pour savoir le nombre de pas à
effectuer, entre 1 et 9. Puis on choisit dans le programme
principal quel déplacement on demande par les flèches : haut,
bas, sens des aiguilles de la montre, l’inverse, ou le mode
multishoots.
ActuServoHaut Pour cela on appelle l’une de ces 5 macros pour gérer le
ActuServoBas déplacement proprement dit.
ActuServoCW
ActuServoCCW
XSHOOTS
Set PI Ici on calcule la valeur de la consigne que l’on va appliquer à
SetPB l’un des deux servomoteurs ( Celle que l’on a appelée n dans les
programmes que vous avez conçus)
AFFposition Regroupe les instructions pour afficher les valeurs de butée et la
valeur actuelle pour la base et pour l’inclinaison
BEEP Gère le signal envoyé au transducteur piezo pour un rappel
sonore .
8
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
4.2.2 Dans le programme, quelle est la variable que l’on saisit pour le multishoot
proprement dit ?
4.2.3 Le pas est une option supplémentaire que doit choisir le photographe, que permet
cette option ?
4.2.4 A quoi sert le traitement du mouvement vers position initiale ? Pour répondre, lisez
les commentaires dans la macro.
4.2.5 Et pour terminer, on retrouve à peu de choses près le copier-collé d’une autre partie
du programme, laquelle ? justifiez votre réponse.
9
Studio Photo Numérique ESTI Séquence 4 Thème 2012 Baccalauréat STI Académie de
Rennes
10