Vous êtes sur la page 1sur 80

République Algérienne Démocratique et Populaire Ministère de

l’Enseignement Supérieur et de la Recherche Scientifique Université


Larbi Ben M’hidi Oum El Bouaghi
Faculté des Sciences et des sciences appliquées
Département des Génie Electrique

MEMOIRE DE FIN D’ETUDES

En vue de l’obtention du

DIPLOME DE MASTER
Spécialité : Informatique Industrielle

Thème :

Etude et réalisation d'un Télémètre à ultrason à base


d'un microcontrôleur PIC 16F877A

Mémoire de fin d’études soutenu publiquement à Oum El Bouaghi


Le 15 juin 2014

Par : GHOUBACHE Chakir Taqiy Eddine Dirigé par : Dr : A. AIT KAKI

Année universitaire: 2013/2014


Cinq ans de parcours pour l’achèvement de ce mémoire de
Master étaient pleins d’évènements plus ou moins motivants.

Je remercie le Dieu de m’avoir donné la force et la volonté pour


accomplir ce travail.

Heureusement, que j’étais entourés de braves gens, qui ont été


avec moi dans les moments difficiles, et qui me ont encouragé
lorsque cela était nécessaire.

A leur tête, je tiens à adresser mes sincères remerciements à


mon encadreur : Mr A. Ait kaki qui a su me conseiller par ses
critiques constructives et me guides dans mon modeste travail.

Je tiens à remercier l’ensemble des enseignants de La Faculté des


Sciences et de la Technologie et surtout le département de
l’informatique Industrielle pour avoir assurer notre formation.

Que messieurs les membres du jury trouvent ici mon profonde


reconnaissance pour l’honneur qu’ils me font en acceptant de
juger cet humble travail.

Enfin, je tiens à remercier tous mes amis, collègues et familles


pour leur soutien moral tout au long de la préparation de ce
mémoire.

Chaker
i
Table des matières

Introduction générale…………………………………………………………………..1

Chapitre I : Généralités sur la télémétrie à ultrasons

I.1.Introduction…………………………………………………………….………......3
I.2.Un peu d’histoire……………………………………...………………….…...……3
I.3. Définitions des ultrasons …………………………….. …………………………..3

I.4. Propriétés phtisiques des ultrasons ….....…………………………………………4


I.4.1. Le principe de production des ondes ultrasonores ………………….…...…….4

I.4.2. La propagation des ondes ..………………………………………….…....……4


I.4.3. La longueur d’onde ………………...…………………………………….……6

I.4.4. L’absorption des ondes ………………………………………………….….…7


I.4.5.La diffusion de son ….………………………………………………...……..…8
I.4.6. La réflexion des ondes……………………………………..……….….…...…8

I.5. Télémètres à ultrasons…………………………………………………..…………9


I.5.1. Qu’est-ce qu’un télémètre à ultrasons…………………………...….….………9

I.5.2. Présentation de télémètre……………………………………...…….….…...…9


I.5.3. Principe de fonctionnement d’un télémètre……………..……………….……9

I.6.Conclusion……………………………………………………………….……….01
Chapitre II : Présentation du microcontrôleur PIC 16F877A

II.1.Introduction…………………………………………………………...……....…02
II.2. Généralités sur les PICs ………………………………………………...………02
II.2.1. Définition ………………………………………………………………...….02

II.2.2.Les avantages du microcontrôleur…………………………………….......….02


II.2.3. Les différentes familles des PICs…………………………………….......….03

II.2.4.Identification du PIC....…………………………………………...…........….03
II.3. Choix d'un microcontrôleur……………………………………………...……...04
II.3.1. Le microcontrôleur PIC 16F877A……………………………….………......04

II.3.2. Caractéristiques générales …………………………………………......…....05

ii
II.4. Architecture externe……………………………………………………...…..…05
II.5. Architecture interne………………………………………………………….….07

II.5.1. Les ports entrée/sortie………………………………………………….…….08


II.5.1.1. Port A………………………………………………………………….….08

II.5.1.2. Port B………………………………………………………………….….08


II.5.1.3. Port C………………………………………………………………….….08

II.5.1.4. Port D………………………………………………………………….….08


I.5.1.5. Port E……………………………………………………………………...08
II.5.2. Les particularités électriques………………………………………………...09

II.5.3. Les mémoires du PIC 16F877A……………………………………….…….09


II.5.3.1. La mémoire FLASH ………………………………………………….….09

II.5.3.2. La mémoire RAM …………………………………………………….….09


II.5.3.3. L’EPROM Interne ……………………………………………………….20

II.5.4. Les TIMERS………………………………………………………………....20


II.5.4.1. TIMER 0…………………………………………………………….……20

II.5.4.2. TIMER 1……………………………………………………………….…20


II.5.4.3. TIMER 2……………………………………………………………….…21

II.5.5. Watchdog………………………………………………………………….…21
II.5.6. L’oscillateur……………………………………………………………….…21
II.5.7. Les principaux registres du PIC 16F877A…………………………………..22

II.5.7.1. Le registre « Status »………………………………………………….….22


II.5.7.2. Le registre « Option »………………………………………………….…22

II.5.7.3. Le registre « INTCON » (INTerrupt CONtrol)…………………………..23


II.5.7.4. Le registre du travail « W »………………………………………….…...25

II.5.7.5. Le registre PIE1……………………………………………………….…25


II.5.7.6. Le registre PIR1……………………………………………………….….25

II.5.7.7. Le registre PIE2……………………………………………………….….25


II.5.7.8. Le registre PIR2……………………………………………………….….25

II.5.7.9. Le registre « ADCON0 »…………………………………………….…...26


II.5.7.10. Le registre « ADCON1 »…………………………………………….….26

iii
II.5.7.11. Les registres « PORTx et TRISx »……………………………………...26
II.5.7.12. Registres « ADRESL et ADRESH »…………………………………....26

II.5.8. Le convertisseur analogique numérique………………………………….….26


II.5.8.1. Configuration de la conversion……………………………………….…..27

II.5.9. Les Interruptions………………………………………………………….….29


II.6. Conclusion………………………………………………………………….…...30

Chapitre III : Etude et réalisation pratique du Télémètre à ultrasons

III.1. Introduction……………………………………………………….……………33
III.2. Présentation générale du projet………………………………………….……..33
III.3. Les différents blocs………………………………………………………….…34

III.4. Etude et réalisation de télémètre ……………………………………………....35


III.4.1. Partie électronique……………………………………………………….….35

III.4.1.1. Présentation de l’ISIS ……………………………………………….…..35


III.4.1.2. Les transducteurs à ultrasons………………………………………….…37

A.Présentation des capteurs ………………………………………..……….…..37


B.Propriétés……………………………………………………………………….….37
C.Principe de la mesure électronique……………………………………….…..38

D.Emission-réception……………………………………………………….…..39
E.La bande de fréquence des transducteurs à ultrasons…………………….…..39

III.4.1.3.Principe de détection………………………………………………….….39
III.4.1.4. Les particularités électriques …………………………………………....41

III.4.1.5. Le QUARTZ …………………………………………………………....40


III.4.1.6. Les Transistors BC548B…………………………………………….…..40

III.4.1.7. Diode de commutation 1N4148…………………………………………42


III.4.1.8. Le comparateur intégré LM311………………………………….………42

III.4.1.9. Potentiomètre……………………………………………………………43

III.4.1.10. Afficheur LCD ………………………………………………………...43

III.4.1.11. Les particularités de montage…………………………………….…….44


III.4.2. Programmation du PIC………………………………………………….…..48

iv
III.4.2.1. Présentation de Compilateur mikroC POUR PIC…………………….…49
III.4.2.2. conception du programme implanté dans le microcontrôleur……….…..49

III.4.2.3. Carte de programmateur ICPROG universel………………………….....52


III.4.2.4. Etapes de programmation du PIC avec le logiciel WINPIC 800 …...…...53

III.5. Réalisation de la carte électronique………………………………………….....54


III.6 Conclusion………………………………………………………………….…...56

Conclusion générale ………………………………………………………………....58


Bibliographie……………………………………………………..…………………..60
Annexe

v
Table des figures

Chapitre I

Figure (I.1) Propagation longitudinale d'une onde ultrasonore …………………..…...4


Figure (I.2) Polarisation et vecteur d’onde des modes de propagation…...…………...5

Figure (I.3) La longueur d'onde sinusoïdale………...………………………………....6


Figure (I.4) Absorption des ultrasons dans la matière………………………………....7

Figure (I.5) Réflexion de l’onde ultrasonique à travers une interface ………...………8


Figure (I.6) Fonctionnement generale des télémètres………………….…………..….9

Figure (I.7) Principe de fonctionnement du télémètre à ultrasons………………...…10

Chapitre II

Figure (II.1) PIC 16F877A………………………………..…………………….…....14


Figure (II.2) Brochage du PIC 16F877A…………………………………………….16

Figure (II.3) Architecture Interne du PIC16F877A…………………………………..17

Chapitre III

Figure (III.1) Les différentes phases de la réalisation…………………………….….33


Figure (III.2) Schéma synoptique des différents blocs de télémètre à ultrason…..….34

Figure (III.3) photo de logiciel de simulation ISIS……………………………….….35


Figure (III.4) Schéma électronique général de la carte à réaliser...…………………..36

Figure (III.5) Transducteurs à ultrasons...……………………………………….…...37


Figure (III.6) L'espace d'efficacité de transducteur ultrason…………………….…...38

Figure (III.7) Brochage du circuit d’oscillation et de reset de PIC16F877A…….…..40


Figure (III.8) Schéma de QUARTZ……………………………………………….....41
Figure (III.9) Transistor BC548B……………………………………………….…....41

Figure (III.10) Diode 1N4148……………………………………………………….,42


Figure (III.11) schéma de principe du LM311…………………………………….…43

Figure (III.12) Photo d’un Potentiomètre ……..………..………………………….….43

vi
Figure (III.13) Photo d’un afficheur LCD…………………………………………....43
Figure (III.14) schéma de bloc d'amplification………………………………….…...44

Figure (III.15) schéma de bloc de détecteur de crête………………………………...46


Figure (III.16) schéma du bloc de comparateur……………………………………...47

Figure (III.17) schéma du bloc complet………………………………………….…..47


Figure (III.18) L'acheminement de la programmation…………………………….…48

Figure (III.19) Organigramme du programme implanté dans le microcontrôleur…...51


Figure (III.20) schéma de programmateur ICPROG universel……………………....52
Figure (III.21) L'icône de WinPic 800…………………………………………….…53

Figure (III.22) Montage réalisé sur la plaque d’essais………………………….……54


Figure (III.23) Description de brochage de montage…………………………….…..55

vii
Liste des tableaux

Chapitre I

Tableau (I.1) La vitesse de propagation du son en fonction du milieu associé………….6

Chapitre II

Tableau (II.1) Caractéristiques du PIC 16F877A……………………………………....05


Tableau (II.2) Les différents bits de registre "Status"….………………………………22
Tableau (II.3) Les différents bits de registre Option…………………………………...23
Tableau (II.4) Configuration des bits (PS0 :PS2) de registre option pour effectuer Les
prés diviseurs ……………………………………………………………………...…...24
Tableau (II.5) Les différents bits de registre "INTCON" Bit…………………….…….24
Tableau (II.6) Registre "ADCON0"……………………………….…………………...27
Tableau (II.7) Temps de conversion "TAD" en fonction du Quartz select…….………28
Tableau (II.8) Sélection l’entrée de la conversion…………………………………......28
Tableau (II.9) Registre "ANSEL".……………………………………………………..29
Tableau (II.10) Les différents registres d'interruption………………………………....30

viii
Liste des notations utilisées

Paramètres physiques

𝑉 : Vitesse de propagation du son en m/s

