Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Sistema di acquisizione dati, in grado di visualizzare in locale la temperatura rilevata tramite un sensore e di fornire lo stesso dato in remoto, per mezzo di un bus dati RS232, ad un PC, predisposto per elaborare i dati ricevuti. Sul PC, mediante un software apposito, viene visualizzata la variazione della temperatura nel tempo, il dettaglio delle ultime 20 campionature e la temperatura di allarme, impostabile dall'utente tramite un cursore, superata la quale si accenderà una spia di allarme.
Materie trattate: Tecnologia Disegno e Progettazione, elettronica, telecomunicazioni, sistemi.
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
MASTER - TOP VISUALIZZAZIONE
7
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
MASTER - BOTTOM VISUALIZZAZIONE
8
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
LAYOUT VISUALIZZAZIONE
9
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
Foro diametro 1.5 mm
Foro diametro 0.8 mm
Foro diametro 0.6 mm
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
PIANO FORATURA VISUALIZZAZIONE
10
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
LISTA COMPONENTI:
H H
NOME COMPONENTE VALORE DESCRIZIONE
G G
R1 1 KΩ RESISTENZA DA ¼ DI WATT
R2 100 Ω RESISTENZA DA ¼ DI WATT
R3 100 KΩ TRIMMER MONO GIRO
R4 2,2 KΩ RESISTENZA DA ¼ DI WATT
R5 2,2 KΩ RESISTENZA DA ¼ DI WATT
F F
R8 22 KΩ RESISTENZA DA ¼ DI WATT
R9 22 KΩ RESISTENZA DA ¼ DI WATT
R10 10 KΩ RESISTENZA DA ¼ DI WATT
R11 100 KΩ TRIMMER MONO GIRO
R12 220 KΩ RESISTENZA DA ¼ DI WATT
E E
R13 1 KΩ RESISTENZA DA ¼ DI WATT
R14 ÷ R21 560 Ω RESISTENZA DA ¼ DI WATT
C1 470 µF 25 V CONDENSATORE ELETTROLITICO
C2 220 µF 16 V CONDENSATORE ELETTROLITICO
D D
C3 1 µF 100 V CONDENSATORE ELETTROLITICO
C4 22 pF CONDENSATORE CERAMICO
C5 22 pF CONDENSATORE CERAMICO
C6 100 nF CONDENSATORE MULTISTRATO
C7 100 nF CONDENSATORE MULTISTRATO
C C
C8 100 nF CONDENSATORE MULTISTRATO
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
LISTA COMPONENTI 1 VISUALIZZAZIONE
11
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
LISTA COMPONENTI:
H H
NOME COMPONENTE VALORE DESCRIZIONE
G G
D1 1N4007 DIODO
D2 1N4148 DIODO
IC1 7805 REGOLATORE DI TENSIONE
IC2 PIC 16F876 MICROCONTROLLORE
IC3 CA3140 OPERAZIONALE
F F
LED1 5 mm VERDE LED
Q1 4 MHz QUARZO
S1 PULSANTE N.A. DA C.S.
S2 PULSANTE N.A. DA C.S.
D3 DISPLAY 7 SEG. CATODO COMUNE
E E
SL1 CONNETTORE 16 POLI
SL2 CONNETTORE 6 POLI
J1 PLUG DI ALIMENTAZIONE
JP1 CONNETTORE JUMPER
X1 MORSETTIERA 2 POLI DA C.S.
D D
1 SOCKET 8 PIN
1 SOCKET 28 PIN
1 SOCKET PER DISPLAY
1 JUMPER
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI CONVERSIONE A/D E
LISTA COMPONENTI 2 VISUALIZZAZIONE
12
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
SCHEMA ELETTRICO RS232
13
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
MASTER - TOP RS232
14
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
MASTER - BOTTOM RS232
15
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
G G
F F
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
LAYOUT RS232
8 7 6 5 4 3 2 1
16
8 7 6 5 4 3 2 1
H H
G G
Foro diametro 0.8 mm
F F
Foro diametro 0.6 mm
E E
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
PIANO FORATURA RS232
17
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
H H
LISTA COMPONENTI:
G G
NOME COMPONENTE VALORE DESCRIZIONE
C1 10 µF CONDENSATORE ELETTROLITICO
C2 10 µF CONDENSATORE ELETTROLITICO
F F
C3 10 µF CONDENSATORE ELETTROLITICO
C4 10 µF CONDENSATORE ELETTROLITICO
C5 10 µF CONDENSATORE ELETTROLITICO
IC2 MAX232CPE DRIVER/RICEVITORE RS232 MULTICANALE
X1 CONNETTORE SUB-DB9
E E
SL1 CONNETTORE 5 POLI
SL2 CONNETTORE 4 POLI
SL3 CONNETTORE 2 POLI
1 SOCKET 18 PIN
D D
C C
I.T.I.S. LUDOVICO GEYMONAT – TRADATE
TESINA DI MATURITA’ - ANNO SCOLASTICO 2006 - 2007
B B
CLASSE:
ALUNNO: LAGO FEDERICO 5° NB
PROGETTO:
SISTEMA DI ACQUISIZIONE DATI INTERFACCIATO A BUS RS232
A A
TITOLO:
OGGETTO: SCHEDA DI INTERFACCIAMENTO A BUS
LISTA COMPONENTI RS232
18
8 7 6 5 4 3 2 1
Relazione
19
Descrizione del funzionamento dei singoli blocchi
Sensore di temperatura
Il sensore di temperatura utilizzato in questo progetto è un LM35 prodotto dalla National
Semiconductors.
Questo sensore, a circuito integrato, fornisce un’uscita in tensione proporzionale alla
temperatura misurata in gradi centigradi (°C), secondo la legge: Vout = (10 mV / °C) * T.
Il campo di temperature in cui è in grado di funzionare correttamente è compreso tra -50 e
+ 150 °C.
Il modello di sensore impiegato per questo progetto, ha un campo di temperature più
ristretto, da 0 a +150 °C. Si presta, quindi, ad essere utilizzato in ambienti la cui
temperatura è sempre positiva.
Data la sensibilità del convertitore A/D la sensibilità sarà di 0,5°C, più che sufficiente per
una misura della temperatura ambiente.
Scheda di acquisizione dati
Ingresso sensore
Lo stadio di ingresso del segnale proveniente dal sensore è composto da un buffer non
invertente che ha la funzione di disaccoppiare il sensore dal circuito.
L’ingresso ha idealmente impedenza infinita mentre l’uscita presenta una resistenza
trascurabile.
Per realizzare questa parte di circuito è stato utilizzato l’integrato CA3140, un amplificatore
operazionale ad alimentazione singola. 20
PIC
Utilizzo della logica programmata
Si sceglie di usare il PIC poiché consente di ottenere una maggior compattezza del
circuito stampato e una maggiore scalabilità del sistema cambiando soltanto il programma
contenuto nel PIC.
Dispositivi PIC utilizzati
- Convertitore A/D
Si usano tutte le linee del convertitore A/D integrato. Il convertitore contenuto nel PIC ha
una precisione di 10 bit che significa che ogni bit equivale a 4,8 mV. (5V/1024stati)
Si sceglie di lavorare con tutti i 10 bit, poiché sono più che sufficienti per la temperatura
Î
ambientale. (10bit = 1024 stati 4,8mV * 1024 = 4,9 V che convertiti in gradi sono 500
°C, il sensore utilizzato in realtà, arriva solamente fino a 150 °C e quindi a fornire un’uscita
di 1,5 V)
Il clock di conversione è settato sull’oscillatore RC interno.
- Modulo USART (Universal Synchronous/Asynchronous Receiver Transmitter)
E’ la periferica che si occupa di gestire la comunicazione seriale sia sincrona che
asincrona.
La scelta del linguaggio di programmazione
Per programmare il PIC si è scelto di utilizzare un nuovo linguaggio di programmazione,
con strutture simili al linguaggio C ma con funzioni e compilatore adattato per i dispositivi
di casa Microchip.
L’ambiente di sviluppo utilizzato si chiama MikroC, prodotto dalla azienda
mikroElektronika, mette a disposizione una vasta collezione di librerie di funzioni pronte da
utilizzare e di esempi di applicativi per poter iniziare a capire l’uso delle funzioni di questo
nuovo linguaggio.
Sviluppare un software in C, rispetto all’assembler, permette di velocizzare lo sviluppo del
software e di realizzare controlli complessi e riducendo, nel contempo, il numero di errori
che, chi programma può commettere durante lo sviluppo del software.
I programmi in C, per contro, non possono essere utilizzati nelle applicazioni time-critical
poiché non è possibile sapere ,con precisione, a priori con quante istruzioni assembler
verranno tradotte le pause generate, così come anche le stesse funzioni, rendendo
impossibile determinare in quanto tempo verrà svolta un’istruzione in linguaggio C.
21
Progetto software Flow-chart
22
Programma
//Programma che acquisisce segnale da LM35: scrive su lcd la temperatura
//e la invia su bus RS232
long temp;
unsigned int t, indirizzo, ciclo;
unsigned char ch, cent,dec,unit,idec,icent;
void main (){
INTCON=0; //niente interrupt
ADCON1=0x8E; //solo canale RA0 analogico + allineamento a destra
TRISA=0x01; // solo RA0 ingresso
TRISB=0x00;
TRISC=0x00;
ciclo=0;
Usart_Init(9600); //inizializza USART
Lcd_Custom_Config(&PORTB,7,6,5,4,&PORTA,2,3,1);
Lcd_Custom_Cmd(Lcd_Clear); //cancella tutto dal display
Lcd_Custom_Cmd(Lcd_Return_home); //porta cursore in posizione iniziale
Lcd_Custom_Cmd(Lcd_Cursor_Off); //cursore display OFF
Lcd_Custom_Out(1,1, "ITIS L. Geymonat"); //scrive ITIS L. Geymonat
Lcd_Custom_Out(2,1, " Tradate "); //scrive Tradate
Delay_ms(5000); //attende 5 secondi
Lcd_Custom_Cmd(Lcd_Clear); //cancella tutto dal display
Lcd_Custom_Out(1,1, "Sensore: LM35 D"); //scrive Sensore: LM35 D
while(1){
Lcd_Custom_Cmd(Lcd_Second_Row); //posiziona il Cursore sulla seconda
riga
Lcd_Custom_Out(2,1,"Temp. : "); //scrive Sensore 1
t = Adc_Read(0); //conversione da canale analogico
temp= t*49; //moltiplica per ampiezza del quanto
ch=temp/10000; //centinaia
Lcd_Custom_Chr_Cp(48+ch);
ch=(temp/1000)%10; //decine
Lcd_Custom_Chr_Cp(48+ch);
ch=(temp/100)%10; //unità
Lcd_Custom_Chr_Cp(48+ch);
Lcd_Custom_Chr_Cp('.'); //punto
ch=(temp/10)%10; //decimi
Lcd_Custom_Chr_Cp(48+ch);
ch=temp%10; //centesimi
Lcd_Custom_Chr_Cp(48+ch);
Lcd_Custom_Chr_Cp(223); //scrive il simbolo del grado (°)
Lcd_Custom_Chr_Cp('C');
/****** Trasmissione *********/
10000; //ricalcola nuovamente le cifre
cent=temp/ 23
dec=(temp/1000)%10;
unit=(temp/100)%10;
idec=(temp/ 10)%10;
icent=temp%10 ;
cent= cent+48; //converte in cod ice ASCII
dec= dec+48;
unit= unit+48;
idec= idec+48;
icent= icent+48;
a_Ready()) { //controlla se ha ricevuto l'indirizzo
if (Usart_Dat
zzo = Usart_Read();
indiri
(indirizzo==49){ //se indirizzo corretto allora invia i dati
if //49 codice ASCII della cifra 1
Usart_Write(cent);
Usart_Write(dec);
Usart_Write(unit);
Usart_Write(0x23); //invia #
Usart_Write(idec);
Usart_Write(icent);
Usart_Write(0x0A); //aggiunge line feed "\n"
}
} *******************/
/**********
ms(40); //pausa di 40 ms
Delay_
}
} //Fine Programma
Spiegazione del programma
In
izialmente il programma esegue l’inizializzazione, c
he consiste nell’impostare il
funzionamento delle periferiche s econdo quanto scritto nel programma.
Il cuore del programma consiste in un ciclo infinito d iviso in due parti. La prima, acquisisce
il segnale proveniente dal sensore di temperatura, lo converte in digitale sfruttando la
periferica ADC interna al PIC e la visualizza su display LCD.
La seconda, gestisce la comunicazione tra la sched a di acquisizione e il computer
preposto a ricevere i dati ed elaborarli.
Il protocollo di comunicazione, tra il computer e la scheda di acquisizione, prevede i
se
guenti passaggi:
1. Il computer richiede l’invio dei dati tramite la trasmissione in linea del codice che
identifica la scheda abb
inata al sensore.
2. La scheda riceve il cod ice trasmesso dal computer e lo confronta con il proprio:
Se il codice non coincide, la sche da rimane in attesa, continuando a svolgere la
funzione di visualizzare la temperatura su display;