Etude et conception d’un robot suiveur de cible basé sur le...
Transcript of Etude et conception d’un robot suiveur de cible basé sur le...
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
i
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.
ii
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
iii
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
Table des matières
iv
Introduction générale ........................................................................................................ 1
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
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
Table des matières
Chapitre I : Robots mobiles suiveurs de cibles
Chapitre II : Présentation du microcontrôleur PIC 16F877
Table des matières
v
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
Table des matières
vi
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
Chapitre III : Etude et réalisation pratique du robot mobile suiveur de piste
Table des matières
vii
III.4. Conclusion ............................................................................................................. 61
Conclusion générale ........................................................................................................ 63
Bibliographie .................................................................................................................. 65
Annexe
[Tapez le titre du document]
viii
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
[Tapez le titre du document]
ix
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
X
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
INTRODUCTION GENERALE
Introduction générale
1
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).
Introduction générale
2
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.
CHAPITRE I
Robots mobiles suiveurs
de cibles
Chapitre I Les robots mobiles suiveurs de cibles
4
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) :
Chapitre I Les robots mobiles suiveurs de cibles
5
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.
Chapitre I Les robots mobiles suiveurs de cibles
6
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).
Chapitre I Les robots mobiles suiveurs de cibles
7
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.
CHAPITRE II
Présentation du microcontrôleur
PIC 16F877
Chapitre II Présentation du microcontrôleur PIC 16F877
9
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).
Figure (II.1) Architecture de Harvard pour les PICs
Mémoire de données
CPU Mémoire de programme
8 14
Chapitre II Présentation du microcontrôleur PIC 16F877
10
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
11
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.
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.
F mémoire utilisée
de type Flash
Fréquence
d‟horloge de 20 MHz 877 Identité 16 indique la famille
Mid Range
16F877 -20
Chapitre II Présentation du microcontrôleur PIC 16F877
12
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
13
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
Chapitre II Présentation du microcontrôleur PIC 16F877
14
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)
Chapitre II Présentation du microcontrôleur PIC 16F877
15
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
Chapitre II Présentation du microcontrôleur PIC 16F877
16
« 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.
Chapitre II Présentation du microcontrôleur PIC 16F877
17
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 :
Chapitre II Présentation du microcontrôleur PIC 16F877
18
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)).
Chapitre II Présentation du microcontrôleur PIC 16F877
19
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).
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.
FOSC1 : FOSC0 MODE
00 LP
01 XT
10 HS
11 RC
Chapitre II Présentation du microcontrôleur PIC 16F877
20
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).
Chapitre II Présentation du microcontrôleur PIC 16F877
21
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.
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.
PR0 : PR1 Zones sélectionnées
0 0 Banque 0
0 1 Banque 1
1 0 Banque 2
1 1 Banque 3
Chapitre II Présentation du microcontrôleur PIC 16F877
22
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
23
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).
Chapitre II Présentation du microcontrôleur PIC 16F877
24
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
25
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)).
Chapitre II Présentation du microcontrôleur PIC 16F877
26
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
27
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 ».
Chapitre II Présentation du microcontrôleur PIC 16F877
28
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.
Chapitre II Présentation du microcontrôleur PIC 16F877
29
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.
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
31
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 :
Figure (III.1) Les différentes phases de conception du robot mobile suiveur
Robot mobile suiveur de ligne noire
Partie informatique : Programmation du
PIC avec le programme PIC C
Compiler « CCSC », la simulation des
montages se fait par le simulateur ISIS
Professionnel.
Partie électronique : Conception de la
carte de commande basée sur le PIC, et de
la carte de puissance (sur la plaque d‟essai
puis la réalisation de circuit imprimé).
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
32
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é.
Figure (III.2) La structure mécanique du robot suiveur (version 1)
Capteurs LDR
Carte de puissance
Carte de commande
Moteurs pas à pas
Ligne à suivre
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
33
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.
Piste à suivre
Carte de puissance
Carte de commande
Capteurs LDR
Moteurs pas à pas
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
34
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
35
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:
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
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA4/T0CKI6
RA5/AN4/SS7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
C11
R21k
C22
R31k
C33
R41k
V_SEUIL
1k
VV
1k
BP
SW-SPST
R1
10k
X110MHz
Circuit de reset
Les capteurs
LDR
Oscillateur
Potentiomètre de
tension seuil
Potentiomètre de
vitesse
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
36
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
37
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.
Figure (III.8) Montage de diviseur de tension
LDR
R1k
5v
RA0/RA1/RE1
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
38
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
39
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
40
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
41
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
42
Figure (III.11) Représentation schématique d’un moteur unipolaire
Figure (III.12) Séquences de rotation simple d’un moteur unipolaire
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
43
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
44
Figure (III.14) Circuit de commande du moteur unipolaire à six fils
Figure (III.15) Circuit de commande numérique d’un transistor
Figure (III.16) Transistor saturé
L4 L1
L3 L2
T4 T3 T2 T1
R4 R3 R2 R1
VCC=12V
1K 1K1K
1K
VCC=12V
Cde Cde Cde Cde
R
1k
TR
L
D
PIC
12V
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
45
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.
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.
L
12v
D
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
46
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
47
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
48
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
49
Figure (III.20) Organigramme du programme implanté dans le microcontrôleur
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
Lire les capteurs
(D1>=Vs) & (C2>= Vs)
& (C3< Vs)
RC avec 70 pas
TD, k++
k>=166
k=0
Lire les capteurs
AV
C3>=Vs
D1&C2 >=
>=
AV avec 20 pas
C3>= Vs
RC avec 50 pas
TG avec 60 pas
Lire les capteurs +AV, k++
(D1, C1>=Vs) &(C3<Vs)
| (C3>=Vs) |
((D1<Vs)&(C1>=Vs)&
(C3<Vs)) | ( k>90)
Lire les capteurs +TD, k++
Lire les capteurs +AV
((D1, C1>=Vs) &(C3< Vs))
| (C3>= Vs) | ((D1< Vs) &
(C1>= Vs)&(C3< Vs))
Oui
Non
Oui
Oui
Non
Oui
Non Non
Oui
Oui Non
Oui
(D1>=Vs) & (C2< Vs)
| (C3>= Vs)
(D1<Vs) & (C2< Vs)
& (C3< Vs)
TG
AV
TD
Oui
Oui
Non
Non
(D1<Vs) & (C2>= Vs)
& (C3< Vs)
(D1>=Vs) & (C2< Vs)
& (C3< Vs)
(D1, C1>=Vs) &(C3<Vs)
| (C3>=Vs) |
((D1<Vs)&(C1>=Vs)&
(C3<Vs)) | ( k>100)
k=0
Oui
Non
Non
Non
Oui
Lire les capteurs
Oui
Non
Non
M.S
Obs2
Obs1
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
50
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
51
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 :
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
52
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
53
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
54
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 à
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
55
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.
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
56
(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).
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
57
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
58
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
59
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
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
60
Figure (III.35) carte de puissance
Figure (III.36) La carte électronique réalisée
Chapitre III Etude et réalisation pratique du robot mobile suiveur de piste
61
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.
CONCLUSION GENERALE
Conclusion générale
63
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 »,
Conclusion générale
64
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).
BIBLIOGRAPHIE
Bibliographie
65
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.
(Laëtitia, 2012) Laëtitia M. (2012). Introduction à la robotique, Licence 1 ère
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.
Bibliographie
66
(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.
ANNEXE
I
I. Nomenclature des composants électroniques utilisés
Composent
référence
Quantité
valeur
descriptions
Circuit
intégré
PIC16F877A
1
∕
U1
Capteur de
la lumière
LDR
3
∕
C : 1, 2, 3
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.
Diodes
Diode IN 4007
TDD
8
∕
D1, 2, 3, 4, 5, 6, 7, 8
Diodes
Led
∕
8
∕
D9, 10, 11, 12, 13, 14, 15, 16.
Potentiomètres
∕
2 1kΩ V_seuil, VV
II
II. Le MOSFET IRF840
III
Caractéristiques de sortie
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. اىعاىج يف حدة اىعاىجت اىتحن اىتثيت ىازاث تبعث إىـو إشـشن ىض أ الأسد عيـالأبي
اىتي تن ، سزا بحدة اىطاقت ع خطة خطةيتحن في حسمي ىرا الأخيس يق بإصداز الأاس
.طازيتـزيد ببـق بت يتـاتذطسيقت ـب سمـجو تسيو تحأ ـ .قوـاىت ث عيىاىسب
. خطة خطةحسك ،حدة اىطاقت ،بطاقت تحن ،تتبع ىيساز زب تقو :رئيسيةـمات الـلـكــال