Vous êtes sur la page 1sur 37

Rpublique Algrienne Dmocratique et Populaire Ministre de lEnseignement Suprieur et de la Recherche Scientifique Universit Abderrahmane Mira Bejaia Facult de la Technologie

e Dpartement dElectronique Master 1

Thme

Thermomtre base du PIC 16F877

Prsent par : Mr. :BOUKHELIFA Makhlouf

Encadr par : Mr. :HADJI Slimane

2009/2010

SOMMAIRE
Introduction gnrale.1 Chapitre I : thermomtrie et diffrents capteurs de temprature.
Introduction.2 1. Mthode lectrique 2 1.1. Thermomtres rsistance et thermistance ..2 1.2. Thermomtre par thermocouple .3 1.3. Capteur LM335 .3

Chapitre II : description et mise en uvre du PIC 16F877.


1. Dfinition dun PIC ..5 2. Les diffrentes familles des PIC .5 3. Identification dun PIC ..5 4. Architecture interne du PIC 16F877 6 5. organisation de la mmoire ....6 6. les ports dentres sorties .7 7. convertisseur analogique numrique 8 7.1. Registres utilises dans la conversion ..9 8. Horloge .11 8.1. Oscillateur Quartz ou Rsonateur Cramique.11 8.2. Oscillateur RC..12 9. TIMER0..12 10. TIMER 1 ...13 11. TIMER2 ..14

Chapitre III: Etude et conception du thermomtre.


Introduction.....15 1. Reprsentation synoptique du thermomtre ...15 2. Description lectrique des diffrents blocs 15

2.1. Afficheur 7 segments ...15 2.1.1. Constitution dun afficheur 7 segments diodes lectroluminescentes15 2.1.2. Le circuit intgr 74LS47.16 2.2. Alimentation 16 2.3. Capteur de temprature ....17

Chapitre IV: programmation du PIC et simulation.

Introduction .....19 1. Procdure de contrle du convertisseur analogique numrique19 2. Fonction de signe21 3. Fonction daffichage.22 4. Compilation du programme sous C et simulation sous ISIS.23

Conclusion gnrale.....25 Bibliographie. Annexe.

Introduction gnrale
La temprature constitue une information importante dans plusieurs processus industriels et de laboratoire. Elle intervient comme une grandeur principale dont la valeur doit tre connue avec prcision ou comme paramtre influant sur la qualit dautres mesures. Sa valeur sera utilise pour la correction ou la compensation. Certains procdes industriels ou biologiques favorisent des environnements de tempratures spcifiques, ainsi la rgulation de temprature simpose. Cette rgulation passe par la mesure de temprature de manire continue. Les possibilits offertes par lutilisation de systme base de microprocesseur ont permis de traiter les signaux issus des capteurs numriquement (linarisation et conversion). Ceci conduit des appareils prcis et bon march. Les systmes base de microcontrleurs constituent la solution la plus attractive. Dans ce travail nous avons fait la conception dun thermomtre base de PIC 16F877 de Micro chip. Notre thermomtre utilise un capteur intgr LM335 pour la mesure de temprature. Les calculs et la conversion ncessaires sont confis au microcontrleur, et laffichage sur des afficheurs 7 segments.

Chapitre I
Thermomtrie et diffrents capteurs de temprature

Chapitre I Introduction : [1]

thermomtrie et diffrents capteurs de temprature

La temprature est une grandeur physique mesure laide dun thermomtre et tudie en thermomtrie. Dans la vie courante, elle est relie aux sensations de froid et de chaud, provenant du transfert de chaleur entre le corps humain et son environnement. En physique, elle se dfinit de plusieurs manires, comme fonction croissante du degr dagitation thermique des particules, par lquilibre des transferts thermiques entre plusieurs systmes. La temprature est une variable importante dans dautres disciplines. Il existe plusieurs mthodes de mesure de temprature parmi ces mthodes la mthode lectrique.

I.1. Mthode lectrique :


En se basant sur la variation thermique de la valeur dune rsistance, sur leffet Seebeck ou sur la sensibilit thermique de la frquence doscillation dun quartz. Ces mthodes ont lavantage dune plus grande souplesse demploi.

I.1.1. Thermomtres rsistance et thermistance : [2]


Le fonctionnement des thermomtres rsistance et des thermistances est bas sur un mme phnomne physique, savoir la variation de la rsistance lectrique dun conducteur avec la temprature.

