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 CMOSRS232) • 2 line receiver (RS232TTL 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.