λ: Longueur d'onde en mètre

f: Fréquence du signal en Hz
T : La période du signal en s

C : célérité = vitesse de la lumière = 300 km / s.

t : temps mis par l’onde pour parcourir l’aller et le retour

d : La distance

Paramètres électroniques

PIC : Peripheral Interface Controller

RISC: Reduced Instructions Computing Set,

EPROM : mémoire de programme effaçable.

EEPROM : mémoire de programme effaçable électriquement.

E/S: Entres /sorties.

CAN : convertisseur analogique numérique.

PWM : Modulation de largeur d'impulsion.

VDD : +5V d'alimentation.

VSS : 0V d'alimentation.

MCLR : patte de reset de PIC.

PORT/TRIS : registre de contrôle des entres/sorties.

ADCON1/0 : registres de contrôle de convertisseur analogique numérique.

EEAR, EEADRH, EEDATA, EEDATH : Registres d'adressage de mémoire.


SFR : Registre de fonctions spéciales.
ADRESL/ADRESH : registre de justification de résultats de conversion A/D.

ix
INTRODUCTION GENERALE
Introduction générale

INTRODUCTION GENERALE

Le but de ce projet est la mise au point d’un télémètre à ultrasons, qui permettra de mesurer
une distance sans contact.

La mesure de distance sans contact est un champ d'application vaste et passionnant.


Aujourd'hui nombre de techniques permettent cela en faisant appel aux différents domaines de
l'électronique numérique.

Un télémètre à ultrasons sert à mesurer une distance. Le principe, inspiré de la chauve-souris


est d’envoyer une salve d’ultrasons vers un objet les réfléchissant. On accède à la distance
séparant le télémètre de cet objet en mesurant le temps que met l’écho pour revenir au télémètre.
Connaissant la vitesse du son, on déduit la distance cherchée. Les avantages d’un tel moyen de
mesure sont multiples. La mesure est rapide même sur plusieurs mètres, et on peut sans risque,
mesurer des distances difficiles d’accès.

En général un télémètre comprend quatre modules : un module d’émission, un module de


réception, un circuit d’amplification et de commutation à base de transistors bipolaires et un
microcontrôleur qui assure la commande et l’affichage de la distance mesurée.

Le principe est l'émission d'une onde ultrasonore vers un objet massif ou un mur, la détection
de l'écho renvoyé par cet obstacle, la mesure du temps de parcours de l'onde et la déduction de
la distance entre le système émetteur-récepteur et l'obstacle.

Pour cela, ce projet comporte quatre chapitres :

-Le premier chapitre présente des généralités sur les télémètres à ultrasons, ainsi que le principe
d’émission et de réception des ultrasons.

-Le deuxième chapitre permettant de découvrir notre microcontrôleur PIC16F877A, et son


mode de fonctionnement

-Le troisième chapitre sera consacré à l’étude des circuits électroniques utilisés : les
amplificateurs à transistors, détecteur de crêtes à base de diodes et les amplificateurs
opérationnels, Ainsi que la description du fonctionnement du télémètre, le programme du
microcontrôleur utilisé ainsi qu’à la réalisation pratique de notre appareil de mesure.

1
CHAPITRE I
Généralités sur la télémétrie à
ultrasons
CHAPITRE I : Généralités sur la télémétrie à ultrason

Généralités sur la télémétrie à ultrason

I.1. Introduction

La mesure de distance des objectifs en utilisant les ultrasons est un champ d’application vaste et
très passionnant, dans ce premier chapitre nous présenterons les principes généraux de la
télémétrie à ultrasons.

I.2. Un peu d’histoire

Depuis bien longtemps on sait que les animaux tels que les baleines, dauphins ou bien encore
chauve-souris utilisent les ultrasons dans le but de trouver la localisation d’un objet.

En 1883, le physiologiste anglais Francis Galton invente un "sifflet à ultrasons". En soufflant dans
ce sifflet, l’homme ne perçoit rien alors que les chiens réagissent. Mais c’est surtout la découverte
en 1880, de la piézo-électricité, par les frères Pierre et Jacques Curie, qui a permis après 1883, de
produire facilement des ultrasons et de les utiliser.

Les premières études des ultrasons n’étaient pas destinées aux humains. Ainsi ils étaient plutôt
utilisés durant la première guerre mondiale pour par exemple détecter les sous-marins. En 1918,
Langevin l’utilise pour mesurer la profondeur et détecter la présence d’icebergs avec les sonars
qui commencent à se répandre à partir de 1920 et qui sont les premiers appareils à ultrasons. Pierre
Curie avait en effet découvert que ces quartz vibrent en émettant des ultrasons quand ils sont
soumis à un champ électromagnétique. Mais c’est seulement à partir de 1970, qu’on utilise les
ultrasons dans la médecine.

Les ultrasons sont également utilisés dans des domaines comme la médecine
ainsi que la robotique et ce, afin d’effectuer des mesures de distance et/ou de détecter des objets
quelconques en état statique ou en mouvement. [1]

I.3. Définitions des ultrasons :

Les ultrasons sont des vibrations mécaniques, de même nature que le son,mais inaudibles
à l'oreille humaine car leur fréquence est supérieure à 20kHz. De nos jours, les ultrasons
sont fréquemment utilisés, l'exemple le plus connu est celui du sonar. En effet, un
appareil génère des impulsions ultra-sonores et reçoit les ondes réfléchies par les obstacles qui
sont ainsi détectés. [1] La vitesse des ultrasons dans les tissus mous étant de 1540 m s-1. [2]

3
CHAPITRE I : Généralités sur la télémétrie à ultrason

I.4. Propriétés phtisiques des des ultrasons :


I.4.1. Le principe de production des ondes ultrasonores :

Les ondes ultrasoniques sont des ondes élastiques, résultantes du déplacement de particulesde la
ma tière : fluide ou solide. Il existe différents types d'ondes selon les conditions aux limites des
milieux de propagation (milieu infini : ondes de volume, milieu semi-infmi : ondes de surface,
milieu limité: ondes guidées, ondes de Lamb). [3]

Les matériaux les plus utilisés actuellement sont les matériaux piézoélectriques. Ces matériaux
ont l’avantage par rapport aux autres systèmes de présenter de bonnes performances et d’être
disponible dans des géométries très diverses. Ces matériaux se présentent le plus souvent sous la
forme d’un disque ou d’un anneau sur les faces duquel sont déposés deux électrodes métallisés.
Lorsqu’une tension électrique est appliqué sue ces deux électrodes, le matériau se dilate ou se
comprime selon l’orientation de la tension par rapport à la polarisation de la céramique.

I.4.2. La propagation des ondes :

Les sons sont émis par des corps animés d’un mouvement vibratoire et se propagent sous forme
d’onde mécanique susceptible de subir des réflexions ( échos ), des réfractions et des interférences.
Les ultrasons se propagent à une vitesse qui sera fonction de le nature du milieu, indépendamment
de la fréquence d’onde. La propagation des sons ne peut se faire que dans la matière.

Figure (1-1) Propagation longitudinale d'une onde ultrasonore

4
CHAPITRE I : Généralités sur la télémétrie à ultrason

L’onde sonore en déplacement dans un milieu donné est caractérisée par sa fréquence ( f ) et sa
longueur d’onde ( λ ). Ces deux caractéristiques permettent de déterminer la vitesse de propagation
des sons ( v ) dans le milieu :

𝑉 = λxf (I.1)

Vitesse de propagation du son en m/s Fréquence du signal en Hz

Longueur d'onde en mètre


En fonction de la période T d'un signale, la vitesse de propagation du son vaut :

λ
𝑉= Avec T = La période du signal en s. (I.2)
𝑇

Figure (1-2) : Polarisation et vecteur d’onde des modes de propagation

Voici le Tableau suivant donnant la vitesse de propagation du son en fonction du milieu


associée:

5
CHAPITRE I : Généralités sur la télémétrie à ultrason

milieu Vitesse de propagation ( m/s )


air 343
eau 1480
Tissus mous 1540
os 4080
graisse 1410 – 1470
foie 1535 – 1580
muscle – 4080
Tableau (I.1) La vitesse de propagation du son en fonction du milieu associée [5]

I.4.3. La longueur d’onde : [6]

La longueur d'onde est la distance entre deux creux ou deux bosses, plus la longueur d'onde est
petite, plus la succession de creux et de bosses doit être rapide en un point. A une longueur d'onde
correspond en fait une seule fréquence.

Figure (I.3) La longueure d'onde sinusoïdale

6
CHAPITRE I : Généralités sur la télémétrie à ultrason