Thermomtres rsistance :
Dune faon gnrale la rsistivit dun mtal ou dun alliage dpend de la temprature :

=0(1+(T-T0))
0 : rsistivit du matriau.
: sensibilit thermique.

(I.1)

Relation rsistance temprature :

R(T)=R(0)(1+AT+BT2+CT3)
R(0) : la rsistance 0C A, B, C : paramtres qui dpendent de matriaux.

(I.2)

Thermomtres thermistance :
Une thermistance est un agglomrat doxydes mtalliques fritts, cest--dire rendus compacts par haute pression exerce temprature leve, de lordre de 150 bars et 1000 C. Il existe deux types de thermistance. Les CTN coefficient de temprature ngatif, et les CTP coefficient de temprature positif. 2

Chapitre I Relation rsistance-temprature :

thermomtrie et diffrents capteurs de temprature

R(T)=R0expB(1 /T-1/T0)
Avec T0 =25C 3000K<B<5000K.

(I.3)

I.1.2. Thermomtre par thermocouple : [3] Principe de thermocouple :


Deux fils composs de mtaux diffrents sont raccords leurs extrmits et que lune delles est chauffes, il se produit une circulation de courant continu dans le circuit. Cest leffet thermolectrique. Figure (1.2)

Aprs des recherches de linarit, de valeur de tension et de gamme de temprature, les combinaisons les plus courantes sont. Premier mtal Cuivre (Cu) Fer (Fe) Chromel (Cr) Chromel (Cr) Platine (Pt) Second mtal Constantan (C) Constantan (C) Constantan (C) Alumel (Al) Rhodium (Rh) symboles Cu/C Fe/C Cr/C Cr/Al Pt/Rh type T J E K SRB Limite en C -192 +400 -194 +870 +1000 +1370 +1700 Force lectromotrice en V 4277 100C 27390 500C 37000 500C 41310 1000C 10450 1000C

Lun des thermocouples le plus utilis est le Chromel-Alumel ou thermocouple de type K.il possde une plage de mesure tendue (-100 +1370 C), une force lectromotrice importante (41310 V 1000 C avec soudure froide 0C) et une courbe linariser pour obtenir sur toute ltendue de mesure des prcisions meilleures que 0.2%. ALUMEL : est un alliage compos de 95% de nickel, 2% daluminium,2% de manganse et 1% de silicium. CHROMEL : est un alliage compos de 80% de nickel et 20% de chrome.

I.1.3. Capteur LM335 : [4]


Lm335 est un capteur de temprature prcis est facilement calibr. Il fonctionne comme une diode zener dont la tension de claquage est directement proportionnelle la temprature absolue avec un facteur proportionnel de +10mV/K. Avec une impdance dynamique inferieur 1. Il peut fonctionner de -40C 100C sous un courant constant pouvant varier de 400A 5mA. La tension ces bornes est de 2,98V 25C, le montage le plus utilis pour ce composant est donne par figure (I.1).

Chapitre I

thermomtrie et diffrents capteurs de temprature

10mV/K Figure (I.1) LM335

Figure (1.3)

Chapitre II
Description et mise en uvre du PIC 16F877

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

II.1. Dfinition dun PIC :(Programmable Interface Controler) : [5]


Un microcontrleur est un circuit intgr rassemblant dans un mme boitier un microprocesseur, plusieurs types de mmoires et des priphriques de communication (entre sorties).

II.2. Les diffrentes familles des PIC :


Il existe trois grandes familles de microcontrleurs PIC La famille Baseline : qui utilise des mots dinstructions cods sur 12 bits. La famille Mid-range : utilise des mots dinstructions cods sur 14 bits. La famille High performance : utilise des mots dinstructions cods sur 16 bits.

II.3. Identification dun PIC :


La rfrence dun microcontrleur PIC est de la forme NN LLL XXX, o : NN : dsigne la famille laquelle appartient le circuit. LLL : est un ensemble dune, deux ou trois lettres qui indique le type de mmoire de programme contenue dans le circuit et si la plage de tension dalimentation est normale ou tendue. XXX : est un ensemble de deux ou trois chiffres constituant la rfrence du circuit.

Exemple : 16F877-20
16 : indique la famille mid-range. F : mmoire utilis de type FLASH. 877 : identit. 20 : frquence dhorloge.

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

