Vous êtes sur la page 1sur 41

REMERCIEMENTS

Tout d’abord, nous tenons à remercier M me Belhadj-Aissa de nous avoir accueillis au sein de son
laboratoire afin d’accomplir notre mémoire.

Nous tenons à remercier tout particulièrement et très chaleureusement notre promotrice


Mme Oukil avec qui nous avons eu tant de plaisir à travailler et qui nous a donné goût à cette
discipline passionnante qui est l’électronique en nous faisant profiter de son expérience.
Elle a accepté de nous encadrer malgré ses nombreuses occupations et a fait preuve d’une grande
disponibilité tout au long de notre mémoire et nous a fournis un soutien constant et une aide
précieuse.

Nous tenons également à remercier Mr Djellal pour nous avoir orientés et soutenus pendant la
durée de notre mémoire.

Que tous nos professeurs trouvent ici notre plus profonde gratitude.

Nous exprimons notre profonde reconnaissance aux différents membres du jury qui ont accepté
de juger ce mémoire.

Merci aussi à tous ceux qui de près ou de loin ont contribué à la réalisation de ce projet.
SOMMAIRE

TABLE DES FIGURES ……………………………………………………………………………ii

TABLE DES ABBREVIATIONS ……………………………………………………….…..….. iii

INTRODUCTION ............................................................................................................................ 1

CHAPITRE 1 : Généralités sur les microcontrôleurs …………………………………………... 3


1.1. Qu’est-ce qu’un microcontrôleur ? ……………………………………..……………………... 3
1.2. À l’intérieur du microcontrôleur………………………………………..……………………... 3
1.3. Programmation du microcontrôleur …………………………………….……………………... 4
1.4. Intérêt ……………………………………..………………………………………………... 4
1.5. Les avantages des microcontrôleurs……………………………………..……………………... 5
1.6. Les défauts des microcontrôleurs ……………………………………..………...……………... 5
1.7. Les types de microcontrôleur ……………………………………..…………………..…… ... 5
1.8. Choix du microcontrôleur ……………………………………..……………………….……... 6
1.9. Objectif du circuit ……………………………………..……………………………………... 6

CHAPITRE 2 : Etude détaillée de chaque bloc ……………………………………..…….......... 8


2.1. LED……………………………………..……....................................................................... 9
2.2. Photorésistance LDR_03………………………………..............................................................9
2.3. Comparaison par rapport à un seuil…………………………………........................................10
2.4. Switch simulant l’obstacle………………………...…...............................................................10
2.5. Transistors travaillant en commutation……………………………...........................................10
2.6. Quartz……………………………………..……...................................................................11
2.7. Calcul de la vitesse……………………………………..……..................................................11
2.8. Capacités de découplage……………………………………..……..........................................13
2.9. Diode de roue libre……………………………………..……..................................................14

CHAPITRE 3 : Simulation par le logiciel PROTEUS ……..…………………………..….…... 15

CHAPITRE 4: Conception et réalisation du circuit imprimé ………...…..…..……... 25

CONCLUSION……………………………………..…………………...………………………... 29

ANNEXES …………………………………………………………………..……………...……...30

BIBLIOGRAPHIE ……………………………………………………..…..……………..……... 36

i
TABLE DES FIGURES

Figure 1 : Allumage de la LED ……………………………….……….…………………………… 9

Figure 2 : Simulation de la Photorésistance……………………………………………………..… ..9

Figure 3 : Comparaison par rapport à un seuil ……………………………………………………. 10

Figure 4 : Switch simulant l’obstacle ………...…………………………………………………… 10

Figure 5 : Simulation des transistors ……………………………………………………………… 11

Figure 6 : Quartz ………………………………………………………………………………...… 11

Figure 7 : Simulation de la vitesse ………………………………………………………………. 12

Figure 8 : Différents rapports cycliques ……...……………….……….………………………….. 13

Figure 9 : Capacités de découplage ……………………………………………………………..… 13

Figure 10 : Diode de roue libre ……………………………………………………………………. 14

Figure 11 : Simulation du programme sur MPLAB…………………………………………..…….16

Figure 12 : Circuit d’implantation…………………………………………………………..………25

Figure 13-A : Visualisation 3D du circuit d’implantation…………………………………………. 26

Figure 13-B: Visualisation 3D du circuit d’implantation…………………………………..……….27

Figure 14 : Fichier PDF du circuit d’implantation………………………………………………….28

ii
TABLE DES ABREVIATIONS

UAL Unité Arithmétique et Logique

RAM Random Access Memory

ROM Read Only Memory

PIC Programmable Interface Controller

ARES Advanced Routing and Editing Software

ISIS Intelligent Schematic Input System

EEPROM Electrically Erasable Programmable Read Only Memory

LDR Light Dependent Resistor

PWM Pulse Width Modulation

USB Universel Serial Bus

ASM Langage assembleur

CAO Conception Assistée par Ordinateur

A/N Analogique/Numérique

iii
INTRODUCTION

INTRODUCTION
La technologie ne cesse d’évoluer et est utilisée dans tous les domaines et par tout le monde,
la robotique quant à elle, est en train de conquérir ce monde. Des plus banales inventions aux plus
spectaculaires, toutes parmi elles nous laissent en admiration et compte des millions. Derrière cette
découverte, un nombre astronomique de robots et d’automates vient envahir chaque jour le marché
international, qu’ils soient conçus pour des fonctions bien spécifiques ou pour divertir.

Les robots sont créés par l’Homme pour le remplacer dans quelques tâches, le servir, l’aider,
le divertir. De là, on peut deviner qu’il existe plusieurs sortes de robots : domestique, de loisir, pour
l’exploration, …etc. Mais la plus répandue est celle de l’industrie vue que, les robots industriels
sont principalement utilisés pour remplacer les humains dans des tâches rudes et pour effectuer des
manipulations répétitives, surtout lorsque le processus de fabrication est fréquemment soumis à des
modifications. Par exemple, la soudure des composants sur les circuits imprimés dans l’industrie
électronique.

On distingue donc deux groupes de robots, les robots fixes et les robots mobiles. Les robots
fixes sont utilisés dans l’industrie pour réaliser des tâches dangereuses (soudure du châssis ou
peinture de la carrosserie dans une usine automobile), les robots mobiles pour transporter des
charges (depuis les chaines de fabrication jusqu’aux zones de stockage) ou encore pour transporter
le courrier dans les bureaux.

La tâche essentielle qui incombe aux robots mobiles est le déplacement dans un
environnement connu ou inconnu. Il est donc nécessaire de connaître la position du robot au sein de
son univers de façon précise ou relative selon les cas.

On décompose un robot mobile en trois grandes fonctions : la locomotion, la perception et la


