Vous êtes sur la page 1sur 86

UNIVERSITE LARBI BEN M’HIDI D’OUM EL BOUAGUI

FACULTE DES SCIENCES ET TECHNOLOGIE


DEPARTEMENT DES SCIENCES ET TECHNOLOGIE
FILIERE GENIE ELECTRIQUE

MEMOIRE DE FIN D’ETUDES


En vue de l‟obtention du

DIPLÔME DE MASTER
Spécialité : Informatique Industrielle

Etude et conception d’un robot suiveur de cible basé


sur le PIC16F877
Mémoire de fin d‟étude soutenu publiquement à OUM EL BOUAGUI
Le: 26/06/2012

Par :

DIF AHLEM
MELIK NASSIMA

Dirigé par :

Dr.: DJOUAMBI ABED ELBAKI

Année Universitaire : 2011/2012


Remerciements
Nous adressons tout nos remerciements tous d’abord à tout puissant
ALLAH, qui nous a éclairé le bon chemin du savoir. Nos meilleurs
gratitudes et remerciements à notre encadreur Dr Djoumbi.A, pour son aide
ses conseils appréciables et ses encouragements à travers son attention, sa
patience.

Un très grand merci à Mme. Maarad. I, pour toute ses aides qu'ils
nous apporté au cours de toutes les années de formation.
Nous remercions aussi Les responsables des laboratoires des sciences
et technologies Ain El Beida, spécialement Melle. Soulef kouah, ainsi que le
responsable de salle informatique Mr Oualid Boukhross, et surtout
monsieur Mahmoud Saïghi.

Enfin, que toutes les personnes qui ont participées de prés ou de loin
à la réalisation de ce travail trouvant ici ainsi l’expression de nos sincères
remerciements.

i
Dédicace
Je dédie ce modeste travail

A ma très chère mère « Mebarka » source de tendresse ;

A mon très cher père « Laid », qui m’encourage ;

Dans les instants délicats ;

A mon cher frère « Hamza » ;

A mes chères sœurs

« Nadjoua, Chaima » ;

A toute ma famille ;

A mes amis (es) « Nassima, Mariem,


Nesrin, Samra et Hanna » ;
A tous mes amis

Ahlem

ii
Dédicace
Je dédie ce modeste travail

A ma très chère mère « Fadia » source de tendresse ;

A mon très cher père « Gasmia », qui m’encourage

Dans l instants délicats ;

A mes chèrs frères;

« Abd elkader, Ibrahim, Nasreldine et Nourdine»

A mes chères sœurs ;

« Hakima, Saliha, Khadija, et Hannan »

A mes belles-sœurs « Khadija, Nadia »

A mon neveu « Younes »

A mes tantes et oncles ;

A toute ma famille ;

A mes amies « Ahlem, Sarra, Hassna

Chafia, Mariem , Nesrin, Samra, Hanna»


A tous mes amis

Nassima
iii
Table des matières

Table des matières

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

Chapitre I : Robots mobiles suiveurs de cibles

I.1. Introduction ................................................................................................................ 4

I.2. Historique ................................................................................................................... 4

I.3. Définition d‟un robot .................................................................................................. 4

I.4. Classification des robots ............................................................................................. 5

I.5. Différents types de robot ............................................................................................ 6

I.6. Mode de fonctionnement ............................................................................................ 6

I.7. Robots mobiles suiveurs de cibles .............................................................................. 7

I.8. Conclusion .................................................................................................................. 7

Chapitre II : Présentation du microcontrôleur PIC 16F877

II.1. Introduction ............................................................................................................... 9

II.2. Définition d‟un PIC ................................................................................................... 9

II.3. Les avantages du microcontrôleur .......................................................................... 10

II.4. Choix d'un microcontrôleur..................................................................................... 10

II.5. Les différentes familles du PIC ............................................................................... 11

II.6. Identification d‟un PIC ............................................................................................ 11

II.7. Les caractéristiques principales du PIC 16F877 .................................................... 12

II.8. Architecture externe ................................................................................................ 13

II.9. Architecture interne ................................................................................................. 14


II.9.1. Le cœur du microcontrôleur: le microprocesseur ................................................ 15

II.9.2. Les mémoires du PIC 16F877 .............................................................................. 16


II.9.2.1. La mémoire vive RAM ............................................................................. 16
II.9.2. 2. La mémoire morte FLASH ..................................................................... 16

iv
Table des matières

II.9.2. 3. La mémoire EEPROM ............................................................................. 16

II.9.3. Timers .................................................................................................................. 17


II.9.3.1. Timer0 ....................................................................................................... 17
II.9.3.2. Timer1 ....................................................................................................... 17
II.9.3.3. Timer2 ....................................................................................................... 17

II.9.4. Les ports d‟entrées/sorties ................................................................................... 17


II.9.4.1. Le port A ................................................................................................... 18
II.9.4.2. Le port B ................................................................................................... 18
II.9.4.3. Le port C ................................................................................................... 18
II.9.4.4. Le port D ................................................................................................... 18
II.9.4.5. Le port E .................................................................................................... 18

II.9.5. Le chien de garde ................................................................................................. 18

II.9.6. L‟horloge .............................................................................................................. 19


II.9.6.1. Oscillateur à Quartz ou Résonateur en céramique .................................... 19
II.9.6.2. Oscillateur RC ........................................................................................... 20

II.9.7. Les principaux registres du PIC 16F877 .............................................................. 20


II.9.7.1. Le registre « Status » ................................................................................. 20
II.9.7.2. Le registre « Option » ............................................................................... 21
II.9.7.3. Le registre « INTCON » ......................................................................... 22
II.9.7.4. Le registre du travail « W »....................................................................... 23
II.9.7.5. Les registres « PORTx et TRISx » ............................................................ 23
II.9.7.6. Registres « ADRESL et ADRESH » ........................................................ 23
II.9.7.7. Le registre « ADCON0 » .......................................................................... 23
II.9.7.8. Le registre « ADCON1 » .......................................................................... 24

II.9.8. Le convertisseur analogique numérique ............................................................... 24


II.9.8.1. Configuration de la conversion ................................................................. 26
II.9.8.2. Séquences à respecter pour la conversion ................................................. 27

II.10. Les interruptions.................................................................................................... 28


II.10.1. Mécanisme général d‟une interruption............................................................... 28

II.10.2. Les sources d'interruptions ................................................................................. 29

II.11. Conclusion............................................................................................................. 29

v
Table des matières

Chapitre III : Etude et réalisation pratique du robot mobile suiveur de piste

III.1. Introduction ............................................................................................................ 31

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

III.3. Etude et conception du robot ................................................................................. 32


III.3.1. Partie mécanique ................................................................................................. 32

III.3.2. Partie électronique .............................................................................................. 34


III.3.2.1. Carte de commande ................................................................................. 35
A. Les capteurs ................................................................................................... 35
B. L‟unité de traitement et de commande numérique ......................................... 38
C. La tension de seuil .......................................................................................... 39
D. La vitesse ....................................................................................................... 39
E. Bouton poussoir .............................................................................................. 39
F. Circuit oscillateur .......................................................................................... 39
III.3.2.2. Carte de puissance ................................................................................... 40
A. Description de la carte de puissance ............................................................. 40
B. Présentation du moteur pas à pas ................................................................... 41
C. Le transistor MOSFET ................................................................................. 43
D. La commande du moteur pas à pas unipolaire .............................................. 43
E. Calculs des valeurs de résistances du montage .............................................. 45

III.3.3. Programmation du PIC ....................................................................................... 47


III.3.3.1. Organigramme du programme implanté dans le microcontrôleur ........... 47
III.3.3.2. Etapes de programmation du PIC avec le logiciel WINPIC 800 ............ 50

III.3.4. Réalisation des cartes électroniques.................................................................... 52


III.3.4.1. Sur la plaque d‟essai ................................................................................ 52
A. Le simulateur (ISIS professionnel) ................................................................ 52
B. Programmation du PIC ................................................................................... 52
III.3.4.2. Réalisation des circuits imprimés ............................................................ 54
A. Le circuit imprimé.......................................................................................... 54
B. Elaboration des typons ................................................................................... 54
C. Les étapes de réalisation................................................................................. 56

vi
Table des matières

III.4. Conclusion ............................................................................................................. 61

Conclusion générale ........................................................................................................ 63

Bibliographie .................................................................................................................. 65

Annexe

vii
[Tapez le titre du document]

Table des figures

Figure (II.1) Architecture de Harvard pour les PICs…………………………………...09


Figure (II.2) Configuration du PIC 16F877…………………………………………….11
Figure (II.3) Brochage du PIC 16F877…………………………………………………13
Figure (II.4) Architecture Interne du PIC 16877……………………………………….15
Figure (II.5) Oscillateur à quartz du PIC 16f87x……………………………………….21
Figure (II.6) Oscillateur RC du PIC 16F87x et l’horloge externe du PIC 16F877…….21
Figure (II.7) Diagramme bloc du CAN………………………………………………...26
Figure (III.1) Les différentes phases de conception du robot mobile suiveur………….31
Figure (III.2) La structure mécanique du robot suiveur (version 1)……………………32
Figure (III.3) La structure mécanique du robot suiveur (version 02)………………….33
Figure (III.4) Schéma électronique général de la carte à réaliser……………………...34
Figure (III.5) Schéma électronique de la carte de commande…………………………35
Figure (III.6) Capteur LDR…………………………………………………………….36
Figure (III.7) Equipement des capteurs………………………………………………..37
Figure (III.8) Montage de diviseur de tension…………………………………………37
Figure (III.9) Schéma électronique de la carte de puissance…………………………40
Figure (III.10) Moteur pas à pas à aimant permanant unipolaire à six fils…………....41
Figure (III.11) Représentation schématique d’un moteur unipolaire………………….42
Figure (III.12) Séquences de rotation simples d’un moteur unipolaire………………..42
Figure (III.13) Emballage et symbole du MOSFET IRF840…………………………..44
Figure (III.14) Circuit de commande du moteur unipolaire…………………………...44
Figure (III.15) Circuit de commande numérique d’un transistor……………………...44
Figure (III.16) Transistor saturé……………………………………………………….44
Figure (III.17) Montage permettant la protection du transistor………………………..45
Figure (III.18) Schéma illustratif pour le calcul des résistances………………………45
Figure (III.19) Fenêtre d’éditeur de programme PIC C Compiler…………………….47
Figure (III.20) Organigramme du programme implanté dans le Microcontrôleur…….49
Figure (III.21) Le programmateur JDM……………………………………………….50
Figure (III.22) Fenêtre de suppression du contenu de la mémoire de µC……………..51
Figure (III.23) Fenêtre de configuration des fusibles………………………………….51
Figure (III.24) Message indiquant le progrès de programmation du µc……………….52
Figure (III.25) Carte de commande réalisée sur la plaque d’essais……………………53
Figure (III.26) Carte de puissance réalisée sur la plaque d’essais……………………...53
Figure(III.27) Cartes de commande et de puissance réalisées sur la plaque
d’essais………………………………………………………………………………….54

viii
[Tapez le titre du document]