II.4. Architecture interne du PIC 16F877 : [6]

Figure (II.1)

La mmoire du programme est sur 8 K mots, ce qui permet dcrire un programme contenant 1024x8 instructions puisque la taille dun mot mmoire et la mme celle de linstruction, 14 bites, ces instructions circulent dans un bus de 14 bites. La RAM contient 368 octets et la mmoire de donnes contient 256 octets ces donnes circulent dans un bus de 8 bits. Il ya aussi 33 pins dentres /sorties configurs par lutilisateur, quelques pins sont multiplexes par dautres fonctions, telle que les interruptions et lhorloge externe pour le TIMR0, TIMER1. Le c possde une UAL (unit arithmtique et logique) qui est charge des oprations arithmtiques et logiques, le rsultat de ces oprations est stock temporairement dans le registre W (registre sur 8 bits).

II.5. Organisation de la mmoire : [5]


Le PIC 16F877 dispose de trois types de mmoires :

mmoire vive RAM

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

Cest de la mmoire daccs rapide, mais labile (c'est--dire quelle sefface lorsquelle nest plus sous tension) cette mmoire contient les registres de configuration du PIC ainsi que les diffrents registres de donnes. Elle contient galement les variables utilises par le programme.

Mmoire morte FLASH


Cest la mmoire programme proprement dite. Chaque case mmoire unitaire fait 14 bits. La mmoire FLASH est un type de mmoire stable, rinscriptible volont.

Mmoire EEPROM
Cette mmoire est de 256 octets, elle est lectriquement effaable, rinscriptible et stable. Elle est utilise pour sauver des paramtres.

II.6. Les ports dentres sorties :


Le c 16F877 dispose 5 ports (A, B, C, D, E). Tous les ports dentres /sorties sont bidirectionnels est la plupart des lignes de port ont une double fonction. Tous les ports sont pilots par deux registres : Le registre de PORTx : si le PORTx ou certaines lignes de PORTx sont configures en sortie, ce registre dtermine ltat logique des sorties. Le registre TRISx : cest le registre de direction. Il dtermine si le PORTx ou certaines lignes de PORTx sont en entre ou en sortie. Lcriture dun 1 logique correspond une entre et lcriture dun 0 logique correspond une sortie. Au RESET toutes les lignes de ports sont configures en entres.

Le port A
Le port A est form de six pins donc six entres /sorties numrotes de RA0 RA5 qui peuvent tre utilis comme des entres pour le convertisseur analogique numrique ou utilis pour le TIMER0, dans ce dernier cas la broche RA4 sera utilis comme entre pour configurer TOCKI.

Le port B
Le port B est form de huit pins entres/sorties numrotes de RB0 RB7. Il peut tre configur pour gnrer une interruption sur un changement dtat des broches RB4 RB7.

Le port C
Le port C possde huit pins entres/sorties numrotes de RC0 RC7.

Le port D
Le port D possde huit pins entes/sorties numrotes de RD0 RD7. Il peut tre configur comme port parallle esclave.

Le port E
7

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

Le port E possde trois pins entre/sorties numrotes RE0 RE2, il est utilis comme entres au convertisseur analogique numriques.

II.7. Convertisseur analogique numrique : [7]


La fonction conversion analogique-numrique consiste transformer une grandeur lectrique en une grandeur numrique exprime sur N bits. Ce convertisseur est compos de : Un multiplexeur analogique 8 entres maximum permet de slectionner lentre analogique convertir. Un chantillonneur bloqueur permet de mmoriser la tension analogique convertir pendant la conversion. Un convertisseur analogique numrique de 10 bits.

Figure(II.2) Le CAN convertit le signal analogique prsent sur une de ses 8 entres en son quivalent numrique, cod sur 10 bits. Le signal numrique peut donc prendre 1024 valeurs possibles. Les pattes AN2 et AN3 peuvent tre utilises comme rfrences de tension ou comme entres analogiques standard. Les rfrences de tension tant dans ce dernier cas prises sur les tensions dalimentations du PIC :Vdd et Vss.(Vdd pour Vref+ et Vss pour Vref-) . La conversion se passe en 2 temps : 1er temps le signal convertir est appliqu sur lentre convertir, ce signal doit tre prsent au moins pendant le temps Tacq(temps dacquisition environ 20S pour 5V ). 2me temps la conversion, approximations successives. Le temps de conversion minimum est de 12 TAD (TAD cest le temps de conversion dpendant de lhorloge interne, typiquement 1,6S).

Valeurs reprsentes :
Les relations qui lient les valeurs analogiques et les reprsentations numriques sont : N(valeur numrise)=((VIN-Vref-)/(Vref+ -Vref-))*1023).

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

