Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 Schematizzazione della metodologia e tempificazione. Inizio Lezione frontale Analisi dei fogli tecnici 90’ Dimensionamento 60’ Scelta componenti 10’ Verifica formativa con domande dal posto Eventuale recupero in itinere Montaggio del circuito 40’ Collaudo 20’ Taratura 60’ Software applicativo 60’ Esercitazione Lezione frontale ed esercitazione guidata Esercitazione guidata Verifica formativa in collaborazione con l’ITP Lezione frontale Altre applicazioni Verifica formativa con domande dal posto Fine pag.2­13 Eventuale recupero in itinere Tempo dipendente dalle scelte Eventuale recupero in itinere Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 Contenuti. I fogli tecnici (non allegati) si ricavano dallo specifico data book. Dimensionamento della rete di condizionamento. Schema a blocchi: Sensore condizionato T I(T) AD590 Specifiche: Vo(0 °C) = 0 V ; Rete di condizionamento Vo Vo(50 °C) = 5 V La relazione ingresso­uscita del trasduttore è la seguente: I( T ) = ( 273 + T ) * 10 -6 in cui T rappresenta la temperatura (in °C) e I(T) la corrente di uscita (in A). Da tale relazione risulta che: I(0°C) = 273 mA e I(50°C) = 323 mA 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: Vo [V] 5 0 50 da cui discende che la sensibilità del sensore condizionato è di 0.1 V/°C. pag.3­13 T [°C] (°C) Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 Si utilizza la seguente rete di condizionamento (schema di calcolo): R1 R2 Vref I(T) Vo + Applicando il principio di sovrapposizione degli effetti, ritenendo ideale l’operazionale si ottiene: Vo = R 2 * I ( T ) - R 2 * Vref R 1 Si effettua il dimensionamento del circuito. · Per T= 0 °C si ha I(0°C) = 273 mA e deve risultare Vo = 0 V, per cui: 0 = R 2 * 273 * 10 - 6 · R 2 * Vref R 1 Per T= 50 °C si ha I(50°C) = 323 mA e deve risultare Vo = 5 V, per cui: 5 = R 2 * 323 * 10 -6 - R 2 * Vref R 1 I valori di R2 e di Vref/R1 si ricavano risolvendo il sistema: R 2 ì - 6 ïï5 = R 2 * 323 * 10 - R 1 * Vref í ï0 = R 2 * 273 * 10 -6 - R 2 * Vref ïî R 1 Sottraendo membro a membro le due equazioni, si ottiene il sistema equivalente: ì5 = R 2 * ( 323 - 273 ) * 10 - 6 ï í R 2 - 6 * Vref ï0 = R 2 * 273 * 10 î R 1 da cui si ricava: 5 ì ïïR 2 = ( 323 - 273 ) * 10 - 6 = 100 K W í ï Vref = 273 mA ïî R 1 Ponendo Vref = 12 V, si ottiene R1 = 43.95 KW. pag.4­13 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 Spunto di riflessione (da somministrare a dimensionamento concluso). Qual è la funzione di un eventuale condensatore posto in parallelo a R2 ? Realizzazione pratica: 10 KW 50 KW 39 KW 82 KW Vref = + 12 V + 12 V I(T) TEMPERATURA 2 7 6 + 3 Vo + 4 AD590 TL081 ­ 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 KW e 50 KW (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 KW e 82 KW sono da 0.25 W con tolleranza del 5%. Il costo complessivo dei componenti è indicativamente di circa 15 euro. pag.5­13 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 KW (da 0.50 W e con tolleranza del 5%) e disponendo gli strumenti di misura come indicato: + 12 V 39 KW 10 KW I(T) 82 KW 2 7 50 KW + 12 V A 6 Vo 3 100 KW + 4 ­ 12 V V TL081 ­ 12 V Le operazioni di taratura sono le seguenti: · · Per simulare una temperatura di ingresso di 0 °C, si regola il trimmer da 100 KW fino ad ottenere una corrente di 273 mA, misurata dall’amperometro. Si regola quindi il trimmer da 10 KW 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 KW fino ad ottenere una corrente di 323 mA, misurata dall’amperometro. Si regola quindi il trimmer da 50 KW 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 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 R2 g = Valore di R1 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*(273+a); e=0.000001*(273+b); /* Calcolo della corrente dell’AD590 in corrispondenza delle temperature minima e massima. */ f=c/(e­d); /* Calcolo di R2. */ g=12/d; /* Calcolo di R1, con Vref=12 volt. */ printf("\n R2 = %f W",f); printf("\n Ponendo Vref = 12 volt, si ottiene R1 = %f W.\n\n",g); /* Visualizzazione dei valori di R2 e R1. Il dimensionamento è concluso. */ pag.8­13 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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*(273+r); /* 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 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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/f+d; /* 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 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 R1 BUFFER R2 V1 + V2 Vref COMPARATORE CON ISTERESI pag.11­13 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 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 mA alla temperatura di 30 °C e da una corrente di 313 mA alla temperatura di 40 °C. Ponendo R = 10 KW, 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: VTH - VTL = 2 * Vcc * R 1 R 2 si ricava: R 2 2 * Vcc = R 1 VTH - VTL Essendo Vcc = 12 V, VTH = 3.13 V e VTL = 3.03 V, si ha: R 2 2 * 12 = = 240 R 1 3 . 13 - 3 . 03 Ponendo R1 = 1 KW, si ottiene R2 = 240 KW. pag.12­13 Appunti redatti dal Ing. Prof. Antonio Pontillo Lez.8 Dalla relazione: VTH + VTL Vref * ( R 1 + R 2 ) = 2 R 2 si ricava: Vref = R 2 VTH + VTL * R 1 + R 2 2 Sostituendo i valori numerici, si ha: Vref = 240 3 . 13 + 3 . 03 * = 3 . 067 V 1 + 240 2 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