Figure (III.28) Schéma de la carte de commande en 3D………………………………55


Figure (III.29) Schéma de la carte de puissance en 3D………………………………..55
Figure (III.30) Typons des circuits réalisés……………………………………………56
Figure (III.31) Photos de plaque d’époxy et d’insoleuse………………………………57
Figure (III.32) Méthode de placer la plaque d’époxy………………………………….57
Figure (III.33) Etape de gravure………………………………………………………..58
Figure (III.34) La carte de commande…………………………………………………59
Figure (III.35) La carte de puissance…………………………………………………..60
Figure (III.36) Carte électronique réalisée…………………………………………….60

ix
Liste des tableaux

Tableau (III.1) Modes de fonctionnement de l‟horloge .................................................. 19


Tableau (III.2) Les différents bits de registre Status....................................................... 20
Tableau (III.3) Configuration des bits (PR0:PR1) de registre Status pour accéder à une
zone mémoire……………………………………………………………………..........21
Tableau (III.4) Les différents bits de registre Option .................................................... 21
Tableau (III.5) Les différents bits de registre INTCON .............................................. 22
Tableau (III.6) Registre ADCON0 ................................................................................ 26
Tableau (III.7) Sélection la fréquence d‟horloge du C.A.N ........................................... 26
Tableau (III.8) Sélection l‟entré de la conversion ......................................................... 26
Tableau (III.9) Registre ADCON1 .............................................................................. 27
Tableau (III.10) Registre ADRES contient le résultat de conversion A/N ………….. 27

X
INTRODUCTION GENERALE
Introduction générale

Introduction générale

Depuis l‟apparition des circuits intégrés en 1958, la microélectronique a connu


une évolution prodigieuse. Ce développement a passé par plusieurs phases
technologiques, à savoir le nombre de transistors intégrés par puce, débutant par des
portes logiques simples jusqu'à la conception des circuits de plus en plus complexes.

L‟évènement des microcontrôleurs qui est associé aux microprocesseurs a


permis de faire évoluer les montages électroniques vers encore plus de simplicité et de
rapidité grâce à leurs performances spéciales (la consommation d‟énergie,
l‟encombrement, la précision, la fiabilité, la diminution de prix, la réduction des
contraintes d‟interconnexions, …).

Les microcontrôleurs sont aujourd‟hui implantés dans la plupart des réalisations


grande publiques ou professionnelles, notamment dans le domaine de la robotique ; la
science pluridisciplinaire qui permet de mettre en point des robots. Ces derniers qui
servent à aider ou d‟abord remplacer l‟homme dans les tâches répétitives, pénibles,
dangereuses, et ainsi les opérations nécessitant beaucoup de précision.

Effectivement, les robots ont envahi progressivement différents secteurs


d‟activité. L‟industrie est sans doute le secteur qui est le plus profitant de cette avancée
technologique.

Les bras manipulateurs par exemple, constituent la forme de robot la plus


utilisée, ils sont intégrés aux applications les plus diverses, tels que l‟industrie de
l‟automobile. Le besoin progressif de disposer de robots mobiles, s‟est imposé par la
suite, comme une évidence à atteindre, d‟où des vastes champs d‟investigations et de
recherches sont lancés afin d‟aboutir cet objectif. Aujourd‟hui, les robots mobiles sont
largement utilisés, dans l‟industrie (transport de produits), l‟agriculture, travaux publics
ou l‟exploration spatiale. De plus, de forte tendance à élargir les milieux où évoluent les
robots à des environnements de bureaux ou à des environnements domestiques (robots
de services).

1
Introduction générale

La grande importance de la robotique mobile nous amène donc à concevoir un


robot mobile suiveur de cible autonome, capable de suivre un chemin bien défini
matérialisé par une bande blanche ou noire en utilisant comme unité de traitement et de
commande un microcontrôleur PIC de type 16F877.

Ce projet nous permet de mettre en pratique le maximum de connaissances


théoriques, électroniques, électrotechniques et informatiques, acquises durant nos
années de formation.

Le présent mémoire est organisé comme suit :

 Le premier chapitre présente une vue générale sur la robotique, les robots
notamment les robots mobiles suiveurs de cibles.
 Le deuxième chapitre permettant de découvrir notre microcontrôleur
PIC16F877.
 Le troisième chapitre présente une description détaillée de la réalisation d‟un
robot mobile suiveur de cible; développement des cartes électroniques, la
programmation du microcontrôleur jusqu'à la fabrication (conception) de la
structure mécanique.

2
CHAPITRE I

Robots mobiles suiveurs


de cibles
Chapitre I Les robots mobiles suiveurs de cibles

Robots mobiles suiveurs de cibles

I.1. Introduction

Quotidiennement nous effectuons de nombreuses tâches répétitives, pénibles,


dangereuses, complexes ou trop complexes. Que se soit au domicile ou au travail.

Pour remédier à cela, l'homme a commencé à réaliser des appareils électriques


simples pour l'aider et parfois remplacer dans ces tâches. Ces dispositifs réalisés sont
appelés „robots’.
Dans ce chapitre, nous allons voir des généralités sur la robotique et les robots
mobiles, notamment les robots mobiles suiveurs de cible.

I.2. Historique
Le terme „robot‟ est dérivé de mot tchèque „ROBOTA’ qui signifie esclave,
travail forgé, corvée, fut initialement utilisé par l‟écrivain tchèque « Carel Capek » dans
sa pièce de théâtre R.U.R [Rossum‟s Universal Robot] en 1921. Il raconte l'histoire
d'un savant appelé Rossum, ayant réussi à mettre au point des créatures semblables
physiquement à des êtres humains, que son fils exploita au sein de son entreprise.
(Cyril, 2002).

I.3. Définition d’un robot


La définition la plus précise du robot pourrait être: "Système automatique
mécanisé capable d'effectuer une ou plusieurs tâches, dans un environnement
donné, de manière autonome, par l'exécution d'un programme".
La science qui regroupe l‟ensemble des disciplines (informatique, électronique,
automatique et mécanique) permettant de mettre aux points des robots est nommée
„Robotique’. Ce terme fut introduit dans la littérature en 1942 par " Isaac Asimov"
dans son livre "Runaround". Il y énoncé les « trois règles de la robotique », qui sont
comme suit (Cyril, 2002) :

4
Chapitre I Les robots mobiles suiveurs de cibles

 Loi 01: Un robot ne peut blesser un être humain ni par son action ni par
son inaction.
 Loi 02: Un robot doit obéir aux ordres donnés par les êtres humains sauf
si tels ordres sont en contradiction avec la première loi.
 Loi 03: Un robot protège sa propre existence aussi long temps qu‟une
telle protection n‟est pas en contradiction avec la première et/ou la
deuxième loi.

I.4. Classification des robots


Selon l‟association industrielle des robots japonaise (JIRA: Japanese Industial
Robot Association), les robots sont divisés en plusieurs classes (Ulrich, 2000):

Classe 01 : Dispositif à plusieurs degrés de liberté.

Classe 02 : Robot à séquence fixe, dispositif manipulateur exécute les étapes d‟une
tâche d‟une manière successive suivant une méthode prédéterminée et inchangée
(difficile à modifier).

Classe 03: Robot à séquence variable, le même dispositif manipulateur mais les phases
d‟exécution de la tâche peuvent être modifié facilement.

Classe04: Playback robot (robot audiovisuel), l‟opérateur exécute la tâche


manuellement par le contrôle de robot qui enregistre les trajectoires. Cette information
s‟exécute lorsqu‟elle est nécessaire. Le robot peut accomplir sa tâche automatiquement.

Classe 05: Robots de contrôle numérique.

Classe 06: Robots intelligents.

L‟Institue Robotique American (RIA), considère les machines de classe 03


comme étant des robots, une autre manière de déclaration que Le terme robot
correspond à un type bien précis de système. Ainsi, si certaines caractéristiques ne sont
pas présentes, une machine, même très complexe, ne peut être qualifiée de robot.

5
Chapitre I Les robots mobiles suiveurs de cibles

I.5. Différents types de robot


Suivant la structure des robots, on peut les catégoriser en (Laëtitia, 2012) :

 Robots manipulateurs: robots ancrés physiquement à leur place de


travail et généralement mis en place pour réaliser une tâche précise ou
répétitive.
 Robots mobiles: robots capables de se déplacer dans un
environnement. Ils sont équipés ou non de manipulateurs suivant leur
utilisation.

Bien souvent, quand on parle de robotique mobile, on sous entend robots


mobiles à roues. Ce sont en effet les systèmes les plus étudiés, parce qu‟ils sont plus
simples à réaliser que les autres types de robots mobiles, ce qui permet d‟en venir plus
rapidement à l‟étude de leur navigation. Ce type de robots est notamment très souvent
utilisé pour l‟étude des systèmes autonomes. Vient ensuite la robotique mobile à pattes,
avec notamment la robotique humanoïde, mais également des robots avec un nombre de
pattes plus élevés qui offrent de bonnes propriétés pour la locomotion en milieu difficile
(milieux forestiers et agricoles). Enfin il existe également de nombreux autres types de
robots mobiles (robots marins, sous marins, drones volants, micro et nano robots),
généralement l‟étude de ce type de robots se fait dans des thématiques spécifiques avec
des particuliers à l‟application visée (Morette, 2009).

I.6. Mode de fonctionnement


Il existe deux principaux modes de fonctionnement pour un robot mobile : télé-
opéré et autonome. En mode télé-opéré, une personne pilote le robot à distance. Elle
donne ses ordres via une interface de commande (joystick, clavier/souris…), et ceux-ci
sont envoyés au robot via un lien de communication (internet, satellite …). Le robot
doit donc obéir aux ordres de l‟opérateur qui perçoit l‟environnement autour du robot.
A l‟inverse, en mode autonome le robot doit prendre ses propres décisions. Cela
signifie qu‟il doit être capable à la fois de percevoir correctement son environnement,
mais également de savoir comment réagir en conséquence, suivant le niveau
d‟autonomie (Morette, 2009).

6
Chapitre I Les robots mobiles suiveurs de cibles

I.7. Robots mobiles suiveurs de cibles


Les robots mobiles suiveurs de cibles ont une grande importance dans la vie
quotidienne, car ils servent à remplacer l‟être humain dans les tâches répétitives,
dangereuses et les opérations exigeant beaucoup de précision, ce sont des robots très
répondus, que ce soit dans l‟industrie (assemblage, transports des marchandises, la
peinture, tables traçantes, panneaux solaires,…) ou dans les locaux publiques (hôtels,
restaurants : équipes de services,…)

La cible à suivre peut être une piste, une lumière ou une sonore, …tout dépend
de l‟application désirée.

Concernant notre cas, la cible que notre robot va suivre est une ligne (piste)
noire tracée dans un fond blanc.

I.8. Conclusion
Dans ce chapitre, on a fait une brève présentation sur les robots mobiles en
général et en particulier sur les robots mobiles suiveurs de cible. Ces derniers
constituent la base des autres robots mobiles, car c‟est l‟exemple le plus didactique qui
nous oriente vers des applications plus complexes.
Le robot qu‟on cherche à concevoir doit suivre le tracé d‟une piste d‟une couleur
différente à celle du fond sur lequel elle est tracée. Sa carte de commande est conçue à
base d‟un microcontrôleur PIC de type 16F877, qui sera présenté dans le deuxième
chapitre.