VIN analogique=((Val/1023)*(Vref+-Vref-))+VrefVref- : tension minimale analogique (rfrence ngative). Vref+ : tension maximale analogique (rfrence positive). VIN : tension dentre numriser. N : valeur numrique sur 10 bits.

II.7.1. Registres utilises dans la conversion : Registres ADRESL et ADRESH :


Le convertisseur donne un rsultat sur 10 bits, ce rsultat sera sauvegard dans deux registres ADRESL et ADRESH. Ces deux registres contiennent 16 bits, et que nous nen utilisons que 10 bits, on peut soit justifier le rsultat gauche ou droite. Le choix de la mthode seffectue laide du bit 7 du registre ADCON1.

Registre ADCON1 :
Il permet de dterminer le rle de chacune des pins AN0 AN7. Il permet donc de choisir si un pin sera utilis comme entre analogique, ou comme tension de rfrence. Il permet galement de dcider de la justification du rsultat.

R/W-0 ADFM bit7 bit 7

U-0 -

U-0 -

U-0 -

R/W-0 PCFG3

R/W- 0 PCFG2

U-0 R/W-0 PCFG1 PCFG0 bit 0

ADFM : bit de slection du format de rsultat de conversion Analogique/Numrique. 1=justifi droite. Les 6 bits de poids fort du registre ADRESH sont lus comme 0 . 0= justifi gauche. Les 6 bits de poids faible du registre ADRESL sont lus

comme 0 . bit 6 4 non-implments : lu comme 0 . bit 3 0 PCFG3 PCFG0 : bits de contrle de configuration de port A/D. Le tableau suivant donne les cas possibles.

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

NB : D: I/O Digitale A : Entre analogique VREF+: tension de rfrence maximale. VREF- : tension de rfrence minimale

Registre ADCON0 :
Contient les bits de configuration du convertisseur Analogique/Digital.

R/W-0 ADCS1 bit 7 bit 7 :6

R/W-0 ADCS0

R/W-0 CHS2

R/W-0 CHS1

R/W-0 CHS0

R/W- 0 GO/DONE

U-0 -

R/W-0 ADON bit 0

ADCS1 :ADCS0 : bit de slection dhorloge de conversion Analogique/numrique. 00=FOSC/2 00=FOSC/8 00=FOSC/32 00=FRC (horloge dlivre de loscillateur RC interne du module A/D)

Bit 5 :3

CHS2 :CHS1 :CHS0 : bit de slection du canal analogique. 000=canal 0, (RA0/AN0) 001=canal 1, (RA1/AN1) 010=canal 2, (RA2/AN2) 10

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

011=canal 3, (RA3/AN3) 100=canal 4, (RA5/AN4) 101=canal 5, (RE0/AN5) 110=canal 6, (RE1/AN6) 111=canal 7, (RE2/AN7) Bit 2 GO/DONE: bit de statut de conversion Analogique/Numrique. Si ADON=1 : 1=conversion A/D en cours. (Mtre ce bit 1 dmarre la conversion A/D). 0=conversion A/D pas en cours (ce bit est automatiquement effac par le matriel lorsque la conversion Analogique/Digitale est termine). bit 1 bit 0 non-implment : lu comme 0 . ADON : bit de mise encroute du mdulle A/D. 1=le module convertisseur A/D est en service. 0=le module convertisseur A/D est dsactiv.

II.8.Horloge : [6]
Le PIC 16F877 peut fonctionner en 4 modes doscillateur, la slection de lun de ces modes est obtenue par la configuration des bits FOSC1 et FOSC0. FOSC1 :FOSC0 00 01 10 11 Mode LP XT HS RC

LP : Low Power crystal : quartz faible puissance. XT : Crystal/Resonator : quartz/rsonateur en cramique. HS : High Speed crystal/resonator : quartz haute frquence/rsonateur en cramique HF. RC : circuit RC.

II.8.1. Oscillateur Quartz ou Rsonateur Cramique :


