TP Module chariot PIC

Telechargé par koutika destinée
1
Université du Havre
Faculté des Sciences et Techniques
Master 1 EEEA parcours SFSI - SEE
TP Informatique industrielle
TP Moteur pas à pas commande en pas entier
Figure 1 : maquette générale
Description :
Un moteur pas-à-pas peut entraîner un chariot à l’aide d’une courroie crantée. Deux capteurs
de fin de course permettent de limiter la course du moteur. Dès qu’un capteur est enfoncé, le
moteur change de sens de rotation.
Plusieurs boutons poussoirs vont être utilisés :
1) On souhaite commander la mise en route du moteur pas-à-pas à l’aide d’un bouton
poussoir, (il devra partir en premier vers la gauche), bouton bleu.
2) Un deuxième bouton poussoir doit permettre de positionner le chariot en position centrale,
bouton rouge.
3) Un interrupteur placé sur RB4 devra permettre d’une part de commander une LED et
d’autre part d’être une entrée commandée par l’interrupteur de centrage.
- Donner le lien entre BP1 (bleu) et BP2 (rouge) de la figure 2 et les boutons poussoirs de
démarrage et de centrage de la figure 3.
2
Figure 2 : Choix en fonction de l'interrupteur, soit la LED soit BP2
L’interrupteur permet de sélectionner soit la LED, soit le bouton poussoir BP2, mais la broche
relier devra être soit une sortie soit une entrée.
- Déterminer selon la position de l’interrupteur, la nature de la broche RB3 du PIC.
Bien vérifier la position de l’interrupteur en fonction du programme chargé.
Fichier ISIS
Figure 3 : schéma ISIS
I - Initialisation
A partir du fichier ISIS (figure 3) :
- Faire le bilan des entrées sorties nécessaires
- Déterminer les différentes constantes qui doivent être déclarées et donner leur valeur.
- En déduire la fonction Init ( ) du PIC.
II Oscillateur RC
Le choix se porte sur un oscillateur RC.
3
- Donner le schéma de câblage.
Les valeurs sont :
R1 = 10K et C1 = 22pF
- Donner la valeur de la période du PIC (période utile dont vous rappellerez la définition)
- Sachant que l'on souhaite obtenir une base de temps de 1KHz, déterminer la valeur des bits
PSA et PS<2:0>
III - Gestion de l’interruption INT
- Rappeler en quoi consiste cette interruption, illustrer avec des chronogrammes.
- Ecrire un algorithme qui allumera la LED ou l’éteindra, à chaque appui sur l’un des fins de
course, en utilisant les interruptions.
- Ecrire le programme correspondant.
Simulation
Utiliser le fichier ISIS pour tester la commutation de la LED.
Application
Télécharger le programme sur un PIC et testez-le sur la maquette proposée.
IV - Ecriture de la commande du moteur
Figure 4 : Double pont en H.
Signification des broches
AC - BD signaux vers le moteur pas à pas, séquence de rotation
3 - 6 - 12 - 9 - 3 - ... sens de rotation horaire
3 - 9 - 12 - 6 - 3 - ... sens de rotation trigonométrique
A
B
C
D
0
0
1
1
4
0
1
1
0
1
1
0
0
1
0
0
1
0
0
1
1
- Montrer que l’on retrouve la commande en pas entier en choisissant correctement les
signaux des phases :
- Ecrire l’algorithme de commande d’un moteur pas-à-pas.
- Proposer un chronogramme des signaux A, B, C et D.
- Proposer une commande du moteur pas-à-pas basée sur les interruptions (expliquer le
principe).
Commande par interruption
- déterminer l’algorithme ainsi que le code C de la fonction d’interruption interrupt
fct_commande( ).
Simulation
Utiliser le fichier ISIS pour tracer les signaux de commande du moteur pas-à-pas.
Application
Brancher la télécommande et configurer correctement le PIC pour gérer le démarrage et le
centrage du moteur pas-à-pas.
MPLab - Bits de configuration (page 95 de la doc):
Choisir l'oscillateur RC
Désactiver le chien de garde
Relier en interne MCLR à Vcc, la broche RA5 est considérée comme une E/S, le
MCLR est relié en interne à Vcc.
Télécharger le programme sur un PIC et testez-le sur la maquette proposée.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !