Unità didattica: Trasduttore di temperatura integrato AD590 e relativo condizionamento. Classe di riferimento: 5AX IPIA Materia: Sistemi Modulo interdisciplinare: Acquisizione dati. Modulo disciplinare: Trasduttori e condizionamento. Collocazione temporale: Ottobre Novembre. Contenuti: Analisi dei fogli tecnici del trasduttore integrato AD590. Dimensionamento della rete di condizionamento. Scelta dei componenti. Montaggio su bread board e collaudo del circuito. Taratura. Altre applicazioni. Prerequisiti: Conoscenza dello schema di principio di un sistema di acquisizione dati. Concetto di trasduttore, con particolare riguardo alle principali caratteristiche statiche e dinamiche. Conoscenza delle principali applicazioni lineari degli OP AMP. Conoscenza dei moduli circuitali specifici in relazione alle applicazioni proposte. Obiettivi: A conclusione dell unità l alunno dovrà: Conoscere le principali caratteristiche tecniche del trasduttore integrato AD590. Saper dimensionare la corrispondente rete di condizionamento e realizzare il circuito su bread board. Saper effettuare la taratura del circuito. Saper utilizzare il componente in contesti diversi da quello dell acquisizione dati. Supporti informatici: Software interattivo in linguaggio C (la scelta del linguaggio di programmazione non è determinante). pag.1 13
Schematizzazione della metodologia e tempificazione. Inizio Analisi dei fogli tecnici 90 Lezione frontale Dimensionamento 60 Scelta componenti 10 Verifica formativa con domande dal posto Eventuale recupero in itinere Esercitazione Montaggio del circuito Collaudo 40 20 Lezione frontale ed esercitazione guidata Taratura 60 Esercitazione guidata Software applicativo 60 Verifica formativa in collaborazione con l ITP Eventuale recupero in itinere Lezione frontale Altre applicazioni Tempo dipendente dalle scelte Verifica formativa con domande dal posto Eventuale recupero in itinere Fine pag.2 13
Contenuti. I fogli tecnici (non allegati) si ricavano dallo specifico data book. Dimensionamento della rete di condizionamento. Schema a blocchi: Sensore condizionato T AD590 I(T) Rete di condizionamento V o Specifiche: V o (0 C) = 0 V ; V o (50 C) = 5 V La relazione ingresso uscita del trasduttore è la seguente: in cui T rappresenta la temperatura (in C) e I(T) la corrente di uscita (in A). Da tale relazione risulta che: I ( T ) = ( 273 T ) * 10 I(0 C) = 273 µa e I(50 C) = 323 µa Si effettua il progetto della rete di condizionamento in modo che in corrispondenza della temperatura minima di 0 C la tensione di uscita del sensore condizionato sia di 0 V e, in corrispondenza della temperatura massima di 50 C la tensione di uscita del sensore condizionato sia di 5 V. Indicando con Vo la tensione di uscita della rete di condizionamento, la caratteristica di trasferimento T,Vo è la seguente: 5 Vo [V] 0 50 T [ C] ( C) da cui discende che la sensibilità del sensore condizionato è di 0.1 V/ C. pag.3 13
Si utilizza la seguente rete di condizionamento (schema di calcolo): Vref R1 R2 I(T) Vo Applicando il principio di sovrapposizione degli effetti, ritenendo ideale l operazionale si ottiene: Si effettua il dimensionamento del circuito. Vo = * I ( T ) Per T= 0 C si ha I(0 C) = 273 µa e deve risultare Vo = 0 V, per cui: 0 = Per T= 50 C si ha I(50 C) = 323 µa e deve risultare Vo = 5 V, per cui: 5 = I valori di R2 e di Vref/R1 si ricavano risolvendo il sistema: * 273 * 10 * 323 * 10 * Vref * Vref * Vref 5 = 0 = * 323 * 10 * 273 * 10 * Vref * Vref Sottraendo membro a membro le due equazioni, si ottiene il sistema equivalente: da cui si ricava: 5 = 0 = 2 Vref *( 323 273 * 273 * 10 = 273 µ A ) * 10 ( 323 273 ) * 10 R = 5 * Vref = 100 K Ω Ponendo Vref = 12 V, si ottiene R1 = 43.95 KΩ. pag.4 13
Spunto di riflessione (da somministrare a dimensionamento concluso). Qual è la funzione di un eventuale condensatore posto in parallelo a R2? Realizzazione pratica: 39 KΩ 10 KΩ 82 KΩ 50 KΩ Vref = 12 V 12 V TEMPERATURA I(T) 2 3 7 4 6 TL081 Vo AD590 12 V 12 V La scelta dell operazionale non è critica; si può, ad esempio, utilizzare un TL081, a cui si riferisce la piedinatura, alimentato a tensione duale di ±12 V. Il trasduttore integrato AD590 è stato alimentato con tensione negativa di 12 V. I trimmers lineari multigiri da 10 KΩ e 50 KΩ (da 0.50 W e con tolleranza del 5%) sono di taratura; consentono di fissare con precisione i valori di R2 e del rapporto Vref/R1. I resistori fissi da 39 KΩ e 82 KΩ sono da 0.25 W con tolleranza del 5%. Il costo complessivo dei componenti è indicativamente di circa 15 euro. pag.5 13
Taratura. Non disponendo di sorgenti di temperatura di precisione da 0 C e da 50 C, la taratura del circuito è stata effettuata sostituendo il trasduttore con un trimmer lineare multigiri da 100 KΩ (da 0.50 W e con tolleranza del 5%) e disponendo gli strumenti di misura come indicato: 12 V 39 KΩ 10 KΩ 82 KΩ 50 KΩ A I(T) 2 7 12 V 6 Vo 100 KΩ 3 4 12 V V 12 V TL081 Le operazioni di taratura sono le seguenti: Per simulare una temperatura di ingresso di 0 C, si regola il trimmer da 100 KΩ fino ad ottenere una corrente di 273 µa, misurata dall amperometro. Si regola quindi il trimmer da 10 KΩ fino ad ottenere una tensione di uscita di 0 V, misurata dal voltmetro. Giustificazione circuitale (schema parziale): 273 µa 0 µa 273 µa 0 µa Per simulare una temperatura di ingresso di 50 C, si regola il trimmer da 100 KΩ fino ad ottenere una corrente di 323 µa, misurata dall amperometro. Si regola quindi il trimmer da 50 KΩ fino ad ottenere una tensione di uscita di 5 V, misurata dal voltmetro. Giustificazione circuitale (schema parziale): 273 µa 50 µa 323 µa 0 µa pag.6 13
Supporti informatici. Dopo che la classe ha acquisito il procedimento di calcolo, lo scopo del programma proposto è quello di velocizzare il progetto della rete di condizionamento per ulteriori prove di laboratorio, che possono risultare necessarie in fase di recupero o di verifica. Può anche essere utilizzato dall alunno come strumento di autoverifica per controllare i risultati forniti dal calcolo manuale. Se gli alunni non possiedono le necessarie strutture di base di programmazione in C, conviene fornire il programma nel solo formato.exe al fine di evitare accidentali manipolazioni del programma stesso. Programma in C in formato.doc: PROGETTO DELLA RETE DI CONDIZIONAMENTO PER TRASDUTTORE DI TEMPERATURA AD590. CALCOLO DELLA TENSIONE DI USCITA DEL SENSORE CONDIZIONATO IN CORRISPONDENZA DI UNA DETERMINATA TEMPERATURA. CALCOLO DELLA TEMPERATURA IN CORRISPONDENZA DI UNA DETERMINATA TENSIONE DI USCITA DEL SENSORE CONDIZIONATO. Inizio programma #include <stdio.h> /* File header. */ main ( ) /* Definizione della funzione principale. */ { /* Inizio blocco istruzione main. */ printf("1) PROGETTO DELLA RETE DI CONDIZIONAMENTO PER TRASDUTTORE DI TEMP. AD590\n"); printf("2) CALCOLO DELLA TENSIONE DI USCITA DEL SENSORE CONDIZIONATO\n"); printf(" PER UNA DETERMINATA TEMPERATURA COMPRESA TRA LA MINIMA E LA MASSIMA.\n"); printf("3) CALCOLO DELLA TEMPERATURA PER UNA DETERMINATA TENSIONE DI USCITA\n"); printf(" DEL SENSORE CONDIZIONATO COMPRESA TRA LA MINIMA E LA MASSIMA.\n"); printf("\n\lo schema elettrico è quello classico:\n"); printf("a) la corrente del trasduttore è applicata\n"); printf(" direttamente all'ingresso INV dell'op AMP\n"); printf(" con verso uscente da tale morsetto;\n"); printf("b) la tensione di riferimento Vref è applicata\n"); printf(" all'ingresso INV dell'op AMP attraverso R1;\n"); printf("c) R2 è la resistenza di reazione dell'op AMP;\n"); printf("d) l'ingresso NON INV dell'op AMP è posto a massa.\n\n"); printf("in relazione all'attuale normativa, la tensione minima di uscita\n"); printf("deve essere fissata a 0 volt, mentre quella massima può essere\n"); printf("fissata a 5 volt o a 10 volt.\n\n"); /* Messaggio introduttivo di spiegazione del programma. */ pag.7 13
inizio : /* Etichetta istruzione goto. */ float a,b,c,d,e,f,g,m,n,r,x,y,z; /* Definizione delle variabili float: a = Temperatura minima b = Temperatura massima c = Tensione massima di uscita d = Corrente AD590 in corrispondenza della temperatura minima e = Corrente AD590 in corrispondenza della temperatura massima f = Valore di g = Valore di r = Temperatura, compresa tra la minima e la massima, a cui effettuare il calcolo della tensione di uscita z = Corrente AD590 in corrispondenza di una temperatura compresa tra la minima e la massima y = Tensione di uscita calcolata in corrispondenza di una temperatura compresa tra la minima e la massima x = Tensione di uscita compresa tra la minima e la massima m= Corrente AD590 in corrispondenza di una tensione di uscita compresa tra la minima e la massima n = Temperatura calcolata in corrispondenza di una tensione di uscita compresa tra la minima e la massima. */ char risposta0, risposta1, risposta2, risposta3, risposta4; /* Definizione delle variabili char: risposta0, risposta1, risposta2, risposta3, risposta4. */ printf(" Temperatura minima (in C) = "); scanf("%f",&a); /* Richiesta ed acquisizione della temperatura minima. */ printf(" Temperatura massima (in C) = "); scanf("%f",&b); /* Richiesta ed acquisizione della temperatura massima. */ printf(" Tensione massima di uscita (in volt) (digita 5 o 10) = "); scanf("%f",&c); /* Richiesta ed acquisizione della tensione massima di uscita. */ while (c!=5 && c!=10) { printf(" Tensione massima di uscita (in volt) (digita 5 o 10) = "); scanf("%f",&c); } /* Ciclo while. Viene ripetuta la richiesta finchè il valore digitato per la tensione massima di uscita non è 5 (volt) o 10 (volt). */ d=0.000001*(273a); e=0.000001*(273b); /* Calcolo della corrente dell AD590 in corrispondenza delle temperature minima e massima. */ f=c/(e d); /* Calcolo di. */ g=12/d; /* Calcolo di, con Vref=12 volt. */ printf("\n R2 = %f Ω",f); printf("\n Ponendo Vref = 12 volt, si ottiene R1 = %f Ω.\n\n",g); /* Visualizzazione dei valori di e. Il dimensionamento è concluso. */ pag.8 13
printf("vuoi conoscere la tensione di uscita del sensore condizionato\n"); printf("in corrispondenza di una determinata temperatura compresa tra\n"); printf("%f C e %f C? Digita s o n. ",a,b); scanf("%1s",&risposta0); /* Richiesta effettuata dal programma ed acquisizione della risposta dell utente. */ if (risposta0!= 's') goto altro0; /*Se la risposta non è s salta a altro0, altrimenti prosegui. */ ripeti0: /* Etichetta istruzione goto. */ printf("\n Temperatura (in C) = "); scanf("%f",&r); /* Richiesta ed acquisizione della temperatura, compresa tra la minima e la massima, a cui effettuare il calcolo della tensione di uscita. */ while (r<a r>b) { printf(" Temperatura (in C) = "); scanf("%f",&r); } /* Ciclo while. Viene ripetuta la richiesta finchè il valore digitato per la temperatura non è compreso tra il minimo e il massimo. */ z=0.000001*(273r); /* Calcolo della corrente dell AD590 in corrispondenza della temperatura, compresa tra il minimo ed il massimo, introdotta dall utente. */ y=f*(z d); /* Calcolo della corrispondente tensione di uscita. */ printf("\nla tensione di uscita vale %f volt.",y); /* Visualizzazione della tensione di uscita. */ printf("\n\naltra temperatura? Digita s o n. "); scanf("%1s",&risposta1); /* Richiesta effettuata dal programma ed acquisizione della risposta dell utente. */ if (risposta1 == 's') goto ripeti0; /* Se la risposta è s salta a ripeti0, altrimenti prosegui. */ altro0: /* Etichetta istruzione goto. */ printf("\nvuoi conoscere la temperatura in corrispondenza di una\n"); printf("determinata tensione di uscita del sensore condizionato\n"); printf("compresa tra 0 volt e %f volt? Digita s o n. ",c); scanf("%1s",&risposta2); /* Richiesta effettuata dal programma ed acquisizione della risposta dell utente. */ if (risposta2!= 's') goto altro1; /* Se la risposta non è s salta a altro1, altrimenti prosegui. */ ripeti1: /* Etichetta istruzione goto. */ printf("\n Tensione (in volt) = "); scanf("%f",&x); /* Richiesta ed acquisizione della tensione di uscita, compresa tra la minima e la massima, a cui effettuare il calcolo della temperatura. */ pag.9 13
while (x<0 x>c) { printf(" Tensione (in volt) = "); scanf("%f",&x); } /* Ciclo while. Viene ripetuta la richiesta finchè il valore digitato per la tensione di uscita non è compreso tra il minimo e il massimo. */ m=x/fd; /* Calcolo della corrente dell AD590 in corrispondenza della tensione di uscita, compresa tra il minimo ed il massimo, introdotta dall utente. */ n=1000000*m 273; /* Calcolo della temperatura in corrispondenza della tensione di uscita, compresa tra il minimo ed il massimo, introdotta dall utente. */ printf("\nla temperatura vale %f C",n); /* Visualizzazione della temperatura. */ printf("\n\naltra tensione di uscita? Digita s o n. "); scanf("%1s",&risposta3); /* Richiesta effettuata dal programma ed acquisizione della risposta dell utente. */ if (risposta3 == 's') goto ripeti1; /* Se la risposta è s salta a ripeti1, altrimenti prosegui. */ altro1: /* Etichetta istruzione goto. */ printf("\naltro progetto? Digita s o n. "); scanf("%1s",&risposta4); /* Richiesta effettuata dal programma ed acquisizione della risposta dell utente. */ if (risposta4 == 's') { printf("\n"); goto inizio; } /* Se la risposta è s vai a capo e salta a inizio, altrimenti prosegui. */ printf("\n OK"); /* Messaggio conclusivo. */ } /* Fine blocco istruzione main. */ Fine programma pag.10 13
Applicazioni. Come esempio di applicazione del trasduttore integrato AD590 in un contesto diverso da quello dell acquisizione dati, si propone un semplice circuito rivelatore di soglia di temperatura con isteresi, che, a seconda dei casi, può essere presentato alla classe anche solo a livello qualitativo. Lo schema elettrico del circuito è il seguente (non sono indicate le tensioni di alimentazione degli operazionali, che si suppongono ad alimentazione duale ±Vcc): Vcc TEMPERATURA AD590 V1 V1 R ACQUISIZIONE BUFFER V1 R1 R2 V2 Vref COMPARATORE CON ISTERESI pag.11 13
Inserendo tra i prerequisiti la conoscenza del trigger di Schmitt non invertente, il dimensionamento del circuito è immediato. Si pone Vcc = 12 V. Il progetto viene effettuato ipotizzando che la tensione di uscita del comparatore commuti a livello alto alla temperatura di 40 C e commuti a livello basso alla temperatura di 30 C. Dai dati tecnici dell integrato AD590 si ricava che il sensore è attraversato da una corrente di 303 µa alla temperatura di 30 C e da una corrente di 313 µa alla temperatura di 40 C. Ponendo R = 10 KΩ, la tensione di uscita del circuito di acquisizione (coincidente con quella di uscita del buffer) vale 3.03 V a 30 C e 3.13 V a 40 C. In relazione ai valori indicati, la caratteristica di trasferimento del comparatore è idealmente la seguente: V2 [V] 12 3.03 3.13 V1 [V] 12 Si effettua il dimensionamento del trigger di Schmitt. Dalla relazione: si ricava: VTH VTL = 2 * Vcc = VTH VTL 2 * Vcc * Essendo Vcc = 12 V, VTH = 3.13 V e VTL = 3.03 V, si ha: = 3. 13 2 * 12 3. 03 = 240 Ponendo R1 = 1 KΩ, si ottiene R2 = 240 KΩ. pag.12 13
Dalla relazione: si ricava: VTH VTL Vref * ( = 2 Vref = VTH VTL * 2 ) Sostituendo i valori numerici, si ha: 240 3. 13 3. 03 Vref = * = 1 240 2 3. 067 V La tensione Vref si ottiene con un partitore di precisione. La scelta degli operazionali non è critica; si può, ad esempio, usare un TL082 alimentato a ±12 V. Verifica. La verifica formativa degli obiettivi viene effettuata, come precedentemente indicato, in itinere con domande dal posto e con l osservazione dei comportamenti durante le attività di laboratorio. L utilizzo del programma di supporto in C consente di verificare rapidamente se l alunno è in grado di scegliere correttamente la componentistica commerciale in relazione ad un determinato progetto. Come ulteriore strumento di verifica, è consigliata la stesura della relazione tecnica ad unità didattica conclusa. In fase di verifica sommativa, generalmente somministrata a fine modulo, si può proporre sia il dimensionamento sia la descrizione sequenziale delle operazioni di taratura. pag.13 13