En mode LP, XT ou HS, un quartz ou un rsonateur en cramique est connect aux pins OSC1/CLKIN et OSC2/CLKOUT pour tablir loscillation.

11

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

Figure (II.8.1) Dans lun de ces modes de fonctionnement, le microcontrleur peut avoir une horloge externe connecte la broche OSC1/CLKIN.

Figure (II.8.2)

II.8.2.Oscillateur RC :
La frquence de loscillation dpend du voltage, des valeurs de R et C et de la temprature de fonctionnement.

Figure (II.8.3)

II.9.TIMER0 : [7]
Le timer0 peut fonctionner comme un temporisateur ou un compteur 8 bits (0 255). 12

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

Figure (II.9.1) Le mode temporisateur est slectionn en mettant 0 le bit T0CS du registre OPTION. Ce mode de fonctionnement est assur par lhorloge interne, le timer0 est incrment cycle dinstruction (sans le prediviseur). Le mode compteur est slectionn en mettant 1 le bit T0CS du registre OPTION. Lhorloge dans ce cas est externe, en mettant 1 le bit T0SE le TMR0 est incrment chaque front montant de la patte RA4/T0CKL, et chaque front descendant si T0SE 0. Prescaler (prdiviseur) : Un compteur 8 bits est disponible comme un prdiviseur pour le TMR0, ce prdiviseur ne peut tre ni lus ni crit.

II.10. TIMER 1 : [7]


Il fonctionne sur le mme principe que le TIMER0, mais il est plus moderne dans sa conception. Cest un compteur 16 bits. Le bit TMR1CS permet de choisir lhorloge soit interne (Fosc/4), externe T1CKI ou un oscillateur quartz connect sur les broches T1OSO et T1OSI.

Figure (II.10.1)

13

Chapitre II

description et mise en uvre du Microcontrleur PIC 16F877

Les bits T1CKPS1 et T1CKPS0 permettent de choisir la valeur de la pr division appliquer lhorloge choisie, de 1 8. Le bit T1SYNC permet de choisir si lhorloge de sortie du prdiviseur doit tre synchrone avec lhorloge du microcontrleur. Le bit TMR1ON active ou dsactive le TIMER1. Si ce bit est 1 alors le TIMER1 est en fonctionnement et les registres TMR1H :TMR1L son incrments chaque coup dhorloge.

II.11.TIMER2 : [7]
Cest un compteur 8 bits, sont horloge ne peut tre que lhorloge interne devise par 4 (Fosc/4).

Figure (II.11.1) Il est incrment par lhorloge interne (Fosc/4) pr divise ou non. Les bits T2CKPS1 et T2KPS0 permettent de choisir la valeur de la pr division (1,4 ou 16) Le contenu du registre incrment TMR2 et il est compar au registre PR2, si ces deux registres sont gaux alors une impulsion dhorloge est gnre et le contenu de TMR2 est remis 00h. Celle-ci peu servir dhorloge pour piloter les liaisons I2C et SPI du module SSP ou encore tre divise par un post diviseur appel : POSTSCALER. Les bits T2OUTPS0, T2OUTPS1, T2OUTPS2, T2OUTPS3, permettent de choisir la valeur de la post division 1,2,16.

14

Chapitre III
Etude et conception du thermomtre

Chapitre III Introduction :

Etude et conception du thermomtre

Dans ce chapitre nous allons expliquer les diffrentes oprations et traitements effectues sur la tension issus du capteur de temprature(LM335) pour la convertir en une valeur numrique gale la valeur de la temprature afficher.

III.1. Reprsentation synoptique du thermomtre :


Le schma synoptique global donn dans la figure(III.1).

Bloque dalimentation

Affichage

Capteur de Temprature

P I C 1 6 F 8 7 7

Fig. (III.1) La tension issue du LM335 qui est une conversion dune temprature en une tension, qui sera appliqu lentre du contrleur. Ce dernier est programm pour gnrer et afficher le rsultat des grandeurs mesures sur afficheur 7 segments.

III.2. Description lectrique des diffrents blocs : III.2.1. Afficheur 7 segments :


Pour affich le rsultat des grandeurs mesures on utilise des dcodeurs BCD (dcodeur binaire/dcimale) est des afficheurs 7 segments diodes lectroluminescentes.