7
CHAPITRE II

Présentation du microcontrôleur

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

Présentation du microcontrôleur PIC 16F877

II.1. Introduction
Dans un passé pas très lointain, l‟électronique pour les amateurs se résumait
essentiellement aux circuits analogiques et éventuellement en logique câblée. L‟usage
des microprocesseurs était plutôt réservé à un public averti d‟ingénieurs sachant les
interfacer avec différents circuits périphériques.
Au fil du temps on a vu apparaître de nouveaux circuits regroupant dans une
seule puce, il s‟agit de circuit intégré appelé microcontrôleur. Ce dernier qui joue le rôle
d‟une unité de traitement et de commande dans la majorité des applications et produits
industriels, notamment les robots mobiles suiveurs.
L‟autonomie de ces robots s‟assure par la bonne connaissance et compréhension
de ces instruments. C‟est pour cette raison que nous essayons dans le présent chapitre de
donner une description un peu détaillée sur un des microcontrôleurs. C‟est le PIC
16F877 de MICROCHIP.

II.2. Définition d’un PIC


Un PIC (Peripheral Interface Controler) est un microcontrôleur de chez
Microchip, c‟est 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. Les PICs sont des composant dits RISC
(Reduced Instructions Set Computer), ou encore (composant à jeu d‟instruction réduit).
Les microcontrôleurs PIC utilisent l‟architecture de Harvard c'est-à-dire le programme
et les données sont stockées dans des mémoires physiquement séparées. (Deux bus de
données. Un bus est utilisé pour les données et un autre pour les instructions)
(Philippe, 2003).

Mémoire de données CPU Mémoire de programme


8 14

Figure (II.1) Architecture de Harvard pour les PICs

9
Chapitre II Présentation du microcontrôleur PIC 16F877

II.3. Les avantages du microcontrôleur


L‟utilisation des microcontrôleurs pour les circuits programmables a plusieurs
points forts (Jawadi et Alibi, 2011):
 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 imprimés 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.4. 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 comme (Boussid et
Archouch, 2011) :
 Nombre d‟entrées/sorties.

 Liaison d‟entrées/sorties.

 Conversion analogique numérique et numérique analogique.

 Mémoire RAM, ROM, EPROM interne ou externe, sa taille.


 Vitesse d‟horloge, temps d‟exécution d‟une multiplication, d‟une division.
 Bus de données 8bits /16bits.
 Les logiciels de programmation (assembleur, c, micro,…).
 Les émulateurs pour la mise au point des applications.
 Les évolutions prévisibles du composant, son prix, les sources.

10
Chapitre II Présentation du microcontrôleur PIC 16F877

II.5. Les différentes familles du PIC

Il existe trois familles de PIC (Philippe, 2003) :


- Base- Line: Les instructions sont codées sur 12 bits.
- Mid- Range: Les instructions sont codées sur 14 bits.
- High- End: Les instructions sont codées sur 16 bits.

II.6. Identification d’un PIC


Un PIC est identifié par un numéro de la forme suivant : xx(L) XXyy –zz

(Sakli, 2007).

- xx : Famille du composant (12, 14, 16, 17, 18).


- L : Tolérance plus importante de la plage de tension.
- XX : Type de mémoire de programme :
C: EPROM ou EEPROM.
CR: PROM.
F : FLASH.
- yy : Identification.
- zz : Vitesse maximum du quartz.

Exemple : Un 16F877est un PIC MID-RANGE (16) et mémoire programme de type


FLASH (F) et réinscriptible de type 877 et capable d‟accepter une fréquence d‟horloge
de 20MHz, la figure (II.2) représente une description de la configuration du PIC
16F877.

16F877 -20

16 indique la famille F mémoire utilisée 877 Identité Fréquence


Mid Range de type Flash d‟horloge de 20 MHz

Figure (II.2) Configuration du PIC 16F877

Tous les PIC 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 1 cycle.

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

On atteint donc des très grandes vitesses, et les instructions sont de plus très rapidement
assimilées. L‟exécution en un seul cycle est typique des composants RISC
(http://www.abcelectronique.com/Bigonoff (première partie)).

II.7. Les caractéristiques principales du PIC 16F877


Le PIC 16F877 est caractérisé par (Sakli, 2007) :
 Une Fréquence de fonctionnement élevée, jusqu‟à 20 MHz.

 Une mémoire vive de 368 octets.

 Une mémoire EEPROM pour sauver des paramètres de 256 octets.

 Une mémoire morte de type FLASH de 8 K mots (1mot = 14 bits), elle est
réinscriptible à volonté.
 Chien de garde WDT.

 33 Entrées et sorties.

 Chaque sortie peut sortir un courant maximum de 25 mA.

 3 Temporisateurs : TIMER0 (8 bits avec pré diviseur), TIMER1 (16 bits), avec
pré diviseur avec possibilité d‟utiliser une horloge externe réseau RC ou
QUARTZ) et TIMER2 (8 bits avec pré diviseur et post diviseur).
 2 entrées de captures et de comparaison avec PWM (Modulation de largeur
d‟impulsions).
 Convertisseur analogique numérique 10 bits avec 8 entrées multiplexées
Maximum.
 Une interface de communication série asynchrone et synchrone. (USART/SCI).
 Une interface de communication série synchrone (SSP/SPI et I2C).

 Une tension d'alimentation entre 2 et 5.5 V.

12
Chapitre II Présentation du microcontrôleur PIC 16F877

II.8. Architecture externe


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

Figure (II.3) Brochage du PIC 16F877

 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.
Le constructeur a donc décidé de repartir les courants en plaçant 2 pins pour
l‟alimentation, bien évidemment, pour les mêmes raisons, ces pins sont situées de part

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

et d‟autre du PIC, et en positions relativement centrales. Les broches OSC1 et OSC2 ou


CLKIN et CLOUT permettent de faire fonctionner l‟oscillateur interne du PIC qui peut
être un quartz, un résonateur céramique, un oscillateur externe ou un réseau RC. Dont le
rôle est de crées des impulsions de fréquences élevées.
Lors de la programmation, la broche MCLR doit être portée à un niveau compris
entre 12 V et 14 V et le PIC16F877 commence à programmer en appliquant un signal
d‟horloge sur la broche RB6 (broche 39) et les informations binaires transitent en série
sur la broche RB7 (broche 40). Chacune des informations qui transitent sur la broche
RB7 est validée à la retombée du signal d‟horloge sur la broche RB6 (Sakli, 2007).

II.9. Architecture interne


La figure (II.4) présente l'architecture interne de PIC16F877 (Datasheet
16F87x-xx, 2001)

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

Figure (II.4) Architecture Interne du PIC16F877


L‟explication du rôle des blocs principaux de la figure précédente permet de
démystifier cette structure que l‟on retrouve dans la plupart des μC actuels.

II.9.1. Le cœur du microcontrôleur: le microprocesseur


Un microcontrôleur, c‟est avant tout un microprocesseur, une unité de traitement
logique qui effectue l‟une après l‟autre les opérations contenues dans un
microprogramme stocké en mémoire (la mémoire FLASH). Il est essentiellement
composé de l‟ « ALU » (Unité Arithmétique et Logique) qui effectue les opérations sur
les donnés, le registre de travail « W reg. », le multiplexeur « MUX», le registre Status
«STATUS reg », le registre « FSR reg » utilisé pour l‟adressage indirect (en
assembleur…), le multiplexeur d‟adresse « Addr mux », le compteur programme

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

« Program Counter » qui pointe les instructions à exécuter, la pile à 8 niveaux « 8 level
Stack », le registre d‟instruction « Instruction reg », ainsi que les différents bus qui
relient tous ces éléments entre eux (Noxyben, 2007).

II.9.2. Les mémoires du PIC 16F877


Le PIC 16F877 dispose de trois types de mémoires (Sakli, 2007) :

II.9.2.1. La mémoire vive RAM


C‟est de la mémoire d‟accès rapide, mais labile (c'est-a-dire qu‟elle s‟efface
lorsqu‟elle n‟est plus sous tension); cette mémoire contient 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. Cette mémoire RAM disponible sur le pic 16F877
est de 368 octets, elle est repartie de la manière suivante:
 80 octets en banque 0, adresses 0x20 a 0x6F.
 80 octets en banque 1, adresses 0xA0 a 0xEF.
 96 octets en banque 2, adresses 0x110 a 0x16F.
 96 octets en banque 3, adresses 0x190 a 0x1EF.
 16 octets communs aux 4 banques, soit 0x70 à 0x7F; 0xF0 à 0xFF;
0x170 à 0x17F; 0x1F0 à 0x1FF.

II.9.2. 2. La mémoire morte FLASH


C‟est la mémoire programme proprement dite. Chaque case mémoire unitaire
fait 14bits. La mémoire FLASH est un type de mémoire stable, réinscriptible à volonté
(nous pouvons réécrire, dans cette mémoire donc implanter un nouveau programme
dans le PIC.) C‟est ce nouveau type de mémoire qui a fait le succès de microprocesseur
PIC. Dans le PIC 16F877, cette mémoire FLASH fait 8 K mots.

II.9.2. 3. La mémoire EEPROM


Cette mémoire est de 256 octets, elle est électriquement effaçable, réinscriptible
et stable. Ce type de mémoire est d‟accès plus lent, elle est utilisée pour sauver des
paramètres.
L‟adresse relative de l‟accès EEPROM est comprise entre 0000 et 00ff, ce qui
nous permet d‟utiliser qu‟un registre de huit bits pour définir cette adresse.

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

II.9.3. Timers
Le microcontrôleur PIC 16F877 comporte trois timers (0, 1, 2) chacun d‟eux
peut générer une interruption, ils peuvent aussi être associés à des modules fonctionnels
CCP1et CCP0 et PWM qui permettent de réaliser la capture de donnée en entrée, la
comparaison de donnée en sortie et la modulation de largeur d‟impulsion (Boussid et
Archouch, 2011).

II.9.3.1. Timer0
Timer0 est le plus simple des trois, c‟est un registre de 8 bits avec pré diviseur.
Il est capable de générer une interruption qui se produit lorsque le timer0 déborde de
FFh à 00h.

II.9.3.2. Timer1
Le timer1 est constitué essentiellement d‟un registre de 16 bits divisé en deux
registres de 8bits : TMR1L pour les bits de poids faible et TMR1H pour les bits de
poids fort. Ils peuvent être tous deux lus et écrit à leur adresse, le TMR1 fonctionne au
moyen du registre T1CON, il peut utiliser trois source d‟horloges différentes en mode
timer, il utilise l‟horloge instruction en mode compteur il peut utiliser un signal externe
appliqué à la patte T1OSO/T1CKI, ou bien le signal d‟un oscillateur qui est lui propre
réalise en connectant un quartz entre les pattes T1OSO et T1OSI.

