sistema di acquisizione a distanza della temperatura

Transcript

sistema di acquisizione a distanza della temperatura
Progetto e realizzazione di un
sistema che rileva la temperatura a
distanza
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Obiettivo e specifiche del progetto
1. Monitoraggio in tempo reale della temperatura
in una stanza (Tacq= 4 sec, Input range= 0÷100°C)
2. Trasmissione della temperatura ad un PC posto a
una distanza max di 300 m, via etere (433MHz)
3. Acquisizione del segnale tramite la porta seriale
RS232 del PC.
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
D0
CS
CK
Schema a blocchi del sistema
A1 A2 A3
A0
Progetto a cura di Bufalino Andrea
B0
B4
B5
B6
B7
B1
B2
E
D4
D5
D6
D7
RS
RW
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Trasduttore di temperatura LM335
Circuito di Condizionamento
Caratteristiche dell’LM335:
•
•
•
•
Vout/Vin= 10mV/°K
Input range: -40°C÷100°C
Currente Supply: 400µA÷5mA
Calibrazione diretta tramite
potenziometro
Specifiche del condizionamento:
La temperatura (0°C÷100°C) rilevata dal
sensore deve essere rilevata da un ADC che
ha un range di ingresso di 5V
Scelta configurazione A.O.:
Differenziale
Tensione di riferimento ottenuta
Tramite Zener e Buffer
Progetto a cura di Bufalino Andrea
2.73÷3.73V
(0°C÷100°C
)
Circuito di
Condizionam.
0÷5V
(0°C÷100°C)
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Interfacciamento tra
ADC 0831 e PIC16F84
Dettaglio dell’interfacciamento:
• Ingresso analogico dell’ADC0831
non differenziale
• Gestione dell’ADC tramite la
portA del PIC
•
•
•
Progetto a cura di Bufalino Andrea
ADC0831
PIC16F84
CS
RA1 (out)
CLK
RA2 (out)
D0
RA3 (in)
Clock del PIC=1MHz
CLK emesso tramite il pin RA2 è
pari alla frequenza settata per la
RS232, fCLK=2400bit/s
Gestione dell’LCD tramite la
portB del PIC
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Programmazione del
PIC16F84
Linguaggio utilizzato:
• Linguaggio ad alto livello (CCSC, cioè C per PIC)
Vantaggi:
• Istruzioni più semplici di quelle dell’Assembly e valide per
vari tipi di PIC
• Librerie di semplice uso per la gestione dell’LCD e della
RS232
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Software per PIC16F84
Start
Inizializzazione µC e LCD
Ritardo 4 sec
Contenuti del programma:
• Inizializzazione LCD e PIC
• Temporizzazioni
da
fornire
all’ADC0831
• Temporizzazioni dato da spedire
tramite scheda ricetrasmittente al PC
• Scrittura LCD
Acquisizione Dato
Trasmissione Dato via RS232
Visualizzazione Dato sull’Lcd
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Routine di gestione ADC0831
output_high(cs);
delay_us(100);
output_high(ck);
delay_us(100);
output_low(cs);
delay_us(100);
output_low(ck); // bit start
delay_us(100);
for(cont=8;cont>0;--cont)
{
output_high(ck);
delay_us(100);
output_low(ck);
delay_us(10);
bbit=input(PIN_A3);
if (bbit==1)
bit_set(dato,(cont));
else
bit_clear(dato,(cont));
}
Start
Ritardo 4 sec
CS=1 per 100µs
CK=1 per 100µs
CS=0 per 100µs
CK=0 per 100µs
Cont=8
Decrementa Cont
CK=1 per 100µs
NO
CK=0 per 10µs
Bbit=PIN_A3
Dato(Cont)=0
NO
Bbit=1?
SI
Dato(Cont)=1
Cont > 0
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Ricetrasmettitore
RTF-DATA-SAW
Parametri della scheda
•Freq. della portante: 433MHz
•Tipo di modulazione: OOK
•Velocità di trasmissione: 1200bps÷100kbps
•Potenza di uscita 8mW ÷ 400mW (9dBm÷
26dBm)
Modulazione OOK:
il segnale digitale (modulante) va a
modulare una portante sinusoidale
facendone variare l’ampiezza in modo
tale da far corrispondere all’uno logico la
portante stessa e, allo zero logico
l’assenza della portante, come in figura.
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Line Transceiver MAX232
Porta seriale RS232
Il line transceiver è costituito da:
• 2 line driver (TTL o CMOSRS232)
• 2 line receiver (RS232TTL o CMOS)
• alimentazione 5V
• necessita di condensatori esterni per elevare
la tensione a 10V e renderla invertita come
richiesto dallo standard RS232
Porta Seriale:
Per il nostro sistema si è
scelta la trasmissione
seriale asincrona.
Progetto a cura di Bufalino Andrea
Pin
1
2
3
4
5
6
7
8
9
Sigla
Segnale
CD Data Carrier Detect
RXD
Received Data
TXD Transmitted Data
DTR Data Terminal Ready
GND
Signal Ground
DSR
Data Set Ready
RTS
Request To Send
CTS
Clear To Send
RI
Ring Idicator
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.
Software in VB
Start
Inizializzazione
Porta Seriale
No
C’è un dato
sulla RS232?
Leggi buffer porta seriale e trasferisci il
tutto nella variabile dato
Tcom=
dato*0.0195
Scala: °C?
No
Scala: °F?
No
Temp=tcom+273.15
Si
Si
Temp=(tcom*1.8)+32
Disegna la quota tcom
sul termometro
Progetto a cura di Bufalino Andrea
I.T.I.S. “C. Rosatelli” Ind. Elettronica e Telecomun.