décision. Les moteurs appartiennent à la rubrique locomotion. La perception passe par deux étapes
successives : la lecture des capteurs, puis le traitement de l’information. L’interprétation, qui
permet de délivrer un message clair à la fonction «locomotion», est dévolue à la fonction
«décision» du robot. Les informations en provenance des différents capteurs doivent être
interprétées comme autant d’éléments utiles à la prise de décision sur l’action à faire, le but étant de
délivrer les ordres corrects aux moteurs des roues.

Dans un robot mobile, il est nécessaire de donner des priorités en fonction des informations
reçues. Par exemple, si un capteur de contact informe d’un choc sur l’avant, cette information est
prioritaire sur un déplacement du robot vers l’avant et doit entraîner un arrêt ou un déplacement
dans une autre direction. On comprend ainsi toute la difficulté à réaliser cette fonction. C’est lors de
cette phase de la conception d’un robot qu’il est nécessaire de lui donner une forme d’intelligence
en lui laissant le choix sur l’action à entreprendre.

Les robots sont des machines que l’on peut entretenir et réparer en cas de panne et qui
peuvent, par conséquent, nous éviter des pertes humaines surtout dans les industries où les accidents
de travail et les maladies professionnelles sont très fréquents. De plus, leur usage revient souvent
moins cher que les salaires des ouvriers. Notons aussi que, les robots sont nettement plus rapides
que les hommes et beaucoup plus précis ce qui implique un gain de temps et moins de pertes
concernant la matière première.

Malheureusement, on ne rencontre que peu de robots domestiques, car il est plus difficile de
faire un robot mobile qui comprend son environnement qu’un robot industriel entièrement
programmé à l’avance. Même si l’industrie est la branche qui profite le plus de la robotique, cela
n’empêche pas le développement des robots domestiques.
1
INTRODUCTION

Notre projet consiste à construire un petit robot. La conception de robots nécessite certaines
compétences, parmi celles-ci, la connaissance de circuit particuliers appelés microcontrôleurs ainsi
que de leur programmation. Nous leur dédions le premier chapitre.

2
CHAPITRE 1 : Généralités sur les microcontrôleurs

Chapitre 1 : Généralités sur les microcontrôleurs

1.1. Qu’est-ce qu’un microcontrôleur ?

Micro, parce qu’ils sont petits, et contrôleurs parce qu’ils contrôlent les machines. Comme
le cerveau pour l’être humain, le microcontrôleur est l’élément qui gère tous les membres qui
constituent le circuit, il est donc le cerveau du robot. Il détient le pouvoir de traiter les données
récoltées au niveau de l’entrée (commandes) et d’agir sur la sortie (récepteurs ou partie motrice). Il
ne fonctionnera pas comme bon lui semblera mais selon les directives que nous lui aurons
préalablement adressées sous forme de programme.

Reprenons l’exemple du cerveau. Notre cerveau reçoit certaines informations afin de prendre des
décisions. L’information est recueillie de divers façons telles que, la vue, l’ouïe, le contact, ...etc.
Ces sens détectent ce qui provient du ‘monde réel’, et envoie cette information à votre cerveau pour
le ‘PROCESSING’. Réciproquement, quand votre cerveau a pris la décision, il envoie des signaux
dans tout votre corps pour faire quelque chose dans le “monde réel”. Utilisant les ‘INPUTS’ entrées
de nos sens, et les ‘OUTPUTS’ sorties tels que, les bras, les pieds, …etc. Notre cerveau est
connecté et interfacé au ‘monde réel’. Imaginons maintenant que nous sommes en train de conduire
sur la route, soudain nous voyons un chat devant nous. Notre cerveau analyse cette information
captée par les yeux, il la traite puis prend une décision. Il donne ensuite des instructions à nos mains
et à nos bras par exemple pour tourner le volant afin d’éviter l'animal ou l’obstacle en question.
‘Entrées / Décisions / Sorties’ est la démarche que suivent les microcontrôleurs.

1.2. À l’intérieur du microcontrôleur :

Le microcontrôleur est composé de quatre parties :

Un microprocesseur qui va prendre en charge la partie traitement des informations et envoyer


des ordres. Il est lui-même composé d'une unité arithmétique et logique (UAL) et d'un bus de
données. C'est donc lui qui va exécuter le programme embarqué dans le microcontrôleur.

Une mémoire de données (RAM ou EEPROM) dans laquelle seront entreposées les données
temporaires nécessaires aux calculs. C'est en fait la mémoire de travail qui est donc volatile.

Une mémoire programmable (ROM), qui va contenir les instructions du programme pilotant
l'application à laquelle le microcontrôleur est dédié. Il s'agit ici d'une mémoire non volatile
puisque le programme à exécuter est à priori toujours le même. Il existe différents types de
mémoires programmables que l'on utilisera selon l'application. Notamment :
OTPROM :programmable une seule fois mais ne coute pas très cher.
UVPROM : on peut l’effacer plusieurs fois grâce aux ultraviolets.
EEPROM : on peut l’effacer plusieurs fois de façon électrique comme les mémoires flash.

La dernière partie correspond aux ressources auxiliaires. Celles-ci sont généralement: Les
Ports d'entrées / sorties parallèle et série, les TIMERS pour générer ou mesurer des signaux avec
une grande précision temporelle et des convertisseurs A/N pour traiter les signaux analogiques.

3
CHAPITRE 1 : Généralités sur les microcontrôleurs

1.3. Programmation du microcontrôleur :

La principale différence entre le microcontrôleur et le microprocesseur est qu'en plus de


posséder une unité de calcul, le microcontrôleur possède en interne le programme qu'il devra
effectuer en fonction de l'application pour laquelle il sera chargé. Ce mode de fonctionnement
convient particulièrement bien aux applications dites "embarquées" où l'Homme ne pourra pas
intervenir directement et ou le comportement souhaité de la machine est défini à l'avance. Différents
objets coutumiers tels que le clavier d'ordinateur ou la souris possède un microcontrôleur.

Ainsi donc pour programmer le microcontrôleur, il est possible d'utiliser différents langages de
programmations de haut niveau, tels que:

 BASIC,
 C,
 C++,
 JAVA.

Le programme réalisé dans le langage de haut niveau est compilé dans le langage assembleur
conçu par le constructeur du microcontrôleur. Puis ce programme ainsi compilé sera injecté du PC
dans la mémoire programmable du microcontrôleur.

Un logiciel de programmation haut niveau couramment utilisé pour la programmation de micro-


robot est MPLAB de la société MICROCHIP, il existe plusieurs autres environnements de
développement et chacun d’eux est propre à des microcontrôleurs.

Afin de transmettre le programme compilé pour le microcontrôleur on utilise un


