Mini Projet Thermomètre à Base de Pic 16F877

Embed Size (px)

DESCRIPTION

3éme année génie électrique

Citation preview

Mini projet Thermomtre base de pic 16F877

Bon ...On va profiter de cette journe de grve pour travailler un peu !Ce montage a t demand par une petite socit de formation lyonnaise. Lemicrocontrleur tait impos. Le capteur,un thermocouple type K, aussi.

Oui, le microcontrleur PIC16F877 est un peu gros pour cette application simple !

On va tout d'abord amplifier le signal fourni par le thermocouple.On utilisera un circuit AD595, pour un type K.

Schma :

Il faut amplifier, un thermocouple donne un signal trs faible ; environ40 micro Volts par degr C. Le schma est trs simple, mais le circuitAD595 est assez cher ! Il amplifie mais ralise aussi la compensation de soudure froide.( voir les explications dans la doc. de l' AD595.)

On aurait pu utiliser un petit circuit, bien moins cher, le LM35. Il a la taille d'unpetit transistor, avec 3 pattes, et remplace la fois le thermocouple et l'AD595.

Voyons ensuite la carte d'affichage. Le microcontrleur dispose de nombreuses.E/S, aussi nous allons faire une carte trs simple.

Oui, 4 afficheurs et 4 dcodeurs BCD-7 segments. 0n va donc utiliser16 sorties du microcontrleur.

La carte PIC est aussi ultra simple.( R en K - C en micro Farads ).Port B et port D sont utiliss pour la gestion des afficheurs.La sortie de la carte AD595 sera relie l'entre A0 quisera configure en entre analogique, par le programme.

Le Convertisseur Analogique Numrique ( CAN ) interne travaille en 10 bits.

Et, pour alimenter tout cela, il faudra une alim 5V - 500 mAcommune aux 3 cartes.Bon courage ...

Les 3 cartes :

Les 3 cartes et le thermocouple K :

// PROGRAMME en C ( CCS )

// MESURE TEMPERATURE// 01/2006// AFFICHAGE LEDS ( 7 - SEGMENTS )// AFFI : car. c = B0-B3 units = B4--B7// dizaines = D0--D3 centaines = D4--D7

#include #device ADC=10#fuses HS,NOPROTECT,NOWDT,NOLVP#use delay(clock=20000000)//----------------------------------// Var. glob.byte m,c,d,u;//-------------------------void conv_bcd(long vv)begin m=0;c=0;d=0;u=0; while (vv>=1000) begin vv=vv-1000; m++; end while (vv>=100) begin vv=vv-100; c++; end while (vv>=10) begin vv=vv-10; d++; end u=vv;end//-------------------------------void main()begin long mesure; byte aff; setup_port_a(a_analog); // port a en entree analog. setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); set_tris_e(0x07); // port e en entree set_tris_b(0x00); //B en sortie PORT_B=0x00; set_tris_d(all_out); // port d en sortie PORT_D=0x00; delay_ms(1000);

do begin mesure=read_adc(); // prise en compte capteur mesure = mesure/2; // passage en C conv_bcd(mesure); aff=u*16+0x0A; PORT_B=aff; // affiche u et "c" aff=c*16+d; PORT_D=aff; // affiche c et d delay_ms(1000); end while(1);end

Carte de programmation : PIC-01Logiciel : IC-Prog 1.05C

-->Le programme charger dans le PIC. (.hex)

On a aussi ralis une version avec affichage sur cran LCD.

Le programme est diffrent et un peu plus compliqu. Il fautgrer l'cran LCD.Et le programme va varier selon l'cran utilis.

DOCs en .pdf

- Dcodeur 74LS47.- Capteur LM35.- Ampli thermocouple : AD594 et AD595.

Liens

MICROCHIP - ( PIC ).Compilateur C (CCS).

On a aussi ralis un prototype de rveil matin, avec des lves.de l' EM LYON ( Ecole de Management ), pour un projet. ( janvier 2006 )

Toujours avec la carte Afficheurs 7-segments et la carte PIC.

Ce rveil avait quelques fonctions un peu spciales que l'on ne peut pas dvoilerencore ! C'est TOP SECRET !

3me anne gnie lectrique