L'axe x représente les distances parcourues, et y est la valeur à un instant donné d'une quantité qui
varie (par exemple la pression de l'air pour une onde sonore ou l'intensité du champ électrique ou
magnétique d'une onde lumineuse).

La longueur d'onde est proportionnelle à la période, et donc inversement proportionnelle à la


fréquence, le nombre de sommets de même signe qui traversent un point en une durée d'une
seconde.

La longueur d'onde est égale à la vitesse de l'onde divisée par la fréquence de passage. Lorsque
l'onde est électromagnétique dans le vide, cette vitesse est la vitesse de la lumière c dans le vide,
et la relation s'écrit :

c
λ = (I.3)
f

λ = longueur d’onde de l’onde en m.

C = célérité = vitesse de la lumière = 300 km / s.

f = fréquence de l’onde en Hz.

I.4.4. L’absorption des ondes : [6]


L'onde ultra-sonore, en se propageant cède une partie de son énergie au milieu : il y a absorption
de l'énergie ultra-sonore et l'intensité du faisceau diminue. Cette diminution est totalement
différente de celle due à l'augmentation de surface de l'onde ultra-sonore et elle intervient même
pour les ondes planes.

Figure(I.4) Absorption des ultrasons dans la matière


7
CHAPITRE I : Généralités sur la télémétrie à ultrason

Cette absorption est liée essentiellement à des mécanismes de conduction thermique et de viscosité
et ces mécanismes sont étroitement dépendant de la fréquence : les fréquences élevées provoquent
de très nombreuses vibrations qui favorisent le transfert d'énergie.

I.4.5. La diffusion des ondes : [6]

Lorsque l'interface est de petite taille par rapport à la longueur d'onde, l'énergie de l'onde
ultrasonore est diffusée c'est-à-dire réfléchie dans de multiples directions.

En fonction du rapport longueur d'onde taille de l'interface et donc de la structure, il est possible
de définir trois types de diffusion :

 rétro-diffusion: interface >> longueur d'onde.


 diffusion antégrade: interface = longueur d'onde.
 diffusion multidirectionnelle: interface << longueur d'onde.

I.4.6. La réflexion des ondes : [6]

Lorsqu'une énergie, comme la lumière ou le son, se propage dans un milieu et rencontre un milieu
différent, une partie de l'énergie passe, en général, dans le deuxième milieu et une autre partie est
réfléchie.
La réflexion dite « spéculaire » obéit à deux lois. Tout d'abord, les directions (rayons) de l'onde
incidente et de l'onde réfléchie font le même angle avec la normale (perpendiculaire à la surface
réfléchissante au point d'incidence). Ces angles sont respectivement appelés angle d'incidence et
angle de réflexion. De plus, la normale et les rayons incident et réfléchi sont dans le même plan.
Les surfaces rugueuses réfléchissent dans de nombreuses directions à la fois et la réflexion est
alors « diffuse ».

Figure (I.5) Réflexion de l’onde ultrasonique à travers une interface


8
CHAPITRE I : Généralités sur la télémétrie à ultrason

I.5. Télémètres à ultrasons

I.5.1. Qu’est-ce qu’un télémètre à ultrasons ? [7]

Un télémètre à ultrasons sert à mesurer une distance. Le principe, inspiré de la chauve-souris,


est d’envoyer une salve d’ultrasons vers un objet les réfléchissant, tel qu’un mur ou une vitre,
et de capter l’écho renvoyé par cet objet. On accède à la distance séparant le télémètre de cet
objet en mesurant le temps que met l’écho pour revenir au télémètre. Connaissant la vitesse
du son, on déduit la distance cherchée.

I.5.2. Présentation de télémètre : [7]

Le télémètre est doté d’un bouton afin de lancer une acquisition et d’un afficheur pour visualiser
la distance en cm.
Du schéma du fonctionnement du télémètre ci-après on peut dégager quatre modules : module
d’émission, module de réception, module d’affichage et un module de commande.

O
b
Logique Emu
Ordre s
d'acquisition de
t
contrôle
Rec a
c
l
Start e
Compteur
Stop

- Emu : Emetteur ultrason


Affichage
- Rec : Récepteur ultrason

Figure (I.6) Fonctionnement generale des télémètres

I.5.3. Principe de fonctionnement d’un télémètre: [7]

Le principe du télémètre à ultrasons est de mesurer la distance d’un objet, plus ou moins lointain,
en utilisant les propriétés de propagation d’onde ultra sonore.

9
CHAPITRE I : Généralités sur la télémétrie à ultrason

Figure (I.7) Principe de fonctionnement du télémètre à ultrasons

Cet appareil est un capteur actif qui émet une salve d’ultrasons et qui attend le retour d’un écho.

Le temps d’attente est proportionnel à la distance parcourue par le son, soit un aller-retour, selon
la relation : d = c * t où d = distance parcourue ; c = célérité ; t = temps mis par l’onde pour
parcourir l’aller et le retour.

Suite à cela, nous pouvons d’ores et déjà soulever deux problèmes.

 Le premier est que compte tenu de l’aller-retour parcouru par l’ultrason, la distance
calculée est alors deux fois celle attendue. Il faudra alors penser à diviser cette dernière
en deux.
 Deuxièmement, la vitesse du son dans l’air est d’environ 340m/s à une température T =
20°C, et dépend de la température du milieu.

I.6. Conclusion

L'utilisation de la technologie ultrasonore présente des avantages à la fois techniques et


économiques. En effet, c'est un choix adéquat par rapport aux autres technologies comme la
télémétrie optique et la télémétrie à base de laser.

11
CHAPITRE II
Présentation du microcontrôleur PIC
16F877A
Chapitre II Présentation du microcontrôleur PIC 16F877A

Présentation du microcontrôleur PIC 16F877A

II.1. Introduction

Un objet technique, intégrant de l’électronique, fait souvent apparaître des fonctions ayant pour
rôle le traitement d’information : opérations arithmétiques (Addition, multiplication…) ou
logiques (ET, OU…) entre plusieurs signaux d’entrée permettant de générer des signaux de
sortie. Ces fonctions peuvent être réalisées par des circuits analogiques ou logiques.

Mais, lorsque l’objet technique devient complexe, et qu’il est alors nécessaire de réaliser un
ensemble important de traitements d’informations, il devient plus simple de faire appel à une
structure à base de microcontrôleur PIC.

Au niveau de ce chapitre on va essayer de mieux connaître le PIC16F877A (PIC choisie pour ce


projet), de savoir manipuler ces instructions internes.

II.2. Généralités sur les PICs [1]

II.2.1. Définition :

Un PIC n’est rien d’autre qu’un microcontrôleur, c’est à dire une unité de traitement de
l’information de type microprocesseur à laquelle on a ajouté des périphériques internes
permettant de réaliser des montages sans nécessiter l’ajout de composants externes.

La dénomination PIC est sous copyright de Microship, donc les autres fabricants ont été dans
l’impossibilité d’utiliser ce terme pour leurs propres microcontrôleurs.

Les PICs sont des composants dits RISC (Réduc Instructions Computing Set), ou encore
composant à jeu d’instructions réduit.

II.2.2.Les avantages du microcontrôleur : [2]

L’utilisation des microcontrôleurs pour les circuits programmables à plusieurs points forts et bien
réels. Il suffit pour s’en persuader, d’examiner la spectaculaire évolution de l’offre des fabricants
de circuits intégrés en ce domaine depuis quelques années.

11
Chapitre II Présentation du microcontrôleur PIC 16F877A

Nous allons voir que le nombre d’entre eux découle du simple sens.

 Tout d’abord, un microcontrôleur intègre dans un seul et même boîtier ce qui,


avant nécessitait une dizaine d’éléments séparés. Il résulte donc une diminution évidente
de l’encombrement de matériel et de circuit imprimé
 Cette intégration a aussi comme conséquence immédiate de simplifier le tracé du
circuit imprimé puisqu’il n’est plus nécessaire de véhiculer des bus d’adresses et de
donnée d’un composant à un autre.
 L’augmentation de la fiabilité du système puisque, le nombre des composants
diminuant, le nombre des connexions composants/supports ou composants/circuits
imprimer diminue.
 Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux
-Moins cher que les autres composants qu’il remplace.
-Diminuer les coûts de main d’œuvre.

II.2.3. Les différentes familles des PICs : [2]

Il y en a trois grandes familles de PICs :


 La famille Base Line, qui utilise des mots d’instructions de 12 bits.
 La famille Mid-Range, qui utilise des mots de 14 bits
 La famille High-End, qui utilise des mots de 16 bits.

Toutes les PICs Mid-Range ont un jeu de 35 instructions, stockent chaque instruction dans un
seul mot de programme, et exécutent chaque instruction (sauf les sauts) en un cycle. On atteint
donc des très grandes vitesses, et les instructions sont de plus très rapidement assimilées.

II.2.4.Identification du PIC : [3]

Pour identifier une PIC, on utilise simplement son numéro. Les 2 premiers chiffres indiquent la
catégorie de la PIC, 16 indique une PIC Mid-Range.
Vient ensuite parfois une lettre L : Celle-ci indique que la PIC peut fonctionner avec une plage
de tension beaucoup plus tolérante. Ensuite, on trouve :
 C indique que la mémoire programme est une EPROM ou plus rarement une EEPROM
 CR pour indiquer une mémoire de type ROM
 F pour indiquer une mémoire de type FLASH
13
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.3. Choix d'un microcontrôleur

Il existe plusieurs microcontrôleurs fabriqués par : INTEL, MOTOROLA, HITACHI, NEC


TEXAS instrument… etc. Le choix d’un microcontrôleur dépend de plusieurs critères de
sélection dont le développeur doit tenir compte [3]

Les critères de choix du microcontrôleur sont les suivantes :

 Il faut dans un premier temps déterminer le nombre d’entrées-sorties pour l’application


 Etre doté d’un minimum de pin pour simplifier ou maximum la réalisation de la carte
 Il faut si l’application nécessite un convertisseur analogique /numérique ce qui va centrer
un peu plus vers le choix d’une famille de PIC.
 La rapidité d’exécution est un élément important, il faut consulter les DATA-BOOK.
 Doit être dotée d’une mémoire qui satisfait à notre application ;
 Il est parfois judicieux de réaliser l'application en ajoutant un circuit externe au PIC, cette
solution peut faciliter la programmation et diminuer le coût de revient.
Le 16F877A est un microcontrôleur de MICROCHIP, fait partie intégrante de la famille des Mid-
Range (16) dont la mémoire programme est de type flash (F) de type 877 et capable d’accepter
une fréquence d’horloge maximale de 20Mhz. [1]

II.3.1. Le microcontrôleur PIC 16F877A : [2]

Le pic 16F877A est un circuit intègre contenu dans un boîtier nommer « DIL 40 », il présente 40
broches, 20 de chaque côté. Les broches sont virtuellement numérotées de 1 à 40. La 1ere broche
est placé dans le coin situé à gauche de l’encoche de repérage.

Figure (II.1): PIC 16F877A

14
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.3.2. Caractéristiques générales: [2]

Voici un tableau récapitulatif des principales caractéristiques du 16F877A

caractéristiques 16F877A

Broches 40

E/S max 33

µy flash 8 KO

µy E²PROM 256 O

CAN 7

PWM 2 DE 10 BITS

TIMER r 3

Comparateurs 2

Interruption 13

oscillateur 20 MHz MAX

Port série USART/SSP

Tableau (II.1) : Caractéristiques du PIC 16F877A.

II.4. Architecture externe


La figure ci-dessous montre l'architecture externe d'un PIC 16F877A

15
Chapitre II Présentation du microcontrôleur PIC 16F877A

Figure (II.2) Brochage du PIC 16F877A [2]

 Le boitier du PIC 16F877 décrit par la figure (II.3) comprend 40 pins : 33 pins
d'entrées/sorties, 4 pins pour l'alimentation, 2 pins pour l'oscillateur et une pin pour le reset
(MCLR).
 La broche MCLR sert à initialiser le μC en cas de la mise sous tension, de remise à zéro
externe, de chien de garde et en cas de la baisse de tension d'alimentation.
 Les broches VDD et VSS servent à alimenter le PIC.
On remarque qu'on a 2 connections "VDD" et 2 connections "VSS". La présence de ces 2 pins
s'explique pour une raison de dissipation thermique. Les courants véhicules dans le pic sont loin d'être
négligeables du fait des nombreuses entrées/sorties disponibles.

16
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.5. Architecture interne


La figure (II.4) présente l'architecture interne de PIC16F877A (Data Sheet PIC16F877A/874A
2007)

Figure (II.3) Architecture Interne du PIC16F877A


17
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.5.1. Les ports entrée/sortie : [2]


Le PIC 16F877A comporte quatre ports entrées / sorties :

II.5.1.1. Port A : c’est un port d’entrée sortie, il contient 6pin d’entrées /sorties de RA0 à RA5
repartie sur deux registres : le registre port A et le registre tris A. Le bit 6 et7 ne sont pas
implémente, ils seront lus comme 0.

Au moment de reset on doit forcer une valeur dans le registre ADCON1, pour pouvoir utiliser ce
port en entrée/sortie de type générale.

II.5.1.2. Port B : le pin RB0 qui, en configuration d’entrée, est de type << trigger de Schmitt >>
quand elle est utilisée en mode interruption << INT >> .La lecture simple de RB0 se fait, elle, de
façon tout à fait classique, en entrée de type TTL.

II.5.1.3. Port C : c’est un port qui n’existait pas sur le 16F84. Voyons donc, toujours au niveau
de son utilisation classique, quel que soit les caractéristiques.

La mise sous tension du PIC, ou reset, force tous les bits utiles de TRISx à 1, ce qui place toutes
les pins en entrée.

II.5.1.4. Port D : ce port n’est présent que sur le 16F877.il fonctionne d’une façon identique aux
autres, dans son mode de fonctionnement général.
Le registre TRISD comporte donc les 8 bits de direction.

Les 8 pins I/O, en mode entrée, sont de type « trigger de Schmitt ».le fonctionnement de ce port
dépend de la valeur placée dans TRISE, qui concerne, a première vue, le port E. Mais au moment
de mise sous tension, la valeur placée dans TRISE configure le PORTD en port I/O de type général.

I.5.1.5. Port E : Ce port n’est présent que sur les PICs 16F877.
Il ne comporte que 3 pins, RE0, RE1 et RE2 contrairement aux autres ports, les bits non concernés
de TRISE sont implémentées pour d’autres fonctions.

On remarque que les pins REx peuvent être utilisés comme pins d’entrées analogiques. C’est le
registre ADCON1 qui détermine si ce port sera utilisé comme port I/O ou comme port analogique.

18
Chapitre II Présentation du microcontrôleur PIC 16F877A

Au niveau électronique, les REx utilisées en entrée seront, une fois de plus, du type « trigger de
Schmitt ».

II.5.2. Les particularités électriques : [4]