II.9.3.3. Timer2
Le timer2 est composé d‟un registre de 8 bits appelé TMR2 associe à un pré
diviseur et un post-diviseur ainsi qu‟à un registre dit de période appelé PR2 dont le
contenu augmente à partir de 00 au rythme de l‟horloge du pic divise par quatre.

II.9.4. Les ports d’entrées/sorties


Le PIC 16F877 contient 5 ports, qui sont les suivants (Sakli, 2007) :
 Port A: 6 pins I/O numérotées de RA0 à RA5.
 Port B: 8 pins I/O numérotées de RB0 à RB7.
 Port C: 8 pins I/O numérotées de RC0 à RC7.
 Port D: 8 pins I/O numérotées de RD0 à RD7.
 Port E: 3 pins I/O numérotées de RE0 à RE2.
Tous ces ports se trouvent dans la banque 0, mais tous leurs registres se trouvent
dans la banque1, pour déterminer les modes des ports (I/O), il faut sélectionner leurs
registres TRISX :

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

 le positionnement d‟un bit à ≪ 1 ≫ place la pin en entrée.


 Le positionnement de ce bit à ≪ 0 ≫ place la pin en sortie.

II.9.4.1. Le port A
Le port A est constitué de six pins d‟entrées/sorties numérotées de RA0 à RA5,
qui peuvent être utilisé comme des entrées pour le convertisseur analogique numérique
ou pour le TIMER0, dans ce dernier cas, la pin RA4 sera utilisée comme entrée pour
configurer TOCKI. On peut utiliser ce port, soit pour la conversion analogique
/numérique, soit en mode (I/O).

II.9.4.2. Le port B
Le port B est constitué de huit pins d'entrée/sortie classiques numérotés de RB0
à RB7. On note que la pin RB0 dont la configuration d‟entrée est de type (trigger de
Schmitt) quand elle est utilisée en mode interruption ≪ INT ≫.

II.9.4.3. Le port C
Le port C comporte 8 pins de RC0 à RC7, qui peuvent être utilisé comme des
entrées/sorties pures (et/ou) timer1 (et/ou) SPI / I2C (et/ou) USART.

II.9.4.4. Le port D
Le port D comporte 8 pins de RD0 à RD7, qui peuvent être utilisé comme des
entrées/sorties pures (et/ou) port parallèle 8 bits associé au port E.

II.9.4.5. Le port E
Ce port n‟est présent que sur les pics de type 16F877. Le port E possède trois
pins donc trois entrées/sorties, RE0 à RE2, il est utilisé comme entrée au CAN et aussi
il peut contrôler le port parallèle slave c'est-a-dire le port D.
Les pins REx peuvent également être utilisés comme pins d‟entrées analogiques.
Le registre ADCON1 détermine si ce port sera utilisé comme port I/O, ou comme port
analogique.

II.9.5. Le chien de garde


Le chien de garde, ou watchdog est un mécanisme de protection du programme.
Il est destiné à vérifier qu‟un programme ne s‟est pas « égaré » dans une zone non
valide du programme (parasite sur l‟alimentation par exemple), ou s‟il n‟est pas bloqué
dans une boucle sans fin (http://www.abcelectronique.com/Bigonoff, (première partie)).

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

II.9.6. L’horloge
Le PIC 16F877 peut fonctionner en 4 modes d‟oscillateur, la sélection de l‟un de
ces modes est obtenue par la configuration des bits FOSC1 et FOSC0 (Boukhlifa,
2010).
FOSC1 : FOSC0 MODE
00 LP
01 XT
10 HS
11 RC

Tableau (II.1) Modes de fonctionnement de l’horloge


 LP : Low Power Crystal: quartz à faible puissance.
 XT : Crystal/ Resonator: quartz/ résonateur en céramique.
 HS : High Speed Crystal/ Resonator: quartz à haute fréquence/résonateur en
céramique HF.
 RC: circuit RC.

II.9.6.1. Oscillateur à Quartz ou Résonateur en céramique


En mode LP, XT ou HS, un quartz ou un résonateur en céramique est connecté
aux pins OSC1/CLKIN et OSC2/CLKOUT pour établir l‟oscillation.

Figure (II.5) Oscillateur à quartz du PIC 16F87x

Dans l‟un de ces modes de fonctionnement, le microcontrôleur peut avoir une


horloge externe connectée à la broche OSC1/CLKIN.

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

II.9.6.2. Oscillateur RC
La fréquence de l‟oscillation dépend du voltage, des valeurs de R et C et de la
température de Fonctionnement.

(a) (b)

Figure (II.6) (a) : Horloge externe du PIC 16F87x, (b) : Oscillateur RC

du PIC 16F87x

II.9.7. Les principaux registres du PIC 16F877

II.9.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. Il est donc également d‟une
importance fondamentale (http://www.abcelectronique.com/Bigonoff, (première
partie)).

Bit 7 Bit 0

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

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).

20
Chapitre II Présentation du microcontrôleur PIC 16F877

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.
Bit 5: RP0 : Registre permet la sélection de banques.
Bit 6: RP1 : Registre permet la sélection de banques.
Bit 7: IRP : Indirect RP permet de décider quelle banque on adresse dans le cas de
l‟adressage indirect.

PR0 : PR1 Zones sélectionnées


00 Banque 0
01 Banque 1
10 Banque 2
11 Banque 3

Tableau (II.3) Configuration des bits (PR0:PR1) de registre Status pour accéder
à une zone mémoire

II.9.7.2. Le registre « Option »


Ce registre en lecture écriture, situé dans la banque 1. Il contient les différents
bits de contrôle permettant de configurer les prés diviseurs du timer0 et le post diviseur
de Watchdog, la source du timer0, les interruptions externes et le choix des résistances
Pull up sur le port B (Datasheet 16F87x-xx, 2001).

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

Bit 7: RBPU: Pull up Enable bit on port B.


1 = Pull up est désactivé sur le port B.
0 = Pull up est activée sur le port B.

21
Chapitre II Présentation du microcontrôleur PIC 16F877

Bit 6: INTEDG: Interrupt Edge select bit. Donne, dans le cas où on utilise les
interruptions sur RB0, le sens de déclenchement de l‟interruption.
1 = on a interruption si le niveau sur RB0 passe de 0 vers 1.
0 = l‟interruption s‟effectuera lors de la transition de 1 vers 0.
Bit 5: TOCS: TMR0 Clock Source select bit.
1 = Le timer compte les impulsions reçues sur la pin RA4.
0 = Le timer utilise l'horloge interne du PIC.
Bit 4: TOSE: TMR0 Source Edge select bit.
1 = Le Timer0 s'incrémente à chaque front montant de la broche RA4/T0CKI.
0 = Le Timer0 s'incrémente à chaque front descendant de la broche RA4/T0CKI.
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.

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


