Sei sulla pagina 1di 4

1

Universit degli Studi di Genova Facolt di Ingegneria


Corso di studi in Ingegneria Elettronica
---
Insegnamento di Strumentazione Elettronica a. a. 2010-2011


Int roduzi one ai sensori di t emperat ura e condi zi onament o dei segnal i
Progettazione e realizzazione di un termometro
Fedeli Alessandro, Shahbazians Aram

Introduzione
Questo progetto ha come scopo lo sviluppo di un sistema che renda disponibile allutilizzatore (tramite
interfaccia RS-232 o display) la misura della temperatura ambientale (0-100C). In particolare, dopo aver
studiato il funzionamento di un sistema di acquisizione dati da sensore analogico, viene curata la progettazione
del circuito di condizionamento del segnale, la sua realizzazione pratica e linterfacciamento con lesterno.

Parte I
1.1 Sistema di acquisizione dati da sensore analogico
Prima di addentrarci nella realizzazione pratica del progetto, vediamo come pu essere costituito lo schema di
base per un sistema di acquisizione dati da sensore analogico.


Figura 1 Schema a blocchi del sistema di misura

1.2 Scelta del sensore
Si optato per un sensore di temperatura a semiconduttore perch questi sono caratterizzati, grazie alle
propriet delle giunzioni a semiconduttore, dall'avere corrente o tensione dipendenti dalla temperatura. Il costo
contenuto, la linearit nel range di utilizzo, l'accuratezza di misura, la precisione e la buona sensibilit li rendono
adatti a determinate applicazioni circuitali. Il loro impiego comunque limitato dal ristretto intervallo di
temperature in cui possono lavorare (< 150C), dalla fragilit e dal tempo di risposta elevato. Le specifiche di
progetto dell'esercitazione hanno reso per questi ultimi aspetti trascurabili. Si tratta inoltre di componenti
standard.

1.3 Il datasheet
Per la scelta del sensore (e in genere di un qualsiasi componente) di fondamentale importanza la
consultazione dei datasheet forniti dai produttori. In un datasheet sono reperibili le informazioni riguardanti
nome del componente, nome del costruttore, packages disponibili, descrizione dei PIN di connessione,
2

descrizione generale del componente e sue caratteristiche salienti, esempi di applicazioni tipiche, Absolute
Maximum Ratings (AMR), grafici di analisi delle prestazioni e dimensioni fisiche.

1.4 Condizionamento del segnale
Come illustrato nello schema a blocchi del 1.1, a valle del sensore necessario utilizzare circuiti appositi per il
condizionamento del segnale proveniente dal dispositivo. Descriviamo ora le principali tecniche di signal
conditioning.
- AMPLIFICAZIONE
Nel nostro caso, lamplificatore operazionale incrementa il livello del segnale di input (da 01V a 05V)
per avere migliore corrispondenza con lintervallo di lavoro del convertitore A/D (migliorando
risoluzione e sensibilit). Lamplificatore collocato vicino al sensore per garantire una maggiore
immunit al rumore.
- ATTENUAZIONE
Operazione opposta allamplificazione, pu essere usata per far rientrare le tensioni da digitalizzare nel
range di ingresso di un ADC.
- ISOLAMENTO
Operazione che consente di far passare il segnale dalla sorgente al dispositivo di misura senza una
connessione fisica.
- MULTIPLEXING
Utilizzato al fine di instradare pi segnali sequenziali in ingresso ad un singolo digitalizzatore e
aumentare dunque il numero di canali del sistema.
- FILTRAGGIO
Operazione usata per eliminare il rumore in determinati range frequenziali.
Inoltre alcuni trasduttori necessitano di una tensione esterna di eccitazione; per le termocoppie invece
necessaria la compensazione del giunto.

Parte II
Lesperienza di laboratorio
Per la realizzazione del circuito stato utilizzato come sensore di temperatura un LM35. Esso presenta tre
terminali: l'alimentazione (Vcc), la massa (GND) e l'uscita (Vout). Possiede inoltre una sensibilit di 10mV/C,
dunque per ogni aumento di 1C abbiamo un aumento di 10mV del segnale. Per quanto riguarda la sezione di
condizionamento del segnale (visibile in Fig. 2), inizialmente sono stati calcolati i valori delle resistenze per
ottenere un guadagno pari a 5 secondo le specifiche utilizzando l'amplificatore operazionale 741 in
configurazione non invertente.

Figura 2 Circuito di condizionamento del segnale
3

Ricavati quindi i valori di R1=10 k, R2=33k e R3=7k, stato realizzato il circuito amplificatore su breadboard.
Dopo la verifica del suo funzionamento con generatore di segnali, tester ed oscilloscopio, si montato il sensore
LM35. Come verifica stata misurata la temperatura ambientale attraverso il multimetro digitale. Tenendo
conto del guadagno dellamplificatore e della sensibilit del sensore, si rilevato un valore di circa 24C. Infatti

=


=
1.2
10

5
= 24

In seguito il circuito stato saldato su una piastra millefori, e ne stato testato il funzionamento anche in
queste condizioni.

Parte III
Programmazione PIC
Si detto che lobiettivo di questa esercitazione quello di ottenere un sistema che, basandosi sul sensore
LM35, possa fornire la misura della temperatura ambientale in output su display LCD, oppure su porto seriale.
Per ottenere questo risultato non sufficiente realizzare il circuito di condizionamento del segnale; come si pu
desumere dal 1.1 necessario un dispositivo embedded, il quale, dopo aver convertito lingresso in tensione in
un valore digitale (attraverso un ADC), effettui la conversione da tensione a temperatura e permetta di
controllare uninterfaccia per display LCD e unuscita seriale, al fine di trasmettere il valore letto.
A scopo introduttivo, utilizzando una demo board Microchip e modificando un progetto gi esistente, stata
svolta unesperienza di programmazione con gli obiettivi seguenti:

- Conversione del valore di temperatura visualizzato sul display da F a C.
- Simulazione del comportamento del circuito da noi realizzato (uscita 0-5V per temperatura 0-100C)
attraverso la variazione della tensione con un trimmer resistivo (partitore).
- Visualizzazione su display di:
o valore di tensione acquisito;
o temperatura corrispondente a questo valore;
o temperatura acquisita dal sensore interno.
- Output dimostrativo di un carattere sulluscita seriale RS-232 della demo board (visualizzato sul pc
attraverso il programma HyperTerminal).
Gli strumenti utilizzati per questa parte dellesercitazione sono stati:
- Demo Board Microchip PICDEM 2 Plus con PIC 18F452;
- Programmatore ICD2;
- Ambiente di programmazione MPLAB IDE v7.30.

Prima di iniziare la programmazione vera e propria, allo scopo di prendere familiarit con il sistema di sviluppo e
con gli strumenti hardware, stata anzitutto osservata la demo board PICDEM 2 Plus e sono stati identificati i
vari componenti presenti su di essa (es. sensore di temperatura TC74, display LCD, buzzer, oscillatore al quarzo,
led, pulsanti, trimmer). Successivamente si montato il microcontrollore PIC 18F452 nello zoccolo specifico;
dopo questa operazione la demo board stata collegata al computer mediante lapposito programmatore. Nel
nostro caso, la programmazione (con MPLAB IDE) avvenuta attraverso il linguaggio C.

4

Terminata questa parte preparatoria, lattivit si svolta seguendo queste fasi:
- Apertura del progetto gi preparato per lesercitazione;
- Interpretazione delle parti del programma gi scritte;
- Compilazione e trasferimento di questa prima versione sul microcontrollore; visualizzazione dei risultati;
- Modifica della funzione AssignTemperature (atta alla conversione del valore di temperatura proveniente
dal TC74) al fine di produrre unuscita in C; verifica del funzionamento;
- Creazione di una funzione per convertire il valore in uscita dallADC in temperatura secondo le
specifiche date;

In particolare questultimo passo ha messo in evidenza alcuni problemi legati alluso e alla programmazione del
PIC. Il primo di essi (visibile a tempo di compilazione) senzaltro rappresentato dallassenza di aritmetica
floating point nel microcontroller.
In origine, leggendo la tensione proveniente dal trimmer, veniva visualizzato sul display un valore di tensione
0.00-5.00V, in apparenza decimale; tuttavia la virgola veniva aggiunta al momento della visualizzazione (con un
pattern, voltage) e lADC utilizzato nella funzione AssignVoltage forniva invece un valore intero da 0 a 500 per
tensioni da 0.00 a 5.00V. Pertanto, nelleffettuare la conversione, questo valore non doveva essere moltiplicato
per 20 (ovvero *100/5, in base alla sensibilit del sensore e al circuito di signal conditioning), ma semplicemente
diviso per 5.
Un altro problema, sempre legato allarchitettura del microcontrollore, riguarda lutilizzo di variabili a 8 bit
allinterno del programma. Pertanto, per esempio al momento della divisione di cui sopra, si reso necessario
effettuare un cast esplicito, dal momento che i valori letterali forniti vengono interpretati come generici interi.

In seguito, terminata la sezione riguardante la visualizzazione su LCD, stato analizzato un esempio di
trasmissione seriale (dal microcontrollore al PC).
A tal fine stata inserita nel ciclo while del programma principale listruzione cout(G), che provoca linvio
(continuo) di un carattere di prova sul porto seriale RS232. Per verificare il funzionamento di questa funzionalit,
dopo aver collegato la scheda al PC attraverso un cavo seriale, stato avviato il programma HyperTerminal.
Dopo aver impostato alcuni parametri fondamentali di comunicazione, quali protocollo di trasmissione, baud
rate, ecc., una volta stabilita la connessione si potuto vedere che effettivamente era presente in uscita dal
microcontrollore il carattere che si era scelto di trasmettere, visualizzato su schermo secondo la codifica ASCII.
Analogamente, al posto del carattere di prova si poteva trasmettere la temperatura letta dal sensore: in questo
modo si sarebbe ottenuta in contemporanea sia la visualizzazione su display, sia la trasmissione RS232 della
temperatura, come da specifiche.

Conclusioni
Questa serie di esercitazioni si conclusa con il collegamento del circuito realizzato in precedenza con un
microcontrollore PIC (dello stesso tipo di quello usato per lesperienza di programmazione, ma questa volta gi
programmato) che visualizzava sul display LCD ad esso collegato la temperatura letta dal nostro circuito insieme
con la temperatura letta da un altro sensore analogo. Il circuito complessivo era alimentato attraverso una
batteria da 9V; un dispositivo apposito forniva lalimentazione per il PIC , il display ed il sensore (+5V e -5V).
stato cos possibile operare un confronto tra i due valori di temperatura visibili sul display: lesito stato
positivo, poich i valori erano praticamente identici (a parte un piccolo scarto dovuto alla regolazione del
trimmer nel circuito di condizionamento). Questa verifica ha quindi provato il corretto funzionamento del
circuito realizzato.