III.2.1.1.Constitution dun afficheur 7 segments diodes lectroluminescentes : [8] Constitution gnrale dun afficheur 7 segments:
Il est constitu de 7 segments lumineux rectangulaires, correspondant chacun une diode electroluminiscente.les points dcimaux correspondent chacun une diode lectroluminescente de section circulaire. 15

Chapitre III

Etude et conception du thermomtre

Il existe deux types dafficheurs 7 segments diodes lectroluminescentes.

a. Les afficheurs cathodes communes:


Ils sont constitus de 7 diodes lectroluminescentes dont les cathodes sont relies entre elles. Une rsistance doit tre place en srie avec chacune des DEL compte tenu de leurs tensions de fonctionnement. Les cathodes communes doivent tre relies au potentiel le plus bas c'est--dire 0. Il faudra donc un niveau logique actif 1 pour commander un afficheur cathodes communes.

b. Les afficheurs anodes communes :


Ils sont constitus de 7 diodes lectroluminescentes dont les anodes sont relies entre elles. Une rsistance doit tre place en srie avec chacune des DEL compte-tenu de leurs tensions de fonctionnement. Les anodes communes doivent tre relies au potentiel le plus haut du circuit. Il faudra donc un niveau logique actif 0 pour commander un afficheur anodes communes. Dans notre ralisation en utilisent un afficheur anodes communes ncessitant un niveau logique 0 on utilisera le dcodeur 74LS47.

III.2.1.2. Le circuit intgr 74LS47 :


Se prsente sous forme dun circuit intgr 16 broches, il dispose de sorties collecteurs ouverts autorisant une liaison directe avec les afficheurs anode commune, des entre supplmentaires sont aussi prvues : LT Lamp Test qui permet de vrifier le fonctionnement de lafficheur en allument tous les segments si BI est 1 . BI/RBO Blanking Input qui permet leffacement des segments de lafficheur quelque soit ltat des autres entres. RBI Ripple Blanking Input qui permet leffacement des 0 gauche si A, B, C, D sont 0 .

III.2.2. Alimentation : [9]


Tous les bloques du circuit sont alimentes par une tension +5V. Cette tension est gnre partir du rseau 220V par le circuit suivant.
7805
1 VI VO 3

C1

C2

GND

5V

220V

9V

C3

0V

Figure(III.2.2) : schma lectrique de lalimentation 16

Chapitre III

Etude et conception du thermomtre

Le schma lectrique de lalimentation contient quatre tages fonctionnels sont : Etage abaisseur : contient le transformateur abaisseur 9V, qui permet de passer dune tension sinusodale de valeur leve une tension de mme forme mais de valeur plus faible. Etage redresseur : contient le pont de Greatz constitu par quatre diodes qui sert gard que la partie positive (ou ngative) de la sinusode dentre. Etage de filtrage : form de C1 (C1=2200F) pour rle de maintenir la tension de sortie suprieure une certaine valeur. Les condensateurs (C2=220nF, C3=10F) sont conseilles par le constructeur pour rduire les bruits HF et viter tout risque doscillation parasite du rgulateur. Etage de rgulation : contient le rgulateur de tension 7805, qui assure de gard la tension de sortie constante quelque soit le courant demand.

III.2.3. Capteur de temprature :


Pour mesurer une temprature, nous avons le choix entre de nombreux capteurs : rsistances coefficient de temprature positif ou ngatif, thermocouple, etc. Linconvnient de la plupart de ces capteurs est que leur tension de sortie ne varie pas linairement en fonction de la temprature, ce qui oblige une correction pour connaitre avec prcision la temprature exacte. Aujourdhui, il existe des capteurs semi-conducteur de grande prcision et sortie linaire, bon march et faciles demploi. Exemple, le circuit LM335.

Capteur LM335 : [10]


La tension en sortie de ce capteur est proportionnelle la temprature. Elle augmente de 10mV par degr Kelvin.

Figure (III.2.3)

La tension entre les bornes du LM 335 est fonction de la temprature. 17

Chapitre III

Etude et conception du thermomtre

A 25C est avec un courant de 1mA circulant dans le capteur(LM335), la valeur typique de la tension est de 2,98V. La valeur minimum est de 2,92V et la valeur maximum est de 3,04V La valeur de la rsistance R4 doit tre calcule en fonction de +Vcc pour que le capteur soit parcouru par un courant de 1mA. Voici la formule utilis pour le calcul de R4. R4=(Vcc-2,98)/1mA (III.1)