C‟est un registre en lecture écriture de 8 bits, chacun a une fonction particulière.
(http://www.abcelectronique.com/Bigonoff, (première partie)) :

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

Bit 7: GIE: Global Interrupt Enable bit. Il permet de valider ou d‟invalider toutes les
interruptions d‟une seule fois.
Bit 6: PEIE: EEPROM write complete Interrupt Enable bit. Ce bit permet de valider
l‟interruption de fin d‟écriture en EEPROM.
Bit 5 : T0IE : Tmr0 Interrupt Enable bit: Valide l‟interruption générée par le
débordement du timer0.
Bit 4 : INTE : INTerrupt pin Enable bit : Valide l‟interruption dans le cas d‟une
modification de niveau du pin RB0.
Bit 3 : RBIE : RB port change Interrupt Enable bit : Valide les interruptions si on a
changement de niveau sur une des entrées RB4 à RB7.

22
Chapitre II Présentation du microcontrôleur PIC 16F877

Bit 2: T0IF: Tmr0 Interrupt Flag bit. C‟est un Flag, donc il signale. Ici c‟est le
débordement du timer0.
Bit 1 : INTF : INTerrupt pin Flag bit : signale une transition sur la pin RB0 dans le sens
déterminé par INTEDG du registre OPTION.
Bit 0 : RBIF : Port Interrupt Flag bit : signale qu‟une des entrées RB4 à RB7 a été
modifiée.

II.9.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) (http://www.abcelectronique.com/Bigonoff, (première partie)).

II.9.7.5. Les registres « PORTx et TRISx »


Tous les ports sont pilotés par deux registres (Philippe, 2003) :

 Le registre de PORTx, si le PORT x ou certaines lignes de PORT x 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 PORT x 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.

Au RESET toutes les lignes de ports sont configurées en entrées.

II.9.7.6. 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 (Boukhlifa, 2010).

II.9.7.7. 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
(Philippe, 2003).

23
Chapitre II Présentation du microcontrôleur PIC 16F877

II.9.7.8. Le registre « ADCON1 »


Il dispose comme tout registre accessible de 8 bits, dont seulement 5 sont
utilisés. Il permet de déterminer le rôle de chacune des pins AN0 à AN7. 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 (Philippe, 2003).

II.9.8. Le convertisseur analogique numérique


On peut entrer un signal sur les pins du PIC qui déterminait, en fonction du niveau
de tension présente. Si ce signal était considéré comme un « 1 » ou un « 0 » logique.
Ceci est suffisant pour tout signal binaire, c‟est-à-dire ne présentant que 2 valeurs
possibles.
Supposons que nous désirons, avec un PIC mesurer une valeur analogique, c‟est-à-
dire, en fait, connaître la valeur de la tension présente sur une pin de PIC. Il est pas mal
des applications qui sont besoin d‟une telle possibilité, par exemple mesure de la
tension d‟une batterie à l‟aide d‟un PIC.
Comme l‟électronique interne du PIC ne comprend que les valeurs binaires, il faudra
donc transformer cette valeur analogique en une représentation numérique. Ce procédé
s‟appelle numérisation, et pour l‟effectuer, nous avons besoin d‟un convertisseur
analogique/numérique (http://www.abcelectronique.com/Bigonoff, (seconde partie)).
Le PIC 16F877 possède 8 entrées analogiques (RA0...RA5 et RE0…RE2). Le
convertisseur analogique numérique est à approximations successives. Il est composé de
(Philippe, 2003):
- Un multiplexeur analogique 8 voies.
- Un échantillonneur bloqueur.
- Un Convertisseur Analogique Numérique de 10 bits.

24
Chapitre II Présentation du microcontrôleur PIC 16F877

Figure (II.8) Schéma du C.A.N

La gestion de la conversion se fait grâce à 4 registres 8 bits (Datasheet 16F87x-xx,


2001):

 ADRESH et ADRESL (Analog to Digital result High and Low), contiennent le


résultat de la conversion sur 10 bits. Un octet ne contiendra que 2 bits.
 ADCON0 et ADCON1 (Analog to Digital Control 0,1), permettent de
configurer la conversion.

La tension de référence peut être interne (GND et VDD), ou externe (RA2 et RA3),
Selon la configuration. En aucun cas elle ne doit dépasser la tension d‟alimentation. Le
temps de conversion minimum est d‟environ 20 μs. La durée du signal d‟horloge TAD
ne doit pas être en dessous de 1,6 μs (http.www.abcelectronique.com/Bigonoff,
(Seconde partie)).

25
Chapitre II Présentation du microcontrôleur PIC 16F877

II.9.8.1. Configuration de la conversion


A. Registre adcon0

Tableau (II.6) Registre ADCON0

 Sélection de la fréquence d‟horloge du C.A.N

Tableau (II.7) Sélection la fréquence d’horloge du C.A.N


 Sélection l‟entré de la conversion

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

 Lancement et fin de conversion


Le bit GO/DONE lance la conversion lorsqu‟il est positionné à “1”. Il passe à
“0” lorsque la conversion est terminée.

26
Chapitre II Présentation du microcontrôleur PIC 16F877

 Activation du C.A.N
Le positionnement à “1” du bit ADON active le convertisseur A/N. Dans le cas
contraire le C.A.N est inopérant.
1. Registre ADCON1

Tableau (II.9) Registre ADCON1

ADFM = Sélection du Format du résultat de la conversion. Le résultat de la conversion


sur 10 bits peut se présenter de 2 façons :
- ADFM = 0 justification à gauche (dans ce cas ADRESH donne un résultat sur 8 bits,
correspondant à la partie la plus significative = poids fort).

ADFM = 1 justification à droite.

Tableau (II.10) Registre ADRES contient le résultat de conversion A/N

II.9.8.2. Séquences à respecter pour la conversion


A. Séquence d’initialisation
1. Sélection de la tension de référence et du nombre d‟entrées analogiques
« PCFG 3:0 » (Datasheet 16F87x-xx, 2001).
2. Sélection du mode de présentation du résultat (justification droite ou gauche)
« ADFM ».
3. Sélection de fréquence d‟horloge du convertisseur « ADCS 1:0 ».
4. Activation du C.A.N « ADON = 1 ».

27
Chapitre II Présentation du microcontrôleur PIC 16F877

B. Séquence de conversion
1. Sélection de l‟entrée analogique à convertir « CHS 2:0 ».
2. Lancement de la conversion : « GO/DONE = 1 ».

II.10. Les interruptions

L'interruption est un mécanisme fondamental de tout processeur. Il permet de


prendre en compte des événements extérieurs au processeur et de leur associer un
traitement spécifique.
Un certain nombre d‟événements sont susceptibles de générer des interruptions:
fin de conversion de signal analogique, écriture en mémoire EEPROM terminée,
débordement de Timer, USART, SSP, changement d‟état d‟une entrée de port.

II.10.1. Mécanisme général d’une interruption


La routine d‟interruption est un sous-programme particulier, déclenché par
l‟apparition d‟un événement spécifique. Le mécanisme de l‟interruption se fait comme
suit (http://www.abcelectronique.com/Bigonoff, (première partie)):
- Le programme se déroule normalement
- L‟événement survient
- Le programme achève l‟instruction en cours de traitement
- Le programme saute à l‟adresse de traitement de l‟interruption
- Le programme traite l‟interruption
- Le programme saute à l‟instruction qui suit la dernière exécutée dans le programme
principal.

Il va bien sûr de soi que n‟importe quel événement ne peut pas déclencher une
interruption. Il faut que 2 conditions principales soient remplies:

- L‟événement en question doit figurer dans la liste des événements susceptibles


de provoquer une interruption pour le processeur sur lequel on travaille.
- L‟utilisateur doit avoir autorisé l‟interruption, c‟est à dire doit avoir signalé que
l‟événement en question devait générer une interruption.

28
Chapitre II Présentation du microcontrôleur PIC 16F877

II.10.2. Les sources d'interruptions

Le microcontrôleur PIC 16F877 dispose de plusieurs sources d'interruptions


(Philippe, 2003) :
 Une interruption externe, action sur la broche RB0/INT.
 Débordement du TIMER0.
 Changement d‟état logique sur une des broches du PORTB (RB4 à RB7).
 Une interruption d‟un des périphériques (PEIE).
 Fin de programmation d‟une case mémoire de l‟EEPROM.
 Changement d‟état sur le PORTD (PSPIE).
 Fin de conversion analogique numérique (ADIE).
 Réception d‟une information sur la liaison série (RCIE).
 Fin d‟émission d‟une information sur la liaison série (TXIE).
 Interruption SPI ou I2C du module MSSP (SSPIE).
 Interruption du registre de capture et/ou de comparaison 1 (CCPI1E).
 Interruption du registre de capture et/ou de comparaison 2 (CCPI2E).
 Débordement du TIMER1 (TMR1E).
 Débordement du TIMER2 (TMR2E).
 Collision de BUS (BCLIE).

II.11. Conclusion
Dans ce chapitre nous avons donné une description détaillée du PIC 16F877 ; de
son brochage, de ses périphériques…etc.

Ce formidable instrument choisi sert à piloter la maquette électronique réalisée


pour commander la mobilité du robot et garantir son autonomie lors de son
déplacement, comme nous verrons dans le chapitre prochain.

29
CHAPITRE III

Etude et réalisation pratique

du robot mobile suiveur de piste


Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Etude et réalisation pratique du robot mobile suiveur de piste

III.1. Introduction
Dans ce chapitre on va expliquer d'une manière simple la structure et le
fonctionnement de notre robot ; dont nous présenterons une description détaillée de la
réalisation d‟une carte de commande d‟un robot suiveur de ligne basée sur le
PIC16F877, et nous irons donner un schéma global et complet de l‟application. Puis, on
va refiler la conception détaillée de chaque partie du système.

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


Notre projet consiste à concevoir un robot reprogrammable, capable de suivre
une trajectoire matérialisée par une ligne noire/blanche sur fond blanc/noir, de la
rattraper en cas de dérapage et de faire demi-tour. Il est aussi capable d‟éviter les
obstacles rencontrés lors de son déplacement. Il doit également être autonome durant
tout le parcours. Pour cela, il sera alimenté par une batterie.

La conception de ce robot a passé par différentes phases présentées dans le schéma ci-
dessous :

Robot mobile suiveur de ligne noire

Partie électronique : Conception de la Partie informatique : Programmation du


carte de commande basée sur le PIC, et de PIC avec le programme PIC C
la carte de puissance (sur la plaque d‟essai Compiler « CCSC », la simulation des
puis la réalisation de circuit imprimé). montages se fait par le simulateur ISIS
Professionnel.

Partie mécanique : la structure mécanique du robot est


concrétisée par un véhicule bien dimensionné, il a 02
moteurs pas à pas, 03 ou 04 roues, batteries de 5,5 et 12
volts pour alimenter le PIC et les 02 moteurs
respectivement.

Figure (III.1) Les différentes phases de conception du robot mobile suiveur

31
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.3. Etude et conception du robot


L‟étude et la conception du robot se divisent en trois parties:

III.3.1. Partie mécanique


La partie mécanique est l‟une des parties qui nous a pris le moins de temps, nous
avons développé une structure d‟un robot ressemblant à un petit véhicule de jeu, dont
les 02 roues de l‟avant peuvent tourner librement. Son volume est suffisant pour porter
les différentes cartes électroniques, les figures (III.2), (III.3) montrent les 02 versions du
robot réalisé.

Moteurs pas à pas

Capteurs LDR
Carte de commande

Ligne à suivre

Carte de puissance

Figure (III.2) La structure mécanique du robot suiveur (version 1)

32
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Moteurs pas à pas


Carte de commande

Capteurs LDR

Carte de puissance
Piste à suivre

Figure (III.3) La structure mécanique du robot suiveur (version 02)

Nous avons conservé la deuxième version car elle est plus souple que la première.
Elle est équipée de :

 Trois roues, les deux premières de l‟avant sont collées à deux moteurs pas à pas,
alors que la dernière est une roue pivotante.
 Il a les dimensions suivantes : 15 cm de longueur et 10 cm de largeur,
 Il porte les différentes cartes électroniques, ainsi que les batteries d‟alimentation
(5,5 volts pour le PIC et 12 volts pour les moteurs),
 Il est menu d‟un bouton poussoir pour le démarrage et l‟arrêt.
 Il est doté de capteurs qui ont une fonction fondamentale, car ils doivent
permettre au robot de «voir / lire» la couleur de la piste pour se positionner
correctement par rapport à celle-ci, et ainsi éviter les obstacles rencontrés.

33
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.3.2. Partie électronique


C‟est la partie ou nous avons passé le plus de temps, c'est également celle ou les
recherches ont été les plus longues ainsi que les tests préalables, cette partie sert à
réaliser les montages électroniques ; la carte de commande et la carte de puissance, puis
les assemblées.
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

34
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.3.2.1. Carte de commande


La carte de commande est alimentée par une pile de 5,5 volts, elle est présentée
dans le schéma ci-dessous:

BP R1
Circuit de reset SW -SPST 10k
13
OSC1/CLKIN RB0/INT
33
14 34
OSC2/CLKOUT RB1
1 35
MCLR/Vpp/THV RB2
R2 RB3/PGM
36
1k 2 37
RA0/AN0 RB4
3
4 Oscillateur
RA1/AN1
RA2/AN2/VREF-
RB5
RB6/PGC
38
39
X1 5
RA3/AN3/VREF+ RB7/PGD
40
10MHz 6
RA4/T0CKI
7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
16
C1 8
RC1/T1OSI/CCP2
17
1 RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
Les capteurs R3 V_SEUIL
1k Potentiomètre de
LDR 1k tension seuil

C2
2

VV
Potentiomètre de
R4
1k 1k vitesse

C3
3

Figure (III.5) Schéma électronique de la carte de commande

A. Les capteurs
A.1. Présentation d‟un capteur LDR

Les capteurs utilisés dans notre application est de type LDR, (Light Dependent
Resistor), ou photorésistance (résistance dépendant de la lumière). C‟est un composant
dont la valeur en ohms dépend de la lumière à laquelle il est exposé. La principale
utilisation de la photo résistance est la mesure de l‟intensité lumineuse. Nous avons
utilisé ce type de capteurs à cause de son temps de réponse qui est court. Les matériaux

35
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

utilisés sont généralement du sulfure ou du séléniure de cadmium qui se comporte


comme des semi-conducteurs (Ben Haddada et al., 2010).

Figure (III.6) Capteur LDR

A.2. Principe de fonctionnement

Un cristal de semi-conducteur à température basse contient peu d‟électrons


libres, la conductivité du cristal est très faible, proche de celle d‟un isolant. Lorsque la
température du cristal augmente de plus en plus d‟électrons qui éteint immobilisés dans
les liaisons covalentes s‟échappent et peuvent participer à la conduction.

A température constante si le même cristal semi-conducteur est soumis à une


radiation lumineuse, l‟énergie apportée par les photons peut suffire à libérer certains
électrons utilisés dans les liaisons covalentes entre atomes du cristal. Plus le flux
lumineux sera intense, plus le nombre d‟électrons disponibles pour assurer la
conduction sera grand, ainsi la résistance de la LDR est inversement proportionnelle à la
lumière reçue (Ben Haddada et al., 2010).

A.3. Utilisation des LDR dans notre application

Notre système est également équipé de trois capteurs LDR situés à l‟avant du
robot dont deux sont orientés vers le sol et l‟autre vers l‟avant du robot. La variation de
l‟intensité de la lumière (réflexion de la lumière sur le sol ou obstacle en avant) se
traduit par des variations de ses résistances et par conséquent variation du signal
analogique (tension électrique issu d‟un diviseur de tension comportant le LDR) en
entrée analogique du PIC, le robot peut déterminer la couleur de la surface
(blanche/noire) sur laquelle il se trouve afin qu‟il puisse effectuer les corrections
nécessaires en cas de déviations. Les capteurs orientés vers le sol sont déposés l‟un à
droite et l‟autre à gauche. Ils sont installés sur leur carte à travers des vis pour qu‟on
puisse modifier l‟angle de vue du robot à savoir l‟environnement de travail et la largeur
de piste. Le troisième capteur situé vers l‟avant sert à détecter les obstacles pour que le
robot les évite. Pour pouvoir contrôler la quantité de lumière réfléchie au LDR, nous
avons pensé de les placer dans des cavités noires, et à travers des simples filetages on

36
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

peut augmenter ou réduire la quantité de lumière exposée. Dans le cas normal, les 02
capteurs se trouvent hors la piste (piste entre les 02 capteurs), sur la surface blanche,
donc le système doit fournir les commandes nécessaires aux moteurs pour que le robot
avance vers l‟avant.

En cas de déviation à droite par exemple, le capteur droit reste sur la surface
blanche et le capteur gauche sera retrouvé sur la surface noire. Ses signaux vont être
interprété par le microcontrôleur afin qu‟il puisse fournir les commandes nécessaires
pour que le robot retourne sur la piste.

Même chose en cas de déviation à gauche.

Figure (III.7) Equipement des capteurs

Le schéma électronique ci-dessus, nous montre que chaque capteur est associé à
une résistance de 1kΩ, constituant un pont diviseur de tension. Les points diviseurs
qu‟ils ont des valeurs en fonction de l'éclairement de LDR seront montés sur les
broches RA0, RA1 et RE1 respectivement, comme l‟indique la figure ci-dessous.

5v

1k
R

RA0/RA1/RE1

LDR

Figure (III.8) Montage de diviseur de tension

37
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

La tension aux bornes du capteur est donnée par l‟équation suivante :

III.1

On a exposé une LDR à la lumière de laboratoire, puis on a mesuré sa résistance


dans un fond blanc, puis dans un fond noir. Les valeurs des résistances ont été
comprises entre [4 kΩ, 14 kΩ].

R LDR moy = III.2

Calcul de la valeur de la résistance qu‟il faut associer au LDR.

RLDR = .

= III.3

Quelle est la valeur donnée à R pour que VLDR soit très sensible à la variation de X ?

L‟obtention de cette valeur nécessite de dériver la fonction par rapport à R.

= fonction monotone III.4

On constate que la sensibilité varie proportionnellement à la valeur de la


résistance R. Lorsqu‟on augmente R, la sensibilité augmente aussi. Dans notre cas, nous
avons utilisé une résistance de 1kΩ qui était suffisante pour avoir les résultats voulus.

B. L’unité de traitement et de commande numérique


Les commandes qui permettent le déplacement du robot sont assurées par un
microprocesseur dont son rôle est le traitement des informations délivrées par les
différents capteurs.

Suivant l‟exigence de notre application, nous avons besoin d‟un microcontrôleur :

 Dont sa mémoire programme sera reprogrammable et de taille suffisante,


 Disponibilité d‟un circuit de conversion (CAN),
 De prix moins chers.

38
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Ces contraintes se garantissent par l‟utilisation d‟un PIC 16F877 de MICROCHIP,


Ce dernier constitue le cœur de notre réalisation. Il contient le programme nécessaire à
la génération des commandes admettant le déplacement du robot.

C. La tension de seuil
C‟est la tension comparée avec les tensions délivrées par les trois diviseurs de
tension (C1, C2 et C3). La tension V seuil est obtenue par la mesure plusieurs fois de la
tension du capteur LDR met sur une piste noire et blanche exposées à la lumière, ces
mesures seront ensuite divisées par le nombre des essais.

V seuil

Après le calcul de cette valeur, elle sera fixée à travers un potentiomètre de 1k. On
ajuste le potentiomètre jusqu'à l‟obtention du V_seuil désiré (convenable). Cette
tension est appliquée sur la broche RA5/AN4, comme l‟indique la figure (III.5).

D. La vitesse
La souplesse de mouvement du robot est garantie par l‟ajustement de la vitesse
maximale grâce à un potentiomètre diviseur de 1kΩ montée sur la broche RE0/AN5,
comme l‟indique la figure (III.5).

E. Bouton poussoir
Nous avons ajouté un bouton poussoir permettant l‟arrêt et la marche de
système, le bouton poussoir est lié à une résistance de 10 kΩ. Le point diviseur sera
connecté à la broche MCLR (http://www.abcelectronique.com/Bigonoff, (première
partie)).

F. Circuit oscillateur
Notre application ne nécessite pas une grande vitesse de traitement, c‟est pour
cela on a utilisé un quartz de 10MHz.

39
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.3.2.2. Carte de puissance

Figure (III.9) Schéma électronique de la carte de puissance

A. Description de la carte de puissance


La carte de puissance est alimentée par une tension de 12 volts d‟où l‟intensité
de courant est de 0,4 Ampère.

Les signaux issus de l‟organe de commande sont appliqués aux transistors de


puissance (MOSFET IRF840) à travers des résistances de protection de 1kΩ. Les drains
aboutissent aux bobinages du moteur pas à pas unipolaire, dont les points milieux de
chaque enroulements resteront connectés en permanence au + de l‟alimentation.

Des diodes de roue libre (de référence 1N4007) placée entre chaque drain et le
+VCC, protège les transistors contre les tensions inverses induites par les moteurs lors de
rupture de l‟alimentation.

40
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Des diodes led et leurs résistances de limitation (220Ω) permettent de visualiser


les phases de moteur alimentées.

B. Présentation du moteur pas à pas


Les moteurs pas à pas, utilisés pratiquement dans tous les composants d‟un système
informatique. On les retrouve aussi bien dans les lecteurs de disquette et les disques
durs, que dans les scanners et les imprimantes .Ils sont très répondus dans le domaine de
la robotique car ils permettent d‟obtenir une précision extraordinaire grâce à leur
conception mécanique et électrique (Patrice, 2004).

Un moteur pas à pas est une machine tournante, dont le rotor se déplace d'un angle
élémentaire αp appelé pas, chaque fois que son circuit de commande effectue une
commutation de courant dans un ou plusieurs enroulements (Randrianarivo et Ben
Mehrez, 2006).

Il existe trois types de moteurs pas à pas : moteurs à aimant permanent, moteurs à
réluctance variable, et moteurs hybrides.

Les moteurs à aimant permanent sont constitués d‟un stator supportant les
bobinages et d‟un rotor magnétique (aimant bipolaire). Cette catégorie se subdivise en
de types: le moteur unipolaire et le moteur bipolaire (Patrice, 2004).

Dans notre application, nous avons utilisé un moteur pas à pas à aimant permanant
unipolaire à six files, car il est simple à commander par apport aux autres moteurs pas à
pas. Il suffit d‟alimenter les bobinages à tour de rôle pour faire tourner l‟axe d‟un pas.

Ce type de moteur peut être commandé en mode monophasé, biphasé ou demi- pas
(Patrice, 2004). Dans notre cas, la commande est en mode demi-pas.

Figure (III.10) Moteur pas à pas à aimant permanant unipolaire à six fils

41
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.11) Représentation schématique d’un moteur unipolaire

Figure (III.12) Séquences de rotation simple d’un moteur unipolaire

42
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

C. Le transistor MOSFET (Metal Oxyde Semiconductor Field Effect Transistor)


Le MOSFET ou MOS est un transistor à effet de champ, commandé à la
fermeture (saturation) et à l‟ouverture (blocage) par une tension. Il est utilisé comme
élément interrupteur. Il existe le MOS canal P et le MOS canal N. Ce dernier est
employé dans notre réalisation (MOSFET IRF840, canal N).

Figure (III.13) Emballage et symbole du MOSFET IRF840

D. La commande du moteur pas à pas unipolaire


Chaque moteur comprend quatre bobinages, quatre transistors seront donc
utilisés pour leur commande.

Suivant le programme exécuté, le PIC fournit les commandes appropriées pour


que le robot puisse se déplacer, l‟emploi des transistors nécessite le calcul des
séquences binaires envoyées aux moteurs
Et comme nous avons utilisé le mode demi- pas pour la commande de moteur,
un ou deux transistors seront en commutation simultané, à savoir la séquence binaire de
quatre bits délivrées par le PIC.
Le « 1 » binaire signifie une tension de 5,5 volts, alors que le « 0 » binaire veut
dire pas de tension.

A Chaque fois, la séquence binaire attaque (la/les) gâchette(es) des transistors. Si


la tension appliquée à la gâchette VGS= 5,5 volts, il y a une circulation de courant ID et
VDS 0 (transistor saturé : interrupteur fermé), les bobines du moteur s‟alimentent, en
reliant à la masse l‟extrémité de l‟une des phases, l‟autre extrémité étant connectée en
permanence au + VCC, ce qui permet de faire tourner le moteur. La figure ci-dessous
montre la commande du moteur.

43
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

L4 L1

VCC=12V VCC=12V

L3 L2

T4 T3 T2 T1

R4 R3 R2 R1
1K
1K 1K 1K

Cde Cde Cde Cde

Figure (III.14) Circuit de commande du moteur unipolaire à six fils

12V

D
L

TR
R
PIC
1k

Figure (III.15) Circuit de commande numérique d’un transistor

Figure (III.16) Transistor saturé

44
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Lorsque la tension appliquée à (la/les) gâchette(es) est de 0 volt (le transistor :


interrupteur ouvert), le transistor peut se détruire à cause de la surtension due à l‟énergie
accumulée dans les bobines. C‟est pour cela, on a ajouté des diodes de roue libre pour
(le/les) protéger.

12v

Figure (III.17) Montage permettant la protection du transistor

E. Calculs des valeurs de résistances du montage

Figure (III.18) Schéma illustratif pour le calcul des résistances


La tension délivrée par le PIC est de 5,5 volts, et chaque sortie peut donner un
courant maximum I=25mA (Philippe, 2003), comme l‟indique la figure ci-dessus.

 Calcul de la résistance associée à la led

Pour protéger les leds, on les associe à des resistances, donc diminuer la puissance
dissipée.

45
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

On a :

III.5

volts (tension de commande). III.6

I III.7

Car I2 0.005 (La grille de MOSFET est isolée électriquement, se qui


rend le courant impassant). III.8

Les diodes leds utilisées supportent une tension de 1,2 à 1,5 volts.

III.9
Application numérique :

==> Ω. III.10

On a utilisé une résistance de valeur proche de celle qu‟on a trouvée par calcul.
R1=220Ω.

 Calcul de la résistance de la gâchette

La protection de la gâchette de transistor s‟assure par l‟insertion d‟une résistance

dont sa valeur est de :

==> III.11

On a utilisé une résistance de valeur proche de celle qu‟on a trouvée par calcul.
R2=1kΩ.

De plus, lorsque le microcontrôleur délivre une séquence binaire, des transistors


servent comme des interrupteurs fermés et des autres comme des interrupteurs ouverts,
dans ce dernier cas, et si la diode de roue libre sera détruite, la tension VCC traversant les
bobinages de moteurs peut détruire le PIC. La résistance de 1kΩ sert aussi à protéger le
pic contre ces tensions.

46
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.3.3. Programmation du PIC


Une fois le projet établi, l'étape suivante consiste à développer le programme qui
permet au robot de suivre la piste. Pour développer le programme source il faut un
éditeur de texte, dans notre cas nous avons utilisé comme outil de programmation le
« PIC C Compiler ». C‟est un programme de la société CCS (Custom Computer
Services) adapté aux microcontrôleurs PICs, sa fenêtre d‟éditeur est présentée dans la
figure ci-dessous.

Figure (III.19) Fenêtre d’éditeur de programme PIC C Compiler

Le fichier source est sauvegardé avec l‟extension.C. Une fois que le programme
source est figé, l'étape suivante consistera à compiler le programme, c'est à dire à
transformer le programme source en un programme exécutable "binaire". L‟extension
du fichier sera alors .HEX (hexadécimal).

III.3.3.1. Organigramme du programme implanté dans le microcontrôleur


Le mouvement de notre robot était réalisé en utilisant deux modes de
programmation :

 Le mode capteur : le pic fournit les commandes nécessaires pour que le robot
puisse se déplacer, à savoir les informations reçues par les capteurs.

47
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

 Le mode programmé : dans ce mode, nous ignorons les informations délivrées


par les capteurs, et nous intervenons dans le mouvement du robot dans quelques
situations, en calculant le nombre des pas qu‟il vaut exécuter chaque moteur, à
savoir avancement, recule, tourne à droite, tourne à gauche et arrêt.

L‟organigramme suivant représente le fonctionnement général de notre système.


Les abréviations ci après aide le lecteur de ce mémoire de comprendre l‟organigramme.

 D1 : capteur droit, C2 : capteur gauche, C3 : capteur d‟avant. Vs : v seuil.


 VV : vitesse.
 AV : avancement, RC : recule
 & : et, | : ou.
 M.S : mode suiveur, Obs1/2 : obstacle 1 /2.

48
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Début

Choisir la bibliothèque : PIC 16F877, déclarer les CAN et l’horloge, déclarer les variables (D1, C2,
C3, Vs, VV), configurer tous les ports comme analogiques.

Initialisations

Oui Lire les capteurs

((D1, C1>=Vs) &(C3< Vs))


| (C3>= Vs) | ((D1< Vs) & Oui
(D1<Vs) & (C2< Vs)
(C1>= Vs)&(C3< Vs)) AV
& (C3< Vs) Obs1
Non
Non
Oui
Lire les capteurs +AV (D1<Vs) & (C2>= Vs)
M.S TG
AV avec 20 pas
& (C3< Vs)
Oui
Obs2 Non Non Oui
(D1, C1>=Vs) &(C3<Vs)
| (C3>=Vs) | Oui
((D1<Vs)&(C1>=Vs)& D1&C2 >=
(D1>=Vs) & (C2< Vs)
(C3<Vs)) | ( k>100)
TD >=
& (C3< Vs)
Non
Non Oui
Non C3>=Vs
Lire les capteurs +TD, k++ Non
(D1>=Vs) & (C2>= Vs)
Oui & (C3< Vs)
AV
Oui
(D1, C1>=Vs) &(C3<Vs)
| (C3>=Vs) | RC avec 70 pas
((D1<Vs)&(C1>=Vs)& Lire les capteurs
(C3<Vs)) | ( k>90)

k=0 Oui
Non
Non
k>=166
Lire les capteurs +AV, k++ Lire les capteurs k=0

Oui
TG avec 60 pas Non
(D1>=Vs) & (C2< Vs)
TD, k++
| (C3>= Vs)
RC avec 50 pas Non
C3>= Vs
Oui

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

49
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

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

Figure (III.21) Le programmateur JDM

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


 Premièrement, on lance le programme WINPIC 800.
 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.

50
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.22) fenêtre de suppression du contenu de la mémoire de µC

 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.

