Académique Documents
Professionnel Documents
Culture Documents
Thermometre A Base Du PIC16F877
Thermometre A Base Du PIC16F877
Thme
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
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
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
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
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.
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)
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
R(T)=R0expB(1 /T-1/T0)
Avec T0 =25C 3000K<B<5000K.
(I.3)
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.
Chapitre I
Figure (1.3)
Chapitre II
Description et mise en uvre du PIC 16F877
Chapitre II
Exemple : 16F877-20
16 : indique la famille mid-range. F : mmoire utilis de type FLASH. 877 : identit. 20 : frquence dhorloge.
Chapitre II
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).
Chapitre II
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 EEPROM
Cette mmoire est de 256 octets, elle est lectriquement effaable, rinscriptible et stable. Elle est utilise pour sauver des paramtres.
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
Le port E possde trois pins entre/sorties numrotes RE0 RE2, il est utilis comme entres au convertisseur analogique numriques.
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
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.
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.
U-0 -
U-0 -
U-0 -
R/W-0 PCFG3
R/W- 0 PCFG2
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
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 ADCS0
R/W-0 CHS2
R/W-0 CHS1
R/W-0 CHS0
R/W- 0 GO/DONE
U-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
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.
11
Chapitre II
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
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.
Figure (II.10.1)
13
Chapitre II
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
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.
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.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
C1
C2
GND
5V
220V
9V
C3
0V
Chapitre III
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.
Figure (III.2.3)
Chapitre III
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 :
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.
19
Chapitre IV
Dbut
Calcul de la temprature ambiante T=((5*mesure*100)/1023) Appel la fonction de signe Appel la fonction daffichage
Chapitre IV
Debut
Oui T>=273
Non
T=T-273
T=273-T
s=s+1
s=s
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
Dbut
vv>=100
c=c+1
Non
=100 c=c+1
Oui
vv=vv-100
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
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.
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
(COM)
23
14 15 9 10 11 12 13
QG QF QE QD QC QB QA
Chapitre IV
5V
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
24
14 15 9 10 11 12 13
QG QF QE QD QC QB QA
Conclusion gnrale
25
Bibliographie
[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
74LS47