acquisizione della temperatura e visualizzazione su

ACQUISIZIONE DELLA TEMPERATURA E VISUALIZZAZIONE SU PERSONAL
COMPUTER
Il circuito che abbiamo realizzato è composto dai quattro blocchi di seguito descritti:
- un sensore di temperatura LM35
- un circuito di condizionamento
- un convertitore A/D
- un microcontrollore con la funzione di trasmettitore seriale
Il primo blocco è un sensore di temperatura LM35 avente la caratteristica di fornire in
uscita una tensione direttamente proporzionale alla temperatura e pari a 10mV per ogni
grado centigrado.
Supponendo che la temperatura da rilevare vari da un minimo di 0°C ad un massimo di
50°C otterremo in uscita una tensione variabile nell’intervallo 0mV – 500mV.
Tale tensione verrà solo amplificata affinché possa essere compatibile con l’ingresso del
convertitore A/D.
Tale circuito di condizionamento viene realizzato mediante l’utilizzo di un amplificatore
operazionale in configurazione non invertente.
Il guadagno di tale amplificatore dovrà essere pari a 10 per soddisfare la condizione
precedente.
Il convertitore utilizzato è un ADC0804 che lavora in modalità free-running in quanto il pin
SOC è collegato al pin EOC.
L’uscita del convertitore sarà un numero espresso in codice binario a 8 bit che si presenta
immediatamente ad ogni termine di conversione in quanto le uscite dell’ADC sono sempre
abilitate.
L’ultimo blocco è un PIC16F84 che provvede a prendere il dato a 8 bit in uscita dal
convertitore AD e a spedirlo tramite la linea seriale alla porta COM1 del computer.
Nel personal computer è in esecuzione un programma in visual basic che legge il dato in
arrivo dalla porta COM1 e lo visualizza in maniera grafica nello schermo.
Il programma in esecuzione nel PIC ha le seguenti caratteristiche:
tutto il PORTA viene settato come ingresso mentre la linea RA0 del PORTA viene settata
come uscita.
La trasmissione del dato avviene nella seguente maniera: la situazione presente nel
PORTB e proveniente dal convertitore ADC viene caricata in un registro chiamato DATO
posto all’indirizzo 0Ch.
1
Il sottoprogramma di trasmissione pone inizialmente la linea a livello 5V (riposo) per un
certo tempo (circa 0,6 sec), e poi invia il bit di start portando la linea a livello basso per 104
microsec. Tale ritardo è pari alla durata di un bit quando la velocità di trasmissione vale
9600 bit/sec.
Successivamente il PIC controlla il valore del bit 0 nel registro DATO e poi pone a livello
alto o basso la linea a seconda del valore. Tale valore viene mantenuto per un tempo pari
a 104 microsec (la durata di un bit).
Il pic controlla poi il valore del bit 1 nel registro DATO e ripete la procedura precedente.
Tutto si ripete fino al bit 7.
La trasmissione del dato termina con l’invio del bit di stop che consiste nel porre a livello
alto la linea per un tempo pari ad un bit.
A questo punto il dato è stato trasmesso e siamo pronti per inviarne uno nuovo.
Nel computer è in esecuzione un programma in viasual basic che provvede a ricevere il
dato dalla porta seriale COM1 e a visualizzarlo in maniera grafica sullo schermo dove è
presente un termometro virtuale che indica visivamente la temperatura, come se fosse un
termometro reale al mercurio.
2