Figure (III.23) fenêtre de configuration des fusibles

 On clique ensuite sur le bouton « Programmer » comme ci-dessous, durant cette


phase, la led PROG du programmateur doit clignoter. Si tout c'est bien passé,
nous obtenons le message suivant :

51
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.24) Message indiquant le progrès de programmation du µC

 Maintenant, on peut couper l'alimentation électrique de notre programmateur et


retirez le microcontrôleur de son support.

III.3.4. Réalisation des cartes électroniques

III.3.4.1. Sur la plaque d’essai


La réalisation des cartes électroniques nécessite de travailler en parallèle avec:

A. Le simulateur (ISIS professionnel : Intelligent Schematic Input System)

Le besoin de simuler notre programme paraît indispensable d‟où l‟utilisation du


logiciel « ISIS »; permettant de mieux visualiser le bon déroulement du système ainsi
que d‟avoir une idée claire sur la partie matérielle que ce soit références et même
conception des circuits imprimés.

B. Programmation du PIC
Il s‟agit du programme (PIC C Compiler), son interface est indiqué sur la figure
(III.19).

D‟abord, on dessine le schéma électronique global de l‟application, puis on


charge le PIC à chaque fois par l‟exécutable du programme établi, jusqu‟à l‟obtention
des résultats désirés.