programmateur hardware pour les EEPROM. L’image ci-dessous représente deux Mini-
programmateurs universels de microcontrôleur PIC de MICROCHIP.

Fournis avec le logiciel MPLAB ou ICPROG, ils sont facilement connectables grâce aux ports
série, parallèles ou par USB. Le prix varie entre 5000DA et 50000DA.

1.4. Intérêt des microcontrôleurs :

Les microcontrôleurs peuvent être trouvés dans une variété d'appareils quotidiens : appareils
électroménagers (par exemple four à micro-ondes, téléviseurs), jouets (Lego NXT, poupées
parlantes), véhicules (voitures, engins de levage), etc. Possédant un grand choix de fonctionnalités
et une facilité à la programmation, les microcontrôleurs ont un très large champ d’utilisation. Il est
4
CHAPITRE 1 : Généralités sur les microcontrôleurs

donc assez facile d'ajouter de nouvelles fonctions et de mettre à niveau l'intelligence afin de rendre
le robot plus ou moins polyvalent selon nos besoins. Le plus gros avantage du microcontrôleur est
celui de permettre une réduction considérable de la quantité des composants sur circuit imprimé.
Ceci a pour conséquence directe la diminution du coût des projets à réaliser et ainsi augmenter leur
efficacité.

À retenir donc, qu’un microcontrôleur peut fonctionner de façon autonome après


programmation et qu’il intervient surtout lorsque le nombre d’unités est important et où une logique
câblée, bien qu’elle soit rapide, sera non-programmable, peu économique et ayant peu de souplesse
ce qui laisse le circuit difficilement modifiable.

D’une manière plus ordonnée, voici un résumé des principaux avantages et inconvénients
des microcontrôleurs :

1.5. Les avantages des microcontrôleurs :

 Diminution de l’encombrement du matériel et du circuit imprimé


 Simplification du tracé du circuit imprimé (plus besoin de tracer de bus)
 Augmentation de la fiabilité du système
 nombre de composants (en baisse)
 connexions composants/supports et composant circuit imprimé (en baisse) ;
 Intégration en technologie MOS, CMOS, ou HCMOS (diminution de la consommation) ;
 Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux:
 Moins cher que les composants qu’il remplace
 Diminution des coûts de main d’œuvre (conception et montage)
 Environnement de programmation et de simulation évolués ;

1.6. Les défauts des microcontrôleurs

 le microcontrôleur est souvent surdimensionné devant les besoins de l’application ;


 Investissement dans les outils de développement ;
 Écrire les programmes, les tester et tester leur mise en place sur le matériel qui entoure le
microcontrôleur ;
 Incompatibilité possible des outils de développement pour des microcontrôleurs de même
marque ;
 Les microcontrôleurs les plus intégrés et les moins coûteux sont ceux disposant de ROM
programmables par masque ;
 Fabrication uniquement en grande série >1000
 Défaut relatif car il existe maintenant systématique des versions OTPROM un peu plus
chère.

1.7. Les types de microcontrôleur :

Il existe quatre principaux types de microcontrôleurs que l'on peut différencier par la
taille de leur bus de données.

 Le 4 bits essentiellement utilisé pour les automatismes simples (petits automatismes,


jouets,...). Peu cher il est fabriqué en grande quantité pour des applications de grande
consommation.

5
CHAPITRE 1 : Généralités sur les microcontrôleurs

 Le 8 bits qui est le plus répandu. En effet il existe une grande diversité de ces
microcontrôleurs et ceux-ci permettent une grande souplesse quant à leur utilisation.
 Le 16 bits moins courant est utilisé pour des applications exigeantes.
 Enfin le 32 bits très peu utilisé n'intervient qu'au sein de très gros projets.

1.8. Choix du microcontrôleur :

Quel microcontrôleur doit-on choisir ?

Quels sont les critères sur lesquels nous devons nous baser pour choisir le microcontrôleur
adéquat ?

Ce sont les questions les plus importantes que se posent la plupart des gens qui vont réaliser
des projets à base de microcontrôleurs.

Nous avons l’embarras du choix, mais on peut réduire le nombre des choix en se penchant
sur les microcontrôleurs les plus courants dans la robotique, tels que :

 Les microcontrôleurs ATMEL AVR (ATMEGA, ATTINY, …etc.)


 Les microcontrôleurs PIC de technologie micro-puce (PIC16, PIC24, …etc.)
 Les microcontrôleurs basés sur la technologie ARM.

Quatre principales propriétés sont à prendre en considération pour faire le meilleur choix, à
savoir, le prix, les caractéristiques physiques, l'environnement de développement et le support
utilisateur.

Il est important d’avoir une idée générale sur les parties ou blocs qui seront connectés au
microcontrôleur ainsi que les éléments l’entourant et qui peuvent intervenir dans le programme du
robot :

 Le nombre de pattes et leur fonctions (d’entrées/sorties, différentes broches ont


différentes fonctions) ;
 La capacité de la mémoire programme (détermine la taille maximale du programme
qui peut être intégré à la puce) ;
 Fréquence de travail ;
 Programmable à volonté ;
 Possédant un mode sommeil à faible consommation ;

Bien sûr, en plus de sa disponibilité, choisir le microcontrôleur dont le rapport qualité/prix


est le meilleur n’est pas à écarter comme critère principal.

1.9. Objectif du circuit :

En utilisant un microcontrôleur et d’autres composants, nous voudrions concevoir un circuit


électrique qui régira le fonctionnement de notre robot. En bref, le microcontrôleur aura à gérer des
informations récoltées au niveau de l’entrée, de décider de leurs sorts et les envoyer ensuite à la
sortie. Reste à choisir les entrées et les sorties de notre circuit électrique.

6
CHAPITRE 1 : Généralités sur les microcontrôleurs

Les composants qui seront considérés comme les entrées seront choisis selon le signal (la
source) qui le fera fonctionner (clappement des mains, différence de température, mouvement…).
Quant aux sorties, elles seront choisies en fonction de ce que l’on attend du robot (déplacement,
rotation, déclenchement d’une alarme …). Ainsi, les entrées seront des éléments qui captent le
signal de commande et les sorties des éléments moteurs, sonores…etc.

Essayons de faire un premier inventaire des principaux composants. Pour ce faire, nous
devons d’abord présenter les fonctionnalités du robot à réaliser et qui sont les suivantes :

 Se déplacer en avant, à gauche et à droite ;


 Eviter les obstacles ;
 Suivre une source de lumière.

D’après ces informations, nous pouvons établir le raisonnement suivant : déplacement


