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