Les pins d’alimentation sont placés d’une part et d’autre en position centrale du PIC. La
connexion de MCLR au +5v, cette pin est utilisée pour effectuer un reset du composant en cas
de connexion à la masse.

On trouve le quartz, qui peut être remplacé par un résonateur ou par un simple réseau RC. Les
condensateurs de découplage, du fait de la fréquence plus importante du quartz utilisé, sont de
valeur environ 15pF.

II.5.3. Les mémoires du PIC 16F877A [4]

Les mémoires sont de trois types différents :

II.5.3.1. La mémoire FLASH :

C’est une mémoire programme de taille 8ko.Chaque case mémoire unitaire est de taille 13 bits.
Cette mémoire est de type mémoires stable, c'est-à-dire qu’on peut réécrire dessus à volonté, car
le 16F877 est caractérisé par la possibilité d’écrire des données.

La zone mémoire est caractérisée par une adresse de 13 bits, alors ceci nous impose donc pour
l’adressage les registres EEAR et EEADRH. De même, nous aurons pour les données, les
registres EEDATA et EEDATH.

II.5.3.2. La mémoire RAM :

Cette mémoire de taille 368 octets est une mémoire d’accès rapide et elle est volatile (les données
seront perdus lorsque elle n’est plus sous tentions). Elle contient tous les registres de
configuration du PIC ainsi que les différents registres de données. Elle contient également les
variables utilisées par le programme. La RAM est la mémoire la plus utilisée. Toutes les données
qui y sont stockées sont perdues lors d’une coupure de courant.

19
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.5.3.3. L’EPROM Interne :

Le pic 16F877contient également la mémoire électriquement effaçable, réécrivable et stable. Ce


type de mémoire est d’accès plus lent. Pour gérer cette EEPROM on a besoin de quatre registres,
à savoir EEDR, EEDATA, EECON1 et EECON2.

L’adresse relative de l’accès EEPROM est donc comprise entre 0000 et 00FF ce qui nous permet
d’utiliser un registre de huit bit pour définir cette adresse.

II.5.4. Les TIMERS [5]

Le microcontrôleur PIC 16F877A comporte trois Timers, chacun deux peut générer une
interruption.

II.5.4.1. TIMER 0

Dans le passé, le Timer0 s’appelait RTCC. C’est un compteur 8 bits (0 à 255) simple, qui compte
des impulsions soit internes, soit d’une source externe. On peut par ailleurs lui appliquer une pré-
division programmable entre 1 et 256.

On peut librement lire ou écrire dans le registre de comptage associé. On peut donc le pré charger
avec une valeur, à partir de laquelle il comptera jusqu’à atteindre 255.

II.5.4.2. TIMER 1

Le Timer1 fonctionne sur le même principe que le Timer0, mais avec un registre de comptage
plus gros : 16 bits au lieu de 8, ce qui étend notablement ces capacités de comptage. De plus, il
possède un mode de fonctionnement particulier : on peut l’utiliser en association avec un des
modules CCP (modules de capture et de comparaison, voir plus loin). Voyons rapidement le
mode « capture » : lorsqu’un événement survient sur l’entrée du module CCP, la valeur du
Timer1 est lue.

 Le mode Timer
Dans ce mode, TMR1 est incrémenté par l’horloge système Fosc/4 éventuellement pre-divisee.
Le bit de synchronisation n'a pas d'effet car l'horloge Fosc/4 est toujours synchronisée sur
l'horloge système.

11
Chapitre II Présentation du microcontrôleur PIC 16F877A

 Le mode Compteur
Dans ce mode, TMR1 est incrémenté à chaque front montant de l'horloge externe T1CKI (RC0)
ou l'horloge dédiée générée par l’oscillateur T1OSC à condition de positionner le bit T1OSCEN
a 1 et de brancher un quartz entre les broche RC0 et RC1.

En mode compteur, RC0 et RC1 sont automatiquement configurées en entrée, on n’a pas besoin
de configurer les bits TRISC, 0 et TRISC, 1

II.5.4.3. TIMER 2

Le Timer2 a un fonctionnement différent des Timer0 et Timer1. C’est un compteur 8 bits avec
pré-diviseur et post-diviseur. On s’en sert pour générer des signaux carrés, ou, en association
avec le module CCP, des signaux PWM.
PWM étant l’acronyme de « Pulse Width Modulation » ou, en français, Modulation de Largeur
d’Impulsion (MLI).

II.5.5. Watchdog :[4]

Cette fonction est capable de surveiller le bon fonctionnement du programme que le


micro contrôleur exécute. Le rôle du Watchdog (ou chien de garde) est de "reseter" le micro
contrôleur si 1 'on ne remet pas à zéro périodiquement (à intervalle définissable) un registre
interne grâce à 1 'instruction clrwdt (clear watchdog), si le programme tourne par exemple
dans une boucle sans fin (qui est un bug dans le programme) la fonction de watchdog va
permettre de remettre à 0 le micro contrôleur afin de relancer le programme.

II.5.6. L’oscillateur : [2]

L'horloge système peut être réalisée soit avec un quartz, soit avec une horloge extérieure, soit
avec un circuit RC. Dans ce dernier cas, la stabilité du montage est limitée.

Le PIC 16F877A peut sous les mêmes modes classiques que les 16F84 ou 16F628, c'est à dire:
- Mode LP : Avec des quartzs de fréquence basse (200 KHz max).
- Mode XT: Avec des quartzs de fréquence max 4 MHz.
- Mode HS: Avec des quartzs de fréquence max 20 MHz.
- Mode RC: Avec un condensateur et une résistance extérieure.

11
Chapitre II Présentation du microcontrôleur PIC 16F877A

- Le bloc oscillateur interne

Le 16F877A possède un bloc oscillateur qui produit un signal de 31,25 KHz et un signal de
8 MHz. Le premier sert à piloter le "watchdog". Le signal à 8 MHz qui passe à travers un pré
diviseur, peut servir d'horloge système. L'oscillateur étant divisé par 4, on aura une horloge
cycle maximum de 2 MHz soit un temps de cycle de 500 ns. Le choix du pré diviseur pour lesi
gnalde 8 MHz est fait par les 3 bits IRCF0 IRCF1 et IRCF2 du registre OSCCON.

II.5.7. Les principaux registres du PIC 16F877A [6]

II.5.7.1. Le registre « Status »

C’est un registre dont chaque bit a une signification particulière. Il est principalement utilisé
pour tout ce qui concerne les tests. On accède indifféremment à ce registre par une quelconque
de ces 4 adresses.

Tableau (II.2) Les différents bits de registre Status

Au reset : STATUS = 00011XXX

Bit 7 : IRP = permet la sélection des pages en adressage indirect. Pour la PAGE 0 (de 00 à 7F)
et la PAGE 1 (de 80 à FF) ce bit doit être laissé à "0". Mis à "1" il permettra d'atteindre la PAGE
3 (de 100 à17F) et la PAGE 4 (de 180 à 1FF).
Bits 6 et 5 : RP1 et RP0 permettent la sélection des pages en adressage direct.

Bit 0: C : Carry (report), ce bit est en fait le 9ème bit d‟une opération. Par exemple, si une
addition de 2 octets donne une valeur >255, ce bit sera positionné à 1.

Bit 1: DC : Digit Carry, ce bit est utilisé principalement lorsque l‟on travaille avec des nombres
BCD : il indique un report du bit 3 vers le bit 4.

Bit 2: Z : Zéro, ce bit est positionné à 1 si le résultat de la dernière opération vaut 0.

Bit 3: PD : Power down, indique quel événement a entraîné le dernier arrêt du PIC (instruction
sleep ou dépassement du temps du watchdog).

11
Chapitre II Présentation du microcontrôleur PIC 16F877A

Bit 4: TO : Time-Out bit, ce bit indique (si 0), que la mise en service suit un arrêt provoqué par
un dépassement de temps ou une mise en sommeil. Dans ce cas, PD effectue la distinction.

II.5.7.2. Le registre « Option »

Ce registre en lecture écriture permet de configurer les prédiviseurs du Timer et du


Watchdog, la source du Timer, le front des interruptions et le choix du Pull up sur le Port B.

Tableau (II.3) Les différents bits de registre Option

Au reset : OPTION = 11111111

Bit 7 : RBPU = Pull up Enable bit on Port B. 1 = Pull up désactivé sur le Port B. 0 = Pull up

activé.

Bit 6 : INTEDG = Interrupt Edge select bit. 1 = Interruption si front montant sur la broche
PB0/IRQ (pin 6). 0 = Interruption si front descendant sur PB0/IRQ.

Bit 5 : TOCS = Timer TMR0 Clock Source select bit. 1 = L'horloge du Timer est l'entrée PA4/Clk
(pin 3). 0 = Le Timer utilise l'horloge interne du PIC.

Bit 4 : TOSE = Timer TMR0 Source Edge select bit. 1 = Le Timer s'incrémente à chaque front
montant de la broche PA4/Clk. 0 = Le Timer s'incrémente à chaque front descendant de la broche
PA4/Clk.

Bit 3 : PSA = Prescaler Assignement bit. 1 = Le prédiviseur est affecté au Watchdog.. 0 = Le


prédiviseur est affecté au Timer TMR0..

Bits 2 à 0 : PS2 PS1 PS0 = Prescaler Rate Select bits.

13
Chapitre II Présentation du microcontrôleur PIC 16F877A

PS2 PS1 PS0 Prédiv Timer Prédiv Watchdog


0 0 0 2 1
0 0 1 4 2
0 1 0 8 4
0 1 1 16 8
1 0 0 32 16
1 0 1 64 32
1 1 0 128 64
1 1 1 256 128

Tableau (II.4) Configuration des bits (PS0 :PS2) de registre option pour effectuer
Les prés diviseurs

II.5.7.3. Le registre « INTCON » (INTerrupt CONtrol)

Ce registre en lecture écriture permet de configurer les différentes sources d'interruption.

Tableau (II.5) Les différents bits de registre INTCON Bit

Au reset : INTCON = 0000000X

Bit 7 : GIE = Global Interrup Enable bit 1 = Autorise toutes les interruptions non masquées.
0 = Désactive toutes les interruptions.

Bit 6 : PEIE = Peripheral Interrupt Enable bit. 1 = Autorise les interruptions causées par les
périphériques. 0 = Désactive les interruptions causées par le périphériques.

Bit 5 : TMR0IE = Timer TMR0 Overflow Interrup Enable bit. 1 = Autorise les interruptions du
Timer TMR0. 0 = Désactive les interruptions du Timer TMR0.

Bit 4 : INT0IE = RB0/Int Interrup Enable bit. 1 = Autorise les interruptions sur la broche :
PB0/IRQ (pin6). 0 = Désactive les interruptions sur la broche : PB0/IRQ (pin6).

Bit 3 : RBIE = RB Port Change Interrup Enable bit. 1 = Autorise les interruptions par changement
d'état du Port B (PB4 à PB7). 0 = Désactive les interruptions par changement d'état du Port B
(PB4 à PB7).

14
Chapitre II Présentation du microcontrôleur PIC 16F877A

Bit 2 : TMR0IF = Timer TMR0 Overflow Interrup Flag bit. 1 = Le Timer à débordé. Ce flag doit
être remis à zéro par programme. 0 = Le Timer n'a pas débordé.

Bit 1 : INT0IF = RB0/Int Interrup Flag bit. 1 = Une interruption sur la broche PB0/IRQ ( pin 6)
est survenue. 0 = Pas d' interruption sur la broche PB0/IRQ ( pin 6).

Bit 0 : RBIF = RB Port Change Interrup Flag bit. 1 = Quand au moins une entrée du port B (de
PB4 à PB7) a changé d'état. 0 = Aucune entrée de PB4 à PB7 n'a changé d'état.
NB: Ce flag doit être remis à zéro par programme. Ceci n'est possible qu'après une lecture du
Port B.