implique force motrice, nous aurons donc besoin de moteurs. Ces moteurs seront commandés par un
microcontrôleur. Le PIC recevra des informations de l’extérieur par des capteurs de lumière
(analogiques ou numériques) et par des capteurs d’obstacles (infrarouge, ultrasons, …), on verra les
autres blocs et composants électroniques qui les accompagneront plus en détails ultérieurement.

Bien qu’il soit encore tôt, nous pouvons dès maintenant décider du type et de la marque du
microcontrôleur. Vérifiant les critères cités précédemment, en raison de sa popularité et son prix
correct au vu de ses capacités, notre choix s’est penché vers le PIC 16F84 de MICROCHIP (voir
Annexe B) qui est adapté à ce genre de réalisation.

Récapitulons, le travail du circuit sera de faire déplacer le robot dans les trois sens (avant, à
gauche et à droite), le fera éviter des obstacles tout en suivant une source de lumière.

C’est pour cela qu’il a été considéré opportun de lui donner le nom de :

« Robot suiveur de lumière ».

7
CHAPITRE 2: Etude détaillée de chaque bloc

Chapitre 2 : Etude détaillée de chaque bloc


Les différentes fonctions sont regroupées dans le schéma qui suit.

8
CHAPITRE 2: Etude détaillée de chaque bloc

2. Différents blocs utilisés


Il convient tout d’abord de signaler qu’on a utilisé la version 7.6 de PROTEUS pour notre
simulation. Nous allons commencer par décrire les différents blocs utilisés.

2.1. LED
Une simple LED nous informe sur l’état interne du robot. Cette LED s’allume quand on
applique une tension de 5V à ses bornes. Cette tension venant du PIC, sa principale cause
d’existence est le moteur. Ainsi la LED nous informe plus précisément sur le fonctionnement ou pas
des moteurs. Nous disposons deux LEDs identiques pour les deux moteurs. Le schéma suivant
permet de simuler le fonctionnement de la LED.

Figure 1 : Allumage de la LED

2.2. Photorésistance LDR_03

Afin de capter un signal lumineux, le robot dispose de deux photorésistances en guise de


capteurs de lumière. Partant du simple principe de fonctionnement des photorésistances, nous en
avons fait une sorte d’interrupteur commandé par la lumière (ce n’est qu’une simple analogie).
La photorésistance LDR03 a une résistance de l’ordre de 300 Ohms lorsqu’elle est éclairée et a une
résistance de l’ordre de plusieurs MOhms lorsqu’elle n’est pas éclairée (voir annexe A). On a utilisé
le composant électronique TORCH-LDR de PROTEUS afin de simuler le fonctionnement de la
photorésistance. Le schéma conçu (photorésistance .dsn) montre bien que la TORCH-LDR offre
une résistance de 500 Ohms lorsqu’elle est éclairée et une résistance de 1MOhms en absence de
lumière. Nous avons utilisé pour cela un diviseur de tension.

F
igure 2 : Simulation de la Photorésistance
9
CHAPITRE 2: Etude détaillée de chaque bloc

2.3. Comparaison par rapport à un seuil

Les moteurs ne seront actifs que si la luminosité sera supérieure à un certain seuil prédéfini.
Pour cela, nous comparons la tension au niveau de la photorésistance à la tension prédéfinie.
L’exemple ci-dessus illustre les deux cas (luminosité inférieure au seuil et luminosité supérieure au
seuil). Nous avons utilisé comme comparateur le LM393N qui peut être alimenté de 2V à 36V (voir
Annexe C).

Figure 3 : Comparaison par rapport à un seuil

2.4. Switch simulant l’obstacle

Un simple interrupteur (SWITCH) permet de basculer entre +5V et 0V. Dès que les
antennes du robot auront touché un obstacle cela produira directement un contact ce qui aura pour
effet de fermer l’interrupteur. La tension sera transmise au microcontrôleur PIC.

Figure 4 : Switch simulant l’obstacle

2.5. Transistors travaillant en commutation

Les deux transistors 2N2222 travaillent en régime de commutation[1],[2]. Lorsqu’on


applique +5V à la base du premier transistor il se sature, ce qui a pour effet de bloquer le second
transistor (VCE =5V) et par conséquent le moteur n’est pas alimenté (arrêt). Par contre, lorsqu’on
applique 0V à la base du premier transistor il se bloque, ce qui a pour effet de saturer le second
transistor (VCE =VCESAT) et par conséquent le moteur est alimenté (marche). Le schéma suivant
(transistors bloqués-saturés.dsn) explique, à travers les différents voltmètres placés, le
fonctionnement de l’étage de sortie.

10
CHAPITRE 2: Etude détaillée de chaque bloc

Figure 5 : Simulation des transistors

2.6. Quartz

Le microcontrôleur PIC est piloté par un quartz de 4Mhz. Pour cela il faut rajouter deux
condensateurs de l’ordre de 20pF aux bornes du quartz (voir annexe B).

Figure 6 : Quartz

2.7. Calcul de la vitesse

La gestion de la vitesse du moteur est réalisée par la modulation à largeur d’impulsions.


Cette méthode consiste à envoyer des impulsions d’amplitudes (0 et 1), très rapidement au moteur.
Selon la durée de l’état haut et celle de l’état bas, une valeur moyenne apparaîtra. Expliqué
autrement, la fréquence du signal reste constante mais pas son rapport cyclique. Pour l’obtention de
ceci, on doit s’aider de composants électroniques [3],[4] et d’un sous-programme.

Pour choisir la vitesse de rotation du moteur désirée, on se base sur le calcul de la charge et
décharge d’un condensateur. Le microcontrôleur [5] envoie un +5V (ce qui correspond à un ‘1’ en
logique TTL) sur la pin RB5 du PIC pendant un certain temps ce qui a pour effet de charger la
capacité à +5V. Ensuite, il programme la pin RB5 en entrée et calcule, à l’aide d’une variable qu’il
incrémente, le temps mis pour que la tension atteigne le niveau ‘0’ ce qui correspond à 0.5V en
logique TTL. Donc si la résistance de décharge est petite alors le temps mis pour atteindre le niveau
‘0’ est rapide. Dans le cas contraire, le temps est assez élevé. Pour simuler ce comportement, on a
conçu le schéma suivant (vitesse.dsn). Il suffit juste d’ouvrir et de fermer l’interrupteur afin de voir
le front descendant et ensuite d’utiliser la base de temps pour voir le temps mis pour atteindre 0.5V.

11
CHAPITRE 2: Etude détaillée de chaque bloc

Figure 7 : Simulation de la vitesse

La valeur trouvée permettra par la suite de moduler le signal qui attaquera les deux moteurs
(voir Annexe D). En effet une modulation à largeur d’impulsions est utilisée pour faire varier la
vitesse de rotation du moteur. Dans le schéma de droite on peut voir que le temps mis pour
atteindre 0.5V est de 2.6ms.

