Vous êtes sur la page 1sur 13

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

Paix –Travail-Patrie Peace-Word-Fatherland


************** **************
MINISTERE DE L’ENSEIGNEMENT MINISTRY OF HIGHT SCHOOL
SUPERIEUR **************
************** UNIVERSITY OF DOUALA
UNIVERSITE DE DOUALA **************
************** ENSET OF DOUALA
ENSET DE DOUALA **************
************** ELECTRIC-ENGINERING
DEPARTEMENT DU GENIE -ELECTRIQUE

E.N.S.E.T
DEPARTEMENT DU

GENIE– ELECTRIQUE

EC : TRAVAUX PRATIQUES IV :

UTILISATION DES INTERRUPTIONS DU


MICROCONTROLEUR POUR CAPTER DES EVENEMENTS

Dispensé par : Dr Gamom

Rédigé par :

MEYO ESSIMBE ARMAND COLLINS

MATRICULE: 18NET020I

NIVEAU IV

OPTION ELECTROTECHNIQUE

Année académique
2021/2022

Page 1
2
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

Table des matières

1 INTRODUCTION .................................................................................................................................. 3

2 OBJECTIFS SPECIFIQUES ..................................................................................................................... 4

3 LE BUT ................................................................................................................................................ 4

4 CAHIER DES CHARGES ........................................................................................................................ 4

5 SCHEMA DE PRINCIPE ........................................................................................................................ 5

6 FONCTIONNEMENT ............................................................................................................................ 5

6.1 CALCUL THEORIQUE DU COMPTAGE .................................................................................. 6

7 SCHEMAS DE MONTAGE .................................................................................................................... 6

8 PRESENTATION DU PROGRAMME ..................................................................................................... 7

9 MESURE DES PARAMETRES STATIQUES ET DYNAMIQUES DU MONTAGE AINSI REALISE PAR

SIMULATION .............................................................................................................................................. 8

10 CHRONOGRAMMES ....................................................................................................................... 8

10.1 CALCULE DU TEMPS DE REPONSE............................................................................................ 12

10.2 DEPHASAGE ENTRE LES SIGNAUX (ETAT 7 <111>) .................................................................. 12

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 2


3
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

1 INTRODUCTION

Dans un environnement où le milieu se doit d’être développé et de plus en plus discret, c’est

ainsi que les programmeurs se lancent à tout bout de compte dans l’électronique embarqué. La

carte Arduino dans son sein nous offre nombreuses applications parmi lesquelles, la détection

de proximité ou de présence, l’allumage et l’extinction de certains circuits en occurrence les

lampes, les feux de signalisation, la gestion du temps, les panneaux d’affichage et bien d’autre.

Ce TP va d’autant plus non seulement nous permettre d’interagir avec l’espace virtuel de

Arduino mais aussi d’acquérir quelques connaissances réelles et pratique

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 3


4
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

2 OBJECTIFS SPECIFIQUES

A la fin de ce TP l’étudiant sera capable de :

 Utiliser l’interruption externe pour détecter un front


 Utiliser l’interruption TIMER pour générer un signal

3 LE BUT

Détecter dans un délai minimum les évènements rapides et produire un résultat


répétitif sur la base d’une minuterie.

4 CAHIER DES CHARGES

Sur chaque front montant du BP vous devriez allumer successivement les LEDS R ,V , B en
respectant les conditions du tableau de vérité
N B V R
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

- faire varier l’intensité des LED toutes les 10 ms .

Les sorties de la carte Arduino sont capables de générer les impulsions PWM

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 4


5
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

5 SCHEMA DE PRINCIPE

Figure 1 : Schéma de principe

6 FONCTIONNEMENT

 Chaque impulsion sur bouton poussoir BP connecté en pull-up, incrémentera un


compteur modulo 8 .les états occupés par se compteur seront donc 0 1 2 3 4 5 6 7
 Sur chaque impulsion, les LEDS R V B passeront a l’état logique 0 ou 1 en fonction de
la table de vérité. L’état 0 correspond à l’état éteint de la LED et l’état 1 correspond
alors à l’état allumé.
 Les impulsions sur le bouton poussoir sont gérés par une interruption externe au
microcontrôleur attachInterrupt() déclenché sur front descendant
 Les LEDS s’allument avec une intensité qui varie toute les 10ms grâce a une
interruption interne TIMERS 2 du microcontrôleur ISR(TIMER2_OVF_vect)

Diagramme représentant l’interaction entre les fonctions de notre programme :

attachInterrupt() BP_IT

interruption externe Incrémentation du compteur

Allumage de la led

ISR(TIMER2_OVF_vect)
Incrémentation de l’intensité
Interruption interne

Figure 2 : Schéma des fonctions de notre code

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 5


6
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

6.1 CALCUL THEORIQUE DU COMPTAGE

LE TIMER 2 sera utilisé en le faisant compter à la fréquence de 62500 Hz (fréquence


d’horloge divisée par 256). Un cycle d’horloge dure donc 16 µs.

Pour avoir 10 ms (10 000 µS), il faut compter 10 000 µs / 16 µs = 31250 fois.

Cette valeur est approximativement décomposable en 4 * 156.

LE TIMER va donc compter 156 fois pour déborder ; on initialise donc LE TIMER a
100

TCNT2=255-156

7 SCHEMAS DE MONTAGE

Figure 3 : Schéma de montage

Nous utilisons le terminal pour visualiser l’état du compteur

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 6


7
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

8 PRESENTATION DU PROGRAMME