II.5.7.4. Le registre du travail « W »

C’est un registre fondamental, utilisé par les pics pour réaliser toutes sortes de calculs. La
destination d‟un résultat peut en général être un emplacement RAM (f) ou le registre de travail
(W).

II.5.7.5. Le registre PIE1

Ce registre contient les bits individuels d'autorisation pour les Interruptions des
périphériques. Le bit 6 de INTCON (PEIE) doit être mis à "1" pour autoriser une
quelconque IT de périphérique.

II.5.7.6. Le registre PIR1

Ce registre contient les FLAG associés aux interruptions des périphériques. Ces Flag passent à
"1" quand une IT correspondante survient et que le bit d'autorisation est bien positionné. Ces
Flag doivent être remis à "0" par Soft.
II.5.7.7. Le registre PIE2
Ce registre contient les bits individuels d'autorisation pour les Interruptions de l'EEPROM en
écriture.

II.5.7.8. Le registre PIR2


Ce registre contient les flag pour les Interruptions de l'EEPROM en écriture. Bit 7

15
Chapitre II Présentation du microcontrôleur PIC 16F877A

II.5.7.9. Le registre « ADCON0 »


Ce registre permet de définir l‟horloge de conversion (bit ADCS1 et ADCS0), le canal à convertir
(CHS2, CHS1 et CHS0) et ADON; bit de mise en fonctionnement

II.5.7.10. Le registre « ADCON1 »

Il permet de déterminer le rôle de chacune des pins PA0, PA1, PA2, PA3 et PA4, et les 2
dernières sur le Port B en PB6 et PB7. Il permet donc de choisir si une pin sera utilisée comme
entrée analogique, comme entrée/sortie standard, ou comme tension de référence.

II.5.7.11. Les registres « PORTx et TRISx »

Tous les ports sont pilotés par deux registres :


 Le registre de PORTx, si le PORTx ou certaines lignes de PORTx sont configurées en
sortie, ce registre détermine l'état logique des sorties.
 Le registre TRISx, c'est le registre de direction. Il détermine si le PORTx ou certaines
lignes de port sont en entrée ou en sortie. L'écriture d'une 1 logique correspond à une
entrée (1 comme Input) et l'écriture d'une 0 logique correspond à une sortie (0 comme
Output). Les registres TRISx appartiennent à la banque 1 des SFR.

II.5.7.12. Registres « ADRESL et ADRESH »

Le convertisseur donne un résultat sur 10 bits, ce résultat sera sauvegardé dans deux registres
ADRESL et ADRESH. Ces deux registres contiennent 16 bits, et que nous n'en utilisons que 10
bits, on peut soit justifier le résultat à gauche ou à droite. Le choix de la méthode s'effectue à
l'aide du bit 7 du registre ADCON1 .

II.5.8. Le convertisseur analogique numérique [5]

ADC = Analog to Digital Converter = convertisseur analogique - numérique (CAN en français).

Le rôle du convertisseur analogique - numérique est de transformer une tension analogique en un


nombre binaire (proportionnel à la tension analogique). Le microcontrôleur PIC 16F877A a
l'avantage de posséder un module ADC interne, contrairement au PIC 16F84A (il faut alors
adjoindre un ADC externe, ce qui complique le schéma électrique et la programmation du PIC).
[4]

16
Chapitre II Présentation du microcontrôleur PIC 16F877A

Le convertisseur A/D convertit le signal analogique présent sur une de ses 8 entrées en son
équivalent numérique, codé sur 10 bits. Les pattes AN2 et AN3 peuvent être utilisées comme
références de tension ou comme entrées analogiques standard, les références de tension étant dans
ce dernier cas prises sur les tensions d’alimentations du PIC : VDD et VSS. (VDD pour le + et
VSS pour le -).

On peut donc numériser jusqu’à 8 signaux analogiques. Pas tous en même temps, bien sûr, étant
donné qu’il n’y a qu’un seul module de conversion pour 8 signaux d’entrée multiplexés. Mais si
vos signaux n’évoluent pas trop vite (fréquence basse), vous pouvez numériser le signal sur la
patte AN0, puis celui sur AN1…

II.5.8.1. Configuration de la conversion


a. Registre ADCON0

Tableau (II.6) Registre ADCON0

Au reset : ADCON0 = 00000000

Bit 7 et bit 6 : ADSC1 et ADSC0 = Clock Select bits.

Ces 2 bits permettent de choisir la vitesse de conversion :


- Si le bit ADCS2 = 0 (b6 du registre ADCON1) = diviseur par 2 inactif.
00= Fosc/2.
01= Fosc/8.
10= Fosc/32.
11= Oscillateur RC interne.

- Si le bit ADCS2 = 1 (b6 du registre ADCON1) = diviseur par 2 activé.


00= Fosc/4.
01= Fosc/16.
10= Fosc/64.
11= Oscillateur RC interne.

Le temps de conversion d'un bit est TAD.


 Pour une conversion totale des 10 bits il faut : 12.TAD.
17
Chapitre II Présentation du microcontrôleur PIC 16F877A

 Pour que la conversion soit correcte il faut que TAD soit au minimum de 1,6s.
 Avec l'oscillateur interne RC on a : TAD = 4 s typique (entre 2 et 6 s).

QUARTZ CLOCK TAD 12.TAD Ne convient pas si TAD<1,6µs


Fosc/2 = 4 MHz 0,25 µs 3 µs Ne convient pas
8 MHz Fosc/4 = 2 MHz 0,50 µs 6 µs Ne convient pas
Fosc/8 = 1 MHz 1 µs 12 µs Ne convient pas
Fosc/16 = 500 KHz 2 µs 24 µs OK
Fosc/32 = 250 KHz 4 µs 48 µs OK
Fosc/64 = 125 KHz 8 µs 96 µs OK
Fosc/2 = 10 MHz 0,1 µs 1,2 µs Ne convient pas
20 MHz Fosc/4 = 5 MHz 0,2 µs 2,4 µs Ne convient pas
Fosc/8 = 2,5 MHz 0,4 µs 4,8 µs Ne convient pas
Fosc/16 = 1,25 MHz 0,8 µs 9,6 µs Ne convient pas
Fosc/32 = 625 KHz 1,6 µs 19,2 µs OK
Fosc/64 = 312,5 KHz 3,2 µs 38,4 µs OK

Tableau (II.7) Temps de conversion TAD en fonction du Quartz et des bits du Clock
select

Bit 5 bit4 et bit 3 : CHS2 CHS1 et CHS0 = Channel Select bits.

Canal CHS2 CHS1 CHS0 PORT


0 0 0 0 PA0
1 0 0 1 PA1
2 0 1 0 PA2
3 0 1 1 PA3
4 1 0 0 PA4
5 1 0 1 PB6
6 1 1 0 PB7

Tableau (II.8) Sélection l’entrée de la conversion

Bit 2: GO/DONE: Status bit si ADON=1.


1 = Démarre la conversion A/D. Ce bit est remis à "0" par hard.
0 = La conversion A/D est terminée.

Bit 1 : Bit non implanté.

18
Chapitre II Présentation du microcontrôleur PIC 16F877A

Bit 0 : ADON : A/D on bit.


1= Convertisseur A/D en service.
0 = Convertisseur A/D à l'arrêt.

b. Registre ADCON1

Au reset : ADCON1 = 00000000

Bit 7: ADFM = A/D Result format.


1 = Justifié à droite. ADRESH ne contient que les 2 MSB du résultat. Les 6 MSB de ce registre
sont lus comme des "0".
0 = Justifié à gauche. ADRESL ne contient que les 2 LSB du résultat. Les 6 LSB de ce registre
sont lus comme des "0".

Bit 6 : ADCS2 = A/D Clock Divide by 2


1 = Clk divisée par 2
0 = diviseur par 2 inactif.

Bit 4 et 5 : VCFG0 et VCFG1 = Voltage Reference Configuration

c. Registre ANSEL

Ce registre permet la sélection des entrées analogiques.

Tableau (II.9) Registre ANSEL

II.5.9. Les Interruptions [4]

Une interruption provoque l’arrêt du programme principal pour aller exécuter une procédure
d'interruption. A la fin de cette procédure, le microcontrôleur reprend le programme principal à
l’endroit où il l’a laissé. A chaque interruption sont associes deux bits, un bit de validation et un
drapeau. Le premier permet d'autoriser ou non l'interruption, le second permet au programmeur
de savoir de quelle interruption il s'agit.

19
Chapitre II Présentation du microcontrôleur PIC 16F877A

Sur le 16F877A, les interruptions sont classées en deux catégories, les interruptions primaires et
les interruptions périphériques. Elles sont gérées par les registres :

INTCON: GIE PEIE T0IE INT RBIE T0IF INTF RBIF


E
PIE1 (bk1): PSPI ADIE RCI TXI SSPIE CCP1I TMR2I TMR1I
E E E E E E
PIR1 (bk0): PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2I TMR1I
F F
PIE2 (bk0): EEIE BCLI CCP2IE
E
PIR2 (bk1): EEIF BCLIF CCP2IF
OPTION_REG(bk1) INTED
: G

Tableau (II.10) Les différents registres d'interuption

· Toutes les interruptions peuvent être validées/interdites par le bit INTCON.GIE


· Toutes les interruptions périphériques peuvent être validées/interdites par le bit INTCON.PEIE
· Chaque interruption peut être validée/interdite par son bit de validation individuel

- Les sources d'interruption


 Interruption : Source d’interruption Validation Flag PEIE
 T0I : Débordement Timer 0 INTCON, T0IE INTCON, T0IF
 INT : Front sur RB0/INT INTCON, INTE INTCON, INTF
 RBI : Front sur RB4-RB7 INTCON, RBIE INTCON, RBIF
 ADI : Fin de conversion A/N PIE1, ADIE PIR1, ADIF
 RCI : Un Octet est reçu sur l'USART PIE1, RCIE PIR1, RCIF
 TXI : Fin transmission d'un octet sur l'USART PIE1, TXIE PIR1, TXIF
 SSPI : Caractère émis/reçu sur port série synchrone PIE1, SSPIE PIR1, SSPIF
 TMR1I : Débordement de Timer 1 PIE1, TMR1IE PIR1, TMR1IF
 TMR2I : Timer 2 a atteint la valeur programmée PIE1, TMR2IE PIR1, TMR2IF
 PSPI : Lecture/écriture terminée sur Port parallèle (16F877) PIE1, PSPIE PIR1, PSPIF
 CCP1I : Capture/comparaison de TMR1 avec module CCP1 PIE1, CCP1IE PIR1,
CCP1IF

31
Chapitre II Présentation du microcontrôleur PIC 16F877A

 CCP2I : Capture/comparaison de TMR1 avec module CCP2 PIE2, CCP2IE PIR2,


CCP2IF
 EEI : Fin d'écriture en EEPROM PIE2, EEIE PIR2, EEIF
 BCLI : Collision sur bus SSP en mode I2C PIE2, BCLIE PIR2.BCLIF

II.6. Conclusion

Dans ce chapitre nous avons donné une description détaillée du PIC 16F877A, de son brochage,
de ses périphériques, ainsi que quelques composants essentielles au travaille etc...

Maintenant, on est prêt de passer à la conception puisque le composant le plus important dans le
système est déjà familier.

31
CHAPITRE III
Etude et réalisation pratique du
Télémètre à ultrasons
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Etude et réalisation pratique du Télémètre à ultrasons

III.1. Introduction

Dans ce chapitre on va expliquer d'une manière simple la structure et le fonctionnement de


Télémètre à ultrason basée sur le PIC16F877A, Nous allons dans ce chapitre décrire brièvement
les différentes étapes de la réalisation du projet, on achemine notre travail par l’environnement
matériel et logiciel qui assure la réalisation de notre projet électronique et de ses applications.