Comme le moteur fonctionne avec une tension continue, il faudrait jouer sur le rapport
cyclique des impulsions transmises aux moteurs pour faire varier la moyenne de la tension.

Le rapport cyclique pour un signal rectangulaire, noté α, est défini comme étant le rapport
existant entre la durée du temps haut (tH ) du signal et sa période (T).

tH
α= 0≤α≤1 (1)
T

12
CHAPITRE 2: Etude détaillée de chaque bloc

Le signal rectangulaire présente ici un rapport cyclique de 50%, ce qui signifie que la durée
pendant laquelle le signal reste à l'état haut, est identique à la durée pendant laquelle il reste à l'état
bas. Sa valeur moyenne est égale à la moitié de l'amplitude maximale.

Figure 8 : Différents rapports cycliques

Le même signal rectangulaire présente cette fois un rapport cyclique de 90%, il reste plus
longtemps à l'état haut qu'à l'état bas. Sa valeur moyenne est égale à 0.9 fois la valeur maximale.

2.8. Capacités de découplage

Le but du découplage est de "nettoyer" la tension à découpler, très souvent une tension
d'alimentation ou de référence. Il permet d'éviter la remontée de parasites d'un étage vers les
alimentations, mais il protège aussi l'étage des parasites éventuellement présents dans l'alimentation.

Les 2 principaux découplages sont:


- Le découplage capacitif
- Le découplage inductif
Le découplage capacitif consiste à mettre des capacités de diverses valeurs en parallèle au point à
découpler. On choisit le diélectrique et la valeur du condensateur en fonction de la fréquence du
parasite à filtrer.

Figure 9 : Capacités de découplage

Valeurs de la capacité C Fréquence


1Hz 20Hz 1KHz 20KHz 1MHz
100 nF 1.6MΩ 80KΩ 1.6KΩ 80Ω 1.6Ω
1000µF 160Ω 8Ω 0.16Ω 8mΩ 0.16mΩ

Ce tableau est obtenu par application de la formule Z= | j C1ω|


13
CHAPITRE 2: Etude détaillée de chaque bloc

La capacité de découplage devient efficace lorsqu’elle présente une impédance faible.


Remarque : la capacité C4 de 1nF (étage de sortie dans le schéma final) assure le même rôle pour
le moteur.

2.9. Diode de roue libre

Figure 10 : Diode de roue libre

Le moteur est composé d’une inductance. Pour comprendre l'utilité de la diode de roue libre
(1N4004), il faut revenir à la continuité du courant dans une inductance.

Cette diode court-circuite les pointes de tension (inverses) qui naissent aux bornes d'une
bobine lors de la coupure de son alimentation. Cette tension est destructrice pour les composants
telle que transistor, Circuit intégré,…qui sont sur le circuit de la bobine. Cette tension est très
élevée.

La diode de roue libre est branchée en parallèle aux bornes de la bobine. Elle est placée en
inverse. En fait cette diode devient passante (un pic de courant circule uniquement entre la bobine et
la diode) lors de la coupure de l'alimentation de la bobine, car la tension de self induction est de
sens contraire à la tension normale d'alimentation de la bobine.

La diode de roue libre protège le transistor (dans notre cas le 2N2222) contre des surtensions
destructrices.

Fonctionnement du microcontrôleur PIC 16F84

Le PIC a deux aspects, l’aspect hardware et l’aspect software. La partie software consiste en
un programme créé pour gérer toutes les fonctions qu’occupera le PIC et donc sera l’intermédiaire
entre les deux parties. Nous avons utilisé le PIC16F84 (voir Annexe B) qui fonctionne de 4V à 5.5V
mais si on peut se procurer le PIC16LF84A alors ce serait mieux car le PIC16LF84A fonctionne de
2V à 5.5V (le L de LF veut dire low c’est-à-dire faible tension). Donc, seulement 2 piles de 1,5V au
lieu de 3 piles pour l’alimentation seront nécessaires.

14
CHAPITRE 3: Simulation par le logiciel PROTEUS

Chapitre 3 : Simulation par le logiciel PROTEUS

Le logiciel PROTEUS :

PROTEUS se compose en deux sous-logiciels ISIS[6] et ARES[7].

Isis est un éditeur de schémas qui intègre un simulateur analogique, logique ou mixte.
Toutes les opérations se passent dans cet environnement, aussi bien la configuration des différentes
sources que le placement des sondes et le tracé des courbes.

PROTEUS est une suite logicielle destinée à l'électronique. Développé par la société
LABCENTER ELECTRONICS, les logiciels inclus dans PROTEUS permettent la CAO dans le
domaine électronique. Deux logiciels principaux composent cette suite logicielle: ISIS pour la saisie
de schémas simulation et ARES pour le routage de circuits, PROSPICE et VSM.

Cette suite logicielle est très connue dans le domaine de l'électronique. De nombreuses
entreprises et organismes de formation (incluant lycée et université) utilisent cette suite logicielle.
Outre la popularité de l'outil, PROTEUS possède d'autres avantages

 Pack contenant des logiciels facile et rapide à comprendre et à utiliser


 Le support technique est performant
 L'outil de création de prototype virtuel permet de réduire les coûts matériel et logiciel lors de
la conception d'un projet

ISIS

Le logiciel ISIS de PROTEUS est principalement connu pour éditer des schémas électriques.
Par ailleurs, le logiciel permet également de simuler ces schémas ce qui permet de déceler certaines
erreurs dès l'étape de conception. Indirectement, les circuits électriques conçus grâce à ce logiciel
peuvent être utilisé dans des documentations car le logiciel permet de contrôler la majorité de
l'aspect graphique des circuits.

ARES

Le logiciel ARES est un outil d'édition et de routage qui complémente parfaitement ISIS. Un
schéma électrique réalisé sur ISIS peut alors être importé facilement sur ARES pour réaliser le PCB
de la carte électronique. Bien que l'édition d'un circuit imprimé soit plus efficiente lorsqu'elle est
réalisée manuellement, ce logiciel permet de placer automatiquement les composants et de réaliser
le routage automatiquement.

Nous avons également utilisé un outil de développement et de mise au point. Comme toute
solution programmable, le PIC nécessite ce genre d’outillage informatique. Comme cité
précédemment, à chaque microcontrôleur son outil de développement. MPLAB représente l’outil
indispensable à la programmation des microcontrôleurs PIC de MICROCHIP.

MPLAB est un logiciel qui facilite l’écriture d’un programme appel assembleur.
L’utilisateur l’écrit dans un langage symbolique que le logiciel va traduire en langage
compréhensible par le PIC. Le langage d’assemblage est dérivé de celui du microprocesseur de la
même famille avec un jeu d’instructions réduit (RISC) et certaines instructions spécifiques. Il existe

