Anteprima
Vedrai una selezione di 8 pagine su 31
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 1 Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 2
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 6
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 11
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 16
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 21
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 26
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Progetto, programmazione e realizzazione di un sistema per il controllo di un sensore di temperatura Pag. 31
1 su 31
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

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.

Estratto del documento

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;

Dettagli
31 pagine