Le potentiomtre 10K permet de rgler le dcalage et dtalonner le capteur. La relation entre la tension et la temprature est donne par la formule suivante : VT=VT0+0,01(T-T0) VT : tension dlivre par le capteur T : temprature ambiante VT0 : tension de rfrence pour une temprature T0. Pour T0=25 C, VT0=2,98V on obtient : (III.2)

T(C)=100xVT-273,15

(III.3)

18

Chapitre IV
Programmation du PIC et simulation

22

Chapitre IV Introduction :

programmation du PIC et simulation

Le programme principal est appel partir de ladresse 0000. Il commence par linitialisation des PORTs. Pour les afficheurs 7 segments les pins du PORTB, PORTC et le PORTD sont configures en sorties. Les pins B0 B3 pour affich la lettre C , et les pins B4 B7 pour affich lunit, et le pin C4 pour affich le signe -, et les pins D0 D3 pour affich les dizaines et les pins D4 D7 pour affich les centaines. Pour le CAN on a configur le PORTA en entre analogique. Le pin RA0 est utilis pour la tension issue de ltage du LM335.

IV.1. Procdure de contrle du convertisseur analogique numrique :


Le PIC 16F877 possde un convertisseur analogique numrique sur 10 bit avec 8 canaux dentrs analogiques. Seulement un entre eux utilis(RA0). Le convertisseur 10 bits ceci donne un nombre de pas de mesure gale 1024. Les tensions de rfrences minimale et maximale sont Vss et Vdd . Le rsultat de mesure est justifi droite par le positionnement du bit ADFM du registre ADCON1 1. Ce qui implique que le registre ADRESL 8 bits significatifs et contient loctet le moins significatif du rsultat de conversion, par contre le registre ADRESH aura seulement 2 bits significatifs, qui sont les bits de poids fort du rsultat de conversion (valeur numrique de la tension convertir). Le choix de la frquence dhorloge du CAN seffectue par les deux bits ADCS0-1(ADCON0). La configuration quon utilise est celle qui donne une frquence dhorloge dlivre de loscillateur RC interne. Le bit ADON du registre ADCON1 permet la mise en route du CAN. Le choix des entres analogiques et des tensions de rfrence est effectu par le positionnement des bits PCFG3-0. Pour que, seulement lentre RA0 soit configure en entre analogique on prend pour ces bits la valeur (0010b). Le bit GO/DONE(ADGO)=1 lance la conversion. Le drapeau de linterruption du convertisseur CAN est le bit ADIF(PIR1). Il est test pour vrifier la fin de la conversion et afin de lire le rsultat. Il est positionn 0 avant chaque conversion.

19

Chapitre IV

programmation du PIC et simulation

Dbut

Configuration des PORTs B, C, D en sorties

Configuration ADCON1 en fonction des pins utiliss en mode analogique (ADCON1=10001110)

Configuration ADCON0 RC interne (ADCS0-1=11) ADCON0.7=1, ADCON0.6=1

Positionnement, le bit ADON du registre ADCON0 ADON : 1(ADCON0.0 :1)

Attendre le temps Tacq

Lancement la conversion en positionnant le bit GO du Registre ADCON0.2=1

Attendre la fin de la conversion 12Tad

Mesure=Lecture des registres ADRESH et ADRESL

Calcul de la temprature ambiante T=((5*mesure*100)/1023) Appel la fonction de signe Appel la fonction daffichage

FIN Figure(IV.1.1) : Organigramme du programme 20

Chapitre IV

programmation du PIC et simulation

IV.2. Fonction de signe :

Debut

Initialisation de la variable s=0

Oui T>=273

Non

T=T-273

T=273-T

s=s+1

s=s

Fin Figure(IV.2.1) : Organigramme de la fonction de signe.

Le PORT C est utilis pour affich le signe - si le rsultat est ngatif, on utilise que le pin C4. PORTC=s*16+0.

21

Chapitre IV IV.3. Fonction daffichage :

programmation du PIC et simulation

Dbut

Initialisation des variables c, d, u, 0

vv>=100
c=c+1

Non

=100 c=c+1

Oui

vv=vv-100

vv>=10 Oui d=d+1 vv=vv-10

Non

u=vv

FIN