III.2. Présentation générale du projet

Notre projet a pour objectif la réalisation d’un télémètre à ultrasons capable de mesurer la
distance entre la carte et certain obstacle dont le principe utilisé de la propagation des ondes
ultrasonores de 40 kHz dans l’air. Ces derniers ont une vitesse approximative de 340 m/s.
L'application a passé par deux phases présentées dans le schéma ci-dessous :

Réalisation d'un télémètre à ultrasons

à base d'un PIC 16F877A

Partie électronique : Partie informatique : Programmation


du PIC avec le programme Micro C, la
La réalisation de la carte électronique simulation des montages se fait par le
(sur la plaque d'essai). simulateur ISIS Professionnel.

Figure (III.1) Les différentes phases de la réalisation

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.3. Les différents blocs

Notre carte comme l’indique la figure ci-dessous est menue de plusieurs unités qui assurent le
bon fonctionnement de la carte électronique du télémètre :

Un élément d’alimentation « alimentation stabilisé ». Ce bloc a pour but l’alimentation des


différents blocs de la carte électronique.
Un microcontrôleur PIC 16F877A qui gère tous les traitements et les liaisons entre les
différents blocs de la carte.
Un afficheur LCD (2 lignes, 16 caractères) qui permet d’afficher les résultats, le traitement
faisant intervenir le microcontrôleur PIC.
Un émetteur et un récepteur ultrasons qui permettent d'envoyer et recevoir des ondes
ultrasonores à une fréquence précise.
Un circuit d'amplification pour que les signaux envoyés et reçus doit avoir une mise en
forme.

Affichage

Emetteur ultrasons
Obstacle
Récepteur ultrason

Alimentation 5V

Amplification

Unité de traitement et de calcul

Figure (III.2) Schéma synoptique des différents blocs de télémètre à ultrason

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.4. Etude et réalisation de télémètre :

L'étude et la réalisation se divisent en deux parties :

III.4.1. Partie électronique

Dans une première étape nous essayerons d’analyser les différents montages qui présente la
solution de notre projet, dans une autre nous allons faire l’association de ces montages qui nous
permettrons d’avoir une conception pratique et simple à manipuler.

Le montage électronique général de simulation de notre projet de réalisation est réalisé à l'aide de
simulateur PROTEUS ISIS de l’entreprise Labcenter Electrnics.

III.4.1.1. Présentation de l’ISIS :

Figure (III.3) photo de logiciel de simulation ISIS

ISIS est simulateur des cartes électroniques intégré dans le logiciel PROTEUS8 de l’entreprise
Labcenter Electronics. L’utilisation de ce logiciel est simple grâce à l’interface graphique qui
rend claires tous les commandes.

La bibliothèque est géante et contient presque tous les composants électroniques connus. De plus
la recherche et l’importation sont simples. Isis est orientée vers les électroniciens débutants, ainsi
que les développeurs et les professionnels.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Le montage électronique général de simulation de notre projet de réalisation est présenté par la figure
(III.4).

Figure (III.4) Schéma électronique général de la carte à réaliser


33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.4.1.2. Les transducteurs à ultrasons : [1]

Figure (III.5) Transducteurs à ultrasons

A. Présentation des capteurs :

Les transducteurs à ultrasons utilisés sont piézoélectriques : ils sont composés d'une lamelle d'un
matériau (quartz ou céramique) ayant la propriété de se dilater sous l'action d'un champ
électrique.

Inversement, ils donnent naissance à un champ électrique lorsqu'ils sont soumis à une pression
mécanique. Il est donc possible de les utiliser à la fois comme émetteurs et comme récepteurs.
En d'autres termes, il peut être utilisé à la fois comme haut-parleur et comme microphone.

Ils sont actuellement également utilisés dans des projets électroniques, qui portent sur la détection
d’obstacles par un robot mobile.

- Utilisation en émetteur
Une variation de tension électrique imposée aux bornes d’un de ces transducteurs va provoquer
l'émission d'une onde acoustique ultrasonore (vibration de l’air).
- Utilisation en récepteur
Une onde ultrasonore environnante va provoquer l'apparition de variations de tension
(d’amplitudes très faibles) à ses bornes.
B. Propriétés

La bande passante de ces transducteurs est très étroite, et centrée sur une valeur située au-delà
des fréquences audibles. Les transducteurs utilisés auront pour fréquence centrale 40 kHz.
Ces composants peuvent être également appliqués à la mesure de forces (par exemple un poids),
de pressions, d'accélérations, etc.
L'espace d'efficacité, c'est à dire l’espace dans lequel les ondes sont émises ou seront perçues,
ne dépasse pas quelques mètres en profondeur, dans un cône formé par un angle d'une
quarantaine de degrés Figure (III.6).
33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Figure (III.6) L'espace d'efficacité de transducteur ultrason

C. Principe de la mesure électronique

La mesure d'une distance peut être basée sur la mesure du temps que met une onde acoustique
pour aller de la source ultrasonore (ou sonore) à un obstacle, s'y réfléchir et revenir. Une fois ce
temps connu, et sachant que la vitesse du son dans l’air est de 340 mètres/seconde, la distance
entre la source et l’obstacle peut être déduite.

D'un point de vue électronique, on peut utiliser un compteur, commençant à compter à l'émission
de l'onde, et s’arrêtant à la réception de l'onde réfléchie. L'état du compteur, proportionnel à la
distance recherchée puisque la vitesse de déplacement de l'onde est constante, peut alors être
interprété pour déterminer et afficher la distance correcte.
Pour éviter d'effectuer des faux calculs entre l'état du compteur et la valeur à afficher, il suffit de
choisir une fréquence d'horloge adéquate, pour que l'état de Timer de microcontrôleur
corresponde directement à la distance en centimètres à partir d'une formule mathématique, une
fois le Timer est arrêté, il suffit alors d'utiliser directement son état sur cette formule est afficher
le résultat sur un afficheur.

L'affichage doit se faire seulement à intervalles de temps réguliers, ou une fois que l'écho du
signal émis est reçu, c'est à dire une fois que le Timer a été arrêté. Dans le premier cas, il faut
s’assurer que cet intervalle corresponde à une distance très grande devant la distance maximale
à mesurer.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

D. Emission-réception

La partie utile du signal émission envoyé par le module de "commande" au module "émission-
réception" est constituée par un front. Il doit être utilisé pour déclencher l’émission d’un signal
généré par le module d’émission-réception, par exemple une impulsions logiques dont la période
devra être choisis à partir de module CCP1 de microcontrôleur de façon à avoir le donner
naissance à un écho exploitable par le système.

L'écho reçu ayant une amplitude très faible, la tension présente aux bornes du transducteur
récepteur doit être amplifiée d'un facteur très important. Un ou plusieurs étages amplificateurs à
transistors doivent donc être utilisés.

E. La bande de fréquence des transducteurs à ultrasons

Les signaux envoyés au transducteur émetteur doivent donc avoir une fréquence fixe. De plus,
ce que l’on cherche à capter à l’aide du transducteur récepteur est l’écho de ce signal renvoyé par
un obstacle.

Donc la partie utile du signal émis est son début. Il n’est donc pas nécessaire que le signal dure
longtemps. A l’opposé, il faut que ce signal comporte quand même une période adéquate, pour
pouvoir donner naissance à un écho exploitable. Ces 2 constatations nous amènent à déterminer
un compromis, dans lequel notre signal émis sera constitué de quelques dizaines de périodes. On
appellera ce signal une salve d’impulsions.

III.4.1.3.Principe de détection

Le principe du calcul de la distance est simple : il faut émettre une impulsion ultrasonore, et
compter le temps d'attente à la réception. Étant donné que la vitesse du son est connue, on aura :

𝒄∗𝒕
𝒅= (III.1)
𝟐

Divisé par deux, car le temps correspond à un aller - retour.

Une onde sonore est caractérisée par un mouvement d'ensemble des particules constituant le
milieu de propagation. L'étude de la propagation des sons fait intervenir les lois physiques des
modes de transfert de l'énergie mécanique, ainsi que de la mécanique des fluides.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Remarque : La vitesse du son dans l'air est plus ou moins constante à 330m / s (au 0 º C) - elle
varie principalement avec la température (~ 340m / s au 20 º C). Dans ce projet, nous serons
d'une valeur de 340m / s c'est à dire qu'il est supposé que le projet est utilisé à l'intérieur. La
valeur peut être modifiée à tout ce que l'entourage exige.

III.4.1.4. Les particularités électriques :

Les pins d’alimentation sont placés d’une part et d’autre en position centrale du PIC. La
connexion de MCLR au +5v, cette pin est utilisée pour effectuer un reset du composant en cas
de connexion à la masse.

On trouve le quartz, qui peut être remplacé par un résonateur ou par un simple réseau RC. Les
condensateurs de découplage, du fait de la fréquence plus importante du quartz utilisé, sont de
valeur environ 22pF. La tolérance sur ces composants permet d’utiliser d’autres valeurs.
La figure si dessous présente le brochage du circuit d’oscillation et de reset de PIC16F877A.

Figure(III.7) Brochage du circuit d’oscillation et de reset de PIC16F877A

34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.4.1.5. Le QUARTZ :

● Descriptions

Le quartz est composé de silice Si O2, qui est une matière minérale, une fois taillé en fine lamelle
le quartz présente la particularité d'être piézo-électrique. Généralement incolore on peut le
trouver dans la nature mais on l'obtient maintenant surtout par synthèse dans l'industrie.
● Symboles

Figure(III.8) Schéma de QUARTZ

Notre application ne nécessite pas une grande vitesse de traitement, c'est pour cela on a utilisé pas un
oscillateur externe. L'application fonctionne parfaitement sur l'oscillateur interne de 4Mhz sur le PIC
16F877A, mais il doit être stabilisé avec un quartz externe de même valeur.

III.4.1.6. Les Transistors BC548B : [2]

Figure (III.9) : Transistor BC548B

Un transistor BC548B est un négatif - positif-négatif ( NPN ) transistor qui est utilisé à de
nombreuses fins . Avec d'autres composants électroniques, tels que des résistances, des bobines
et des condensateurs , il peut être utilisé en tant que composant actif pour les commutateurs et les
amplificateurs . Comme tous les autres transistors NPN , ce type a une borne d'émetteur , une
borne de base ou de contrôle , et une borne de collecteur . Dans une configuration typique , le
courant circulant à partir de la base à l'émetteur contrôle le courant de collecteur . Une courte ligne
verticale , qui est la base , peut indiquer le transistor schématique d'un transistor NPN , et
l'émetteur , qui est une ligne diagonale reliant à la base, est une tête de flèche pointant vers
l'extérieur à partir de la base.

Le transistor BC548B est un transistor bipolaire NPN il n'a pas de caractéristique particulière (sauf
un bon produit Gain Bande 250Mhz et peu de bruit).

34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

L'entrée sur la base se comporte comme une diode et il faut donc un minimum de tension (0,63V)
pour que le transistor réagisse. Ensuite, il faut savoir qu'un transistor bipolaire gère des courants
et pas des tensions. La formule magique donc est: Le courant collecteur, c'est "béta" fois le courant
base ( et "béta"=300 typique pour le BC548B).

III.4.1.7. Diode de commutation 1N4148 : [2]

Figure (III.10) : Diode 1N4148

- Une diode laisse passer le courant dans un sens de l'anode vers la cathode et pas dans l'autre .
- La diode conduit le courant en sens unique de l' anode à la cathode .De plus , la tension de l'
anode doit être de 0,7 V supérieur à celle de la cathode pour que la diode conduise le courant ;
cette tension s' appelle la tension de seuil .