15
CHAPITRE 3: Simulation par le logiciel PROTEUS

aussi d’autres sortes de logiciels, les compilateurs. C’est aussi un logiciel traducteur mais ici écrit
par l’utilisateur dans un langage de haut niveau.

La combinaison des trois entités précédentes nous a beaucoup aidés dans l’avancement de
notre réalisation en nous faisant gagner énormément de temps, d’argent et surtout de la certitude et
la sécurité. Ainsi nous pouvions vérifier par nous-mêmes si telle chose était concevable et juste ou
qu’elle ne l’était pas, et ce sans réaliser concrètement le robot.

Il suffit donc d’écrire le programme du PIC en langage assembleur grâce à MPLAB. La


Figure ci-dessous (Figure 8), montre l’environnement de développement MPLAB. Nous y avons
écrit le programme en question. La séquence qui y apparaît est celle de la gestion de la vitesse.

Figure 11 : Simulation du programme sur MPLAB

L’inscription BUILD SUCCEDED dans la fenêtre de gauche nous informe que le


programme ne contient pas d’erreurs et qu’il prêt à être injecté dans le PIC.

16
CHAPITRE 3: Simulation par le logiciel PROTEUS

SCHEMA ELECTRIQUE SOUS PROTEUS

17
CHAPITRE 3: Simulation par le logiciel PROTEUS

ORGANIGRAMME

18
CHAPITRE 3: Simulation par le logiciel PROTEUS

Début

Initialisation
Les 2 moteurs arrêtés
Les 2 LEDS éteintes
Détermination de la vitesse

Subroutine défaut
Defaut_Command=Arret
Defaut_Drapeau =1

oui Deux yeux


Lux_Drapeau=0
Sont à zero

Aller à Fin_Lux non

Lux_Command=Avance oui Deux yeux


Lux_drapeau=1 sont à un

Aller à Fin_Lux non

Lux_Command=Droit oui Œil droit est


Lux_drapeau=1 à1

Aller à Fin_Lux non

Lux_Command=Gauche oui Œil gauche


Lux_drapeau=1 est à 1

Aller à Fin_Lux
Fin_Lux

19
CHAPITRE 3: Simulation par le logiciel PROTEUS

oui Deux antennes


Antenne_Drapeau = 0
sont à 1

Aller à non
Fin_Antenne
Antenne_Command=Arret oui Deux Antennes
Antenne_Drapeau=1 sont à 0

Aller à non
Fin_Antenne
Antenne_Command = Droite oui Antenne
Antenne_Drapeau = 1 droite
est à 1
Aller à non
Fin_Antenne Antenne_Command = Gauche
Antenne_Drapeau = 1

Fin_Antenne

Moteur_comman oui
d Antenne_Drapea
est egal à u
Antenne_Comma egal à 1
Aller à nd non
Fin_Arbitre
Moteur_comman oui
d Lux_Drapeau
est egal à egal à 1
Lux_Command
Aller à non
Fin_Arbitre oui
Moteur_comman Defaut_Drapeau
d egal à 1
est egal à
Defaut_Comman non
Aller à d
Fin_Arbitre
Moteur_Comman
d
est egal à Arret
Fin_Arbitre

20
CHAPITRE 3: Simulation par le logiciel PROTEUS

Détermination de la vitesse
Temps de décharge de la
capacité

oui
Les 2 moteurs fonctionnent Command_Moteur
Les 2 LEDS allumées est egal à Avance

Aller à Fin_Active moteur non

Moteur Droit s’arrête oui


Moteur Gauche fonctionne Command_Moteur
LED Droite allumée est egal à Droit
LED Gauche éteinte

non
Aller à Fin_Active moteur

Moteur Gauche s’arrête oui


Moteur Droit fonctionne Command_Moteur
LED Gauche allumée est egal à Gauche
LED Droite éteinte

non
Aller à Fin_Active moteur

oui
Les deux Moteurs s’arrêtent Command_Moteur
Les deux LEDs sont éteintes est egal à Arret

Aller à Fin_Active moteur non

Fin_Active moteur

Revenir à la subroutine Defaut

21
CHAPITRE 3: Simulation par le logiciel PROTEUS

ORGANIGRAMME COMPLET EN UNE SEULE PAGE

Début

Initialisation
Les deux moteurs Moteur command Antenne
oui
arrêtés est égal à Drapeau
Les deux LED éteintes Antenne_Command égal à un
Détermination de la
vitessse
Aller à non
Subroutine Défaut Fin_Arbitre
Defaut-
Command=Arrêt
Défaut_Drapeau=1 Moteur command oui Lux Drapeau
est égal à
égal à un
Deux Lux_Command
Lux_Drapeau oui yeux
=0 sont à Aller à non
zéro Fin_Arbitre
Aller à no
Fin_Lux n Moteur command oui Défaut
est égal à Drapeau
Lux_Command = oui Deux Defaut_Command égal à un
Avance yeux
Lux_Drapeau = 1 sont à un Aller à non
Fin_Arbitre Moteur _Command
Aller à
non égal Arrêt
Fin_Lux
Fin_Arbitr
Lux_Command = oui Œil
e
Droit droit
Lux_Drapeau = 1 Est à un Détermination de la
vitesse
Aller à
non temps de décharge de
Fin_Lux
la capacité

Lux_Command = oui Œil


Gauche gauche Les deux moteurs oui Command
Lux_Drapeau = 1 est à un fonctionnent moteur
Les deux LED est égal à
Aller à non allumées Avance
Fin_Lux
Aller à non
Fin_Lux
Fin_Active_moteur
Moteur droit s’arrête
oui Command
Moteur gauche
oui moteur
Deux fonctionne
Antenne_Drapeau est égal à Droit
Antennes LED droite allumée
=0
sont à un LED gauche éteinte

Aller à non Aller à


Fin_Antenne Fin_Active_moteur non
oui Moteur gauche
Antenne_Command=A Deux
s’arrête oui Command
rret Antennes
Moteur droit moteur
Antenne_Drapeau = 1 sont à zéro
fonctionne est égal à
Aller à LED gauche allumée Gauche
Fin_Antenne LED droite éteinte
Antenne_Command=D oui Antenne Aller à non
roite Droite Fin_Active_moteur
Antenne_Drapeau = 1 est à un Command
Les deux moteurs oui moteur
Aller à s’arrêtent est égale à
Fin_Antenne Antenne_Command= Les deux LED éteintes Arrêt
Gauche
Antenne_Drapeau = 1 Aller à
Fin_Active_moteur
Fin_Active_moteur
Fin_Anten
ne
Revenir à la subroutine
Défaut

