Istruzione Superiore Statale "Enzo FERRARI" Classe 5^ A Periti in Elettronica e Telecomunicazioni CONCA Michele, TONDA Daniele, TROTTA Gabriele i
INDICE Copertina pag. i Indice pag. ii Elenco Allegati pag. ii Presentazione del Gruppo di lavoro pag. iii Finalità Obiettivi pag. 1 Situazione di partenza e prime operazioni pag. 1 Diagramma di Gantt iniziale pag. 1 Schema a blocchi iniziale pag. 2 Ipotesi iniziali pag. 3 Scelta della soluzione adottata pag. 5 Schema a blocchi dopo la scelta della soluzione adottata pag. 6 Schema a blocchi hardware pag. 6 Schema elettrico PLC pag. 6 Schema elettrico ADC pag. 7 Funzionamento dispositivo hardware pag. 8 Procedura di collaudo del dispositivo hardware pag. 8 Schema a blocchi software pag. 9 Procedure dell Operatore che utilizza il dispositivo pag. 9 Fasi del Software Visual C su computer (master) pag. 9 Fasi del Software Arduino sul dispositivo ADC (slave) pag. 10 Conclusioni pag. 10 Elenco Allegati Allegato 2 Data Sheet del dispositivo denominato Misura3R Allegato 3 Presentazione in Power Point Allegato 11 Presentazione singoli studenti Allegato 12 Calcoli R pull-up del partitore di tensione Allegato 13 Calcoli e grafici per il metodo 2c) ADC a 16bit Allegato 14a Schema elettrico Arduino Mega 2560 Allegato 14b Arduino Mega 2560 Allegato 15 Data Sheet multiplexer 4051 Allegato 16 Data Sheet ADC 16bit Allegato 17 Data Sheet 7805 e 7809 Allegato 18 Data Sheet 1N4007 Allegato 19 Data Sheet BC337 Allegato 20 Data Sheet LM2902 Allegato 21 Software Arduino Allegato 22 Videate e Software VisualC Allegato 23 Traduzione ADC 16bit Allegato 24 Costi e realizzazione circuito stampato ii
Presentazione del Gruppo di lavoro TROTTA Gabriele, CONCA Michele, TONDA Daniele Presentazione dei singoli studenti è inserita nell allegato 11 Durante il percorso di studi abbiamo imparato ad utilizzare alcuni strumenti di laboratorio e ad eseguire misure su dispositivi elettronici. During the course of studies we have learned to use some laboratory instruments and perform measurements on electronic devices. Grazie alle esercitazioni di laboratorio e ad alcuni approfondimenti pomeridiani ed estivi abbiamo imparato a conoscere molti componenti elettronici e a migliorare le nostre capacità di calcolo e di ragionamento. A Novembre 2013 i nostri insegnanti hanno proposto alla classe il concorso SPEA Award 2014, progetto che abbiamo ritenuto interessante perché ci offriva l opportunità di approfondire l utilizzo di dispositivi elettronici e di sperimentare l utilizzo di hardware abbinato a software. Abbiamo pensato che questo bando ci offriva l opportunità di approfondire altri tipi di dispositivi elettronici che durante l anno non possiamo affrontare e di capire come muoversi in un ambiente di lavoro. Speriamo che dopo il diploma avremo ampliato il nostro bagaglio personale e che questa esperienza ci sia d aiuto per trovare un lavoro attinente alle nostre conoscenze e alla nostra passione. Speriamo che questa esperienza possa insegnarci come relazionarci al mondo del lavoro. Thanks to laboratory exercises and some insights during the afternoon and summer we learned about many electronic components and improve our capacity of calculation and reasoning. In November 2013, our teachers have proposed to class the competition SPEA Award 2014 project that we considered interesting because it was offering us the opportunity to deepen the use of electronic devices and to explore the use of hardware combined with software. We found that this announcement gives us the opportunity to deepen other types of electronic devices during that the year we cannot face and to understand how to move in a work environment. We hope once finished school we have expanded our personal baggage, and we hope that we have help in finding a job relevant to our knowledge and our passion. We hope that this experience can teach us how to relate to the world of work. iii
Finalità - Obiettivi Il progetto è mirato alla misura di Resistori in ambito industriale. Tale misura deve essere effettuata mediante un dispositivo da noi studiato, acquisita da un microcontrollore, inviata con cavo seriale (USB) ad un PC e visualizzata a monitor. Ci siamo prefissati l obiettivo di progettare un dispositivo in cui l errore sulla misura del Resistore fosse inferiore all 1% per tutto il range di misura da 1 000 ohm a 100'000 ohm. Situazione di partenza e Prime operazioni Il programma svolto fino all inizio della classe quinta ci permette di comprendere il problema descritto nel regolamento del concorso SPEA Award 2014, provare ad affrontare la misura dei Resistori sia in modo analogico che in modo digitale, utilizzare sia un microcontrollore PIC che un dispositivo Arduino con un microcontrollore ATMEL, visualizzare i dati con Visual C#. Per gli schemi elettrici abbiamo a disposizione diversi CAD: Ivex, FidoCAD, T3001, OrCAD Inizialmente abbiamo affrontato il nostro compito compilando un diagramma di Gantt per la suddivisione dei lavori e disegnando uno schema a blocchi. Diagramma di Gantt iniziale Gruppo Dicembre Gennaio Febbraio Marzo Aprile Visita azienda e Schema a Scelta della Acquisti Documentazione analisi del blocchi iniziale soluzione Regolamento Studio delle Preventivi possibili soluzioni Conca Tonda Trotta Calcoli dell errore di conversione Hardware Software Arduino Software Visual C Successivamente abbiamo utilizzato un metodo problem solving con il quale abbiamo formulato diverse soluzioni ed analizzato i possibili risultati fino a scegliere la soluzione migliore (precisione, costi, tempi di realizzazione, capacità di realizzare un prototipo, ). 1
Alimentazione I DC costante V DC costante V DC costante Resistore Rup+Resistore V R Ponte di Wheatstone con Resistore V R Circuito di ADC uc (PIC o Arduino) condizionamento V R e V R Dati misure controlli Computer (Visual C) (Excel) Monitor (interfaccia grafica) Schema a blocchi iniziale Emergenza e PLC 2
Ipotesi iniziali Inizialmente abbiamo ipotizzato : tre possibili soluzioni a1)-a2)-a3) per la misura del Resistore: a1) misura della tensione ai suoi capi (Legge di ohm V = R * I) mentre scorre una corrente continua pari a 1mA a2) misura della tensione ai suoi capi mentre viene applicata una tensione continua con un resistore di valore noto in serie (Partitore di tensione) a3) misura della differenza tra la tensione ai capi del Resistore da misurare e la tensione ai capi di una Rvariabile nota mentre viene applicata una tensione continua con due resistori di valore noto in serie (Ponte di Weathstone) tre possibili soluzioni b1)-b2)-b3) per trasformare i valori misurati da analogico a digitale: b1) microcontrollore PIC16F73 con convertitore interno A/D a 8 bit b2) scheda Arduino Uno con microcontrollore ATMEL con convertitore interno A/D a 10 bit b3) scheda Arduino Mega con microcontrollore ATMEL con convertitore esterno A/D a 16 bit Per l invio dei valori al computer abbiamo ipotizzato l utilizzo della porta seriale RS232 con il microcontrollore PIC16F73 ed il circuito integrato MAX232 oppure della porta seriale USB con la scheda Arduino. Per l elaborazione e la visualizzazione dei dati abbiamo ipotizzato l utilizzo di Visual C#. Per la memorizzazione dei dati abbiamo ipotizzato l utilizzo di Excel. Metodo a1) corrente continua pari a 1mA Abbiamo pensato di utilizzare un componente che fornisce una corrente continua di 1mA, misurare la tensione, calcolare il valore del Resistore (R=V/I). Un aspetto positivo è che la tensione ai capi del Resistore da misurare è lineare (V=R I). Un aspetto negativo di questo metodo è che utilizzando Resistori da 1'000 ohm a 100'000 ohm il dispositivo richiede un alimentazione superiore a 100V. Inoltre è necessario aggiungere un circuito di condizionamento che riceve in ingresso una tensione da 0 a 100V e fornisce in uscita una tensione da 0 a 5V da inviare al convertitore A/D. Metodo a2) Partitore di tensione Abbiamo pensato di utilizzare uno dei primi circuiti che abbiamo studiato in III superiore nella materia Elettrotecnica: il partitore di tensione. Utilizziamo una Valimentazione stabilizzata 5 000mV pari alla Valimentazione del microcontrollore, una Rpull-up di 10'000 ohm per avere la massima dinamica della tensione che viene collegata all ingresso del convertitore analogico-digitale. Simuliamo il Resistore da misurare con un potenziometro multigiro da 100'000 ohm collegato in serie ad una Rpiede di 1 000 ohm in modo da ottenere un Resistore variabile da 1 000 ohm a 101'000 ohm = = 100 000 h 1 000 h = 10 000 h Le formule complete per il calcolo della Rup sono inserite nell allegato 12 3
Metodo a3) Ponte di Wheatstone Questo metodo permette di misurare il valore del Resistore per confronto con una Rvariabile nota utilizzando la misura della differenza tra 2 tensioni. Si utilizzano 14 resistenze in serie tra loro con un contatto di relè in parallelo a ciascuna resistenza. Un aspetto negativo è la necessità di utilizzare molti relè che sono componenti elettromeccanici soggetti ad usura con l aumentare del numero di commutazioni. Utilizzando 14 Resistori all 1% della serie commerciale E48 con i seguenti valori : 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 53600 27400 14000 7150 3650 1870 953 487 249 127 64,9 33,2 16,9 8,66 Si ottiene una resistenza variabile da 1 000 ohm a 100 000 ohm a step di circa 8 ohm ossia a step inferiori all 1% anche per il valore più basso del Resistore da misurare pari a 1 000 ohm. Esempio : se si mantengono non cortocircuitati (codice on/off dei relè pari a 1) i seguenti resistori 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 0 0 0 0 0 0 953 0 0 0 0 33,2 16,9 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 Sommando 953+33,2+16,9 otteniamo 1 003,1 ohm (codice on/off per i contatti dei relè: 00 0000 1000 0110) Esempio : se si mantengono non cortocircuitati (codice on/off dei relè pari a 1) i seguenti resistori 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 53600 27400 14000 0 3650 0 953 0 249 127 0 0 16,9 8,66 1 1 1 0 1 0 1 0 1 1 0 0 1 1 Sommando 53 600+ 27 400+14 000+3 650+953+0+249+127+16,9+8,66 otteniamo 100 004,6 ohm (codice on/off per i contatti dei relè: 11 1010 1011 0011) Metodo b1) microcontrollore PIC16F73 con convertitore A/D a 8 bit Aspetti positivi sono il costo limitato e la disponibilità immediata in laboratorio a scuola. Aspetto negativo è l errore sulla misura del Resistore superiore all 1% 4
Metodo b2) scheda Arduino con ucontrollore ATMEL con convertitore interno A/D a 10 bit Con Valimentazione = 5'000 mv, dopo le operazioni di misura, conversione, trasmissione e visualizzazione, otteniamo un errore sulla misura del Resistore che è ancora superiore, seppure di poco, all 1% R da misurare V R N digitale (0-1023) Valore R calcolato Errore % 1'000 ohm 0,455 V 93 999 1,18 100'000 ohm 4,545V 931 100108 1,20 Formule ADC 10 bit : = + =! "# $%&'()*+, +1 --- % = / 1 = 2 34 1 2 34 Metodo b3) scheda Arduino con ucontrollore ATMEL con convertitore esterno A/D a 16 bit Con Valimentazione = 5'000 mv, dopo le operazioni di misura, conversione, trasmissione e visualizzazione, otteniamo un errore sulla misura del Resistore che è finalmente inferiore all 1% R da misurare V R N digitale (0-65535) Valore R calcolato Errore % 1'000 ohm 0,455 V 34257 1000 0,07 100'000 ohm 4,545V 47663 100050 0,07 +1 --- % = / 1 Formule e grafici con tutti i calcoli dei passaggi matematici dalla misura di R al valore visualizzato sono indicati nell allegato 13 Scelta della soluzione adottata In base agli aspetti positivi e negativi di ciascuna soluzione abbiamo deciso di adottare i metodi a2) Partitore di tensione e b3) Scheda Arduino con microcontrollore ATMEL con convertitore esterno A/D a 16 bit per avere la migliore prestazione sull errore di misura senza dover utilizzare i relè elettromeccanici. Abbiamo ipotizzato un blocco di seguito denominato PLC che si interfaccia con il nostro dispositivo utilizzando 7 fili: massa, emergenza, Richiesta next scheda (dal nostro dispositivo al PLC), Next scheda pronta (dal PLC al nostro dispositivo), 3 Resistori da misurare. 5
Schema a blocchi dopo la scelta della soluzione adottata metodi a2) e b3) Alimentazione 14V 24V 3 Resistori Emergenza ADC 16bit Arduino Dati misure Controlli Computer (Visual C) (Excel) Monitor (interfaccia grafica) Richiesta next scheda (al PLC) Next scheda pronta (da PLC) Schema a blocchi hardware Alimentazione 14V 24V PLC ADC 16bit Arduino Schema elettrico PLC (realizzato con CAD T3001) 6
Schema elettrico ADC (realizzato con CAD T3001) Lo schema elettrico del blocco Arduino è nell allegato 14a 7
Funzionamento dispositivo hardware PLC Il dispositivo necessita di alimentazione superiore a 12 V fino ad un max di 24 V continui. Il primo diodo sull alimentazione (1N4007) protegge il dispositivo da eventuali inversioni di polarità dell alimentazione. Ci sono 2 circuiti integrati che forniscono internamente una tensione di 9V (7809) e 5V (7805). La tensione 5V è necessaria per alimentare il convertitore A/D (LCT 1605) ed il multiplxer (4051), la tensione 9V per alimentare gli amplificatori operazionali (LM2902) utilizzati come inseguitori (adattatori di impedenza) per le tensioni provenienti dalle 3 R da misurare. Siccome le 3 tensioni variano indicativamente da 0,5V a 4,5V nel range 1000ohm 100000ohm è necessario avere una tensione di alimentazione degli operazionali di almeno 2V superiori alla tensione massima in ingresso (e in uscita). Le 3 R di pull-up per i 3 Resistori da misurare sono state dimensionate per massimizzare il range di tensione dei partitori di tensione. L uscita verso il PLC che serve per chiedere di preparare una nuova scheda con 3 Resistori da misurare dipende dal comando ricevuto dal ucontrollore Arduino, se il dispositivo riceve dal uc 0V allora fornisce al PLC una tensione >10V, se riceve 5V fornisce al PLC una R da 22kohm collegata a massa. L uscita verso il microcontrollore Arduino che serve per indicare che la nuova scheda con 3 Resistori da misurare è pronta dipende dal comando ricevuto dal PLC, se il dispositivo riceve dal PLC 0V allora fornisce al uc una tensione di 5V, se riceve 24V fornisce al uc una massa con la Vce di saturazione di un transistor. I 2 transistor (BC337) sono utilizzati come semplici interruttori digitali con R tra base ed emettitore di 100kohm, R di pilotaggio pari a 1kohm e tensione di pilotaggio pari a 5V (con una Ibase di circa 4 ma), Icollettore inferiore ai 30mA ed una H FE = I C /I B inferiore alla H FE minima in modo da garantire la Vce di saturazione. Per il pulsante di emergenza abbiamo ipotizzato una lettura con convertitore analogico/digitale di Arduino (10 bit sono sufficienti) in modo da rilevare circuito aperto o corto circuito nel cablaggio oltre a rilevare pulsante premuto o rilasciato. Per utilizzare il convertitore A/D a 16 bit abbiamo fatto esplicito riferimento al data sheet del componente utilizzando solamente 2 pin : R/C e Busy e mantenendo il pin CS sempre a massa. Il dettaglio del data-sheet del convertitore A/D a 16 bit con traduzione in italiano è nell allegato 23. Procedura di collaudo del dispositivo hardware ADC prima del montaggio dei circuiti integrati Valore atteso: [V] Valore misurato: [V] Valimentazione a vuoto >13 13,70 Valimentazione (dopo aver collegato il dispositivo) >12 12,87 Vout 7809 9 8,875 Vout 7805 5 5,005 Valimentazione (pin 16-8) 4051 5 5,005 Valimentazione (pin 4-11) LM2902 9 8,880 Valimentazione (pin 27e28 14) del LTC1605 5 5,005 Vpin input del morsetto 22 di J1 (con pin PLC dice next scheda pronta con un contatto a massa scollegato e collegato a +13V) <0,2 0,005 Vpin input del morsetto 22 di J1 (con pin PLC dice next scheda pronta con un contatto a massa scollegato a 0V) Vpin output del morsetto J11 dico a PLC prepara next scheda (con pin 7 di J5 prepara next scheda a 0V) Vpin output del morsetto J11 dico a PLC prepara next scheda (con pin 7 di J5 prepara next scheda a +5V o scollegato da Arduino) 5 5,005 >10 10.65 0 0 I valori misurati si avvicinano ai valori attesi, pertanto si possono inserire i circuiti integrati negli zoccoli. Si procede con le verifiche di funzionalità collegando il dispositivo ad Arduino Mega. Data sheet dei componenti utilizzati negli allegati da 14 a 20 8
Schema a blocchi software Software Arduino (SLAVE) Software VisualC (MASTER) Procedure dell Operatore che utilizza il dispositivo L operatore utilizza l interfaccia grafica sul computer dove è installato il software realizzato in Visual C. Accende il Sistema (PLC + ADC e Arduino + Computer ) Manda in esecuzione il programma.exe e tramite l interfaccia grafica attiva il collegamento della porta seriale tra il computer e il dispositivo ADC e Arduino. Utilizza il pulsante verifica presenza hardware. Inserisce nome, data, turno,. e preme il pulsante inizio turno Preme uno dei seguenti pulsanti 1. calibra 1000 2. calibra 50000 3. calibra 100000 4. misura 5. pausa o Fine turno Fasi del Software Visual C sul computer (master) Attiva il collegamento della porta seriale Nell interrupt che controlla la porta seriale controlla se arriva emergenzaattiva Invia codice cisei ad Arduino Se riceve cisono il software scrive a monitor il messaggio ok hardware collegato e permette l inserimento dei dati operatore Se dopo alcuni tentativi non riceve cisono il software scrive sul monitor controlla cavi di collegamento poi riprova a premere e poi chiede di premere nuovamente il pulsante verifica presenza hardware (può essere necessario resettare Arduino) Quando l operatore preme il pulsante inizio turno il software abilita le opzioni di lavoro 1. calibra 1000 2. calibra 50000 3. calibra 100000 4. misura 5. pausa o Fine turno Se l operatore seleziona l opzione 1 o 2 o 3 il software invia il comando misura al dispositivo ADC+Arduino e scrive sul monitor carica manualmente in macchina la scheda test (gialla 1 000 o rossa 50 000 o blu 100 000). Quando riceve i 3 valori li elabora e li memorizza per poterli utilizzare nelle misurazioni successive Se l operatore seleziona l opzione misura il software invia ciclicamente il comando misura al dispositivo ADC+Arduino e visualizza sul monitor i valori dei Resistori fino a quando l operatore seleziona l opzione pausa (o fine turno). I dati relativi alle misure vengono, di volta in volta, elaborati e memorizzati. 9
Fasi del Software Arduino sul dispositivo ADC (slave) La fase di Loop viene eseguita sempre, ciclicamente, le altre fasi vengono eseguite una per volta. Nella Fase di Loop il software controlla l Input emergenza e se lo rileva attivo invia al VisualC il codice emergenza Attiva e invia al PLC il segnale che blocca il comando prepara nuova scheda Se va tutto bene (pulsante emergenza rilasciato) sul display viene visualizzato fase0 alarm ok In Fase0 il software aspetta il codice cisei da VisualC e se lo riceve risponde con il codice cisono e va in fase1. In Fase 1 il software aspetta da VisualC uno dei seguenti comandi : misura invia al PLC il segnale di comando prepara nuova scheda poi va in Fase2 pausa Fase1 In Fase2 il software aspetta da PLC il segnale scheda pronta e se lo riceve va in Fase4 In Fase4 il software effettua la misura tramite l ADC, invia 2 Byte da 8 bit per ciascuno dei 3 Resistori poi va in fase1 Se arriva comando di pausa (o fine turno) il software termina la misura in corso poi va in fase 1 Istruzioni del software di Arduino sono nell allegato 21 Videate ed Istruzioni del software di VisualC sono nell allegato 22 Conclusioni Il dispositivo funziona, misura 3 resistenze per volta, visualizza i valori a monitor e soddisfa il nostro obiettivo di avere un errore inferiore all 1% sul valore dei Resistori da misurare. Il lavoro è stato svolto rispettando quasi pienamente i tempi previsti nel diagramma di Gantt iniziale. Ciascuno dei 3 componenti del gruppo ha curato in modo particolare il proprio compito (Conca hardware, Tonda Arduini, Trotta VisualC) ma il lavoro svolto è sempre stato condiviso in modo da discutere e risolvere insieme tutte le difficoltà incontrate. In particolare è stato necessario concordare più volte i messaggi software tra VisualC (Master) e Arduino (slave) e i livelli di tensione hardware tra PLC, Arduino e la scheda elettronica costruita da noi. Abbiamo raggiunto un ulteriore risultato che consiste nell aver avuto l autorizzazione di utilizzare il laboratorio anche al di fuori dell orario scolastico per poter approfondire alcuni degli argomenti trattati in classe, sia hardware che software. Il funzionamento del dispositivo hardware e software verrà mostrato anche durante il colloquio con i tecnici SPEA. 10