Fascicule de TP ucPIC
Fascicule de TP ucPIC
Fascicule de TP ucPIC
ISET DE SFAX
ISET DE SFAX
Contenu
Partie1
Partie2
Partie3
ISET DE SFAX
ISET DE SFAX
ARRET
KM KM KM
MARCHE
KM
KM
Remarques :
Lorsque vous choisissez un lment du
groupe switches tels quun interrupteur ou un
bouton poussoir, une fentre souvre
automatiquement, vous entrez alors le nom
que vous voulez pour cet lment.
Lorsque vous choisissez un lment du
groupe Contacts tels quun contact de type
NO, NC ou temporis. Vous devez prciser
quel lment de sortie (bobine en gnral)
appartient ce contact. Pour cela double cliquez
sur le contact
ISET DE SFAX
Par exemple on clique deux fois sur le bouton du maintien de type NO, la fentre ci-dessus
apparait on slectionne alors dans la liste en bas llment de sortie qui convient, dans ce cas on doit
slectionner la bobine KM puis on appuis sur le bouton Lien. Dans la phase de simulation, ces deux
lments la bobine KM et le contact de maintien sont lis.
2) Simulation
Passer la simulation en cliquant sur longlet Simulation ou sur licne
En mode simulation, cliquez sur les interrupteurs et les boutons poussoirs pour changer leurs tats et
observer le fonctionnement du circuit, vrifier de nouveau le circuit si le fonctionnement est faut.
IV. Marche par -coups
-
Modifier le circuit prcdant en ajoutant dautres lments fin davoir la fonction marche
par -coups
Prvoir une lampe tmoin H pour signaler ltat de la bobine KM.
Simuler le circuit et corriger sil ya des dfauts.
ISET DE SFAX
La figure 2.1 reprsente un rservoir pour stocker leau use dgage par un systme de production
industriel. On demande de contrler le niveau deau en mettant en marche ou en dsactivant une
pompe de vidange.
II. Cahier de charge
-
Mode manuel : on peut dmarrer la pompe si le niveau deau est suprieur au niveau bas.
Mode automatique : si leau atteint le niveau haut, la pompe dmarre pour vacuer de leau.
Lorsque le niveau bas est atteint la pompe sarrte.
Les lampes de signalisation : une lampe verte qui signale la marche de la pompe. Une lampe
rouge qui signale le niveau bas de leau et une lampe jaune qui signale le niveau haut.
ISET DE SFAX
Cahier de charge :
-
Mode manuel : on peut dmarrer la pompe si le niveau deau est infrieur au niveau haut.
Mode automatique : si leau atteint le niveau bas, la pompe dmarre pour remplir le
rservoir. Lorsque le niveau haut est atteint la pompe sarrte.
Les lampes de signalisation : une lampe verte qui signale la marche de la pompe. Une lampe
rouge qui signale le niveau bas de leau et une lampe jaune qui signale le niveau haut.
Travail demand
a) Modifier le circuit de commande prcdant fin de satisfaire aux exigences du nouveau systme.
b) Simuler le nouveau circuit de commande et corriger sil ya des erreurs.
ISET DE SFAX
Llectrovanne A se dsactive.
ISET DE SFAX
ISET DE SFAX
La figure4.1 reprsente un systme de transport de grain. Il comporte trois convoyeurs entrains par
trois moteurs triphass. Le fonctionnement dsir est indiqu par le cahier de charge.
Cahier de charge
Mode manuel :
-
Si un convoyeur est stopp, tous les convoyeurs qui le prcdent doivent sarrter pour ne
pas perdre du grain.
10
ISET DE SFAX
Les boutons de la marche manuelle peuvent assurer aussi la marche par -coups. Ce transfert
de fonction est assur par un commutateur CONTINU/A-COUPS.
La marche par -coups peut tre excute sur nimporte quel convoyeur sans ordre
prdfinie.
Tous les convoyeurs doivent sarrter et passer en mode marche par -coups lorsque ce
dernier est slectionn. Cela permet de raliser des oprations urgentes de rglage ou de
rparation.
Mode automatique :
-
Pour des raisons de scurit il faut dclencher une alarme sonore 15 seconde avant le dpart
du systme en mode automatique.
Pour larrt du systme en mode automatique, le fonctionnement est le suivant (on suppose que le
silo dalimentation en grain est ferm) :
o Appuyer sur le bouton poussoir Arrt automatique :
Chaque convoyeur est lui associ un voyant vert qui sallume lorsquil est activ. Si un relais
thermiques dclenche alors un voyant rouge sallume et tous les convoyeurs sont stopps. Un bouton
durgence permet larrt instantan de tous les convoyeurs. Le passage entre les modes Manuel
et Automatique doit se faire larrt. Le slecteur de mode doit avoir une position centrale de
repos.
11
ISET DE SFAX
12
ISET DE SFAX
Partie 2
Circuits de commande base des automates programmables
13
ISET DE SFAX
KM
Figure1
14
ISET DE SFAX
Slectionner llment Rung puis slectionner et dplacer llment Barreau dans la page
de travail.
Aller dans llment de bibliothque Electrical control (IEC) et cliquez sur llment power
sources et dplacer les lments 24V et 0V vers la feuille de travail. Ces lments sont utiliss
pour alimenter le module dentre. Choisissez de nouveau ces deux lments pour alimenter le
module de sortie.
Aller dans llment de bibliothque Electrical control (IEC) et cliquez sur Switches et
15
ISET DE SFAX
choisissez deux boutons poussoirs normalement ouvert et normalement ferm. Ecrire MARCHE et
ARRET dans les champs mnmoniques.
Aller dans llment de bibliothque Electrical control (IEC) et cliquez sur output
components choisissez bobine de sortie et crire KM dans le champ mnmonique. vous aurez
le circuit suivant.
Cliquez sur llment Ladder siemens dans la fentre Explorateur de bibliothques puis
sur llment Bit Logic et choisissez les lments ncessaires pour tablir le circuit suivant :
RUNG1
"1-1IC1.IN
1"
"1-1IC1.IN
0"
COM
marche
COM
"1-1OC1.OU
T0"
OUT0
km
"1-1OC1.OU
T0"
IN0
OUT4
1-1IC1
OUT3
1-1OC1
OUT2
arret
IN1
OUT1
IN2
IN3
IN4
IN5
OUT5
IN6
OUT6
IN7
OUT7
END
16
ISET DE SFAX
Cliquer sur nouvelle variable dans la fentre variable manager et crer une nouvelle
variable
"1-1IC1.IN
0"
"m0"
(
COM
COM
"1-1OC1.OU
T0"
OUT0
OUT1
OUT4
"m0"
"1-1OC1.OU
T0"
(
1-1IC1
OUT3
1-1OC1
km
OUT2
IN0
M ARCHE
IN1
Arret
IN2
IN3
IN4
IN5
OUT5
IN6
OUT6
IN7
OUT7
END
17
ISET DE SFAX
La figure 6.1 reprsente un rservoir pour stocker leau use dgage par un systme de production
industriel. On demande de contrler le niveau deau en mettant en marche ou en dsactivant une
pompe de vidange.
II. Cahier de charge
-
Mode manuel : on peut dmarrer la pompe si le niveau deau est suprieur au niveau bas.
Mode automatique : si leau atteint le niveau haut, la pompe dmarre pour vacuer de leau.
Lorsque le niveau bas est atteint la pompe sarrte.
Les lampes de signalisation : une lampe verte qui signale la marche de la pompe. Une lampe
rouge qui signale le niveau bas de leau et une lampe jaune qui signale le niveau haut.
18
ISET DE SFAX
Cahier de charge :
-
Mode manuel : on peut dmarrer la pompe si le niveau deau est infrieur au niveau haut.
Mode automatique : si leau atteint le niveau bas, la pompe dmarre pour remplir le
rservoir. Lorsque le niveau haut est atteint la pompe sarrte.
Les lampes de signalisation : une lampe verte qui signale la marche de la pompe. Une lampe
rouge qui signale le niveau bas de leau et une lampe jaune qui signale le niveau haut.
Travail demand
a) Concevoir un circuit de commande et un circuit de puissance en utilisant le logiciel
Automation Studio et en choisissant le langage Ladder siemens
b) Passer en mode simulation et corriger sil ya des erreurs.
19
ISET DE SFAX
Llectrovanne A se dsactive.
20
ISET DE SFAX
21
ISET DE SFAX
I. Introduction du systme
La Figure4.1 reprsente un systme de transport de grain. Il comporte trois convoyeurs entrains par
trois moteurs triphass. Le fonctionnement dsir est indiqu par le cahier de charge.
Cahier de charge
Mode manuel :
-
Si un convoyeur est stopp, tous les convoyeurs qui le prcdent doivent sarrter pour ne
pas perdre du grain.
22
ISET DE SFAX
Les boutons de la marche manuelle peuvent assurer aussi la marche par -coups. Ce transfert
de fonction est assur par un commutateur CONTINU/A-COUPS.
La marche par -coups peut tre excute sur nimporte quel convoyeur sans ordre
prdfinie.
Tous les convoyeurs doivent sarrter et passer en mode marche par -coups lorsque ce
dernier est slectionn. Cela permet de raliser des oprations urgentes de rglage ou de
rparation.
Mode automatique :
-
Pour des raisons de scurit il faut dclencher une alarme sonore 15 seconde avant le dpart
du systme en mode automatique.
Pour larrt du systme en mode automatique, le fonctionnement est le suivant (on suppose que le
silo dalimentation en grain est ferm) :
o Appuyer sur le bouton poussoir Arrt automatique :
Chaque convoyeur est lui associ un voyant vert qui sallume lorsquil est activ. Si un relais
thermiques dclenche alors un voyant rouge sallume et tous les convoyeurs sont stopps. Un bouton
durgence permet larrt instantan de tous les convoyeurs. Le passage entre les modes Manuel
et Automatique doit se faire larrt. Le slecteur de mode doit avoir une position centrale de
repos.
23
ISET DE SFAX
24
ISET DE SFAX
Partie3
Programmation des microcontrleurs PIC
TP09 : Le logiciel MikroC pro V6
TP10 : Le logiciel Proteus ISIS
TP11 : Les ports des entres/sorties
TP12 : Le Timer
TP13 : Le convertisseur analogique/numrique
TP14 : Les interruptions
25
ISET DE SFAX
I. Introduction
Ce logiciel permet de programmer les microcontrleurs PIC de la socit microchip en langage C. il
permet aussi de charger le programme dans la mmoire interne du microcontrleur. Ce programme
est produit de la socit Microelectronic.
II. Cration dun programme
Double cliquer sur licne suivante du bureau
Cliquer sur New Project puis sur Next dans la fentre qui apparait
Choisissez alors un non pour le projet, une destination, le type de microcontrleur PIC
programmer et la valeur de la frquence de lhorloge interne puis cliquez sur Next . Dans la
fentre qui apparait cliquez sur Next
26
ISET DE SFAX
Dcochez Include all pour choisir toutes les bibliothques puis cliquez sur Next . Dans la
fentre qui apparait dcochez Open Edit Project Windows puis cliquez sur Finish .
Remarque :
-
Les instructions en langage MikroC doivent tre insres entre les accolades aprs main
Les variables de diffrents types doivent tre dclares au dbut du programme avant
main
Compilation
Aprs criture du programme, vient ltape de correction et gnration du fichier excutable, pour
cela cliquez sur longlet BUIIL . Corriger le programme sil ya des erreurs puis recompiler.
27
ISET DE SFAX
Vous pouvez maintenant choisir les composants de votre circuit, supposons que ce dernier
est form des lments suivants : microcontrleur PIC 16F877A, diode LED rouge, un
bouton poussoir et une rsistance.
Choix des composants :
- Cliquez sur licne P
28
ISET DE SFAX
Dans la nouvelle fenetre, choisir le microcontroleur PIC16F887A en cherchant dans les librairies
disponible dans longlet category ou en ecrivant le non du composant dans lespace de saisie
Keywords
Rpter la mme procdure pour choisir les autres composants. La diode Led est dsigne par le
nom LED. Le bouton poussoir est dsign par Button . La rsistance par res
29
ISET DE SFAX
30
ISET DE SFAX
Aller lemplacement du fichier et cliquez. Dans la fentre Processor Clock frquency insrez la
valeur de la frquence de lhorloge puis appuyer sur OK .
31
ISET DE SFAX
Simulation
Pour simuler le fonctionnement du circuit, cliquez sur licne suivante
Si le fonctionnement est incorrect, corriger le programme dans MikroC et recompiler puis simuler
de nouveau dans ISIS. Rpter ces tapes autant des fois que ce ncessaire pour aboutir au rsultat
voulu.
32
ISET DE SFAX
B7
B0
TRISB
La broche RB3 est une entre
33
Exemple :
ISET DE SFAX
RB7
RB0
TRISB
PORTB
- Selon la configuration du registre TRISB on constate que les broches RB0 RB2 sont des sorties
alors que les broches RB3 RB7 sont des entres.
- Le contenu de registre PORTB montre quon a envoy 1 logique (5V) sur les broches RB0 et RB2 et
0 sur la broche RB1 et montre aussi que le microcontrleur reoit 1 logique sur ses broches RB3 et
RB4 et 0 logique sur ses broches RB5 RB7.
III) Travail demand
a) Application1
Raliser sue le logiciel ISIS le circuit suivant
Ecrire un programme en MikroC qui permet de faire clignoter la diode D1 branche sur la broche
RB0 du microcontrleur PIC16F877A.
b) Application2
Raliser sur le logiciel ISIS le circuit suivant
34
ISET DE SFAX
- Ecrire un programme en MikroC qui permet dallumer successivement les diodes D0 D7. Le cycle
recommence lorsque toutes les diodes sont allumes.
- Ecrire un programme en MikroC qui permet dallumer une seule diode LED de D0 D7. Lorsque
la diode D7 est allume, le cycle recommence en D0.
- Ecrire un programme en MikroC qui permet dallumer successivement les diodes D0 D7. Lorsque
toutes les diodes sont allumes, ces dernires steignent lune aprs lautre en commenant par D7,
lorsque toutes les diodes sont teintes, le cycle recommence.
35
ISET DE SFAX
TP12 : Le Timer
I) Introduction
Le microcontrleur PIC16F877A comporte trois TIMER, on sintresse au TIMER0. Ce dernier est
un module interne qui peut tre utilis comme compteur dans ce cas, il compte les fronts montants
ou descendants dun signal externe arrivant sur la broche RA4 ou bien comme temporisateur et dans
ce cas le TIMER sincrmente pour chaque cycle machine de lhorloge interne.
II) Configuration du Timer
Le registre de 8 bits appel TMR0 de la mmoire interne RAM du microcontrleur PIC16F877A
permet de lire et dcrire la valeur compte par le module TIMER0. Si la valeur du registre TMR0
dpasse 255 alors le module TIMER0 recommence le comptage la valeur 0 et peut gnrer une
interruption.
Le registre OPTION_REG suivant permet de configurer le module TIMER0 :
- Le bit 5 permet de choisir le signal source pour le TIMER0 (broche RA4 ou horloge interne)
- Le bit 4 permet de choisir le front montant ou le front descendant pour activer le TIMER0
- Le bit 3 permet dassocier ou non le prediviseur au TIMER0
- Les bits 2-0 : pour choisir le rapport de prediviseur
36
ISET DE SFAX
En ce qui concerne linterruption gnre par le TIMER0 elle est configure par le registre INTCON
suivant :
Le bit7 et le bit5 doivent tre mis 1 pour permettre au TIMER0 de gnrer des interruptions.
III) Travail demand
a) Application1
Raliser le circuit suivant
37
ISET DE SFAX
- Ecrire un programme en MikroC qui permet dafficher le contenu du registre TMR0 par les diodes
connectes au portb. Le module TIMER0 doit tre activ en mode temporisateur. Utilisez le
prediviseur avec un rapport de 1/256.
b) Application2
Raliser le circuit suivant
- Ecrire un programme en MikroC qui fait clignoter la diode D1. Le programme doit activer le
TIMER0 en mode temporisateur avec un prediviseur de rapport 1/256. Si la valeur de comptage
(enregistre dans le registre TMR0) est infrieure ou gale 128 alors la diode est teinte, elle est
allume dans le cas inverse. Les interruptions doivent tre dsactives.
c) Application3
Raliser le circuit suivant
U1
13
14
2
3
4
5
6
7
R1
10k
8
9
10
1
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
D1
LED-YELLOW
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
PIC16F877A
- Ecrire un programme en MikroC qui permet de compter par le module TIMER0 les fronts montants
arrivant sur la broche RA4 et de changer ltat de la diode chaque fois que 10 fronts sont compts.
Moncef Ben Jarray
38
ISET DE SFAX
39
ISET DE SFAX
Le registre ADCON1
40
ISET DE SFAX
D1
U1
RV1
13
14
50%
2
3
4
5
6
7
1k
8
9
10
1
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
D2
LED-GREEN
D1
LED-GREEN
D2
LED-GREEN
15
16
17
18
23
24
25
26
D1
LED-GREEN
D2
LED-GREEN
D1
LED-GREEN
19
20
21
22
27
28
29
30
D2
LED-GREEN
LED-GREEN
PIC16F877A
- Ecrire un programme en MikroC qui converti la tension dlivre par le potentiomtre et crit loctet
bas de rsultat de conversion dans le portb.
b) Application2
En se basant sur le mme circuit que prcdemment, crire un programme en MikroC qui allume les
diodes LED si le rsultat de conversion est suprieur 158 et lteint dans le cas contraire.
c) Application3
Raliser le montage suivant
50%
RV1
1k
RV2
U1
13
14
2
3
4
5
6
7
8
9
10
50%
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
1k
33
34
35
36
37
38
39
40
D2
LED-GREEN
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
PIC16F877A
Ecrire un programme en MikroC qui compare les deux tensions dlivres par les potentiomtres
RV1 et RV2 et allume la diode LED en cas dgalit.
41
ISET DE SFAX
42
ISET DE SFAX
Une interruption est seulement gnre si le bit 7 GIE est mis 1, le bit correspondant dautorisation
est mis 1 et lvnement gnrateur dinterruption est ralise.
Les registres PIE1 et PIE2
Ce deux registres permettent dautoriser ou non les interruptions provenant des priphriques
intgrs au PIC16F877A tels que le port parallle, le convertisseur ADC, le port srie, le module
capture 1 et 2, les temporisateurs TIMER1 et TIMER2, le module comparateur et la mmoire
EEPROM.
Les registres PIR1 et PIR2
Ces deux registres contiennent les bits indicateurs dtat pour toutes les interruptions. Chaque bit
est mis automatiquement 1 lorsque linterruption correspondante est gnre.
III) Travail demand
1) Application1 :
Raliser le montage suivant
D1
U1
13
14
2
3
4
5
6
7
8
9
10
1
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
LED-BIBY
D2
LED-BIBY
19
20
21
22
27
28
29
30
PIC16F877A
43
ISET DE SFAX
Ecrire un programme en MikroC qui active le TIMER0 et autorise son interruption (gnre
chaque fois que le registre TMR0 dborde (passe de 255 0)). Le programme doit contenir les
lments suivants :
-
2) Application2
Raliser le montage suivant
U1
R1
10k
33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
OSC1/CLKIN
OSC2/CLKOUT
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RE0/AN5/RD
RC2/CCP1
RE1/AN6/WR
RC3/SCK/SCL
RE2/AN7/CS
RC4/SDI/SDA
RC5/SDO
MCLR/Vpp/THV
RC6/TX/CK
RC7/RX/DT
13
14
2
3
4
5
6
7
D1
LED-BIBY
8
9
10
1
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
PIC16F877A
44