22
CHAPITRE 3: Simulation par le logiciel PROTEUS

;les commentaires et explications movf 0x11,0


;commencent par un point-virgule movwf 0x13
LIST p=16F84 ;Val_Bas = 16 - Val_Haut
#include "P16F84.INC" movf 0x13,0
sublw 0x10
movlw 0x00 movwf 0x12
movwf 0x0A retlw 0x00
clrf 0x04
movlw 0x1F Defaut
andwf 0x03,1 movlw 0x04
;init_robot movwf 0x15
movlw 0x0C movlw 0x01
tris 5 movwf 0x16
movlw 0x06
tris 6 ;Lux
bsf 0x05,0 ; teste_si_deux_yeux_sont_à_zero
bsf 0x06,4 btfsc 0x05,2
bcf 0x05,1 goto teste_si_deux_yeux_sont_à_un
bcf 0x06,3 btfsc 0x06,2
goto teste_si_deux_yeux_sont_à_un
delai ; Lux_Drapeau = 0
movlw 0xFE clrf 0x18
movwf 0x0C goto Fin_Lux
bon teste_si_deux_yeux_sont_à_un
decfsz 0x0C,1 btfss 0x05,2
goto bon goto teste_si_Oeil_Droit_egal_1
nop btfss 0x06,2
retlw 0x00 goto teste_si_Oeil_Droit_egal_1
;Lux_Command = Avance
retard movlw 0x01
bou movwf 0x17
movf 0x1B,1 ; Lux_Drapeau = 1
btfsc 0x03,2 movwf 0x18
goto fin goto Fin_Lux
call delai teste_si_Oeil_Droit_egal_1
;decrementation de la valeur de n btfss 0x05,2
Movlw 0x01 goto Oeil_Gauche_egal_1
Subwf 0x1B,1 ;Lux_Command = Droite
goto bou movlw 0x02
fin movwf 0x17
retlw 0x00 ; Lux_Drapeau = 1
movlw 0x01
init_vitesse movwf 0x18
;RB5 en sortie goto Fin_Lux
movlw 0x06 Oeil_Gauche_egal_1
tris 6 ;Lux_Command = Gauche
;charge capacite movlw 0x03
bsf 0x06,5 movwf 0x17
call delai ; Lux_Drapeau = 1
movlw 0x01
;RB5 en entree movwf 0x18
movlw 0x26 Fin_Lux
tris 6
;Vitesse_Val_egale_0 ;Antenne
clrf 0x11 ; teste_si_deux_antennes_sont_à_1
boucle btfss 0x05,3
;boucle et incrementation de goto teste_si_deux_antennes_sont_à_0
;vitesse_val_jusqu’à atteindre 0.5V btfss 0x06,1
btfss 0x06,5 goto teste_si_deux_antennes_sont_à_0
goto Val_haut_egale_vitesse_val ;Antenne_Drapeau = 0
incf 0x11,1 clrf 0x1A
;si vitesse_val superieure à 15 goto Fin_Antenne
;on quitte la boucle teste_si_deux_antennes_sont_à_0
movf 0x11,0 btfsc 0x05,3
sublw 0x0E goto teste_si_Antenne_Droite_egal_1
btfss 0x03,0 btfsc 0x06,1
goto Val_haut_egale_vitesse_val goto teste_si_Antenne_Droite_egal_1
goto boucle ;Antenne_Command = Arret
Val_haut_egale_vitesse_val movlw 0x04

23
CHAPITRE 3: Simulation par le logiciel PROTEUS

movwf 0x19 bsf 0x05,0


;Antenne_Drapeau = 1 bsf 0x06,4
movlw 0x01 ;generation de la durée du 0
movwf 0x1A movf 0x12,0
goto Fin_Antenne movwf 0x1B
teste_si_Antenne_Droite_egal_1 call retard
btfss 0x05,3 goto Defaut
goto Antenne_Gauche_egale_1
;Antenne_Command = Droite teste_si_Com_Mot_egale_Droite
movlw 0x02 movf 0x14,0
movwf 0x19 sublw 0x02
;Antenne_Drapeau = 1 btfss 0x03,2
movlw 0x01 goto teste_si_Com_Mot_egale_Gauche
movwf 0x1A bsf 0x05,1
goto Fin_Antenne bcf 0x06,3
Antenne_Gauche_egale_1 bsf 0x05,0
;Antenne_Command = Gauche bcf 0x06,4
movlw 0x03 ;generation de la durée du 1
movwf 0x19 movf 0x13,0
;Antenne_Drapeau = 1 movwf 0x1B
movlw 0x01 call retard
movwf 0x1A bsf 0x06,4
Fin_Antenne ;generation de la durée du 0
movf 0x12,0
movwf 0x1B
;Arbitre call retard
; teste_si_Antenne_drapeau_egale_à_1 goto Defaut
movf 0x1A,1 teste_si_Com_Mot_egale_Gauche
btfsc 0x03,2 movf 0x14,0
goto teste_Lux_Drapeau sublw 0x03
; Moteur_Command_egal_à_Antenne_Command btfss 0x03,2
movf 0x19,0 goto teste_si_Com_Mot_egale_Arret
movwf 0x14 bcf 0x05,1
goto Fin_Arbitre bsf 0x06,3
teste_Lux_Drapeau bsf 0x06,4
movf 0x18,1 bcf 0x05,0
btfsc 0x03,2 ;generation de la durée du 1
goto teste_Defaut_Drapeau movf 0x13,0
; Moteur_Command_egal_à_Lux_Command movwf 0x1B
movf 0x17,0 call retard
movwf 0x14 bsf 0x05,0
goto Fin_Arbitre ;generation de la durée du 0
teste_Defaut_Drapeau movf 0x12,0
movf 0x16,1 movwf 0x1B
btfsc 0x03,2 call retard
goto Moteur_Command_egal_à_Arret goto Defaut
; Moteur_Command_egal_à_Defaut_Command teste_si_Com_Mot_egale_Arret
movf 0x15,0 movf 0x14,0
movwf 0x14 sublw 0x04
goto Fin_Arbitre btfss 0x03,2
Moteur_Command_egal_à_Arret goto Com_Mot_egale_Arret
movlw 0x04 bcf 0x05,1
movwf 0x14 bcf 0x06,3
Fin_Arbitre bsf 0x05,0
bsf 0x06,4
goto Defaut
Com_Mot_egale_Arret
;Active_Moteurs movlw 0x04
call init_vitesse movwf 0x14
decfsz 0x14,0 ;Fin_Active_Moteurs
goto teste_si_Com_Mot_egale_Droite goto Defaut
bsf 0x05,1 sleep
bsf 0x06,3 end
bcf 0x05,0
bcf 0x06,4
;generation de la durée du 1
movf 0x13,0
movwf 0x1B
call retard