- Une diode souvent rencontré , la diode de commutation au Silicium 1N4148.

- 1N4148 c'est une diode de signal, c'est a dire qu'elle sert a transmettre des informations, elle est
relativement rapide, mais elle ne supporte pas trop de courant (200 mA , 75V max ).

- La variation de la tension de diode de 2.5 mV.°C-1 peut être employée pour faire varier la tension
d’alimentation du pont de Wheatstone. Des diodes 1N4148 peuvent être utilisée à cette fin.

III.4.1.8. Le comparateur intégré LM311 : [3]

Un comparateur est un montage qui permet de comparer une tension variable à une ou plusieurs
constantes, et de réaliser une mise en forme des signaux. En sortie du comparateur, il ne peut y a
voir que deux valeurs stables et distinctes.

LM311 C'est un circuit intégré spécialisé dans la comparaison analogique de tensions. Il diffère
de l'ADI (Convertisseur analogique/numérique) par un meilleur temps de réponse (≈ 50V/µs) et
par un étage de sortie à "collecteur ouvert".

34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Le LM311 est un comparateur avec sortie de type émetteur et collecteur ouverts. Son schéma de
principe est donné à la figure suivante:

Figure (III.11) : schéma de principe du LM311

III.4.1.9. Potentiomètre

Un potentiomètre est un type de résistance variable à trois bornes, dont une est reliée à un curseur
se déplaçant sur une piste résistante terminée par les deux autres bornes.

Figure(III.12) Photo d’un Potentiomètre

- Fonctionnement

Les potentiomètres sont couramment employés dans les circuits électroniques. Ils servent par
exemple à contrôler le volume d'une radio. Ils convertissent une position en une tension.

III.4.1.10. Afficheur LCD :

Figure(III.13) Photo d’un afficheur LCD

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

- Présentation :

Dans notre carte on est besoin d’un afficheur LCD, autrement appelé un afficheur à cristaux
liquide. Il consomme relativement de 1 à5 mA et constitué de deux lames de verre, distante de
20 µm environ, sur lesquelles sont dessinées les mers nantisses formant les caractères.
L’application entre les deux faces d’une tension alternative basse fréquence de quelques volts
(3à5V) le rend absorbant .Un afficheur à cristaux liquide ne peut être utilisé qu’avec un bon
éclairage ambiant .Son lisibilité augmente avec l’éclairage

- Principe de fonctionnement :

Dans notre projet on va utiliser le mode 4 bits de l’afficheur LCD. Dans ce mode, seul les 4 bits
de poids fort (D4à D7) de l’afficheur sont utilisés pour transmettre les données et les lires.

Les 4bits de poids faible (D0à D3) sont alors connectés à la masse, on a donc besoin hors
alimentation de sept fils pour commander l’afficheur.

III.4.1.11. Les particularités de montage :

Le signal de 40khz est facilement généré par le microcontrôleur à partir de module de CCP, mais
la détection nécessite un amplificateur sensible. On utilise un amplificateur de trois transistors
pour le récepteur.

Figure (III.14) schéma de bloc d'amplification

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

R1= 100kΩ et R2 = 100kΩ et Ve = 5V. Donc la tension au borne de récepteur vaut à :


𝐑𝟐
𝐕𝐨𝐮𝐭 = 𝐕𝐢𝐧 ∗ (III.2)
𝐑𝟏+𝐑𝟐

100𝐾
= 5 ∗ = 2,5𝑉 (III.3)
200𝑘

Calcule de courant délivré :

On a V = 5V.

𝑉
R1 = R2 = 100KΩ. Donc 𝐼= (III.4)
𝑅1+𝑅2

5
𝐼= = 0,025 𝑚𝐴 (𝐈𝐈𝐈. 𝟓)
100000 + 100000

Le signale délivrée par le récepteur est plus petit pour être détectée comme un echo, pour cette
raison on utilise un bloc d'amplification a trois étage dit "à émetteur commun" pour avoir une
amplitude de signal utile exploitable.

C3 c'est un condensateur de liaison. Son rôle est de permettre le passage des signaux d'entrée
sans que les potentiels continus présents sur la base et le collecteur du transistor influent sur le
fonctionnement du générateur et de l'étage suivant.

Son impédance en continue doit être faible en régime variable. On utilise des condensateurs non
polarisée d'une valeur de 100nF pour leurs impédance restent très faible même pour les basse
fréquences.

Les résistances de l'émetteur R4 et R7 est nécessaire pour polariser correctement le transistor,


mais sa valeur de 2,2kΩ présente une diminution de gain en régime variable. On place en
parallèle à cette résistance un condensateur de découplage d'une valeur de 100 nF qui se comporte
comme un circuit en alternatif et comme une impédance infinie en continue.

Les valeurs des résistances du montage sont calculées pour obtenir le point de fonctionnement
choisi. Les valeurs du courant de collecteur Ic sont choisies en fonction de l'application
envisagée.

Pour un amplificateur plus stable on utilise sur le dernier transistor le même type de transistor
comme les deux autres.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Expérimentalement, on constate que la stabilisation thermique du montage est satisfaisante quand à


l’émetteur une resistance Re d'environ de 2,7 kΩ.

Le montage de pré-amplification est suivi par un détecteur de crête et un comparateur qui fixe le
seuil de sensibilité de telle sorte que les réflexions parasites (signaux plus faibles) sont ignorées.

- Détecteur de crête [4]

Un détecteur de crête est un montage permettant de mémoriser la tension la plus élevée parmi
celles mesurées en entrée. Ici, c'est le condensateur C5 qui joue le rôle de mémoire.

Le circuit équivaut à une diode en série avec C5, elle conduira dès que la tension d'entrée sera
supérieure à la tension aux bornes du condensateur. Le cas échéant, elle chargera ce dernier à
cette nouvelle valeur de tension. Si Ve < Vs, la diode sera bloquée et la tension aux bornes de
C5 restera inchangée.

 Lorsque la tension Ve augmente, C5 se charge à travers la diode, qui est alors passante.
 Lorsque la tension Ve diminue, C5 se décharge à travers la résistance R10.

Ve Vs

Figure (III.15) schéma de bloc de détecteur de crête

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Figure (III.16) schéma du bloc de comparateur

Figure (III.17) schéma du bloc complet

- Les limites pratiques de l'application :

La distance minimale de cette application est d'environ 15 cm. En regardant la sortie de récepteur
qu'elle devrait être plus précise à des distances inférieures - il est inexact d'environ 12cm qui est
encore assez bonne.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

La distance maximale est limitée par la performance de sensibilité, le gain et le bruit de


l'amplificateur de réception ainsi que la puissance d'émission et la durée de transmission,
expérimentalement elle est d'environ 1 m et quelques.

III.4.2. Programmation du PIC

Le PIC utilisé dans cette application est programmé en C. L'utilisation du langage C permet
d'alléger considérablement le développement d'une application.

Programme *.hex Logiciel


Logiciel de
de compilation
COMPILATION:
Micro C
Fichier source C
PIC C COMPILER
Algorithme
Logiciel
Logiciel de
de simulation
simulation:
ISIS
ISIS
Traduction

Logiciel
Logiciel de
de transfert
Programme *.hex
transfert:
(code machine WinPic 800
+adresses) IC_PROG
Transfert
du
programme
vers PIC

Carte de
programmateur
de PIC

Figure (III.18) : L'acheminement de la programmation

Cette étape de la programmation consiste à travailler au tour du software pour raison du concevoir
un programme adéquat et réduit pour met en œuvre le PIC à calculer la distance continuellement
et à communiquer avec les capteurs en temps réel.

Pour développer le programme source il faut un éditeur de texte, dans notre cas nous avons utilisé
comme outil de programmation le « Micro C Pro for PIC ». C'est un programme de la société
(Microelectronica) adapté aux microcontrôleurs PICs.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.4.2.1. Présentation de Compilateur mikroC POUR PIC [5]

Le langage mikroC pour PIC a trouvé une large application pour le développement de systèmes
embarqués sur la base de microcontrôleur. Il assure une combinaison de l'environnement de
programmation avancée IDE (Integrated Development Environment), et d’un vaste ensemble de
bibliothèques pour le matériel, de la documentation complète et d’un grand nombre des
exemples.

Après la compilation le fichier source est sauvegardé avec l'extension .C.


Une fois que le programme source est figé, le compilateur mikroC donne une facilitée du
programmer le pic directement en transformer le programme source en un programme exécutable
"binaire". L'extension du fichier sera alors .HEX (hexadécimal).

III.4.2.2. conception du programme implanté dans le microcontrôleur

Le déroulement de notre programme était réalisé en utilisant deux modes essentielles présentée
en microcontrôleurs qui sont le Timer et le signale PWM.
 Le mode PWM : le pic fournit les imputions nécessaires pour que l'émetteur envoie des
ondes ultrasonores a une fréquence précisée par le PWM, à savoir les ondes envoyées
reçues par le récepteur.

 Le mode Timer : dans le même temps que le signale est émis par le PWM, le Timer 1
commence le comptage du temps en us, nous ignorons toutes les interruptions délivrées
par le pic, et nous intervenons à la réception dans quelques instants, juste le récepteur
reçoit les ondes émis par l'émetteur une tension a ses bornes se produise qui permet à
l'aide du microcontrôleur de stopper le Timer et de stocker son contenue dans un
compteur.

Le compteur contient le nombre des cycles d'horloges à partir de l'envoie de l'impulsion à la


détection. On calcule maintenant la distance à partir de ce résultat et la vitesse du son en l'air
(340 m/s) avec une formule qui fournit la distance en cm sur l'afficheur LCD.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

- Une fonction d’interruption :

L’exécution d’une fonction d’interruption répond à un évènement qui peut être interne
(périphérique : CAN, TIMER, EEPROM, USART, I2C) ou externe (RB0, PORTB) du
microcontrôleur. L’appel d’une fonction d’interruption ne dépend pas de programme principal,
mais elle l’interrompe pendant son exécution.

On utilise une fonction d’interruption de débordement du Timer1 pour le remettre à zéro


pendant l'exécution du programme ce qui implique qu'il y a un dépassement de la distance
maximale supportée par notre télémètre.

L'organigramme suivant représente le fonctionnement général de l'application. Les abréviations


ci-après aident le lecteur de ce mémoire de comprendre l'organigramme.

XT : fréquence d'horloge moins de 4MHZ

Cnt : Compteur

S : Le nombre des cycles de Clock

D : La distance en cm

T1 : Timer 1

T1OV : Le flage de débordement du Timer1

T1H : Registre pour les poids forts

T1L : Registre pour les poids faibles

PWM : module de modulation de largeur d'impulsion

duty-cycle : largeur d'impulsion

freq : La fréquence de PWM

clk : la période d'horloge


34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Début

Choisir le PIC: PIC 16F877, choisir la fréquence d'horloge 4Mhz, configurer le type d'oscillateur comme XT,
désactiver toutes les interruptions

Configuration des connections de LCD

Déclaration des variables: cnt ; S ; d ;

Configuration du T1 Configuration des portes :

- Oscillateur interne ; pas de synchronisation avec La pâte B0 du port B comme entrée


l'oscillateur externe ; et le pré-diviseur 1:1

Initialisation
Si non

PWM : freq= 40000hz et duty-cycle = 50 %

Effacer les registres du T1 If

Démarrer T1
Si oui T1OV = 1
Démarrer PWM Stopper T1

Désactiver l'interruption du T1OV

Delay Affichage de
cnt = T1H dépassement
de distance
cnt <<= 8 max

PWM Stop
T1OV = 0
S += cnt

Delay * 2 s = s /(clk * 1000000/4)

d = (s * 340 * 100) / 2

Capture
Affichage
en cm

Figure (III.19) Organigramme du programme implanté dans le microcontrôleur