ISR(TIMER2_OVF_vect){
TCNT2=255-156;
#define R_pin 10 if(compteur==4){
#define V_pin 5 if(intensite>=255){intensite=0;}
#define B_pin 9 else{intensite++;} }
#define BP_pin 2 else{ compteur ++;}}
int compteur =0; void allume_led(){
volatile int seq=0; Serial.println(seq);
volatile int intensite ; if (seq>=4) { analogWrite(R_pin , intensite);}
void BP_IT(){ else { digitalWrite(R_pin,LOW);}
if (seq==7){ seq=0;} if ((seq==2)||(seq==3)||(seq==6)||(seq==7)){ analogWrite(B_pin ,
intensite);}
else{seq++;}
else { digitalWrite(B_pin,LOW);}
allume_led();}
if ((seq==1)||(seq==3)||(seq==5)||(seq==7)){analogWrite(V_pin ,
ISR(TIMER2_OVF_vect){
intensite);}
TCNT2=255-156;
else { digitalWrite(V_pin,LOW);}}
if(compteur==4){
void setup(){
if(intensite>=255){intensite=0;}
cli();
else{intensite++;} }
bitClear(TCCR2A ,WGM20);
else{ compteur ++;}}
bitClear(TCCR2A ,WGM21);
ode(R_pin , OUTPUT);
TCCR2B=0b00000111;
pinMode(V_pin , OUTPUT);
TIMSK2=0b00000001;
pinMode(B_pin , OUTPUT);
sei();
pinMode(BP_pin , INPUT);
pinMode(R_pin , OUTPUT);
Serial.begin(9600);
pinMode(V_pin , OUTPUT);
attachInterrupt(0, BP_IT ,RISING);
pinMode(B_pin , OUTPUT);
}
pinMode(BP_pin , INPUT);
void loop() {}
Serial.begin(9600);
attachInterrupt(0, BP_IT ,RISING); }
void loop() {}

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 7


8
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

Apres compilation du code , Le croquis utilise 2892 octets (9%) de l'espace de stockage de
programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 198 octets (9%) de mémoire dynamique, ce qui laisse 1850
octets pour les variables locales. Le maximum est de 2048 octets.

9 Mesure des paramètres statiques et dynamiques du


montage ainsi réalisé par simulation

Figure 4 : Schéma de montage pour la mesure des paramètres

Les 3 voies A B C de L’oscilloscope vont nous permettre d’observer ’allure du signal PWM
respectivement aux bornes des diode R V B

10 CHRONOGRAMMES
 Etape 0: toutes les leds sont a l’état logique bas 000

Figure 5 : chronogramme Etape 0

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 8


9
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

 Etape 1: seul la led B est allumé 001

Figure 6 : chronogramme Etape 1


 Etape 2: seul la led V est allumé 010

Figure 7 : chronogramme Etape 2


 Etape 3: les leds V et B sont allumées 011

Figure 8 : chronogramme Etape 3

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 9


10
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

 Etape 4: la led R est allumée 100

Figure 9 : chronogramme Etape 4


 Etape 5: les leds R et B sont allumées 101

Figure 10 : chronogramme Etape 5


 Etape 6: les leds R et B sont allumées 110

Figure 11 : chronogramme Etape 6

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 10


11
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

 Etape 7: toutes les leds sont allumées 111

Figure 12 : chronogramme Etape 7

❖ Tension - Courant : comme présenté sur la figure 4, la valeur affichée sur le voltmètre
et l’ampèremètre caractérisant la différence de potentiel entre le point haut de la LED
par rapport à la masse et au point bas en série avec la LED affichent respectivement
4,77V et 0,01A soit 10mA.

❖ Puissance : Connaissant la relation 𝑷 = 𝑼𝑰, on déduit rapidement la valeur de la


puissance consommée par notre montage à la sortie de notre carte. Soit 𝑷 = 𝟒𝟕, 𝟕𝒎𝑾.
Nous pouvons également déterminer la puissance totale consommée par le montage car
la résistance de pull-up dissipe une puissance qui ne sera autre que la somme de la
puissance précédente et celle de la pull-up.

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 11


12
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

10.1 CALCULE DU TEMPS DE REPONSE


Il est question pour nous ici de déterminer le temps entre l’impulsion sur le bouton poussoir et
le l’allumage de la led .

Figure 13: temps de réponse

L’impulsion a été réalisé au temps Ti=888,4ms tandis que la led a changé d’etat au temps
Tc=889,12ms soit un temps de réponse de Tr=0.72ms

10.2 DEPHASAGE ENTRE LES SIGNAUX (ETAT 7 <111>)

Figure 14 : dephasage des signaux

le signal A aux bornes de la LED B est en avance de 0.07ms par rapport aux signaux B et C
aux bornes des LEDS R V

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 12


13
UTILISATION DES INTERRUPTIONS DU MICROCONTROLEUR POUR CAPTER
DES EVENEMENTS

CONCLUSION
Le but du TP portant clairement sur la réalisation d’un programme solide de Arduino et la

simulation dans l’environnement Proteus a été normalement fait dans de très bonnes conditions

à quelques-unes moyennant un problème au niveau ds fonctions d’interruptions internes et

externes de la carte Arduino . Les instruments de mesure ne dépendants pas du programme,

alors les valeurs ont pu être récupérées sans problème pour ensuite déduire la puissance

consommée. En quelques mots, nous pouvons dire que le but de notre TP a été atteint.

Rédigé par MEYO ESSIMBE ARMAND COLLINS GEL – ET4 Page 13

Vous aimerez peut-être aussi