24
CHAPITRE 3: Simulation par le logiciel PROTEUS

Représentation des signaux :

Nous représentons ci-dessus le cas où les deux moteurs fonctionnent avec une vitesse maximum.
On peut voir toutes les tensions.

Nous donnons ci–dessus les courbes données par l’oscilloscope. Le jaune représente la tension aux
bornes du moteur droit. Le rouge représente la tension aux bornes du moteur gauche.

25
CHAPITRE 4 Conception et réalisation du circuit imprimé

Chapitre 4 : Conception et réalisation du circuit imprimé

Ayant le schéma électrique sur ISIS, nous pouvons directement, en cliquant sur une
commande, passer à ARES pour la conception du circuit d’implantation.

Introduisant les packages de chaque composant (passage obligatoire et nécessaire), ARES


dresse la NETLIST sur laquelle seront enregistrés tous les éléments utilisés dans le circuit électrique
(ISIS).

Après avoir dessiné la forme finale du robot (BORDER EDGE), nous devons trouver
maintenant l’emplacement et la disposition idéaux des composants afin de minimiser le plus
possible l’apparition de STRAPS, dans le cas contraire nous ferons intervenir des LINK qui sont
une sorte de pont qui évite les pistes de cuivre. La figure suivante (Figure 9), représente le circuit
d’implantation capturé à partir du WORKSPACE d’ARES, il convient de signaler que nous avons
utilisé des pistes T40 (largeur des pistes) avec des pastilles 70-30 (perçage). Malgré
l’encombrement des composants et la petitesse du circuit nous avons pu faire le routage des pistes
sur une seule couche (BOTTOM COPPER) dans le but d’optimiser le circuit d’implantation.

Figure 12 : Circuit d’implantation

26
CHAPITRE 4 Conception et réalisation du circuit imprimé

Les figures qui vont suivre (Figure 10 et Figure 11) représentent, respectivement, la
visualisation 3D et le fichier PDF du circuit d’implantation.

Figure 13 (A) : Visualisation en 3D du circuit d’implantation (vue de dessus)

27
CHAPITRE 4 Conception et réalisation du circuit imprimé

Figure 13 (B) : Visualisation 3D du circuit d’implantation (vue de dessous)

28
CHAPITRE 4 Conception et réalisation du circuit imprimé

Figure 14 : Fichier PDF du circuit d’implantation

Nomenclature :

R1, R2, R3, R4: 10kΩ (marron, noir, orange) T1, T2, T3, T4 : 2N2222
R5 : 470Ω (jaune, violet, marron)
R6, R7, R8, R10, R11 : 1kΩ (marron, noir, rouge) D1, D3 : LED rouge 3mm
R9, R12 : 300 Ω (marron, noir, marron)
R15 :100kΩ D2, D4 : 1N4004
RV1 : 10kΩ (horizontale)
PHR1, PHR2 : LDR 03 C1, C2, C3 : 100nF
C4, C5 : 1nF
CI1 : PIC 16LF84 C6, C7 : 20pF
Q1 : résonateur 4MHz
1 support 18 broches Fils rigides pour straps et antennes
1 coupleur pour 2 piles AAA 2 Piles 1,5V format AAA
1 transducteur piezo (option)
2 moteurs Mabushi 130, 260 ou QUMOE

29
Conclusion

CONCLUSION
Nous avons réalisé un robot suiveur de lumière. Pour cela, nous avons utilisé des
photorésistances (représentant les yeux), des interrupteurs (antennes) et des LED qui s’allument
lorsque les moteurs fonctionnent. On a également utilisé le PIC pour calculer la vitesse des
moteurs. Le principe étant basé sur la charge et la décharge d’un condensateur. Une variable
s’incrémente jusqu’à ce que la tension atteigne 0.5V. Cette variable servira ensuite à générer un
retard qui est un multiple d’un délai élémentaire que nous avons choisi.

Un programme d’arbitrage permet de donner la priorité aux antennes. Lorsque le robot


rencontre un obstacle, les moteurs suivent la commande venant des antennes afin d’éviter
l’obstacle. Ensuite, ils suivent la commande donnée par les photorésistances. Le schéma prend en
compte la luminosité ambiante dans la mesure où la lumière doit être supérieure à un seuil pour que
les moteurs fonctionnent.

Ce projet nous permis de nous familiariser avec les composants électroniques, de connaitre
Le logiciel ISIS de PROTEUS qui est connu pour éditer des schémas électriques. Par ailleurs, le
logiciel permet également de simuler ces schémas ce qui permet de déceler certaines erreurs dès
l'étape de conception.

Nous nous sommes également familiarisés avec le logiciel ARES qui est un outil d'édition
et de routage. Un schéma électrique réalisé sur ISIS peut alors être importé facilement sur ARES
pour réaliser le PCB de la carte électronique. Ce logiciel permet de placer automatiquement les
composants et de réaliser le routage automatiquement.

Comme extension à notre travail, on peut envisager d’enlever la partie hardware qui représente les
comparateurs et de les remplacer par un sous-programme qui sera exécuté par le PIC.

30
ANNEXES

ANNEXE A

31
ANNEXES

ANNEXE B

32
ANNEXES

33
ANNEXES

34
ANNEXES

ANNEXE C

35
ANNEXES

ANNEXE D

36
BIBLIOGRAPHIE

BIBLIOGRAPHIE

[1] M. Nahvi and J. A. Edminister


Schaum’s Outline of theory and problems of electric circuits
Fourth Edition McGraw –Hill 2003

[2] J. J. Cathey
Schaum’s Outline of theory and problems of electronic devices and circuits
Second Edition McGraw –Hill 2002

[3] Milton Gussow


Schaum’s Outline of theory and problems of basic electricity
McGraw –Hill 1983

[4] John O’Malley


Schaum’s Outline of theory and problems of basic circuit analysis
Second Edition McGraw –Hill 1992

[5] Bigonoff
La programmation des Pics
www.elec.ucl.ac.be/enseignement/ELEC2000/.../bigonoff.pdf

[6] ISIS Intelligent Schematic Input System


User Manual Labcenter Electronics 2002
http://203.172.182.172/~kriengsak/dataweb/downloads/manualpro.pdf

[7] ARES Advanced Routing and Editing Software


User Manual Labcenter Electronics 2002
http://www2.eletronica.org/.../MANUAL%20DE%20PROTEUS%20ARES.pdf

[8] Notice ARES Version 5.20


http://www.brive.unilim.fr/files/fichiers/valente/routage-V520.pdf

[9] Bogdan Grabowski


Aide-mémoire d'électronique 5ième édition
Editions Dunod

37

Vous aimerez peut-être aussi