52
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Les photos ci-dessous représentent la carte de commande et de puissance


réalisées sur la plaque d‟essai.

Figure (III.25) Carte de commande réalisée sur la plaque d’essais

Figure (III.26) Carte de puissance réalisée sur la plaque d’essais

53
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.27) Cartes de commande et de puissance réalisées sur plaque d’essais

III.3.4.2. Réalisation des circuits imprimés

A. Le circuit imprimé
Le circuit imprimé est le support de tout montage électronique, il est le lien aussi
bien mécanique qu‟électrique entre les différents composants. Le circuit imprimé est
une platine de matériau composite recouvre d‟une /de deux couches très fines (35 µm)
de cuivre métallique (Cours circuits imprimés, 2012).

B. Elaboration des typons


L‟élaboration des typons peut se faire à l‟aide du logiciel « ARES » de la société
« LABCENTER ELECTRONICS ». C‟est un logiciel permettant le routage des cartes
électroniques en mode automatique ou manuel. Il est possible d‟utiliser ARES sans
avoir crée au préalable un schéma dans ISIS (Cours circuits imprimés, 2012).

Cette fonctionnalité permet de réaliser des circuits de faible complexité en plaçant


les composants et en traçant les pistes directement sur ARES. Une fois les connections
établies, il est possible d‟effectuer un routage automatique des pistes.

Un typon est une image du circuit imprimé. Les pistes sont en noir et le reste doit
être transparent à la lumière. Nous avons imprimé nos typons sur un papier transparent à

54
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

l‟aide d‟une imprimante laser. Ensuite nous avons redessiné les pistes (le plus noir
possible, avec un feutre) pour qu‟elles soient bien apparaître sur la carte imprimée.

Figure (III.28) Schéma de la carte de commande en 3D.

Figure (III.29) Schéma de la carte de puissance en 3D.

55
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

(a) (b)

(c)

Figure (III.30) : (a) Typon de circuit de capteurs, (b) Typon de circuit de


commande (c) Typon de circuit de puissance

C. Les étapes de réalisation


Avant de passer à la réalisation du circuit imprimé, on va présenter d‟abord la
plaque du circuit imprimé utilisée. C‟est une plaque en verre époxy de couleur verte,
recouverte d‟une mince pellicule de cuivre, cette dernière est aussi recouverte d‟une
couche de produit chimique sensible aux ultraviolets appelée « résine ». Pour ne pas être
exposés aux rayonnements UV naturel de soleil, cette couche est livrée avec un film
protecteur anti UV (Cours circuits imprimés, 2012).

56
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.31) Photos de plaque d’époxy et d’insoleuse.


Après l‟élaboration des typons, on passe à la réalisation des circuits imprimés.

 On choisit les plaques d‟époxy et on les découpe à la taille de typon à l‟aide de


la scie circulaire.
 L’insolation de circuit : cette étape sert à attaquer la résine par les
rayonnements UV délivrés par l‟insoleuse, la procédure se fait comme suit :
 On éteint la lumière au niveau de laboratoire, puis on découle le film protecteur.
 On place le typon sur le verre de l‟insoleuse de telle façon que le côté cuivré sur
le typon, en respectant l‟orientation et on ferme le capot.
 On allume l‟insoleuse pendant 2 minutes, ce temps d‟insolation est très
important, car si ce dernier est trop long, les rayons UV passeront au travers les
zones noires du typon.

Figure (III.32) Méthode de placer la plaque d’époxy

57
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

 La révélation : c‟est l‟étape qui suit l‟étape de l‟insolation. Le produit


nécessaire pour cette étape est un produit chimique assez dangereux, qui impose
le port de gants.
 On a utilisé un révélateur sous forme de poudre à diluer avec l‟eau (un sachet
dans une 1/3 lettre d‟eau) d‟où la température de cette solution est de 20 à 25°.
On plonge alors la platine dans le bain de révélateur, puis on agite dans ce
temps la lumière est illuminée.
 Le révélateur sert à éliminer la résine attaquée par UV, et il ne reste que le
cuivre et la résine protégée par l‟encre imprimé sur la carte lors de l‟étape de
l‟insolation. On rince soigneusement la plaque sous le robinet en frottant avec
les doigts jusqu‟à ce qu‟elle ne soit plus « grasse » au toucher.
 Gravure : la gravure consiste à plonger le circuit dans un bain d‟acide
(perchlorure de fer). Le cuivre mis à nu lors de la révélation sera éliminé. Seules
les pistes protégées par la résine resteront. La procédure de gravure se fait comme
suit :
 On plonge la plaque d‟époxy dans le bain d‟acide, la température du bain de la
solution doit être de 40° et de temps de 20 minutes.
 Lorsque tout le cuivre a disparu, on sort le circuit puis on le rince sous le
robinet en frottant avec les doigts jusqu‟à ce qu‟elle ne soit plus « grasse » au
toucher.
 pour retirer la résine et ainsi apparait les pistes de cuivres, on met le circuit à
nouveau dans l‟insoleuse, la durée est de 2 minutes.

Figure (III.33) Etape de gravure

58
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

 Perçage : l‟opération de perçage est l‟ultime étape dans la réalisation du circuit


imprimé. On a utilisé une perceuse manuelle, les forets utilisés est de diamètre de
8mm.
 Le test du circuit imprimé : nous avons utilisé un multimètre pour tester et
vérifier :
 La continuité des pistes.
 L‟absence de court-circuit.
 La soudure : l‟opération de la soudure se fait à l‟aide d‟un fer à souder et de l‟étain,
on commence par :
 Des composants neutres : supports de circuit intégrés, connectiques…
 Passifs : Résistances, potentiomètre, fiches, les diodes lods,…
 Actifs : diode, transistors.

