|
Centralina di acquisizione condizioni ambientali 2/6
di Cataldo Sasso
Funzionamento prima parte
Clikka sullo schema per ingrandirlo
Clikka sullo schema per ingrandirlo
Vediamo brevemente il funzionamento del primo circuito, cioè di quello che si occupa della temperatura.
La temperatura viene rilevata da un trasduttore molto comune, l'AD590. Esso fornisce una corrente proporzionale alla temperatura che vale 298
µA alla temperatura di 298 K (cioè 25°C) e che varia di 1µA/K.
Il segnale fornito dal trasduttore viene inviato ad uno stadio di preamplificazione (costituito da U2C e U2D) che ha il compito di "tradurre"
la corrente in tensione nel range di temperatura dai -20°C ai 50°C corrispondente al range dai 2,53 V ai 3,23 V all'uscita di U2D (cioè
10 mV/°C). Questa tensione così generata viene inviata al successivo stadio di amplificazione (costituito dall'operazionale U2B in
configurazione differenziale) che porta il range a valori compresi tra 0 e 5 volt. Perchè tutto funzioni è necessario regolare
il trimmer P1 in modo tale da avere una tensione di 2,53 V fissi sull'uscita di U2A, e il trimmer P2 in modo da ottenere una tensione di 2,98
V sull'uscita di U2D alla temperatura di 25°C.
A questo punto abbiamo un segnale che varia tra 0 e 5 V in corrispondenza della temperatura tra -20 e +50 °C. Abbiamo pensato allora di
sfruttare un convertitore A/D ed una EPROM per poter visualizzare direttamente su un display di tipo 7 segmenti il valore della temperatura.
In questo modo, poichè le uscite del convertitore A/D formano un numero binario a 8 bit che va da 0 a 255, è sufficiente memorizzare
in ciascuna cella della EPROM indirizzata da questo numero, il valore corrispondente di temperatura in codice BCD e inviare quest'ultimo ai
display tramite drivers per 7 segmenti. (n.b.: è ovvio che avendo un numero di celle disponibili superiore ai valori di temperatura da
memorizzarvi, si dovrà memorizzare lo stesso valore in più celle)
Rimane però il problema del segno: poichè le celle della EPROM sono a 8 bit ed il codice utilizzato per memorizzare il valore
di temperatura è necessariamente il BCD (che occupa 4 bit per cifra), non rimane nemmeno un bit libero per memorizzare il segno della
temperatura stessa. Ma allora come fare a visualizzare il segno "-" quando la temperatura è compresa tra -20 e -1 °C senza
poter utilizzare bit della EPROM ?
La soluzione è un piccolo circuito a porte logiche il quale riceve in ingresso gli 8 bit del convertitore A/D e fa accendere il led
del segno "-" quando necessario. Questo è possibile perchè, fatti gli opportuni calcoli, si può notare che nel
range da -20 a -1 °C il dato a 8 bit va da 00000000 (cioè 0 in decimale) a 01001000 (cioè 72 in decimale) e quindi è
sufficiente che per tali valori in ingresso il circuito logico faccia accendere il led "-", mentre per valori superiori lo tenga spento.
Il circuito che ne risulta è il seguente, dove A0 rappresenta il bit meno significativo e A7 quello più significativo della parola
in uscita dal converter:
 |
Infine non ci rimane che osservare la parte dedicata alla trasmissione del dato a 8 bit, rappresentante la temperatura, ad un PC tramite la
linea seriale RS232. Questa parte è stata realizzata sfruttando un UART che semplicemente riceve sugli otto ingressi TBR1-TBR8 il dato
in modo parallelo e lo invia in forma seriale, con l'aggiunta degli opportuni bit di controllo (START, STOP, PARITA', ecc...), ad un adattatore
di tensione per RS232 (il 75188) e quindi alla seriale del PC. Sarà poi il software ad occuparsi della elaborazione dei dati trasmessi.
Bisogna precisare che la "comunicazione" dell'apparecchiatura con il PC è praticamente unidirezionale, cioè il dato
della temperatura viene inviato in continuazione non appena termina una conversione dell'A/D converter senza attendere nessuna conferma o comunicazione
da parte del PC. Questo si è reso necessario per non complicare ulteriormente il circuito.
Un ultima parola va spesa per le temporizzazioni di UART e ADC che sono state realizzate tramite un 555 in configurazione astabile e un oscillatore
a porte NOT. Il tutto è stato studiato per avere una sincronizzazione tra l'UART e l'ADC in modo tale da effettuare una continua conversione
e trasmissione della temperatura. Si è scelto di effettuare la trasmissione al PC ad una velocità di 4800 BAUD e da questo dato
si è partiti per ricavare le frequenze di uscita per i due generatori di clock che dovranno essere regolate, tramite i trimmer P3 e P4,
in modo da ottenere 76,8 KHz in uscita da U9A (cioè per l'UART) e 25,6 KHz in uscita da U10A (cioè per l'ADC).
|