Figure(IV.3.1) : Organigramme de la fonction daffichage. Le PORTS B est utilis pour affich les units il est utilis comme suit : B0 B3 pour affich la lettre C et B4 B7 pour affich lunit. Donc le PORT B reoit la valeur suivante. PORTB=u*16+0A (0A en hexadcimal)

22

Chapitre IV

programmation du PIC et simulation

Le PORT D est utilis pour affich les dizaines et les centaines il est utilis comme suit : D0 D3 pour affich les dizaines et D4 D7 pour affich les centaines. Donc le PORT D reoit la valeur suivante. PORTD=c*16+d.

IV.4. Compilation du programme sous C et simulation sous ISIS :


Le programme t ralis et compil sous C afin de gnrer deux fichiers qui contiennent le programme cod en hexadcimal qui sert programmer le C sous Isis, et un en assembleur qui sert comme source pour Isis.

Rsultat de la simulation
U1
13 14 1 2 3 4 5 6 7 8 9 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877

3 5 4 6 2 1 7

3 5 4 6 2 1 7

3 5 4 6 2 1 7

LT RBI BI/RBO D C B A

LT RBI BI/RBO D C B A

LT RBI BI/RBO D C B A

74LS47

74LS47

74LS47

LT RBI BI/RBO D C B A 14 15 9 10 11 12 13 QG QF QE QD QC QB QA

3 5 4 6 2 1 7
74LS47

QG QF QE QD QC QB QA

QG QF QE QD QC QB QA

14 15 9 10 11 12 13

14 15 9 10 11 12 13

Figure(IV.4.1) : Schma utilis pour la simulation

(COM)

23

14 15 9 10 11 12 13

QG QF QE QD QC QB QA

Chapitre IV
5V

programmation du PIC et simulation

U1 R4
13 14 1 2 3 4 5 6 7 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

ADJ

8 9 10

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877

V-

V+

LM335

5V

C3
3 VO

7805
3 5 4 6 2 1 7 3 5 4 6 2 1 7 3 5 4 6 2 1 7 3 5 4 6 2 1 7

GND

LT RBI BI/RBO D C B A

LT RBI BI/RBO D C B A

LT RBI BI/RBO D C B A

C2 C1
1

VI

74LS47

74LS47

74LS47

LT RBI BI/RBO D C B A 14 15 9 10 11 12 13 QG QF QE QD QC QB QA

74LS47

QG QF QE QD QC QB QA

QG QF QE QD QC QB QA

14 15 9 10 11 12 13

14 15 9 10 11 12 13

TR

5V

Figure(IV.4.2) : Schma lectrique du thermomtre

24

14 15 9 10 11 12 13

QG QF QE QD QC QB QA

Conclusion gnrale

Conclusion gnrale Conclusion :


Llaboration de ce modeste travail nous a permis daccder plusieurs domaines. Lutilisation du PIC nous a introduits au domaine de C, leurs mises en uvre et leur systme de dveloppements ainsi que les diffrentes fonctionnalits et avenages quils offrent. Le LM335 utilis pour la mesure une caractristique linaire sur un grand intervalle de temprature. Ce dernier a un temps de rponse trs grand. Lutilisation du microcontrleur nous a permis la ralisation de la conversion numrique en utilisant la possibilit qua le PIC pour effectuer des calculs. Ce travail nous a permet aussi dapprendre le logiciel ISIS pour la simulation. Nous esprons avoir apport une contribution au domaine de la programmation du PIC 16F877.

25

Bibliographie

[1] http://fr.wikipedia.org/wiki/Temp%C3%A9rature [2] Gwenalle TOULMINET-asi-2002-2003 .

[3] DOMINIQUE OTTELO. [4]National semi-conducteur. DATASHEET LM135/LM225/LM335 [5]CHRISTIAN TAVERNIER les microcontrleurs pic description et mise en uvre :DUNOD 2me dition 2002 [6]MICROCHIP PIC 16F877 DATA SHEET 2003 [7]phILIPPE LETENNEUR-GRANVILLE-2003[8] cf RIVALIN Georges-2001 [9]alimentation.doc Auteur :HANNEQUINB. [10] http://premiumorange.com/daniel.robert9/Digit/Pratique/Digit_14PS3.html

Annexe

PIC 16F877

Afficheur anodes communes

Descriptions des pins du dcodeur 74LS47

74LS47

Annexe Caractristiques lectriques de LM335 :

Vous aimerez peut-être aussi