34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

Une fois le programme est compilé, le fichier binaire sera transféré vers la mémoire programme du
PIC à travers un programmateur. Le logiciel permettant ce transfert est le (WINPIC800 v 3.64 f).

III.4.2.3. Carte de programmateur ICPROG universel : [6]

Figure (III.20) : schéma de programmateur ICPROG universel

- Port COM : la lésion entre le PC et le programmateur

- Support du différant type de microcontrôleur.

- LED pour détecter le fonctionnement de la programmation

ICPROG est une famille de programmateurs pour microcontrôleur PIC, ils permettent de
programmer les microcontrôleurs, ainsi que de programmer certaines mémoires EEPROM.
Certains modèles proposent également des fonctions d'analyseur logique et de terminal série. Il
était intégré dans une carte de démonstration qui incluait une LED pour détecter le
fonctionnement de la programmation, et le port COM, ainsi que le support du différant type de
microcontrôleur.

ICPROG possède beaucoup plus de possibilités et c'est un outil de développement.

34
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.4.2.4. Etapes de programmation du PIC avec le logiciel WINPIC 800

On Lance le logiciel WinPic 800 en double cliquant sur l'icône suivant :

Figure (III.21) L'icône de WinPic 800

On Sélectionne dans le menu déroulant Langage la langue Français.

On clique sur le bouton « Hardware », on sélectionne le programmateur « JDM » et le


numéro du port série connecté à notre programmateur « COM1 ».

On clique sur le bouton « Test hardware », si le programmateur fonctionne correctement.

On met le programmateur hors tension et nous insérons le microcontrôleur dans le


programmateur (son support correspondant), en respectant le sens. On met ensuite le
programmateur à nouveau sous tension. La led doit s'illuminer.

On lance à nouveau le logiciel WINPIC 800, et on clique sur le bouton « detection device
», il apparait un message de détection la famille de PIC inséré (PIC 16F877)

On clique sur le bouton « Effacer » afin de supprimer l'éventuel contenu de la mémoire


de notre microcontrôleur.

On clique sur le bouton « Ouvrir » afin de sélectionner le fichier HEX à programmer au


sein du microcontrôleur.

On clique sur l'onglet « Fusibles » afin de définir la configuration liée à la programmation


de notre microcontrôleur PIC.

On clique ensuite sur le bouton « Programmer » comme ci-dessous, durant cette phase, la led
PROG du programmateur doit clignoter.
Maintenant, on peut retirer le microcontrôleur de son support et on passe maintenant à la
réalisation sur la plaque d'essais.

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.5. Réalisation de la carte électronique

Notre stratégie dans la partie réalisation est basée sur la simplicité des montages et le moindre
coût, pour assurer le bon fonctionnement de notre carte. Pour réduire le nombre de connexions.

La photo ci-dessous représente le montage réalisé sur la plaque d'essai.

Figure (III.22) Montage réalisé sur la plaque d’essais

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

La photo ci-dessous représente une description de brochage du montage réalisé.

Alimentation 5V
Emetteur récepteur
Ultrason

Bloc
d'amplification

Bloc d'émission
Afficheur
LCD
Détecteur de
crête

Bloc
comparateur

Bloc de commande

Figure (III.23) Description de brochage de montage

33
Chapitre III Etude et réalisation pratique du Télémètre à ultrasons

III.6 CONCLUSION

La réalisation pratique des montages était pour nous une expérience très enrichissante du fait que
nous avons vécu un cas réel de conception et fabrication. Les expériences que nous avons menées
durant ce chapitre nous ont montré que l’étude théorique et l’étude par simulation étaient très
proches de la réalité pratique, sauf que la théorie ne tient pas compte des problèmes d’origine
aléatoire Nous avons donc pu tester notre montage afin de déterminer ses performances et limites.
D’autre part, on peut même utiliser des capteurs de courant et de tension. Ces capteurs vont être
relies à notre PIC 16F877 ce qui nous permet de mesurer la distance sans faire des calculs
complexes, c’est une étape qu’on pourrait l’envisager dans le future.

33
CONCLUSION GENERALE
Conclusion générale

CONCLUSION GENERALE

Ce projet nous a permis de faire le lien entre l’étude théorique d’un montage électronique et
sa réalisation pratique dans le but d’estimer la marge de différence entre ces deux parties, puisque
parfois on néglige quelques paramètres dans nos calculs mais on les trouve dans la réalisation, et
cela dans le but de trouver des solutions pratiques afin d’atteindre notre objectif.

Nous avons ensuite procédé à des tests pour vérifier le bon fonctionnement de notre appareil
afin de déterminer les limites d'utilisation et cela en visualisant à l’aide de l’oscilloscope l’allure
des différents signaux de tension aux entrées et aux sorties des différents circuits utilisés ainsi que
de mesurer différentes valeurs de tensions électriques en utilisant un multimètre numérique de très
bonne résolution.

Ce projet est multidisciplinaire, car il englobe deux aspects au meme temps tel
que: l'électronique, et l'informatique.

Cette diversité nous a permis d'approfondir nos


connaissances théoriques d'acquérir une expérience au niveau de réalisation pratique notamment :

 La réalisation pratique des circuits électroniques sur la plaque.


 La compréhension de l'architecture des microcontrôleurs , et apprendre sa programation
en Langage C.
 La connaissance des plusieurs fonctionalitées des composantes éléctroniques.
 Lafamiliarisation avec le simulateur « ISIS professionnel » et ses plusieurs fonctionalités

Pour le futur nous proposons la réalisation d’un télémètre à longue portée qui mesure la
distance des deux côtés en même temps et cela en utilisant un microcontrôleur plus performant
que celui déjà utilisé pour notre projet.

58
BIBLIOGRAPHIE
Bibliographies

Bibliographie

Chapitre I
[1] Robert MUGABUHAMYE et Damien RODRIGUES. Exposé de recherche.
Télémètre ultrasons. Université François-Rabelais. Tours, France.

[2] Pourcelot .L. Les ultrasons "Applications médicales". Université F. Rabelais et CHRU
Bretonneau, Tours.

[3] Mahaut S. Thèse de doctorat. Contribution de La Focalisation dynamique à la caractérisation


ultrasonore des défauts. Uuniversité Paris VII, octobre 1997.

[4] Ghalmi Z. Thèse en doctorat. Contribution au développement d'un capteur ultrasonique pour
mesurer l'épaisseur de la glace. Présenté à l'université du Québec à Chicoutimi, Mars 2006.

[5]Site internet: http:// public.Iutenligne.net/electronique/nardi/Doppler/ Doppler1/introduction.


html

[6] Pierre Curie. Document de recherche. Les ultrasons. (Paris, 15 mai 1995).

[7] TE. LANTY Gaëtan PIERRE Mathieu [et al]. Projet de fin d'étude. Télémètre à ultrasons. Du
5 au 9 janvier 2004.

Chapitre II
[1] Site internet : http://www.abcelectronique.com/bigonoff/.

[2] Taboui Mouna. projet de fin d’étude. Conception et réalisation d'une carte d'éclairage
publique. ISET de Béja.Tunisie. (2008).

[3] Sakli, M. Projet de fin d'étude en Vue de l'obtention du diplôme d'ingénieur en génie
électrique et automatique. Régulation Industrielle de Processus, Système de Régulation de niveau
d'eau, Interface à base de PIC 16F877, Commande et Régulation avec LabVIEW. Gabès, Tunisie.
(2007).

[4] BEN HADDADA Tarek et HAMAM Mohammed Annacer et MAHJOUB Riadh. Rapport de
projet de fin d’étude. Un robot suiveur de ligne. Université El Manar Tunisie. 2010.

[5] Noxyben. Cours de programmation des PIC en C, microcontrôleurs faciles pour électronicien
amateur. Partie 01. 2007.
61
Bibliographies

[6] D.MENESPLIER. Documentation interne ELE. Microcontrôleurs PIC 16F877 et 16F877A.


2009.

Chapitre III

[1] Benoît Decoux. Projet d’électronique P2 n°1. Télémètre à ultrasons. Oct. 2000.

[2] P. Poulichet. Cours sur l’électronique de conditionnement du capteur. Novembre 2006.

[3] Cours. Electronique Oscillateurs à relaxation Monostables .Septembre 2004.

[4] Site internet : http://electronique.aop.free.fr/AOP_sature/12_detecteur_crete.html

[5] V. TOURTCHINE. Cours de programmation en mikroC. Application pour les


microcontrôleurs de la famille PIC .BOUMERDES. 2012.

[6] Boussid, S, Archouch. A. Mémoire de fin d'étude en vue de l'obtention du diplôme de Master
en Informatique Industrielle. Etude et réalisation d’une Commande automatique de l’éclairage
publique à base de microcontrôleur pic16f877. Université Larbi Ben M'hidi Oum El Bouaghi.
(2011).

61
ANNEXE
I. Nomenclature des composants électroniques utilisés

Composent référence Quantité valeur descriptions

Circuit intégré PIC16F877A 1 ∕ U2


Comparateur 1 ∕ U1
LM311
Emetteur recepteur
Capteur Ultrasons 400ST/R160 2 ∕

Quartz ∕ 1 4MHZ X1
Botton poussoir
∕ 1 ∕ ∕

Transistor BC548B 5 NPN Q 1, 2, 3, 4, 5

Resistances ∕ 3 2k2Ω R4, 7, 14


2 2k7Ω R 3, 8

4 100 kΩ R 1. 2, 8, 12

∕ 3 100 Ω R 5, 11, 13
∕ 2 1 kΩ R 9, 10

Capacités ∕ 6 100 nF C1 , 2, 3, 4, 5, 6
∕ 2 22 pF C7, 8

Diodes Diode 1N 4148 2 ∕ D1, D2


Potentiomètres ∕ 1 1 kΩ VEE

∕ 1 22 kΩ RV1
Afficheur LCD HD44780U 1 (2x16) LM016L
II. Le Transistor BC548B:
III. Diod 1N 4148
IV. Transducteurs ultrasons
Resumé

Dans ce travail nous avons présenté une étude et realisation d'un telemetre à
ultrasons, capable de mesurer la distance. Le principe utilisé est celui de la propagation des ondes
ultrasonores. Ces derniers ont une vitesse approximative de 340m/s.

Il est équipé par des capteurs d'ultrasons permettant d'envoyer des ondes ultrasonors et de
recevoire ces derniers avec une frequence de 40khz.

La commande est basé sur le microcontrôleur PIC16F877A,ce dernier, en exécutant un


programme que nous avons développé suivant un cahier de charge, va fournir un signal
PWM au bloc d'emeteur via un transistor de darlington, en suite il doit recoit un signale à l'entree
qui est l'echo de la reflexion de l'onde emis. A l'aide d'une formule mathematique il calcule la
distance et il l'affiche sur un ecran LCD

Mots clés : Telemetre à ultrasons, microcontrôleur, Transducteurs ultrasons, Propagation des


ondes, Emission, reception.

Abstract

In this work we presented a study and a design of an ultrasonic rangefinder able to measure the
distance. The basic principle used is this measure is the propagation of the ultrasonic waves.
They have an approximate speed of 340m / s.

This rangfinder equipped with an ultrasonic sensors that will send a pulses of ultrasonic waves
and obtains the best of these with a frequency of 40khz.
The processing unit and control based a microcontroller PIC16F877A, with a program that we
have provide with a following of specifications, during this The microcontroller will provide a
PWM signals to the Transmission block through a darlington transistor, it should result an signal
at the input which is the echo of the wave emitted reflection. Using a mathematical equation, the
distance will be calculated and displayed on an LCD screen.

Keywords: Ultrasonic rang finder, microcontroller,Ultrasonic transducers, Wave


propagation, Transmission, reception.

Vous aimerez peut-être aussi