Upload
nguyenminh
View
222
Download
0
Embed Size (px)
Citation preview
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 5
INTRODUCTION Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un
ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour
les données), unités périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se
caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique
(quelques milliwatts en fonctionnement, quelques nano watts en veille), une vitesse de
fonctionnement plus faible (quelques mégahertz à quelques centaines de mégahertz1) et un
coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs
personnels.
La plus grande partie des systèmes électroniques complexes utilisés de nos jours sont
des systèmes embarqués : téléphones mobiles, horloges, baladeurs, récepteurs GPS,
électroménager, automobile, transport aérien/maritime/fluvial. Les systèmes embarqués se
démarquent des systèmes informatiques traditionnels selon plusieurs aspects :
Ils sont soumis à des contraintes de taille (intégration), de consommation électrique
(autonomie) et de coût importantes (grande série) ;
Ils sont en général dédiés à une tâche bien précise. La taille des programmes et la
quantité de mémoire (vive et morte), dont ils disposent, sont modestes (face à un micro-
ordinateur) ;
Ils doivent communiquer avec des dispositifs d'entrées-sorties (IO) :
boutons, relais, résistances variables, optocoupleurs, moteurs électriques, LED, circuits
intégrés logiques, etc. ;
Ils n'ont parfois aucun dispositif d'interface homme-machine (IHM) : ni clavier, ni écran,
ni disque, ni imprimante, etc. Par exemple, le contrôleur d'injection de carburant du
moteur d'une automobile est totalement invisible pour le conducteur.
Notre projet consiste à la conception et le développement de microcontrôleur PIC16F877A.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 6
CHAPITRE I
PRESENTATION GENERALE
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 7
INTRODUCTION
Les microcontrôleurs sont et continueront à être largement utilisés pour les applications de régulation et de commande de processus. Ce sont de véritables micro-ordinateurs intégrés sur une puce de silicium qui comportent une unité centrale, de la mémoire ou une interface à de la mémoire externe, des ports d’entrée-sortie, une interface pour lignes série (RS-232) ainsi qu’une unité de gestion de temps et d’événements...etc. Les signaux d’entrée-sortie du microcontrôleur peuvent être facilement interfacés à des coupleurs optiques afin d’interfacer des capteurs et des actuateurs industriels.
Pratiquement tous les fabricants de microprocesseurs (Microship, Motorola, Intel, Hitachi, Texas Instrument, Toshiba, ST Microélectronique-ex SGS-Thomson, etc.) proposent une ou plusieurs gammes de microcontrôleurs. Les microcontrôleurs 4 bits servent essentiellement à des tâches simples. De tels microcontrôleurs sont par exemple utilisés au sein d’objets ménagers grand public, tels que des cuisinières, machines à laver ou aspirateurs. Les microcontrôleurs 8 bits sont capables de répondre à des exigences plus élevées et sont utilisés pour la commande de dispositifs informatiques tels que des joysticks, tablettes graphiques et modems. Ils sont également utilisés pour la programmation de petits robots ainsi que pour l’acquisition de données (convertisseurs A/D, etc.). Les microcontrôleurs 16/32 bits sont utilisés pour la commande de machines ou le contrôle de processus, lorsque les contraintes temps réel sont sévères ou lorsque les algorithmes de régulation nécessitent une puissance de calcul importante. Des variantes de microcontrôleurs avec canaux d’accès mémoire direct offrant un grand débit entre mémoire et entrées-sorties sont utilisés dans les applications multimédia et pour le contrôle d’imprimantes laser.
Pour programmer un microcontrôleur il est nécessaire de connaître sa structure interne : registres, mémoires, ports d’entrées sorties, et toutes leurs possibilités
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 8
PRESENTATION DE LA SOCIETE
Vision:
Be the very best embedded control solutions company ever.
Mission Statement:
Microchip Technology Incorporated is a leading supplier of field-programmable
embedded control solutions by manufacturing the popular PIC® microcontrollers; a broad spectrum of innovative analog products; and related non-volatile
memory products. In order to contribute to the ongoing success of customers, shareholders and employees, our mission is to focus resources on high value, high quality products and to continuously improve all aspects of our business,
providing an industry leading return on investment.
Quality Comes First: We are on a relentless quest for perfection and are committed to the goal of zero defects. We will perform correctly the first time
and maintain ISO/TS 16949 quality system certification to ensure customer satisfaction. We employ the aggregate system so that all employees anticipate
problems and implement root cause solutions using effective and standardized improvement methods. We believe that quality is built-in and not inspected out and that when quality comes first, reduced costs follow.
Customers Are Our Focus: We establish successful customer partnerships by
exceeding customer expectations for products, services and attitude. We start by listening to our customers, earning our credibility by producing quality products,
delivering comprehensive services and meeting commitments. We believe each employee must effectively serve their internal customers in order for Microchip's external customers to be properly served.
Continuous Improvement is Essential: We utilize the concept of "Vital Few" to establish our priorities. We concentrate our resources on continuously improving Vital Few while empowering each employee to make continuous
improvements in their area of responsibility. We strive for constructive and honest self-criticism to identify improvement opportunities.
Employees Are Our Greatest Strength: We design jobs and provide
opportunities promoting employee teamwork, productivity, creativity, pride in work, trust, integrity, fairness, involvement, development and empowerment. We base recognition, advancement and compensation on an employee's
achievement of excellence in team and individual performance. We provide for employee health and welfare by offering competitive and comprehensive
employee benefits.
Products And Technology Are Our Foundation: We make ongoing investments and advancements in the design and development of our
manufacturing process, device, circuit, system and software technologies to
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 9
provide timely, innovative, reliable and cost effective products that enable our customers the freedom to innovate for today and tomorrow.
Total Cycle Times Are Optimized: We focus resources to optimize cycle times
to our internal and external customers by empowering employees to achieve efficient cycle times in their area of responsibility. We believe that cycle time
reduction is achieved by streamlining processes through the systematic removal of barriers to productivity.
Safety Is Never Compromised: We place our concern for safety of our
employees and community at the forefront of our decisions, policies and actions. We are all individually and collectively responsible for safety.
Profits And Growth Provide For Everything We Do: We strive to generate and maintain industry leading rates of company profits and growth as they allow
continued investment in the future, enhanced employee opportunity, and represent the overall success of Microchip.
Communication Is Vital: We encourage appropriate, honest, constructive and
timely communication in company, customer, investor, government, and community relationships to resolve issues, exchange information and share
knowledge.
Suppliers, Representatives And Distributors Are Our Partners: We strive to maintain professional and mutually beneficial partnerships with those suppliers, representatives, distributors, design houses and consultants who are
an integral link in the achievement of our mission and guiding values.
Professional Ethics Are Practiced: We manage our business and treat customers, employees, shareholders, investors, suppliers, channel partners,
community and government in a manner that exemplifies our honesty, ethics and integrity. We recognize our short and long term fiscal, social and
environmental responsibilities and are proud to serve as an equal opportunity employer.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 10
History of Microchip (Corporate Timeline):
1989 Group of Venture Capitalists acquired Microchip from GI
1990 New management team assumes responsibility
1993 Highly successful IPO in March 1993
Company purchases second fab from DEC in Tempe, AZ
Sales exceed $100M run rate
1994 Market valuation reaches $1 billion
1995 Company purchases KEELOQ® technology from Nanoteq
Sales exceed $300M run rate
1996 Thailand test plant opens for high volume testing
1997 Sales exceed $400M run rate
1999 Market value reaches $3 billion
2000 Microchip purchases Fab 3 in Puyallup, WA
2001 Microchip acquires TelCom Semiconductor
2002 Microchip acquires PowerSmart® Inc.
Microchip purchases Fab 4 in Gresham, OR
2004 Sales exceed $800M run rate
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 11
PRESENTATION DE TRAVAIL DEMANDE
Le but de ce mini-projet est de se familiariser avec les microcontrôleurs et bien utiliser ces
module pour élaboré un détecteur d’obstacle a base de pic 16f877a un capteur ultrason
FESTO 177469 et un afficheur LCD.
Notre détecteur affiche sur l’écran LCD s’il existe un obstacle dans sont champs de vision et à quel
distance.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 12
CHAPITRE II
ENVIRONNEMENT ET OUTIL
DE SOLUTION
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 13
INTRODUCTION
La solution adapté consiste à utiliser la plateforme MikroC, le simulateur des circuits l’ISIS,
les dispositifs PIC16F877A, le capteur ultrason FESTO 177469 et un LCD (2 Ligne 16 Colonne).
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 14
LA PLATE FORME MikroC
Ce compilateur "C" monoposte pour microcontrôleurs PIC bénéficie d'une prise en main très intuitive
et d'une ergonomie sans faille.
Ses très nombreux outils intégrés (mode simulateur, terminal de communication Ethernet, terminal
de communication USB, gestionnaire pour afficheurs 7 segments, analyseur statistique, correcteur
d'erreur, explorateur de code, mode Débug ICD...) associé à sa capacité à pouvoir gérer la plupart des
périphériques rencontrés dans l'industrie (Bus I2C™, 1Wire™, SPI™, RS485, Bus CAN™, USB, gestion
de cartes compact Flash et SD™/MMC™, génération de signaux PWM, afficheurs LCD
alphanumériques et graphiques et 7 à Leds segments, etc...) en font un outil de développement
incontournable.
Le MikroC est plus optimisateur avec des cycles de compilation rapide, code machine généré
compact (jusqu'à 40 % suivant les cas) et un environnement de développement ergonomique.
Les outils intégrés:
Le compilateur "MikroC" pour PIC intègre différents petits outils très pratiques qui vous simplifieront
"la vie" lors de vos développements.
Mini terminal USART :
Le "MikroC" intègre un petit terminal de communication
USART RS-232 (Universal Synchronous Asynchronous
Receiver) pour lequel vous pourrez configurer le débit, les
commandes RTS et DTR....
Mini gestionnaire 7 segments :
Le "MikroC PRO" intègre un petit utilitaire qui vous permettra de
sélectionner la valeur décimale ou hexadécimale à fournir pour
piloter un afficheur 7 segments.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 15
Editeur d'EEprom :
Le "MikroC" intègre un petit utilitaire qui vous permettra
d'éditer la mémoire EEprom de certains PIC.
Gestion simplifiée des LCD graphiques :
Le "MikroC PRO" intègre un petit utilitaire qui vous
permettra de convertir des fichiers BMP en données
pouvant être affichées sur plusieurs types de LCD
graphiques.
Si nécessaire, un logiciel additionnel (Visual GLCD
dispo en option en bas de page) permet également
en complément du compilateur de créer de
puissantes interfaces IHM.
Après une compilation sans erreur, il vous est possible d'activer un module qui vous permettra de
consulter diverses statistiques selon 6 critères :
Utilisation des ressources mémoire utilisées :
Vous indique par le biais de bargraphs l'occupation en RAM et ROM de votre programme.
Récapitulatif des procédures :
Vous donne une récapitulation des procédures utilisées et de leurs tailles mémoires.
Localisation des procédures locales :
Montre comment les procédures et les fonctions sont agencées dans la mémoire du microcontrôleur.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 16
Fenêtre RAM :
Fourni le récapitulatif des registres GPR et SFR ainsi que le nom et l'adresse des variables utilisées.
Fenêtre ROM:
Donne la liste des codes "op" sous la forme de tableaux.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 17
LE SIMULATEUR DES CIRCUITS 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.
L’ISIS permet deux types de simulation :
Une simulation analogique où en peut éditer le circuit à simuler et lancer la simulation, on peut
également lire les réponses en fréquences de notre montage.
ISIS permet aussi une analyse spectrale des signaux par l’analyse de FOURRIER
Une simulation logique qui consiste à éditer le schéma à simuler, placer l’alimentation (un
générateur), régler l’horloge ainsi que le front de travail et le temps d’impulsion puis choisir l’état de
départ et même d’écrire des scriptes descriptive des quelques éléments aussi de générer des
graphes.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 18
LE MICROCONTRÔLEUR
PIC16F877A Les PIC bénéficient des avantages en hautes performances, de consommation réduite et faible coût.
Les PIC se conforment à l'architecture Harvard : ils possèdent une mémoire de programme et une
mémoire de données séparées. La plupart des instructions occupent un mot de la mémoire de
programme. La taille de ces mots dépend du modèle de PIC, tandis que la mémoire de données est
organisée en octets.
Les PIC sont des processeurs dits RISC, c'est-à-dire processeur à jeu d’instruction réduit. Plus on
réduit le nombre d’instructions, plus facile et plus rapide en est le décodage, et plus vite le
composant fonctionne. Cependant, il faut plus d'instructions pour réaliser une opération complexe.
Le cycle instruction d'un PIC 8 bits dure 4 coups d'horloge. La plupart des instructions durent un
cycle, sauf les sauts qui durent deux cycles.
On atteint donc des vitesses élevées.
Avec une horloge interne de 4 MHz, on obtient donc 1 000 000 de cycles/seconde, or, comme le PIC
exécute pratiquement 1 instruction par cycle, hormis les sauts, cela donne une puissance de l’ordre
de 1 MIPS (1 million d'instructions par seconde)
Les PIC disposent de plusieurs technologies de mémoire de programme : flash, ROM, EPROM,
EEPROM, UVPROM
La programmation du PIC peut se faire de différentes façons :
par l'intermédiaire d'un programmateur dédié (par exemple : PICSTART Plus ou PM3 pour
la production de la société Microchip) ;
par programmation in-situ en utilisant l'interface de programmation / debug universel
ICSP de Microchip. Il suffit alors de d'ajouter simplement un connecteur ICSP au
microcontrôleur sur la carte fille pour permettre sa programmation une fois soudé ou sur
son support (sans avoir besoin de le retirer). Il existe pour cela plusieurs solutions libres
(logiciel + interface à faire soi-même) ou commerciales (par exemple : PICkit 3 ou ICD3 de
Microchip).
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 19
PIC16F877A BLOCK DIAGRAM
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 20
FESTO 177469 Le fonctionnement des capteurs ultrason est basé sur l’émission d’une onde ultrasonore puis la
réception de l’onde réfléchie par l’objet.
L'ultrason est une onde acoustique dont la fréquence est trop élevée pour être audible par l'être
humain.
Le capteur de position à ultrason de type FESTO 177469 (disponible à l’ISI) constituer par une
extrémité sur laquelle est fixée l’émetteur et le récepteur.
Le capteur nous fournie des résultats sous forme de courant électrique variable entre 6 et 20 mA (se
sont les limites d’utilisation su capteur), convertie en tension en chargeant la sortie du capteur par
une résistance.
Et ce en montant la résistance en parallèle avec le générateur de tension du capteur.
L’évaluation de la distance séparant l'objet du détecteur ce fait par l’intermédiaire d’un convertisseur
Analogique Numérique qu’on le réalisera avec le microprocesseur PIC 16F877A et le langage de
programmation le MikroC.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 21
CHAPITRE III
ETUDE DE PROJET
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 22
Pour élaboré ce projet on a besoin d’acquérir une intensité issu du capteur ultrason
FESTO177469 pour la traité avec le microcontrôleur PIC16F877A en la transformant
en une tension par l’inter médire d’une résistance bien étudier.
Pour que cette tension soit une information utile pour le microcontrôleur
PIC16F877A, elle doit être passée par le module CAN (Convertisseur Analogique
Numérique) intégré dans notre dispositif. Après traitement de la valeur numérique
récupérer, on affiche sur un LCD (2Lignes 16 colonnes) s’il existe un obstacle ou non,
et si c’est le cas on affiche la distance qui sépare ce dernier avec notre capteur.
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 23
CHAPITRE I\/
REALISATION
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 24
Après une longue étude théorique on a entamé l'étape pratique qui est la réalisation d'un code
compilable et surtout fonctionnelle.
Voila un aperçu du code implémenté :
unsigned char ch;
unsigned int adc_rd;
char *text;
long tlong;
int Count;
void temp(int ms)
{
while (ms !=0 )
{
T2CON=0x25; //T2CON=0b00100101 d'ou prescaler=4 et postscaler =5
TMR2=0; //TMR2=0;
PR2=0x64; //PR2=100
while(!PIR1.TMR2IF); //Attendre l'interruption
PIR1.TMR2IF=0;
Count++;
if (Count==1000)
{
Count=0; // la formule est freq=oslateur/(4*prescaler*(PR2-
TMR2)*postscaler*count)
}
ms--;
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 25
}
}
void main() {
Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0); // Configuration de LCD (associer chaque pine du
port B a celle du LCD)
LCD_Cmd(LCD_CURSOR_OFF); // Ignorer le curseur
LCD_Cmd(LCD_CLEAR); // Effacer LCD
ADCON1 = 0x82; // Configurer le registre ADCON1 ()
TRISA = 0xFF; // utiliser le port A comme entée de lecture analogique
text = "Objet a:";
while (1) {
adc_rd = ADC_read(2); // Lire la valeur de ADC de la 2eme chanel de lecture
analogique
LCD_Out(1,1,text); // Ecrire " Objet a:" dans LCD 1er ligne 1er colone
tlong = (long)adc_rd *248.5; // Convertire la valeur lu de ADC en m
tlong = tlong / 205; // Valeur lu par L'ADC 0..1023 -> Valeur réel 0-12.4 m
ch = (tlong / 100) % 10; // trouver le chiffre de disaine
LCD_Chr(1,9,48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la 1er
ligne 9eme colone , ajouter 48 au chiffre lu puisque 48 c'est le code ASCII de '0'
LCD_Chr_CP('.');
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 26
ch = (tlong / 10) % 10; // trouver le chiffre 0.1 volts
LCD_Chr_CP(48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la
position du cerseur, ajouter 48 au chiffre lu puisque 48 c'est le code ASCII de '0'
ch = tlong % 10; // trouver le chiffre 0.01 volts
LCD_Chr_CP(48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la
position du cerseur, ajouter 48 au chiffre lu puisque 48 c'est le code ASCII de '0'
LCD_Chr_CP('m');
temp(1); // attendre pour 1s
}
}
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 27
Voila un aperçu du code dans MikroC :
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 28
Voila un aperçu de la simulation avec ISIS :
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 29
CHAPITRE \/
CONCLUSION GENERALE
Mini Projet 2010-2011 Détecteur d’obstacle a base d’ultrason
BOUHAJJA Lamia & KHADHRAWI Marwen Page 30
Au terme de ce mini projet, on eu la satisfaction d’avoir réalisé notre détecteur d'obstacle a base de
PIC 16F877A.
Mais plus que cette satisfaction, on a eu le plaisir de travailler dans un domaine passionnant qui est
le Système Embarquée.
En effet, ce mini projet nous a permis non seulement d’approfondir nos connaissances en
électronique et informatique mais aussi d’acquérir une expérience extrêmement valorisante dans la
mesure où il reflète parfaitement le domaine dans lequel nous aimeront poursuivre nos études
supérieures, on estime être heureux d’avoir pu effectuer ce stage entouré de personnes
compétentes et de développer la notion de travail en équipes ainsi que la méthode de conception
d'un projet, comment procéder pour atteindre le but fixé par votre supérieure, comment peut on
créer des solutions face au différents obstacles rencontrer tel que le contrainte de temps et la
gestion de travails demandés dans le but de finalisé un projet correcte et conforme au cahier de
charge.