La poursuite de ces étapes, nous permet d‟obtenir les circuits imprimés suivants :

Figure (III.34) carte de commande

59
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

Figure (III.35) carte de puissance

Figure (III.36) La carte électronique réalisée

60
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste

III.4. Conclusion
Dans ce chapitre, nous avons présenté notre robot mobile suiveur de ligne, en
commençant par la présentation de sa forme mécanique, puis nous avons traité la partie
électronique qui sert à développer une carte électronique basée sur le pic 16f877,
permettant le déplacement de notre robot, la conception des cartes nous a permet de
savoir exploiter les deux aspects ; électronique et informatique à travers la
programmation de notre microcontrôleur ainsi que certaines notions sur la conception
mécanique.

61
CONCLUSION GENERALE
Conclusion générale

Conclusion générale

Les robots ont été conçus à l‟origine pour remplacer l‟homme dans
l‟accomplissement des tâches fastidieuses, répétitives, dangereuses ou dépassant ses
capacités physiques.

Dans l‟industrie, les robots manipulateurs sont très répondus, mais la tendance
était toujours vers le développement des robots qui peuvent se déplacer d‟une façon
autonome dans un environnement donné. Pour atteindre cet objectif, des vastes
recherches sont alors lancées jusqu‟à ce jour là où les robots mobiles deviennent
principales dans différents domaines : industriels, agriculture, travaux publiques
exploration spatiales, …
La grande importance des robots mobiles nous a poussé à faire une étude et
conception d‟un modèle de ce type, c‟est un robot mobile suiveur de piste qu‟on peut le
trouver dans le secteur industriel, dans les ports et les grands hangars (transport des
charges lourdes) et dans les hôtels et les restaurants (robots serveurs).
Notre robot est un petit véhicule reprogrammable, capable de suivre une
trajectoire matérialisée par une ligne noire/blanche sur fond blanc/noir, de la rattraper
en cas de dérapage et de faire demi-tour. Il est aussi capable d‟éviter les obstacles
rencontrés lors de son déplacement. Tous ces réactions seront assurés par
l‟implémentation d‟une unité de traitement et de commande ; le microcontrôleur pic
16f877. Pour assurer l‟autonomie de ce robot, il peut être équipé par une batterie.
Ce projet est pluridisciplinaire, car il englobe plusieurs aspects ; électronique,
informatique et mécanique. Cette diversité nous a permis d‟approfondir nos
connaissances théoriques et d‟acquérir une expérience au niveau de réalisation pratique
notamment:

 La réalisation des circuits électroniques sur plaque d‟essais et circuits imprimés,


 La compréhension de l‟architecture des microcontrôleurs et microprocesseurs, et
apprendre sa programmation en langage évolué (particulièrement la
programmation en PIC C Compiler),
 La programmation en deux modes : le mode capteurs et le mode programmé,
 Familiarisation avec le simulateur « ISIS professionnel » et le logiciel
« ARES »,

63
Conclusion générale

 Prise des notions sur l‟aspect mécanique lors de la conception de la structure du


robot.

Dans le futur, nous suggérons concevoir des robots mobiles à structure mécanique
plus adaptables avec l‟environnement et précise, et surtout de rendre le robot très réactif
dans son entourage d‟une manière aussi intelligent que possible (mode apprentissage).

64
BIBLIOGRAPHIE
Bibliographie

Bibliographie

(Ben Haddada et al., 2010): Ben Haddada, T, Hamam, M et Mahjoub R. (2010). Un


robot suiveur de ligne. Projet de fin d‟étude, faculté des Sciences de Tunis,
Université Tunis-El Manar.

(Boukhlifa, 2010) Boukhlifa, M. (2010). Thermomètre à base du PIC 16F877. Mini


projet de master1, département électronique, Faculté de la Technologie,
Université Abderrahmane Mira, Bejaia.
(Boussid et Archouch, 2011) Boussid, S, Archouch. A. (2011). Etude et réalisation
d’une Commande automatique de l’éclairage publique à base de microcontrôleur
pic16f877. Mémoire de fin d‟étude en vue de l‟obtention du diplôme de Master en
Informatique Industrielle, Université Larbi Ben M‟hidi Oum El Bouaghi.

(Cyril, 2002) Cyril, D. (2002). Localisation et modélisation de l'environnement d'un


robot mobile par coopération de deux capteurs omnidirectionnels. Thèse pour le
doctorat en robotique, Université de technologie de Compiègne, centre de
Robotique, d‟Electrotechnique et d‟Automatique.
(Jawadi et Alibi, 2011) : Jawadi, S, Alibi, E. (2011). Conception et réalisation d’un
enregistreur de données. Rapport de projet de fin d‟études en vue de l‟obtention
du diplôme Licence appliquée en sciences et technique d‟information et
communications (LASTIC), Université Virtuelle, Tunis.
ère
(Laëtitia, 2012) Laëtitia M. (2012). Introduction à la robotique, Licence 1 année.
GREYC- CRRS, université de Caen, France.

(Morette, 2009) Morette, N. (2009). Contribution à la Navigation de robots mobiles:


approche par modèle direct et commande prédictive. Thèse pour le doctorat en
robotique, université d‟ORLÉANS.

(Noxyben, 2007) Noxyben. (2007). Programmation des PIC en C, microcontrôleurs


faciles pour électronicien amateur, partie 01.
(Oulboub, 2004) Oulboub, A. (2004). Outil d’aide à la communication pour les
personnes handicapées. Rapport de stage, institue de sciences et technologies, Valence.

(Patrice, 2004) Patrice, O. (2004). Moteur pas à pas et PC. Dunod 2eme édition, Paris.

65
Bibliographie

(Philippe, 2003) Philippe, L. (2003). Les microcontrôleurs PIC 16F87X. Granville.

(Randrianarivo et Ben Mehrez, 2006) : Randrianarivo, T, Ben Mehrez, S. (2006).


Commande d’un moteur pas à pas via le bus USB à base de microcontrôleur
PIC18F2455. Mémoire de projet de fin d‟études pour l‟obtention du diplôme
universitaire de technologie, département de Physique Section : Electronique
Industrielle, Université 7 Novembre à Cartilage, Tunisie.

(Sakli, 2007) : Sakli, M. (2007). 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. Projet de fin d‟étude en Vue de l‟obtention du
diplôme d‟ingénieur en génie électrique et automatique, Gabès, Tunisie.

(Ulrich, 2000) Ulrich. N. (2000). MOBILE ROBOTICS: A PRACTICAL. Springer,


Verlag London.

Datasheet 16F87x-xx: www.microchip.com


http://www.abcelectronique.com/Bigonoff.
Cours circuits imprimés. (2012). Master II, Informatique Industrielle. Université Larbi
Ben M‟hidi. Oum El Bouaghi.

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

Composent référence Quantité valeur descriptions

Circuit PIC16F877A 1 ∕ U1
intégré
C : 1, 2, 3
Capteur de LDR 3 ∕
la lumière

Quartz ∕ 1 10MHZ X1

Botton poussoir
∕ 1 ∕ ∕

MOSFET IRF840 8 NPN TR 1, 2, 3, 4, 5, 6, 7, 8

Resistances / 8 220Ω R13, 14, 15, 16, 17, 18, 19, 20

11 1kΩ R 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12


1 10kΩ R1.

Diode IN 4007
Diodes TDD 8 ∕ D1, 2, 3, 4, 5, 6, 7, 8

Diodes 8
Led ∕ ∕ D9, 10, 11, 12, 13, 14, 15, 16.

Potentiomètres 2 1kΩ V_seuil, VV


I
II. Le MOSFET IRF840

II
Caractéristiques de sortie

III
Résumé

Dans ce travail nous avons présenté une étude et conception d‟un robot mobile
reprogrammable, capable de suivre une piste noire/blanche tracée sur une surface
blanche/noire, de la rattraper en cas de dérapage et de faire des demi-tours. Il est aussi capable
d‟éviter les obstacles rencontrés lors de son déplacement. Il est équipé par des capteurs de
lumière permettant de différencier les couleurs (noire ou blanche) sous forme des signaux
utilisés par une carte de traitement et de commande basé sur le microcontrôleur PIC16F877.
Ce dernier, en exécutant un programme que nous avons développé suivant un cahier de
charge, va fournir les commandes nécessaires aux deux moteurs de types pas à pas via une
carte de puissance pour que le robot puisse se déplacer en fonction des données de
l‟environnement. Il doit également être autonome durant tous le parcours. C‟est pourquoi, il
sera alimenté par une batterie.

Mots clés : Robot mobile suiveur, microcontrôleur, carte de commande, carte de puissance,
moteur pas à pas.

Abstract
In this work we present a study and design of a mobile robot reprogrammable, able to
follow a black/white track on a white/black surface, able to catch up when things go wrong
and make U-turns. It is also able to avoid obstacles while moving. It is equipped with light
sensors to differentiate the color (black or white) in signals data which are then transmitted to
the processing unit and control based PIC16F877 microcontroller. Then, the microcontroller
will provide the necessary commands to two stepper motors through a power board. It must
also be autonomous in all the way. Therefore, it will be equipped by a Battery Supply.
Keywords: Mobile robot follower, microcontroller, control board, power board, stepper
motor.
‫مـلــخـص‬

‫ في ٕرا‬.‫في اىسْ٘اث األخيسة شٖدث اىسب٘تـاث اىَتـْقيت تط٘زا ٍيح٘ظا ٗ ذىل ألَٕيتـٖا اىبـاىغت في اىحياة‬
ٗ ‫ يستطـيع أُ يتحسس ىيَعيقاث‬، ِ‫اىعَو قَْا بدزاست ٗتصَيٌ زب٘ث قابو إلعادة اىبـسٍجت ٗ ٍتتـبع ىَساز ٍعي‬
ُ٘‫ ٗ ٕرا عِ طسيق ٍستـشعساث ض٘ئيت تسَح بتحديد اىي‬،ٔ‫يتجْبٖا ٗ اىسج٘ع بْصف دٗزة إلمَاه طسيق‬
.PIC 16F877 ‫األبيـض أٗ األس٘د عيى شنـو إشـازاث تبعث إىى ٗحدة اىَعاىجت ٗ اىتحنٌ ٗ اىَتَثيت في اىَعاىج‬
ِ‫ ٍسٗزا ب٘حدة اىطاقت اىتي تَن‬،‫ٕرا األخيس يقً٘ بإصداز األٗاٍس ىيتحنٌ في ٍحسميِ ٍِ ّ٘ع خط٘ة خط٘ة‬
.‫ ٗ ٍـِ أجو تسٖيو تحـسمٔ بـطسيقت ذاتـيت ّقً٘ بتـزٗيدٓ ببـطازيت‬.‫اىسب٘ث عيى اىتْـقو‬

.‫ ٍحسك خط٘ة خط٘ة‬،‫ ٗحدة اىطاقت‬،ٌ‫ بطاقت تحن‬،‫ زب٘ ٍتْقو ٍتتبع ىيَساز‬:‫الــكـلـمات الـرئيسية‬

Vous aimerez peut-être aussi