UNIVERSITA DEGLI STUDI DI GENOVA FACOLTA DI INGEGNERIA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA DEGLI STUDI DI GENOVA FACOLTA DI INGEGNERIA"

Transcript

1 UNIVERSITA DEGLI STUDI DI GENOVA FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica TESI DI LAUREA PROGETTO DI UN SISTEMA ELETTRONICO A MICROCONTROLLORE PER APPLICAZIONI DI ACQUISIZIONE DATI DA ACCELEROMETRI Relatore: Chiar.mo Prof. Ing. Maurizio Valle Canditato: Alessandro Bisio Luigi Carlini Correlatore: Flavio Ansovini Anno Accademico Corso di Laurea in Ingegneria Elettronica 1

2 Genova, 25 Settembre 2009 Corso di Laurea in Ingegneria Elettronica II

3 Abstract The scope of the work is the design and the realization of a prototype electronic board that acquires acceleration s data through a triaxial accelerometer and, using a programmable microcontroller, processes and stores them in a memory card so as they can be later downloaded to a PC. The main features of the project are the use of some innovating components for this kind of application like the PIC, the SD memory and the triaxial accelerometer; in particular with the use of the PIC is possible to upgrade the firmware versions of the board. Therefore, through a serial interface onboard is also possible modify some parameter of the board using a PC. The prototype board so built can be placed on any surface and powered with an internal battery. In the first part of the thesis the hardware features are described. Starting from the analisys of the project requirements, all the phases of the work are explained, in particular the system s architecture, the hardware components chosen, the design and the realization of the board. In the second part all the firmware implementation to perform the functions required are explained. The last part of the work contains some explainations about the test case implemented and the results performed. Corso di Laurea in Ingegneria Elettronica III

4 Alla commissione di Laurea e di Diploma Alla Commissione Tirocini e Tesi Sottopongo la tesi redatta dagli studenti Bisio Alessandro e Carlini Luigi dal titolo Progetto di un sistema elettronico a microcontrollore per applicazioni di acquisizione Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente assegnando i corrispondenti crediti formativi. Il Relatore Accademico Prof. Maurizio Valle Corso di Laurea in Ingegneria Elettronica IV

5 Ringraziamenti I nostri più sentiti ringraziamenti vanno a chi ci ha permesso di portare a termine questa tesi con successo: in primo luogo il nostro relatore Prof. Ing. Maurizio Valle e al nostro correlatore Flavio Ansovini per la loro disponibilità e per l aiuto offerto nello sviluppo di questo progetto. Siamo molto grati ad entrambi per averci dato la possibilità di essere qui oggi. Un ringraziamento anche a Giorgio Carlini che grazie alle sue conoscenze tecniche ci ha potuto dare un sostanziale aiuto per il completamento del progetto. Alessandro e Luigi Rivolgo, innanzitutto, la mia più grande gratitudine ai miei genitori,a mio fratello Luca e a mia sorella Veronica per avermi sostenuto, incoraggiato e supportato in questi anni di università. Ringrazio tutti gli amici che nei momenti difficili mi sono stati vicini, compagni di studi e conoscenti che mi hanno sostenuto lungo questo cammino dandomi nuovi spunti e nuove idee. Un caloroso grazie anche a tutti quelli che in questi anni mi hanno dato conforto, credendo nelle mie capacità, e così facendo mi hanno dato la forza per non mollare. Infine ringrazio Ale, mio compagno di tesi ma soprattutto un vero amico, senza il quale questo momento non sarebbe stato possibile. Luigi Vorrei ringraziare, innanzi tutto, la mia famiglia che mi ha dato l opportunità di raggiungere questo importante traguardo per la mia vita, e che mi ha dato fiducia nei momenti difficili. Ringrazio mia sorella che con la sua ironia mi ha sempre sostenuto in questi tre anni; grazie a Enzo che mi ha sempre dato preziosi consigli in questi tre anni. Un grazie particolare a Giulia che da quando ho iniziato l università, ha sempre condiviso con me, i momenti belli e brutti di questo percorso, trasmettendomi sempre la forza di continuare e non mollare mai. Ringrazio inoltre tutti i miei amici che nei momenti di svago mi hanno sempre fatto divertire e i miei parenti che sono stati sempre presenti in tutti questi anni. Corso di Laurea in Ingegneria Elettronica V

6 Un particolare ringraziamento va al mio amico e compagno di tesi Gigi con il quale si è instaurato un ottimo rapporto che ci ha permesso di portare a termine questo progetto. Alessandro Corso di Laurea in Ingegneria Elettronica VI

7 Indice INDICE... VIII CAPITOLO 1 - INTRODUZIONE MOTIVAZIONE E OBIETTIVO DELLA TESI SPECIFICHE DI PROGETTO SCELTE PROGETTUALI FLUSSO DI PROGETTO ORGANIZZAZIONE TESI... 6 CAPITOLO 2 - PROGETTAZIONE HARDWARE ACCELEROMETRO Descrizione generale Principio di funzionamento Banda passante Condizionatori di segnale integrati Utilizzo degli accelerometri nella vita quotidiana Accelerometro MMA7260Q MEMORIA Memory card Secure Digital MICROCONTROLLORE Descrizione generale Periferiche PIC PIC 18LF Corso di Laurea in Ingegneria Elettronica VII

8 2.4 - OSCILLATORE AL QUARZO Descrizione generale Utilizzi Tipi di oscillatori Oscillatore al quarzo INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE REGOLATORE DI TENSIONE PULSANTE E LED RGB CONNESSIONI HARDWARE Connessione microcontrollore accelerometro Connessione microcontrollore - connettore microsd Connessione microcontrollore - oscillatore al quarzo Connessione microcontrollore MAX Connessione microcontrollore programmatore Connessione microcontrollore pulsante Connessione microcontrollore led RGB CAPITOLO 3 - PROGETTAZIONE FIRMWARE VOID INTERRUPT VOID ACQUIRE () VOID FORMAT() VOID N_CAMPIONI() VOID I_WRITE_STR() VOID SERIALCFG() VOID MAIN() EASYPIC Corso di Laurea in Ingegneria Elettronica VIII

9 3.9 - PROGRAMMATORE PICKIT CAPITOLO 5 - COSTRUZIONE SCHEDA FASE DI PROGETTAZIONE DEL CIRCUITO ELETTRICO DI DETTAGLIO FASE DI FRESATURA FASE DI SALDATURA DEI COMPONENTI FASE PRELIMINARE DI TEST CAPITOLO 6 - TEST CAPITOLO 7 - CONCLUSIONI Corso di Laurea in Ingegneria Elettronica IX

10 Corso di Laurea in Ingegneria Elettronica X

11 Capitolo Introduzione Motivazione e obiettivo della tesi In molti ambiti applicativi, è utile poter misurare delle accelerazioni e salvare i dati all interno di una memoria in modo da poter essere successivamente analizzati. Per sviluppare questo progetto i punti chiave da cui siamo partiti sono stati pertanto quelli elencati precedentemente cioè il rilevamento di accelerazioni, la memorizzazione dei dati e l alimentazione propria. Per quanto riguarda la rilevazione delle misure di accelerazione, lo strumento adatto è l accelerometro il quale riesce a fornire in uscita dei valori di tensione proporzionali alle accelerazioni subite mentre, per la memorizzazione dei dati, è necessaria una memoria non voltatile, in grado cioè di non perdere i dati una volta staccata l alimentazione. L ultimo requisito fondamentale riguarda la possibilità di far funzionare il sistema in modo autonomo e cioè che disponga di una propria alimentazione in modo da poter sfruttare la scheda in qualunque posizione. Possiamo quindi concludere dicendo che l obiettivo di questa tesi è quello di progettare una scheda elettronica prototipale che possieda un alimentazione propria, in grado di gestire un accelerometro triassiale i cui dati, dopo essere stati codificati attraverso l utilizzo di un dispositivo di elaborazione digitale, possano essere memorizzati all interno di una memoria non volatile ed essere successivamente scaricati su un PC, il tutto deve avere dimensioni ridotte in modo da occupare meno superficie possibile Specifiche di progetto A partire dagli obiettivi e finalità del progetto si è passati alla definizione delle specifiche tecnico funzionali della scheda da tener conto in fase di progettazione del sistema; gli elementi principali sono elencati qui di seguito: - specifica 1: utilizzo di un accelerometro che sia in grado di acquisire accelerazioni nelle tre dimensioni; Corso di Laurea in Ingegneria Elettronica 1

12 - specifica 2: capacità di convertire i valori di tensione provenienti dall accelerometro in valori digitali; - specifica 3: capacità di codificare, attraverso l utilizzo di un dispositivo digitale programmabile, i dati digitali, relativi alle accelerazioni, in un formato tale da essere salvati all interno di una memoria non volatile; - specifica 4: possibilità di prelevare i dati in memoria e caricarli sul PC in modo da essere analizzati; - specifica 5: basso consumo e ridotte dimensioni, in modo da poter facilmente collocare la scheda su una qualsiasi superficie; - specifica 7 possibilità di riprogrammare il dispositivo digitale mediante connessione diretta con un PC Scelte progettuali Il passo successivo è stato quello della scelta dei dispositivi più idonei al rispetto delle specifiche del sistema. Di seguito è riportato uno schema a blocchi di massima in cui sono rappresentate le parti principali della scheda Per quanto riguarda la specifica 1 per rilevare le accelerazioni si è utilizzato un accelerometro a tre assi in grado di fornire tensioni differenti a seconda dell accelerazione subita; una volta ottenute le tensioni, è necessario che un multiplexer selezioni l asse che si vuole convertire in formato digitale. Per effettuare questa operazione si possono utilizzare sia un microcontrollore sia una FPGA. Tuttavia, analizzando il nostro progetto abbiamo optato per il microcontrollore, semplicemente perché per i nostri scopi non è necessario un dispositivo molto potente, bensì è sufficiente che disponga di un buon numero di interconnessioni con l esterno, un convertitore analogico digitale e che sia riprogrammabile. Corso di Laurea in Ingegneria Elettronica 2

13 ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA NON VOLATILE Figura 1.1 Diagramma a blocchi della scheda Il passo successivo, descritto nella specifica 3, è quello della codifica dei dati acquisiti; a tale fine è stato sviluppato un software da caricare sul microcontrollore che trasforma i bit in una stringa di caratteri; i dati così codificati devono quindi essere memorizzati in una memoria non volatile, nel nostro caso si è utilizzata una memoria SD in modo da poterla interfacciare facilmente con il PC. Per rispettare il requisito relativo alla dimensioni, si è cercato di utilizzare componenti con formato SMD, il più piccolo tra tutti i formati. Analogamente per quanto riguarda l alimentazione, si è scelta una batteria abbastanza piccola così da ridurre sia le dimensioni sia la potenza; oltre alla batteria, è stato però necessario un circuito in grado di alzare la tensione fino a portarla ad un valore sufficiente a far funzionare tutti i componenti. Per la connessione con l esterno sono stati utilizzati due connettori: uno per la programmazione del microcontrollore e l altro per la comunicazione seriale con un PC. Corso di Laurea in Ingegneria Elettronica 3

14 1.4 - Flusso di progetto In questo paragrafo è raffigurata la sequenza delle operazioni che sono state eseguite per lo sviluppo della scheda partendo dall analisi del progetto fino ad arrivare alla fase di test. ANALISI E DEFINIZIONE DELLE SPECIFICHE DI PROGETTO PROGETTAZIONE DELLO SCHEMA A BLOCCHI PROGETTAZIONE DELL ARCHITETTURA DEL CIRCUITO REALIZZAZIONE DELLO SCHEMA ELETTRICO DI DETTAGLIO ATTRAVERSO L UTILIZZO DI STRUMENTI CAD PROGETTAZIONE DEL SOFTWARE IN GRADO DI GESTIRE LA SCHEDA REALIZZAZIONE FISICA DELLA SCHEDA TEST DI FUNZIONAMENTO DELLA SCHEDA MISURE SPERIMENTALI Figura 1.2 Flow chart delle attività Analisi e definizione delle specifiche di progetto Questa primo blocco rappresenta ciò che è stato già descritto nell introduzione, cioè la comprensione delle motivazioni per cui si è deciso di realizzare la scheda, gli obiettivo da raggiungere e gli strumenti necessari per sviluppare la scheda. Corso di Laurea in Ingegneria Elettronica 4

15 Progettazione dello schema a blocchi Anche questa parte è trattata nell introduzione. Come si può notare è stato inizialmente fatto uno schema generale, in cui viene rappresentata l architettura del sistema con le sue componenti principali ovvero l accelerometro, il microcontrollore, la memoria e il circuito di alimentazione; successivamente, una volta scelti i componenti da utilizzare si passerà ad un diagramma più di dettaglio. Progettazione dell architettura del circuito Una volta scelti i dispositivi che comporranno la scheda e realizzato il relativo schema a blocchi si passerà alla scelta vera e propria dei componenti, valutando quale siano quelli che soddisfano le specifiche richieste. Realizzazione dello schema elettrico di dettaglio e del circuito stampato attraverso l utilizzo di strumenti CAD Dopo aver scelto i componenti si procederà con il disegno dello schema elettrico in cui saranno introdotti, non solo gli integrati scelti ma anche la componentistica circuitale quali resistenze e condensatori, sarà quindi necessario fare attenzione ai vari collegamenti in modo da rispettare tutte le specifiche dei diversi componenti. Ultimato questo schema si passerà al disegno del circuito stampato. Realizzazione fisica della scheda Dopo aver disegnato lo stampato, verrà riportato su di una basetta, attraverso l utilizzo di una fresa; la fase successiva sarà quella di saldare tutti i componenti. Realizzazione del firmware da caricare sul microcontrollore Parallelamente a queste ultime due fasi, sarà necessario realizzare un software che permetta il corretto funzionamento della scheda. Test di funzionamento della scheda Costruita la scheda, sarà necessario controllare che funzioni correttamente e cioè che ogni componente sia l alimentazione corretta. Misure sperimentali L ultima fase sarà quella di controllare che la scheda funzioni correttamente nel rispetto di tutte le specifiche funzionali di progetto, mediante la definizione e l implementazione di una serie di test per poter provare la scheda nelle diverse condizioni di utilizzo. Corso di Laurea in Ingegneria Elettronica 5

16 1.5 - Organizzazione tesi Questo tesi è articolata in modo tale da rispecchiare il lavoro svolto durante il progetto. Oltre al presente capitolo introduttivo, sono presenti altri cinque capitoli che seguono lo svolgimento del lavoro: II capitolo: analisi dei componenti utilizzati, motivazione delle scelte effettuate e assemblaggio dei componenti utilizzati nella scheda III capitolo: progettazione e descrizione del firmware da caricare sul microcontrollore IV capitolo: descrizione di tutti i passaggi svolti per la realizzazione della scheda, a partire dallo schema elettrico fino ad arrivare alle fase di test. V capitolo: test per il controllo del corretto funzionamento della scheda e per l analisi dei dati acquisiti. VI capitolo: tabella conclusiva relativa alle caratteristiche della scheda, panoramica sugli obiettivi raggiunti. Corso di Laurea in Ingegneria Elettronica 6

17 Capitolo Progettazione hardware Nel capitolo introduttivo è stato spiegato, in forma molto generale, lo scopo e le caratteristiche del progetto. In questo capitolo si entrerà più nello specifico, valutando cioè, quale sia il modo migliore per costruire la scheda rispettando le specifiche. Per rendere più chiara la comprensione si è deciso di strutturare il capitolo in più paragrafi, ognuno corrispondente ad un componente, dove all interno di ognuno vi è: una parte introduttiva in vengono valutate diverse opzioni relativamente alla tipologia del componente al fine di definire la migliore tecnologia da utilizzare nel rispetto delle specifiche di progetto; una parte contenente la descrizione del componente individuato e le motivazioni della scelta; Siccome il progetto si basa sull acquisizione di accelerazioni, si è deciso di partire proprio con la ricerca di quale accelerometro utilizzare. 2.1 Accelerometro ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLO MEMORIA Figura 2.1 Diagramma a blocchi della scheda, accelerometro Corso di Laurea in Ingegneria Elettronica 7

18 Come scritto sopra l unica scelta obbligata è stata quella dell accelerometro infatti, per il progetto che vogliamo svolgere, è sicuramente il componente principale. Nel sottoparagrafo successivo verrà descritto che cos è un accelerometro, i diversi tipi di accelerometri, l espansione che ha avuto negli ultimi anni e alcune altre caratteristiche Descrizione generale Un accelerometro è uno strumento di misura in grado di rilevare e/o misurare l'accelerazione. Negli ultimi anni l'importanza di questi sensori è notevolmente accresciuta, questo perché, accanto alle tradizionali applicazioni in ambito scientifico e aerospaziale, si è sviluppato il loro uso in molti campi civili (automobilistico, testing, analisi meccanica, eccetera). Con il moltiplicarsi delle applicazioni, sono accresciute anche le tipologie di questi strumenti, e oggi se ne possono contare decine di tipi, ognuno con caratteristiche funzionali e costruttive differenti Principio di funzionamento Nella maggior parte degli accelerometri, il principio di funzionamento è il medesimo: si basa sulla rilevazione dell'inerzia di una massa quando viene sottoposta ad una accelerazione. La massa viene sospesa ad un elemento elastico, mentre un qualche tipo di sensore ne rileva lo spostamento rispetto alla struttura fissa del dispositivo. In presenza di un'accelerazione, la massa (che è dotata di una propria inerzia) si sposta dalla propria posizione di riposo in modo proporzionale all'accelerazione rilevata. Il sensore trasforma questo spostamento in un segnale elettrico acquisibile dai moderni sistemi di misura. Una prima classificazione si può così fare suddividendo questi strumenti a seconda del principio di funzionamento del sensore di posizione. Accelerometro estensimetrico L'accelerometro a ponte estensimetrico sfrutta come principio di rilevazione lo stesso delle celle di carico, cioè la variazione di resistenza di un estensimetro dovuta alla variazione della sua lunghezza. In questi dispositivi una massa viene sospesa su dei sottili lamierini, su quest'ultimi sono fissati degli estensimetri collegati a ponte di Wheatstone. Corso di Laurea in Ingegneria Elettronica 8

19 In presenza di un'accelerazione la massa si sposta, flettendo i lamierini e conseguentemente gli estensimetri subiscono un allungamento. Con un voltmetro è possibile leggere una tensione di sbilanciamento del ponte di Wheatstone proporzionale all'accelerazione. Accelerometro piezoresistivo L'accelerometro a ponte piezoresistivo è una variante dell'accelerometro a ponte estensimetrico, dove al posto degli estensimetri sono utilizzati sensori piezoresistivi. Questi sensori si comportano in modo analogo agli estensimetri, ma permettono allungamenti e sensibilità superiori, pur avendo qualche problema di stabilità con la variazione di temperatura. Spesso, in questi strumenti la massa viene sospesa su una membrana plastica, sulla quale sono stati attaccati gli elementi piezoresistivi. Accelerometro LVDT L'accelerometro LVDT sfrutta, come principio per la rilevazione dello spostamento della massa, un sensore LVDT (Linear Variable Differential Transformer) integrato nella struttura dell'accelerometro stesso. In questi dispositivi, la massa stessa costituisce il nucleo ferromagnetico del sensore LVDT, e scorre (sospesa su molle o altri elementi elastici) all'interno di un canale, attorno al quale sono avvolte le bobine destinate alla rilevazione della posizione della massa. Un apposito circuito rileva la posizione del nucleo rispetto alle bobine e genera un segnale elettrico proporzionale allo spostamento rispetto alla posizione di riposo. Accelerometro capacitivo L'accelerometro capacitivo sfrutta, come principio per la rilevazione dello spostamento della massa, la variazione della capacità elettrica di un condensatore al variare della distanza tra le sue armature. In questi accelerometri, la massa (realizzata con materiale conduttivo) costituisce un'armatura, mentre l'altra è realizzata sulla struttura fissa del dispositivo, nell'immediata prossimità della massa. La massa viene sospesa su un elemento elastico relativamente rigido (tipicamente una membrana). Un apposito circuito rileva la capacità del condensatore così realizzato e genera un segnale elettrico proporzionale alla posizione della massa. Corso di Laurea in Ingegneria Elettronica 9

20 Accelerometro piezoelettrico L'accelerometro piezoelettrico sfrutta, come principio per la rilevazione dello spostamento della massa, il segnale elettrico generato da un cristallo piezoelettrico quando è sottoposto ad una compressione. In questi accelerometri la massa viene sospesa sul cristallo piezoelettrico, che, in questo caso, costituisce sia il sensore, che l'elemento elastico. In presenza di un'accelerazione la massa (che presenta una certa inerzia) comprime il cristallo, il quale genera un segnale elettrico proporzionale alla compressione. Visto che l'elemento elastico è un cristallo, le caratteristiche di questi dispositivi sono peculiari: - presentano una sensibilità relativamente bassa; - possono rilevare accelerazioni elevatissime senza danneggiarsi (anche 1000 g); - non possono rilevare accelerazioni statiche. Una considerazione di particolare rilievo sta nel fatto che i cristalli generalmente impiegati nella costruzione dell'elemento elastico hanno un elevatissimo valore della costante elastica, il che ha una profonda influenza sull'equazione differenziale che governa il fenomeno vibratorio che coinvolge il sistema strumento. L'ultima caratteristica è da rimarcare: come detto, il cristallo genera un segnale elettrico proporzionale alla compressione, ma se la compressione sul cristallo permane, il segnale generato tende a dissiparsi dopo un breve periodo. In conseguenza di questo fenomeno, detto leakage, questi accelerometri non sono in grado di rilevare un'accelerazione quasistatica: dopo qualche secondo dall'applicazione di una tale accelerazione, il segnale prima si "congela" e poi si dissipa, e in uscita non sarà presente alcun segnale. Ciò è dovuto all'elevata resistenza dell'accelerometro o, eventualmente, anche ad una errata impostazione della frequenza limite inferiore sul preamplificatore. Questi accelerometri trovano impiego in applicazioni dove si deve rilevare accelerazioni dinamiche come quelle che si generano nelle vibrazioni e nei shock meccanici. Accelerometro laser L'accelerometro laser è un tipo particolare d'accelerometro, usato quando è necessario effettuare misure estremamente precise, non ottenibili con altri tipi di strumenti. Il principio di funzionamento è concettualmente differente rispetto a quelli sopra esposti, e si basa sul principio fisico che l'accelerazione è una derivata della velocità nel tempo. Corso di Laurea in Ingegneria Elettronica 10

21 In questo dispositivo un interferometro laser misura istante per istante lo spostamento dell'oggetto in moto, un computer ad esso collegato effettua la derivata seconda rispetto al tempo, ottenendo così direttamente il valore d'accelerazione. I problemi di questi dispositivi è che sono costosi, piuttosto ingombranti, richiedono che l'interferometro sia montato a terra (o su un luogo da considerarsi fisso) e il laser deve essere costantemente puntato verso l'oggetto in moto. Gravitometro Il gravitometro è un tipo particolare d'accelerometro realizzato appositamente per misurare l'accelerazione di gravità. Secondo il principio d'equivalenza della relatività generale, gli effetti della gravità e dell'accelerazione sono gli stessi, perciò un accelerometro non può fare distinzione tra le due cause. Come gravitometri si possono usare delle versioni migliorate di accelerometri per misure statiche, in cui sono state particolarmente curate le caratteristiche di sensibilità, di precisione e di stabilità. Infatti, in questa applicazione, necessita rilevare variazioni d'accelerazione estremamente ridotte. Dove, a fini scientifici, è necessario effettuare misure estremamente precise, si ricorre ad uno strumento che lavora con lo stesso principio dell'accelerometro laser: in questo caso, si rileva l'accelerazione della caduta di un grave in una camera sottovuoto, usando un interferometro laser per misurare lo spostamento, e un orologio atomico per misurare il tempo di caduta. La rilevazione dell'accelerazione gravitazionale, oltre ad avere interesse in campo scientifico (specie in fisica e in geologia), è una pratica dell'industria estrattiva (specie per la ricerca di giacimenti petroliferi) Banda passante Gli accelerometri possono essere divisi in due grandi categorie: - per misure di accelerazione statica; - per misure di accelerazione dinamica. Alla prima categoria appartengono gli strumenti che presentano una banda passante con una caratteristica passa basso, mentre alla seconda appartengono gli strumenti che presentano una caratteristica passa banda. Gli accelerometri per misure di accelerazione statica sono in grado di rilevare dalle accelerazioni continue e statiche (grandezza d'ingresso con frequenza a 0 Hz) fino ad Corso di Laurea in Ingegneria Elettronica 11

22 accelerazioni che variano con frequenze basse (normalmente fino a 500 Hz). Questa caratteristica è tipica degli accelerometri realizzati con il principio estensimetrico, LVDT o capacitivi. Esempi d'applicazione per questi strumenti sono misure d'accelerazione gravitazionale, d'accelerazione centrifuga, di un veicolo in movimento, nella guida inerziale. Gli accelerometri per misure di accelerazione dinamica sono dei dispositivi che non sono in grado di rilevare accelerazioni statiche (ad esempio l'accelerazione gravitazionale), ma sono in grado di rilevare le accelerazioni che variano nel tempo, ad esempio quelle generate da oggetti che vibrano o quelle che si generano negli urti. La banda passante di questi strumenti può andare da qualche Hz a 50 khz. Tipici accelerometri di questo tipo sono quelli realizzati con tecnologia piezoelettrica Condizionatori di segnale integrati Il progresso della miniaturizzazione elettronica, ha permesso di integrare all'interno del contenitore di diversi accelerometri i relativi condizionatori di segnale. Questi circuiti possono servire ad alimentare correttamente i sensori, oppure ad amplificare, filtrare e linearizzare il segnale d'uscita. L'integrazione di questi circuiti ha semplificato l'uso degli accelerometri, che possono essere efficacemente usati in una più vasta gamma di applicazioni in modo semplice ed economico Utilizzo degli accelerometri nella vita quotidiana Se fino a pochi anni fa gli accelerometri erano destinati ad usi scientifici, militari o civili "speciali", oggi con l'evoluzione dell'elettronica, la riduzione dei costi e lo sviluppo delle applicazioni, gli accelerometri vengono utilizzati sempre più su oggetti d'uso comune. Alcuni accelerometri miniaturizzati (utilizzati come inclinometri) si ritrovano in apparecchi portatili allo scopo di ruotare automaticamente l'orientamento della visualizzazione sul display (da portrait a landscape), a seconda se il device è posto in orizzontale o verticale. La medesima tecnologia è a bordo dei gamepad di alcune console giochi, permettendo, con la sola inclinazione dei medesimi, di comandare lo svolgimento dei giochi. Esempio, nella piattaforma Wii della Nintendo, l'uso di accelerometri nei telecomandi, permette un'interattività molto superiore alla concorrenza. Corso di Laurea in Ingegneria Elettronica 12

23 Un'altra applicazione sempre più comune, è quella utilizzata per la rilevazione dell'accelerazione laterale nei veicoli, allo scopo di controllare le sbandate azionando opportunamente il sistema di frenatura Accelerometro MMA7260Q Terminata la parte di descrizione generale dell accelerometro, qui di seguito sono descritte le scelte compiute per decidere quale integrato utilizzare in modo da rispettare le specifiche. Inizialmente si era pensato di utilizzare l accelerometro della Freescale Semiconductor MMA7360L il quale è in grado di acquisire le accelerazioni sui tre assi, ha un basso consumo di corrente ed è molto piccolo. Guardando le immagini sul datasheet si ci è però accorti che il componente risultava privo di piedini e di conseguenza il montaggio sulla scheda sarebbe stato molto complicato. Figura Vista dal basso dell accelerometro MMA7360L Abbandonata questa strada, si è cercato su diversi siti web di componenti elettronici, quale integrato potesse sostituire quello precedentemente eliminato; dopo averne scartati alcuni si è deciso di scegliere l MMA7260Q sempre della Freescale Semiconductor. Si è optato per questo perché le caratteristiche sono pressoché le stesse e in più c è il vantaggio che il chip presenta contatti metallici non solo nella parte bassa ma, in minima parte, anche sul lato. Figura Vista dal basso dell accelerometro MMA7260Q Corso di Laurea in Ingegneria Elettronica 13

24 Le principali caratteristiche di questo accelerometro sono: la capacità di misurare l accelerazione sui 3 assi restituendo un valore analogico per ognuno di essi, il basso consumo, l elevata sensibilità con il range selezionabile (+/- 1.5, 2, 4 e 6g), la versatilità e il basso costo. L accelerometro della Freescale è un circuito integrato con superfici micro lavorate. Esso è costituito da due superfici capacitive sensibili micro lavorate (g-cell) e un segnale di condizionamento ASIC (Application Specific Integrated Circuit), il tutto contenuto in un singolo package. Le g-cell è una struttura meccanica formata da materiali semiconduttori (polysilicio). È possibile immaginarla come due pareti fisse e al centro una parete mobile la quale è in grado di muoversi tra le due pareti fisse. Il movimento della parete mobile rispetto alla condizione iniziale sottopone il sistema ad una accelerazione Figura Principio di funzionamento dell accelerometro Quando la parete centrale si muove, per esempio verso sinistra, la distanza tra essa e la parete di destra aumenta in modo proporzionale alla diminuzione della distanza tra la parete centrale e la parete fissa di sinistra, il cambiamento della distanza è la misura dell accelerazione. Le pareti della g-cell formano due capacità; quando la parete centrale si muove, la distanza tra le pareti cambia e di conseguenze cambia anche il valore di capacità. Tale valore è dato da C = A ε / D dove A è l area delle pareti, ε è la costante dielettrica, e D è la distanza tra le armature. L ASIC utilizza una tecnica a condensatori per misurate la capacità della g-cell ed estrarre i valori delle accelerazioni tra le due capacità. L ASIC esegue anche il condizionamento e il filtraggio del segnale, fornendo un livello di tensione proporzionale all accelerazione Corso di Laurea in Ingegneria Elettronica 14

25 g-select Il g-select permette di selezionare il tipo di sensibilità del dispositivo. In base ai valori posti sui piedini 1 e 2 dell accelerometro, si seleziona uno dei quattro possibili valori. Questa funzione è ideale quando un prodotto ha applicazioni che richiedono sensibilità diverse. La sensibilità può essere modificata in qualsiasi momento Figura Tabella delle sensibilità Sleep Mode L accelerometro fornisce lo Sleep Mode che è l ideale per prodotti a batteria. Quando lo Sleep Mode è attivo, cioè il piedino 12 è posto a livello logico basso, le uscite del dispositivo sono spente, ciò determina una riduzione della corrente dai 500µA ai 3µA. Filtering L accelerometro possiede un polo il quale da origine ad un filtro passa basso, grazie a ciò, non necessita di componenti esterni passivi per impostare la frequenza di taglio Figura Schema a blocchi dell accelerometro Corso di Laurea in Ingegneria Elettronica 15

26 Figura Accelerazione dinamica Figura Accelerazione statica Corso di Laurea in Ingegneria Elettronica 16

27 0g =1,65 V VDD = 3,3 V sensibilità 1g 2g 3g 4g 5g 1,5g 0,8V/g 2,45 V 3,25 V 2g 0,6V/g 2,25 V 2,85 V 4g 0,3V/g 1,95 V 2,25 V 2,55 V 2,85 V 6g 0,2V/g 1,85 V 2,05 V 2,25 V 2,45 V 2,65 V Tabella 2.1 Intervalli di sensibilità 2.2 Memoria ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA Figura 2.9 Diagramma a blocchi della scheda, memoria Dopo aver scelto l accelerometro, è stato deciso di valutare che tipo di memoria utilizzare. Lo scopo della memoria è quello di salvare i valori delle accelerazioni dopo essere stati in un primo momento convertiti e successivamente codificati. Per fare ciò sarà necessaria una memoria di massa che consenta la memorizzazione in modo permanente dei dati (una volta spenta la scheda i dati non vengono persi). Un altro aspetto che si è preso in considerazione è stato quello delle dimensioni infatti si è cercata una memoria sufficientemente piccola in modo da non occupare troppa superficie. In un primo momento si era pensato di utilizzare una memoria flash ma questa idea è stata quasi subito abbandonata principalmente per due motivi: il primo è dovuto al fatto che questi tipi di memorie non hanno grosse capacità di immagazzinamento e quindi in Corso di Laurea in Ingegneria Elettronica 17

28 un applicazione come la nostra, dove il numero di dati può essere molto ampio, non sono molto adatte, il secondo è una diretta conseguenza del primo, cioè per avere alte capacità di memorizzazione sono necessarie memorie più capienti e quindi il costo aumenta notevolmente. Scartata questa possibilità, è stata fatta una ricerca sulle flash memory, le quali si sono rilevate molto adatte alle nostre specifiche. Alcune note positive sono le seguenti: - non volatile, non richiede alimentazione elettrica per mantenere i dati - assenza di parti mobili quindi piuttosto resistenti a sollecitazioni e urti - estremamente leggera - si presenta in formato memory card quindi di dimensioni ridotte Un ulteriore punto a favore di questo tipo di memoria è stata la curiosità perché prima d ora in laboratorio non era mai stata utilizzata una memoria di questo tipo. Qui di seguito è stata fatta una breve descrizione delle memory card la quale descrive le potenzialità di questi dispositivi Memory card Una scheda di memoria (in inglese memory card, termine che si usa talvolta anche in italiano), è un dispositivo elettronico portatile di ridotte dimensioni in grado di immagazzinare dati in forma digitale e di mantenerli in memoria anche in assenza di alimentazione elettrica. A tale scopo utilizza una memoria flash (memoria non volatile) contenuta al suo interno. Attualmente esistono modelli di varie dimensioni, capacità e caratteristiche tecniche, le più capienti per ora raggiungono 64 GB (CompactFlash), ma non sono ancora molto diffuse per via del prezzo; modelli da 2 GB o 4 GB sono invece di uso molto comune. La veloce diffusione e l'elevato numero di produttori e gli interessi commerciali ad essi legati, hanno fatto si che non si sia ancora giunti ad uno standard per questi dispositivi di archiviazione portatili. Esistono molti tipi diversi di schede di memoria, differenti per dimensione, forma e interfaccia Secure Digital Le Secure Digital (chiamate più brevemente SD) sono il più diffuso formato di schede di memoria. Esse hanno capacità molto elevate, seconde solo alle CompactFlash; attualmente Corso di Laurea in Ingegneria Elettronica 18

29 raggiungono una capacità di 32 GB. Molti Notebook sono già equipaggiati con lettori appositi che consentono l'utilizzo di queste schede di memoria. Esistono tre formati: le SD che hanno dimensioni (32 x 24 x 2,1 mm), le mini-sd (21,5 x 20 x 1,4 mm), e infine un altro tipo, chiamato microsd di dimensioni ancora più contenute (11 x 15 x 1 mm). Sia le microsd che le minisd possono essere utilizzate con lettori di SD mediante semplici adattatori. Le SD sono molto resistenti agli urti (2000 g, contro i g di un comune hard disk). Le SD utilizzano contatti superficiali anziché connettori maschio-femmina, fatto che ne aumenta ulteriormente la robustezza. La capacità massima attuale delle SD è di 32 GB; per le minisd il limite è di 4 GB e per le microsd di 16 GB Figura 2.10 Dall'alto in basso i tre formati in uso per le schede Secure Digital: SD, mini SD, micro SD Analizzate le caratteristiche tecniche delle memory card, la scelta si è indirizzata sull utilizzo del formato microsd che oltre ad avere alta capacita di immagazzinamento dati, facilità nell attività di downloading dei dati memorizzati, è di ridotte dimensioni. Corso di Laurea in Ingegneria Elettronica 19

30 2.3 - Microcontrollore ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA Figura 2.11 Diagramma a blocchi della scheda, microcontrollore Dopo aver scelto l accelerometro e la memoria, il passo successivo è stato quello di trovare un microcontrollore che rispetti le specifiche. Le caratteristiche principali che deve possedere sono: - tre ingressi analogici per la connessione con gli assi x, y e z dell accelerometro - un convertitore analogico digitale - la connessione per un oscillatore che scandisca il tempo con cui si converte - la connessione SPI per collegare il microcontrollore alla memoria SD - la presenza di una presa seriale e di una per riprogrammare il microcontrollore - un buon numero di ingressi e uscite per collegare eventuali altri componenti Per fare in modo di rispettare tutte queste caratteristiche è stato deciso di utilizzare un PIC della Microchip. Nel successivo sottoparagrafo, come nel caso dell accelerometro, è presente una descrizione abbastanza generale delle caratteristiche sia funzionali che architetturali di un microcontrollore PIC Descrizione generale Un microcontrollore è un sistema a microprocessore completo, integrato in un solo chip, progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto Corso di Laurea in Ingegneria Elettronica 20

31 prezzo-prestazioni per una specifica applicazione, a differenza, ad esempio, dei microprocessori impiegati nei personal computer, adatti per un uso più generale. I microcontrollori sono la forma più diffusa e più invisibile di computer. Comprendono la CPU, un certo quantitativo di memoria RAM e memoria ROM (può essere PROM, EPROM, EEPROM o FlashROM) e una serie di interfacce di I/O (input/output) standard, fra cui molto spesso bus (I²C,SPI,CAN,LIN). Le periferiche integrate sono la vera forza di questi dispositivi: si possono avere convertitori ADC e convertitori DAC multicanale, timer/counters, USART, numerose porte esterne bidirezionali bufferizzate, comparatori, PWM. Sono contenuti nella quasi totalità di apparecchi ed elettrodomestici. Qui di seguito è riportata l architettura di un microcontrollore PIC. Figura 2.12 Architettura interna di un generico microcontrollore La loro capacità di calcolo è molto limitata e di solito eseguono lo stesso programma (firmware) per tutta la durata del loro funzionamento. I PIC sono una famiglia di circuiti integrati a semiconduttore con funzioni di microcontrollore. Microchip technology non usa il termine PIC come un acronimo; il suo nome aziendale è: "PICmicro". Anche se generalmente sta per "Peripheral Interface Controller", originariamente la "General Instrument" usava l'acronimo per Programmable Intelligent Computer". Originariamente sviluppato nel 1975 è in grado di svolgere un set di istruzioni ridotto (RISC). Il PIC16f84 è un microcontrollore ad 8 bit e ha a disposizione Corso di Laurea in Ingegneria Elettronica 21

32 una trentina di istruzioni. Tutti i registri sono di 8 bit e la memoria è organizzata in byte. L'esecuzione delle istruzioni è scandita da un segnale di clock, cioè un'onda quadra a frequenza costante Periferiche PIC Porte: costituiscono le periferiche di base per le comunicazioni da e verso l'esterno. Possono essere configurate come ingressi o uscite digitali. Memoria: Permette di conservare dati anche in assenza di alimentazione e contiene il codice programma, è di tipo FLASH! ADC: ad alcune porte del PIC è possibile applicare un ingresso analogico e quantizzarlo con una risoluzione tipica di 10bit. Timer: sono presenti sempre e vengono utilizzati spesso per generare ritardi finiti o per la misurazione d'intervalli di tempo (ad esempio eventi esterni). PWM: permette, utilizzando un Timer di generare un segnale di comando PWM. Comunicazioni: consente l'interfacciamento attraverso protocolli standard (I2C, UART, CAN,... ) con altri dispositivi. Per poter utilizzare le periferiche sono presenti dei registri che servono a configurarle. Si tratta di locazioni di memoria di 1byte in cui ad ogni bit è associato un significato specifico. Ogni registro ha un nome riservato e l'elenco dei registri con la loro funzione è presente dei data-sheet. Ad esempio: Ogni pin di una porta può essere configurato come ingresso o uscita attraverso il registro TRISx. Mentre il valore presente o inviato alla porta è scritto nel registro PORTx. Il Timer è un particolare registro chiamato TMR0 il cui contenuto viene incrementato con cadenza regolare e programmabile direttamente dall'hardware del PIC. Il registro TMR0 può essere impostato ad un valore qualsiasi, compreso tra 0 e 255, dopodichè sarà incrementato automaticamente dal controllore con una frequenza basata sul clock del microcontrollore. Al raggiungimento di 255 ( ) il timer riparte da zero. Attraverso il registro OPTION è possibile impostare il numero di cicli di clock necessari all'incremento di una unità del timer. Questo divisore viene definito PRESCALER. Corso di Laurea in Ingegneria Elettronica 22

33 PIC 18LF2620 Elencate le caratteristiche principali di un generico PIC, si è passato alla ricerca del microcontrollore più opportuno. Inizialmente era stato deciso di utilizzare il PIC16F876 ma leggendo diversi forum su Internet si ci è accorti che tale µc, ma più in generale tutta la famiglia dei PIC16, non supporta le librerie per la scrittura su SD in FAT16. Successivamente si è pensato di servirsi del PIC18F2455 ma si è riscontrato un problema di conflittualità, cioè sul piedino 18 erano presenti sia i collegamenti per la memoria SD sia quelli per la seriale e quindi per evitare di complicare troppo il codice abbiamo preferito non utilizzare questo controllore. Figura 2.13 Piedinatura microcontrollore PIC18F2455 Dopo aver controllato il sito della Microchip è stato deciso di utilizzare il PIC18F2620 il quale ci è sembrato il più adatto alle nostre esigenze. Figura 2.14 Piedinatura microcontrollore PIC18F2620 Corso di Laurea in Ingegneria Elettronica 23

34 Esso infatti possiede tutte le caratteristiche elencate a inizio paragrafo cioè: - AN0, AN1 e AN2 sono gli ingressi analogici da collegare all accelerometro - OSC1 e OSC2 permettono la connessione con l oscillatore Figura 2.15 Diagramma a blocchi PIC18F2620 Corso di Laurea in Ingegneria Elettronica 24

35 - SDI, SDO e SCK consentono l utilizzo dell SPI, infatti questo PIC possiede una interfaccia seriale utilizzata per la comunicazione con periferiche o altri microcontrollori. Questa interfaccia in realtà può operare in due modi: come SPI oppure come I 2 C (full master, slave master) - al suo interno, come si può osservare nel immagine, è presente un convertitore a 10 bit (cerchiato in rosso) Attraverso l utilizzo dei piedini VREF+ e VREF- è possibile selezionare il range di tensioni entro cui avviene la conversione. Nel nostro caso, affinché questo range sia compreso tra 0V e 3,3V, è sufficiente configurare a dovere un particolare registro senza quindi effettuare dei collegamenti elettrici. - TX e RX sono gli ingressi per la seriale, più precisamente è chiamata EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter). Essa può essere configurata come : o full-duplex asincrona cioè che può comunicare con i dispositivi periferici, come terminali CRT oppure personal computers o half-duplex sincrona cioè che può comunicare con dispositivi periferici come circuiti integrati di conversione A/D o D/A, EEPROMs seriali, etc - PGC, PGD e MCLR permettono la connessione per la programmazione del PIC - sono presenti un buon numero di ingressi momentaneamente inutilizzati che potrebbero servire per aggiungere ulteriori componenti Elencati i motivi per cui si è deciso di utilizzare questo PIC è stato deciso di illustrarne le caratteristiche. Questa famiglia di dispositivi offre i vantaggi di tutti i microcontrollori PIC18, cioè: alte capacità computazionali a basso costo, con l aggiunta di alta resistenza e aumento delle dimensioni della memoria programma di tipo Flash. Ulteriormente a queste caratteristiche tale famiglia di PIC introduce dei miglioramenti che rendono questi microcontrollori una scelta logica per molte applicazioni che richiedono alte prestazioni e bassa potenza. Per semplificare il circuito si è deciso di utilizzare il microcontrollore a basso voltaggio denominato LF in modo da poterlo alimentare ad una tensione di 3,3V come tutti gli altri componenti, evitando ulteriori circuiti di amplificazione dell alimentazione. Corso di Laurea in Ingegneria Elettronica 25

36 2.4 - Oscillatore al quarzo ACCELEROMETR BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA Figura 2.16 Diagramma a blocchi della scheda, clock Il microcontrollore per funzionare correttamente oltre che l alimentazione necessita di un input che scandisca nel tempo le operazione da svolgere (clock). In generale i PIC dispongono di un oscillatore interno però nella maggior parte dei casi viene introdotto un oscillatore esterno in modo da evitare di ridurre le potenzialità del µc. Controllando sul datasheet, il PIC adoperato permette di lavorare in 10 differenti modi di oscillazione tra cui quella attraverso l utilizzo di un oscillatore esterno. Per permettere una buon clock è stato deciso di utilizzare un oscillatore al quarzo da 20MHz. Nei sottoparagrafi successivi è presente una descrizione abbastanza generale sulle caratteristiche principali, gli utilizzi e i tipi di oscillatori facendo un po più di attenzione all oscillatore al quarzo Descrizione generale Si definisce oscillatore un circuito in grado di generare una forma d'onda qualsiasi, senza alcun segnale applicato in ingresso. La forma d'onda generata ha una certa ampiezza VM, che si misura in Volt (V), una certa frequenza f, che si misura in Hertz (Hz), e un certo periodo T, che si misura in secondi (s). Ricordiamo che tra frequenza e periodo sussiste la seguente relazione: Ovvero la frequenza è l'inverso del periodo. 1 Corso di Laurea in Ingegneria Elettronica 26

37 Un generatore si dice: - Sinusoidale se genera una forma d'onda di tipo sinusoidale. - Triangolare se genera una forma d'onda di tipo triangolare. - A onda quadra se genera una forma d'onda quadra o rettangolare. - A frequenza audio se genera una forma d'onda udibile dall'orecchio umano, e cioè ad una frequenza compresa tra i 20Hz e i 20Khz. - A radio frequenza se genera frequenze superiori a 20 khz Utilizzi Prima di addentrarci nel funzionamento e nelle caratteristiche degli oscillatori al quarzo, si definiscono in quali campi e in quali applicazioni vengono utilizzati gli oscillatori, sia questi al quarzo, sia di altra natura. Gli oscillatori sono impiegati per produrre segnali a frequenze audio o radio, per una grande varietà di applicazioni. Ad esempio, semplici oscillatori a frequenze audio sono usati nei moderni telefoni a tastiera per inviare alla centrale i segnali di selezione. Toni audio generati con oscillatori si trovano anche in sveglie, radio, strumenti elettronici, computer e sistemi di allarme. Oscillatori ad alta frequenza sono usati negli apparati per le funzioni di sintonizzazione e ricerca di segnali. Nell ambito delle telecomunicazioni gli oscillatori vengono utilizzati in tutte le operazioni di modulazione e demodulazione. Vengono inoltre molto utilizzati nell ambito dell elettronica digitale, specialmente nei sistemi a microprocessore. In questi, infatti, il circuito di temporizzazzione è basato su un clock, che altro non è che un oscillatore al quarzo. Sempre nell ambito dell elettronica gli oscillatori vengono utilizzati come generatori di funzioni o come segnale di clock per circuiterie di test Tipi di oscillatori Alcuni oscillatori, che sono detti "a rilassamento", si basano sul principio di carica e scarica ciclica di un condensatore. Quando un condensatore è attraversato da una tensione comincia a caricarsi; quando questa tensione non gli viene più applicata, comincerà invece a perdere la carica accumulata. Applicando alternativamente una tensione ai capi del condensatore, questo comincerà quindi a produrre un segnale sinusoidale. Questo tipo di oscillatore non è però molto utilizzato, al contrario di un altro tipo di oscillatore basato su amplificatori operazionali. Corso di Laurea in Ingegneria Elettronica 27

38 Fondamentale infatti, nella maggior parte degli oscillatori che non si basano sul principio descritto in precedenza, vi è la presenza di un amplificatore di tensione con una reazione positiva. Questo termine significa che il circuito è progettato in modo tale che parte del segnale di uscita venga riportato in ingresso all amplificatore, però in fase, in modo tale che il segnale, anche se piccolo, venga amplificato e lo si ritrovi in uscita con ampiezza maggiore; si dice così che l'amplificatore oscilla, cioè genera una oscillazione Oscillatore al quarzo Certi cristalli producono cariche di segno opposto quando si esercita uno sforzo tra due superfici; viceversa, si deformano quando si applica ad essi una tensione mediante due elettrodi. Questo fenomeno è chiamato effetto piezoelettrico. In altri termini, questo fenomeno consiste nel fatto che tali cristalli subiscono deformazioni meccaniche se sottoposti ad un campo elettrico e, viceversa, generano un campo elettrico se sottoposti a deformazioni meccaniche. Questi cristalli vengono appunto chiamati piezoelettrici (piezoelectric crystals). Il più comune tra questi è il quarzo, ma anche altri elementi naturali, come la formalina e il sale di Rochelle, o artificiali, come alcune ceramiche, godono di tali proprietà.. Essi vengono comunemente impiegati come trasduttori da un segnale meccanico ad uno elettrico o viceversa, oppure anche come sensori di grandezze meccaniche. Perché di un cristallo piezoelettrico si possa sfruttarne le caratteristiche, questo deve essere tagliato in lamine parallele a determinati assi cristallografici e inserito fra due elettrodi. Il tutto costituisce un sistema elettromeccanico che vibra se opportunamente eccitato. Per ottenere un oscillatore al quarzo realmente funzionante, occorre inserire il cristallo in un circuito reazionato positivamente, in modo da farlo risonare nella sua zona induttiva. Poiché il fattore di qualità Q del quarzo, cioè il rapporto fra la sua parte reattiva rispetto a quella resistiva è dell'ordine di 10 6, la frequenza di oscillazione del circuito coinciderà con quella di risonanza del quarzo stesso, in modo quasi indipendente dalle altre reattanze presenti nel circuito. Gli oscillatori a cristallo vengono molto utilizzati in ambiti di elevata precisione, in quanto le loro caratteristiche sono estremamente stabili sia rispetto al tempo che alla temperatura. Corso di Laurea in Ingegneria Elettronica 28

39 2.5 - Interfaccia seriale ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA Figura 2.16 Diagramma a blocchi della scheda, connettore seriale e per programmatore Una delle specifiche da soddisfare era la presenza di un connettore seriale e di uno per riprogrammare il PIC. Per quanto riguarda l interfaccia seriale, sul datasheet del µc, sono presenti alcune informazioni molto utili, come per esempio, la possibilità di configurare la seriale (USART) in due modi: asincrona (il trasmettitore e il ricevente si sincronizzano usando i dati stessi) e sincrona (la sequenza di bit è trasmessa su di un singolo filo sincronizzati con un segnale periodico, detto clock, trasmesso con un altro filo). I pin della USART si trovano sul PORTC e sono il 18 (RX) e il 17 (TX). Attraverso questa connessione è possibile interfacciare il microcontrollore con il PC e quindi ottenere un menu seriale in cui si potranno effettuare delle scelte riguardanti l acquisizione. In realtà, per collegare la schedina al PC è necessario un particolare componente con funzioni di interfaccia, questo dispositivo è il MAX232 il quale permette di adattare la tensione della scheda a quella necessaria per la connessione con il PC. Per consentire la comunicazione si utilizza uno standard EIA chiamato RS232. Per evitare di occupare ulteriore spazio sulla scheda è stato scelto di costruire un mini circuito contenente il MAX232 e il connettore per la trasmissione RS232, il quale possa essere collegato alla scheda qualora sia necessario comunicare con il PC Corso di Laurea in Ingegneria Elettronica 29

40 2.6 Interfaccia microcontrollore Come detto nel paragrafo precedente, è necessario inserire un connettore per il programmatore; questo permette di trasmettere il codice, sviluppato sul PC, all interno del microcontrollore. Il vantaggio di utilizzare un connettore di questo tipo è senz altro la possibilità di riprogrammare il PIC in un qualsiasi momento senza dover modificare circuitalmente la scheda Regolatore di tensione ACCELEROMETRO BATTERIA GESTIONE ALIMENTAZIONE MULTIPLEXER DIGITALE CONVERTITORE A/D ELABORAZIONE DIGITALE µc CLOCK INTERFACCIA SERIALE INTERFACCIA MICROCONTROLLORE MEMORIA Figura 2.17 Diagramma a blocchi della scheda, regolatore di tensione Per quanto riguarda l alimentazione si è cercato di utilizzare tutti componenti che potessero essere alimentati alla stessa tensione, in modo così da ridurre le dimensioni della scheda evitando più circuiti di amplificazione. Il vincolo maggiore è stato dettat dall accelerometro perché è in grado di lavorare ad una tensione tipica di 3,3V, per cui abbiamo cercato di trovare dei componenti che fossero tutti in grado di lavorare a quella tensione. Per quanto riguarda il connettore per la microsd non ci sono stati grossi problemi perché anch essa ha bisogno di una tensione di alimentazione pari a 3,3V; per quanto concerne invece il PIC è stata utilizzata la versione low-voltage chiamata LF che è in grado di lavorare in un range di tensioni comprese tra 2,0V e 5,5V. Corso di Laurea in Ingegneria Elettronica 30

41 Una volta trovati tutti i componenti con quella caratteristica la fase successiva è stata quella di decidere il tipo di batteria da utilizzare. Siccome non esistono in commercio pile da 3,3V è stato necessario stabilire se servirsi di una pila più grande, e quindi poi ridurre la tensione, oppure utilizzare una pila sotto i 3,3V per poi amplificarla. Tenendo presente la specifica relativa alle dimensioni, si è deciso di utilizzare una pila inferiore ai 3,3V in modo da ridurre la superficie occupata. Fatta questa scelta il problema è stato decidere il formato di pila; in un primo momento si era optato per una pila a bottone; a causa però, della difficoltà di ricaricare questi tipi di pile, e delle forma rotonda difficile da posizionare questa ipotesi è stata abbandonata. L idea successiva è stata quella di utilizzare una mini stilo perché ci è sembrato il compromesso migliore tra tensione e dimensioni. A questo punto, scelta la batteria, è stato necessario realizzare un circuito che fosse in grado di portare la tensione di partenza da 1,5V a 3,3V. Per fare ciò è stato sufficiente utilizzare un componente della Maxim il quale consente di alzare una tensione di ingresso superiore ai 0,8V, fino ad un valore di 3,3V o di 5V a seconda dell uscita utilizzata Pulsante e Led RGB Gli ultimi due componenti da scegliere sono il pulsante e il led. Il compito principale del pulsante è quello di selezionare ciò che deve fare la scheda cioè, in base alla durata della pressione, viene avviata una funzione differente. Il led RGB invece si illumina di un colore differente a seconda della durata di pressione del pulsante così da facilitare l utilizzo della scheda Connessioni hardware Dopo aver scelto tutti i componenti si è passati alla fase di disegno del circuito. Per facilitare questa fase è stato prima fatto un disegno a blocchi considerando tutti i componenti descritti in precedenza. Corso di Laurea in Ingegneria Elettronica 31

42 Qui di seguito è riportato l elenco di tutti i componenti necessari per realizzare la scheda - Accelerometro MMA7260Q - Microcontrollore PIC18LF Memory card microsd - Oscillatore al quarzo - Connettore seriale - Connettore per programmatore - Regolatore di tensione MAX856 - Pulsante - Led RGB SERIALE PROGRAMMATORE MMA 7260Q QUARZO 20MHz PIC18LF2620 PULSANTE LED RGB CONNETTORE µsd MAX856 Figura 2.17 Rappresentazione di tutti i componenti presenti nella scheda Connessione microcontrollore accelerometro Per costruire lo schema elettrico si è deciso di partire dall accelerometro. All interno del datasheet dell MMA7260Q sono presenti tutte le informazioni necessarie all interfacciamento con il microcontrollore; qui di seguito sono riportati diversi schemi che sono stati utilizzati per la realizzazione del circuito. Corso di Laurea in Ingegneria Elettronica 32

43 Figura Piedinatura dell accelerometro MMA7260Q Figura Accelerometro con connessioni raccomandate Corso di Laurea in Ingegneria Elettronica 33

44 Figura Interfacciamento tra accelerometro e microcontrollore Sempre sul datasheet sono riportate alcune note da rispettare, le quali consentono un corretto funzionamento del dispositivo: - utilizzare un condensatore da 0.1µF su VDD per disaccoppiare la sorgente - la distanza tra l accelerometro e il microcontrollore deve essere minima - utilizzare un filtro RC con 1.0kΩ e 0. 1µF sulle uscite x, y, z dell accelerometro per ridurre il rumore di clock Riassumendo, i collegamenti che sono stati fatti tra l accelerometro e il microcontrollore sono : Accelerometro Microcontrollore Pin Funzione Pin funzione 1 g-select1 6 RA4 2 g-select2 7 RA5 12 SleepMode 5 RA3 13 ZOUT 4 AN2 14 YOUT 3 AN1 15 XOUT 2 AN0 Tabella 2.2 Connessioni tra accelerometro e microcontrollore Corso di Laurea in Ingegneria Elettronica 34

45 Connessione microcontrollore - connettore microsd A questo punto, dopo aver collegato l accelerometro al PIC, si è passati alla connessione tra quest ultimo e la microsd. Qui di seguito è riporta la piedinatura del connettore microsd scelto Figura Piedinatura connettore scheda microsd Le connessioni tra la microsd e il PIC sono tratte dal sito mikroe. Figura Interfacciamento tra connettore microsd e microcontrollore Corso di Laurea in Ingegneria Elettronica 35

46 Connettore microsd Microcontrollore pin funzione pin funzione 1 DATA2 N.C. 2 CD/DATA3 13 CCP1 3 CMD 16 SDO 4 VDD 3,3V 5 CLK 14 SCK 6 VSS GND 7 DATA0 15 SDI 8 DATA1 N.C. Tabella 2.3 Connessioni tra connettore microsd e microcontrollore Connessione microcontrollore - oscillatore al quarzo Per quanto riguarda il generatore di clock si è deciso di utilizzare un quarzo da 20Mhz; controllando sul datasheet del PIC sono state trovate informazioni molto utili sia sulla configurazione circuitale dell oscillatore sia per quanto riguarda la capacità dei condensatori da inserire. Figura Configurazione per risonatore ceramico o di cristallo Corso di Laurea in Ingegneria Elettronica 36

47 Figura Valori di capacità da scegliere per oscillatori di cristallo Osservando quest ultima tabella, per un oscillatore da 20MHz si consiglia di utilizzare due condensatori da 15pF, tuttavia, come scritto nelle note del datasheet, è possibile aumentare la capacità in modo da aumentare la stabilità dell oscillatore. Oscillatore al quarzo Microcontrollore Pin Funzione Pin 1 9 OSC1 Pin 2 10 OSC2 Tabella 2.4 Connessioni tra oscillatore al quarzo e microcontrollore Connessione microcontrollore MAX856 Come già detto precedentemente questo componente consente di amplificare la tensione in ingresso generando in uscita 3,3V o 5V a seconda di quale dei due valori di tensione si vuole utilizzare Figura Piedinatura MAX856 Corso di Laurea in Ingegneria Elettronica 37

48 Figura Interfacciamento tra MAX856 e microcontrollore Connessione microcontrollore programmatore Per connetter il microcontrollore e il programmatore si è trattato solo di effettuare i giusti collegamenti tra il PIC e il connettore per il programmatore. Figura Piedinatura ICSP e immagine di un connettore reale Connettore ICSP Microcontrollore Pin Pin Funzione 1 1 MCLR 2 20 VDD 3 GND 4 28 PGD 5 27 PGC 6 N.C. Tabella 2.4 Connessioni tra connettore ICSP e microcontrollore Corso di Laurea in Ingegneria Elettronica 38

49 Per programmare il PIC è sufficiente collegare il dispositivo mostrato in figura al connettore ICSP presente sulla scheda Figura 2.27 Immagine del programmatore PICkit Connessione microcontrollore pulsante Per collegare il pulsante è sufficiente connettere uno dei due terminali ad un piedino del PIC e uno a massa, in modo che nel caso in cui sia premuto il pulsante, il PIC è collegato a massa mentre nell altro caso è collegato a 3,3V. Figura 2.28 Connessione pulsante Connessione microcontrollore led RGB Il led scelto è a anodo comune quindi è necessario collegare l anodo a 3,3V mentre su ogni catodo è essenziale una resistenza in protezione al led in modo da non bruciare il componente. Figura 2.29 Connessione led RGB Corso di Laurea in Ingegneria Elettronica 39

50 Capitolo Progettazione firmware In questo capitolo è descritta tutta la parte software del progetto, dalla scelta del linguaggio fino al firmware da caricare sul microcontrollore. Per quanto riguarda il primo punto si è deciso di utilizzare il linguaggio di programmazione C. Questa soluzione è dovuta principalmente al fatto che il linguaggio assembly, in un caso come il nostro in cui il codice da scrivere è abbastanza lungo, risulterebbe essere troppo complicato e richiederebbe moltissimo tempo per essere sviluppato; lo svantaggio nell utilizzare il C è senz altro dovuto all ottimizzazione cioè, con l assembly si riesce a sfruttare meglio l architettura del microcontrollore e quindi i tempi di esecuzione si ridurrebbero, tuttavia in un applicazione come la nostra non è un requisito fondamentale. Vengono ora analizzate nel dettaglio le operazioni che deve svolgere il software. Per prima cosa è necessario che attraverso la pressione del pulsante il sw inizi a girare; una volta avviato il programma, l accelerometro dovrà iniziare ad acquisire dati con una certa frequenza. Questa frequenza, generata attraverso il quarzo, dovrà essere modificabile attraverso la configurazione di un particolare registro, sfruttando quindi il prescaler. Mano a mano che l accelerometro invia al PIC i valori di tensione relativi allo spostamento dei tre assi, è necessario che queste tensioni siano convertite da analogico a digitale; per fare ciò si sfrutta il convertitore interno al PIC il quale permette di trasformare ogni campione in un dato digitale a 10 bit. Il passo successivo sarà quello di salvare i dati sulla memoria. Per prima cosa sarà necessario creare un nuovo file in cui salvare i valori. Ottenuto il dato in forma digitale, sarà necessario codificarlo in modo da rendere più semplice il salvataggio all interno del file precedentemente creato. Per quanto riguarda il tipo di codifica sarà spiegata più avanti all interno della funzione che la esegue. Terminata la scrittura di questa prima parte di codice in cui si ha l acquisizione, la conversione, la codifica e il salvataggio, lo step successivo sarà quello di configurare la Corso di Laurea in Ingegneria Elettronica 40

51 scheda in modo tale che e possa essere formattata così da cancellare il contenuto della memori card. Per eseguire la formattazione verrà sempre utilizzato il pulsante, ovvero in base alla durata della pressione si stabilirà se acquisire dati oppure formattare la scheda. L ultima funzionalità che si vuole implementare, è la possibilità di configurare la scheda attraverso l utilizzo della seriale. Sempre variando la durata della pressione del pulsante si potrà entrare in questa configurazione in cui si avrà l opportunità di modificare alcuni parametri come la sensibilità dell accelerometro, il numero di campioni e la formattazione. Per facilitare l utilizzo della scheda, il led assumerà una colorazione differente in base alla pressione del tasto, ad ogni colore corrisponderà una delle tre funzionalità cioè acquisizione, formattazione e configurazione seriale. Se il pulsante verrà premuto troppo a lungo il led inizierà a lampeggiare indicando una situazione di errore. Descritto a grandi linee ciò che dovrà eseguire il firmware qui di seguito è rappresentato il diagramma di flusso INIZIALIZZAZION MAIN NON PREMUTO PULSANTE t1 sec PREMUTO ACQUISIZIONE NON PREMUTO PULSANTE t2 sec PREMUTO FORMATTAZION NON PREMUTO PULSANTE t3 sec PREMUTO CONFIGURAZIONE SERIALE NON PREMUTO PULSANTE t4 sec PREMUTO ERRORE Figura 3.1 Diagramma di flusso del firmware Corso di Laurea in Ingegneria Elettronica 41

52 Una volta definito il diagramma di flusso si è passati alla realizzazione del codice vero e proprio. Per descrivere in modo più chiaro possibile si è deciso di organizzare il capitolo in sottoparagrafi in cui ognuno descrive una determinata funzione. Qui di seguito sono elencati tutti i paragrafi: - Dichiarazione variabili - Void interrupt - Void I_Write_Str - Void acquire - Void format - Void n_campioni - Void serialcfg - Void Main Void interrupt Il PIC 18LF2620 dispone di interrupt multipli a priorità variabile cioè, in base alla sorgente da cui proviene l interrupt, gli viene assegnato un livello alto o basso di priorità. Esistono dieci registri che consentono di controllare le operazioni di interrupt; questi registri sono: RCON INTCON INTCON2 INTCON3 PIR1, PIR2 PIE1, PIE2 IPR1, IPR2 Quello da noi utilizzato è PIR1 nel quale ogni bit del registro corrisponde ad un flag di una sorgente esterna, la richiesta di interruzione viene inviata nel momento in cui uno dei flag è attivo. Corso di Laurea in Ingegneria Elettronica 42

53 Per quanto riguarda il nostro codice, vogliamo che sia inviato un int dopo un certo periodo di tempo; la soluzione a questo problema si può ottenere utilizzando il timer del PIC. TMR1 è un registro a 16 bit suddiviso in TMR1L e TMR1H entrambi da 8 bit, di conseguenza il conteggio va da 0000h a FFFFh. Settando TMR1H e TMR1L a 9E57h, dopo 0,02 secondi il contatore arriva a zero, il bit 0 del registro PIR1, il quale corrisponde al flag del timer TMR1, verrà settato a uno e quindi partirà la richiesta di interrupt void interrupt() { if(pir1.tmr1if) { PIR1.TMR1IF = 0; //azzera TMR1IF TMR1H = 0x9E; //inizializza il registro del Timer1 TMR1L = 0x57; cnt++; T1CON.TMR1ON = 1; //avvia il Timer1 } } Void acquire () Questa funzione ha il compito di creare il file su cui scrivere i dati e di salvare i valori rilevati dall accelerometro all interno del file creato precedentemente. Inizialmente vengono dichiarate delle variabili che verranno utilizzate successivamente all interno della funzione. Dopodiché la funzione controlla che il file system sia privo di errori e che la scheda microsd sia inserita nell apposito connettore; una volta accertata l assenza di errori, viene inizializzata l SPI e viene controllato se all interno della SD esiste un file con lo stesso nome di quello in creazione. Nel caso in cui sia già presente un file con quel nome, viene incrementata la variabile index in modo da creare un nuovo file che abbia come nome il numero successivo a quello presente nella SD. Corso di Laurea in Ingegneria Elettronica 43

54 void acquire() { char temp; unsigned index=0,i; int x,y,z; if (Mmc_Fat_Init(&PORTC, 2) == 0) { while (Mmc_Fat_Assign(&filename, 0x20)== 1) { SPI_Init_Advanced(MASTER_OSC_DIV64,DATA_SAMPLE_MIDDLE,CLK_IDLE _LOW, LOW_2_HIGH); filename[7] = (index) - ((index/1000)*1000 -((index/100)*100) -(index/10)*10 +48; filename[6] = (index/10) - ((index/1000)*100) - ((index/100)*10) + 48; filename[5] = (index/100) - ((index/1000)*10) + 48; filename[4] = (index/1000) + 48; index++; } SPI_Init_Advanced(MASTER_OSC_DIV4,DATA_SAMPLE_MIDDLE, CLK_IDLE_LOW, LOW_2_HIGH); Nelle istruzioni successive viene creato il file, utilizzando come nome il numero ottenuto nella parte di codice precedente e poi viene inizializzato e avviato il Timer 1 Mmc_Fat_Assign(&filename, 0xA0); // crea il nuovo file Mmc_Fat_Rewrite(); Mmc_Fat_Append(); TMR1H = 0x9E; // inizializza il registro del Timer1 TMR1L = 0x57; T1CON.TMR1ON = 1; //avvia il Timer1 A questo punto siamo giunti nel cuore della funzione, dove cioè vengono acquisiti, convertiti e salvati i valori provenienti dall accelerometro. Corso di Laurea in Ingegneria Elettronica 44

55 Con il primo while il PIC continua ad acquisire fino a che non viene premuto il pulsate di spegnimento oppure la batteria è scarica oppure si è salvato il numero richiesto di campioni. Il secondo while è un ciclo infinito da cui esce nel momento in cui cnt 0, tale condizione si verifica quando il timer è giunto a zero e quindi viene inviato una richiesta di interrupt. Una volta usciti da questo while si ha la conversione da analogico a digitale dei tre segnali (x, y, z) provenienti dall accelerometro. Siccome i valori rilevati dall accelerometro sono convertiti in dati a 10 bit si è deciso di suddividere ogni campione in due dati da 5 bit ciascuno e di sommare a entrambi 48 in modo così da ottenere nel file salvato sulla SD solo caratteri compresi tra lo 0 e la o, per comprendere meglio utilizziamo un esempio. Supponiamo che il valore dell asse x convertito in digitale sia , seguendo la procedura spiegata sopra si ottiene: & 1Fh = b = 60b Il valore 60 della tabella ASCII corrisponde al carattere < A questo punto mancano i secondi 5 bit, per ottenerli shifto a sinistra di cinque posizioni tutti e dieci i bit ottenendo così il valore , a questo punto si ripete lo stesso procedimento di prima & 1Fh = b = 59b Il valore 59 della tabella ASCII corrisponde al carattere ; In definitiva al valore corrisponde il dato < ; Una volta convertito il dato, i due caratteri ASCII sono salvati separatamente all interno del file precedentemente creato, quindi per salvare un acquisizione dei tre assi sono necessarie sei locazioni. Corso di Laurea in Ingegneria Elettronica 45

56 while((u<acq_samples acq==0)&&((portb.f3 == 0)&&(PORTB.F4 == 0))) { while(cnt<1){} //attende l'interrupt dei 50Hz u++; x = Adc_Read(0); y = Adc_Read(1); z = Adc_Read(2); temp = x&0x1f; file_contents[0]= temp+48; temp = (x>>5)&0x1f; file_contents[1]= temp+48; temp = y&0x1f; file_contents[2]= temp+48; temp = (y>>5)&0x1f; file_contents[3]= temp+48; temp = z&0x1f; file_contents[4]= temp+48; temp = (z>>5)&0x1f; file_contents[5]= temp+48; Mmc_Fat_Write(file_contents,6); cnt=0; } T1CON.TMR1ON = 1; PORTB = (PORTB 0x07); while(portb.f3!= 0){} Corso di Laurea in Ingegneria Elettronica 46

57 L else viene eseguito nel momento in cui il file system presenti degli errori oppure se la scheda microsd sia inserita male nell apposito connettore. Quando si verifica una di queste due condizioni il led inizia a lampeggiare di colore rosso. else { for(i=0;i<4;i++) { PORTB = (PORTB&0xf8) rosso; Delay_ms(500); PORTB = (PORTB 0x07); Delay_ms(500); } } Void format() Chiamando questa funzione il led diventa di colore giallo e sfruttando la libreria Mmc_Fat_QuickFormat si esegue la formattazione della scheda microsd void format() { PORTB = (PORTB&0xf8) (rosso&verde); Mmc_Fat_QuickFormat(&PORTC,2,&lbl); } Void n_campioni() Questa funzione permette di inserire, attraverso l impiego della porta seriale, il numero di campioni che si vogliono acquisire tale intervallo è compreso tra 00000h e 99999h; quando viene premuto un tasto numerico della tastiera tale numero viene salvato in una variabile temporanea, una volta inserito il quinto numero viene fatta la somma con tutti i contenuti delle altre variabili temporanee così da ottenere il numero a cinque cifre corretto. Corso di Laurea in Ingegneria Elettronica 47

58 void n_campioni() { unsigned int tmp1,tmp2,tmp3,tmp4,tmp5; while(!usart_data_ready()) {} tmp1 = Usart_Read(); tmp1 = tmp1-48; while(!usart_data_ready()) {} tmp2 = Usart_Read(); tmp2 = tmp2-48; while(!usart_data_ready()) {} tmp3 = Usart_Read(); tmp3 = tmp3-48; while(!usart_data_ready()) {} tmp4 = Usart_Read(); tmp4 = tmp4-48; while(!usart_data_ready()) {} tmp5 = Usart_Read(); tmp5 = tmp5-48; acq_samples = tmp1*10000+tmp2*1000+tmp3*100+tmp4*10+tmp5; } Void I_Write_Str() Questa funzione consente di scrivere una stringa sulla porta seriale; in realtà, come si può vedere dal codice, viene scritto sulla porta un singolo carattere alla volta attraverso il continuo incremento dell indice i. void I_Write_Str(char *ostr) { unsigned short i; i = 0; while (ostr[i]) { USART_Write(ostr[i++]); Corso di Laurea in Ingegneria Elettronica 48

59 } USART_Write(0x0A); } Void SerialCfg() Lo scopo di questa funzione è quello di creare un menu in modo da poter modificare alcune caratteristiche del firmware. Per prima cosa sono state create una serie di stringhe. void SerialCfg() { unsigned int quit = 0, tmp, i; char titolo[41]="configurazione Scheda Accelerometro XYZ", sensibilita[17]="sensibilita = ", modo[16]="modo acq = ", menu[61]="s=sensibilità - a=modo acquisizione - f=formatta SD - q=esci", sensibilita2[34]="inserire la sensibilita tra 0 e 2", modo2[65]="modo 0 = acquisizione continua - modo 1 = per numero di campioni", campioni[44]="inserire il num di campioni (formato XXXXX)", formattando[24]="...formattando la sd...", formattata[39]="formattazione eseguita con successo", uscita[24]="uscita modalita seriale", num[5]; Dopo questa parte iniziale sono presenti una serie di comandi i quali consentono di visualizzare le stringhe dichiarate precedentemente sullo schermo, attraverso l uso della funzione I_Write_Str() Usart_Write(13); I_Write_Str(titolo); Usart_Write(13); I_Write_Str(sensibilita); ShortToStr(sens,num); I_Write_Str(num); Usart_Write(13); //linea a capo Corso di Laurea in Ingegneria Elettronica 49

60 I_Write_Str(modo); ShortToStr(acq,num); I_Write_Str(num); Usart_Write(13); I_Write_Str(menu); Usart_Write(13); Nell immagine sottostante è rappresentato il menu che si ottiene utilizzando la porta seriale. Connected to COM1 Configurazione Scheda Accelerometro XYZ Sensibilita = 1.5 Modo acq = 0 s = sensibilità - a = modo acquisizione - f = formatta SD - q = esci Figura 3.1 Menu porta seriale Come si può vedere nella schermata viene per prima cosa visualizzato il titolo cioè "Configurazione Scheda Accelerometro XYZ" dopodiché vengono visualizzate le caratteristiche relative alla sensibilità dell accelerometro e al modo di acquisizione dei campioni. Corso di Laurea in Ingegneria Elettronica 50

61 La riga successiva consente di modificare la configurazione premendo semplicemente alcune lettere della tastiera. - Premendo la lettera s viene visualizzata la stringa "inserire la sensibilità tra 0 e 3" che consente di sfruttare le potenzialità dell accelerometro variando cioè la sensibilità con cui vengono rilevate le accelerazioni. while(quit==0) { if (Usart_Data_Ready()) { switch(usart_read()) { case('s'): I_Write_Str(sensibilita2); Usart_Write(13); while(!usart_data_ready()) {} tmp = Usart_Read(); tmp = (tmp -48); if(tmp>3){ tmp = 3; } EEPROM_Write(0x00,tmp); PORTA.F4 = tmp&1; PORTA.F5 = (tmp>>1)&1; Usart_Write(13); break; Una volta visualizzata la stringa si attende l inserimento di un numero, il quale verrà salvato nella variabile tmp e successivamente convertito in carattere ascii. Nel caso in cui venga inserito un numero maggiore a 3, il software modifica automaticamente il valore di tmp introducendo il valore massimo cioè 3. Nell istruzione successiva il contenuto di tmp viene scritto nella locazione 0x00 della EEPROM il quale viene richiamato ad ogni avvio dell MCU. A questo punto è necessario trasferire il valore della sensibilità (0,1,2,3) all accelerometro, per eseguire questa operazione si utilizzano le seguenti istruzioni: Corso di Laurea in Ingegneria Elettronica 51

62 PORTA.F4 = tmp&1 la quale da il valore del bit 0 di tmp all uscita 4 della porta A cioè dove è collegato g-select1 PORTA.F5 = (tmp>>1)&1 la quale da il valore del bit 1 di tmp all uscita 5 della porta A cioè dove è collegato g-select2 - Premendo la lettera a viene visualizzata la stringa "modo 0 = acquisizione continua - modo 1 = per numero di campioni". Attraverso questa opzione si può decidere se acquisire un numero limitato di campioni, continuare l acquisizione fino a che la memoria non è satura o la batteria è scarica oppure finché non si preme nuovamente il tasto. case('a'): I_Write_Str(modo2); Usart_Write(13); while(!usart_data_ready()) {} tmp = Usart_Read(); tmp = (tmp -48); if(tmp>1){ tmp = 1; } EEPROM_Write(0x01,tmp); acq=tmp; if(tmp==1) { I_Write_Str(campioni); Usart_Write(13); n_campioni(); EEPROM_Write(0x02,acq_samples); } Usart_Write(13); break; Visualizzata la stringa si attende l invio della modalità di acquisizione cioè un numero tra 0 e 1, nel caso in cui si inserisca un numero maggiore di 1, la variabile tmp in cui è salvato tale dato, assumerà il valore 1. Come nel caso precedente (case s ), la variabile tmp è salvata all interno della locazione 0x01 della EEPROM. Corso di Laurea in Ingegneria Elettronica 52

63 Se tmp = 1 per prima cosa viene visualizzata la stringa inserire il num di campioni (formato XXXXX) successivamente viene chiamata la funzione n_campioni() e il valore del numero di campioni da acquisire viene salvato all interno della locazione 0x02 della EEPROM - Premendo la lettera f viene visualizzata la stringa "...formattando la sd...". Questa opzione permette di formattare la scheda microsd. case('f'): I_Write_Str(formattando); Usart_Write(13); format(); PORTB = (PORTB&0xf8) (blu&verde); I_Write_Str(formattata); Usart_Write(13); break; Una volta visualizzata la stringa viene chiamata la funzione format la quale formatta la schedina, al termine della formattazione il led viene reimpostato al colore viola corrispondente alla configurazione seriale dopodiché viene visualizzate la stringa "formattazione eseguita con successo" - Premendo la lettera q viene visualizzata la stringa "uscita modalità seriale" } } } case('q'): I_Write_Str(uscita); Usart_Write(13); quit = 1; break; default: break; } Viene impostata la variabile quit a 1 in modo che non rientri più nel ciclo while. Corso di Laurea in Ingegneria Elettronica 53

64 3.7 - Void main() Questa funzione è la parte centrale del programma; può essere suddivisa in due parti: la prima, racchiude le inizializzazioni delle porte del PIC, l inizializzazione dell interrupt e del timer, la seconda parte consente invece di scegliere l operazione che si vuol far svolgere al microcontrollore. void main() { unsigned short stato = 0; TRISB = 0b ; PORTB = 0x07; ADCON1 = 0x0C; TRISA = 0b ; PORTA = 0b ; Queste prime righe di codice sono molto importanti perché permettono di configurare tutti i piedini del PIC e quindi sono state descritte un po più nel dettaglio TRISB = 0b attiva i bit 3 e 4 del PORTB, i quali sono rispettivamente collegati al pulsante e al low battery L istruzione PORTB = 0x07 permette di configurare a livello logico alto le uscite RB0, RB1 e RB2 che sono collegati ai tre catodi del led RGB; in questo modo, siccome che l anodo è sempre a 3,3V, il led rimane spento. Attraverso l istruzione ADCON1 = 0x0C, dove 0C = , è possibile controllando sul datasheet configurare il PORTA; nel nostro caso abbiamo impostato i primi quattro bit cioè AN0, AN1e AN2 in modalità analogica perché sono collegati alle uscite dell accelerometro, i successivi due bit consentono di configurare il range entro cui avviene la conversione dei dati da analogico a digitale, gli ultimi due bit non sono utilizzati. TRISA = 0b attiva i bit 0, 1 e 2 del PORTA, i quali corrispondono alle uscite x, y e z dell accelerometro L ultima istruzione PORTA = 0b permette di settare il bit 3, che corrisponde allo sleep mode, in uscita. Corso di Laurea in Ingegneria Elettronica 54

65 USART_Init(9600); //inizializza gli interrupt PIE1.TMR1IE = 0; INTCON = 0xE0; // disabilita l'interrupt sul Timer1 // Set GIE, PEIE //inizializza il TIMER1 T1CON = 0xB0; // Timer1 configurazione " b", PRESCALER X8, TIMER OFF PIR1.TMR1IF = 0; TMR1H = 0x9E; // inizializza il registro del Timer1 TMR1L = 0x57; PIE1.TMR1IE = 1; // abilita l'interrupt sul Timer1 //recupera i dati di configurazione memorizzati sens = EEPROM_Read(0x00); PORTA.F4 = sens&1; PORTA.F5 = (sens>>1)&1; acq = EEPROM_Read(0x01); if(acq==1) { acq_samples = EEPROM_Read(0x02); } Quest ultima parte di codice è utile nel caso in cui alla riaccensione della scheda, si vogliano mantenere le stesse impostazione presenti al momento dello spegnimento di quest ultima. Sens recupera nella locazione 0x00 della EEPROM il valore della sensibilità e lo invia ai pin dell accelerometro g-select1 e g-select2; acq recupera nella locazione 0x01 l informazione relativa alla modalità di acquisizione, nel caso in cui acq sia 1 cioè il numero di acquisizione è limitato, tale valore, che assume il nome di acq_samples, viene reperito nella locazione 0x02 Come detto prima, nella seconda parte di codice, si può decidere quale operazione far svolgere al PIC. Corso di Laurea in Ingegneria Elettronica 55

66 Inizialmente viene controllato lo stato della batteria e nel caso in cui sia scarica si entra in un loop infinito in cui il led lampeggia di giallo. do { if(portb.f4 == 1) { while(1) { PORTB = (PORTB&0xf8) (rosso&verde); Delay_ms(500); PORTB = (PORTB 0x07); Delay_ms(500); } } Siccome è possibile far svolgere alla scheda tre operazioni differenti si è deciso di scegliere quella desiderata variando la durata della pressione del tasto. - Tenendo premuto per un secondo e mezzo si ha l acquisizione dei dati - Tenendo premuto per quattro secondi e mezzo si ha la formattazione della scheda - Tenendo premuto per sette secondi e mezzo si passa alla configurazione seriale - Tenendo premuto per più di sette secondi e mezzo si ha un messaggio di errore Elencate le modalità di scelta relative alle funzionalità della scheda, si può passare alla descrizione del codice. Come già espresso precedentemente, per prima cosa viene controllato lo stato della batteria, successivamente utilizzando la funzione Button si controlla che il pulsante sia premuto e che lo stato sia 0, verificate queste due condizioni si aspettano 500ms e si pone la variabile stato = 1 if ((stato==0) && (Button(&PORTB, 3, 1, 1))) { Delay_ms(500); stato = 1; } Corso di Laurea in Ingegneria Elettronica 56

67 Nell if successivo, si controlla che il pulsante sia sempre premuto e che lo stato sia impostato a 1; a questo punto il led diventa blu e si controlla nuovamente se il pulsante è premuto, se tale condizione è verificata e si rilascia il tasto prima che trascorra un secondo, si entra nella modalità di acquisizione. if ((stato==1) && Button(&PORTB, 3, 1, 1)) { PORTB = (PORTB&0xf8) blu; if (Button(&PORTB, 3, 1, 1)) { Delay_ms(1000); if (Button(&PORTB, 3, 1, 0)) { acquire(); } } PORTB = (PORTB 0x07); } Facendo riferimento a quanto detto sopra se dopo un secondo e mezzo il pulsante è ancora premuto, non entra nell if contenente la funzione acquire() ma aspetta ulteriori due secondi dopo i quali controlla che il pulsante sia premuto, a questo punto il led diventa giallo e se nel secondo successivo viene rilasciato il tasto, si entra nella modalità di formattazione. if ((stato==1) && Button(&PORTB, 3, 1, 1)) { Delay_ms(2000); if (Button(&PORTB, 3, 1, 1)) { PORTB = (PORTB&0xf8) (rosso&verde); Delay_ms(1000); if (Button(&PORTB, 3, 1, 0)) { format(); Corso di Laurea in Ingegneria Elettronica 57

68 } } } PORTB = (PORTB 0x07); Nel caso in cui il tasto viene mantenuto premuto per un tempo superiore ai quattro secondi e mezzo, il led si illumina di azzurro, se nel secondo successivo viene rilasciato il tasto si entra nella configurazione seriale. if ((stato==1) && Button(&PORTB, 3, 1, 1)) { Delay_ms(2000); if (Button(&PORTB, 3, 1, 1)) { PORTB = (PORTB&0xf8) (blu&verde); Delay_ms(1000); if (Button(&PORTB, 3, 1, 0)) { SerialCfg(); } } PORTB = (PORTB 0x07); } L ultimo caso corrisponde alla situazione in cui il pulsante viene mantenuto premuto per un tempo superiore ai sette secondi e mezzo, in questa fase il led inizia a lampeggiare di verde. while((stato==1) && Button(&PORTB, 3, 1, 1)) { PORTB = (PORTB&0xf8) verde; Delay_ms(1000); PORTB = (PORTB 0x07); Delay_ms(1000); } Corso di Laurea in Ingegneria Elettronica 58

69 stato = 0 batteria carica scarica led lampeggio arancio 1 stato 0 Non premuto pulsante premuto WAIT 500ms stato = 1 0 stato 1 Non premuto pulsante led blu premuto WAIT 1000ms pulsante Non premuto acquisizione premuto Corso di Laurea in Ingegneria Elettronica 59

70 0 stato 1 Non premuto pulsante premuto WAIT 2000ms Non premuto pulsante premuto led giallo WAIT 1000ms pulsante Non premuto formattazione premuto 0 stato 1 Non premuto pulsante premuto WAIT 2000ms Non premuto pulsante premuto Corso di Laurea in Ingegneria Elettronica 60

71 led azzurro WAIT 1000ms pulsante premuto Non premuto Configurazione seriale 0 stato 1 pulsante premuto led lampeggio verde Corso di Laurea in Ingegneria Elettronica 61

72 3.8 - EasyPIC4 Per scrivere il firmware è stata utilizzata una scheda di sviluppo chiamata EasyPIC4 la quale consente di concentrarsi esclusivamente sul sw senza dover prima costruire il circuito, facilitando quindi lo svolgimento del progetto. Qui di seguito è riportata la descrizione e alcune caratteristiche di questa scheda. L easypic4 è una scheda di sviluppo per microcontrollori PIC la quale supporta i PICmicro a 8,14, 18, 20, 28, and 40-pin; è costruita per essere usata da studenti e ingegneri per semplici esercizi in modo da apprendere le potenzialità del PIC. Essa è spesso utilizzata, come nel nostro caso, per interfacciare il microcontrollore con un circuito esterno o con più periferiche. L immagine nella pagina successiva illustra la scheda. Ogni componente è segnato sia nella parte superiore che in quella inferiore ciò facilità le eventuali connessioni con il microcontrollore evitando così altri schemi. Caratteristiche principali: - Alimentazione esterna da 7 a 15V DC/ AC. - Possibilità di alimentazione esterna o tramite USB. In caso di alimentazione da USB, non sarà necessario alcun alimentatore. - Programmatore USB molto veloce e flessibile, aggiornabile per il supporto dei futuri microcontrollori. Il programmatore ha anche la funzionalità di in-circuit debugger. - Predisposizione per sensore di temperatura DS1820 con risoluzione 0.5 C. - Porta RS232 con TX e RX selezionabili per il supporto dei microcontrollori più piccoli. - I due pin RA2 e RA3 sono portati fuori per poter misurare la tensione indicata dai potenziometri P2 e P3. - La Porta A è collegata alla rete resistiva mediante SW1. Se l'interruttore SW1 non è nella posizione ON, il pin non sarà collegato nè alla resistenza di pull-up nè a quella di pull-down. Ciò è molto importante, dato che è possibile utilizzare la porta A sia come AD converter che come I/O digitali. - Posizionando il jumper in posizione alta, fa si che il pin dela porta venga messo in pull-up. Se invece il jumper viene posizionato in basso sarà messo in pull-down (zero logico). Corso di Laurea in Ingegneria Elettronica 62

73 - Possibilità di collegare un LCD alfanumerico se necessario per l'applicazione - Possibilità di collegare un LCD Grafico se necessario per l'applicazione - Supporto dei package DIP8, DIP14, DIP18, DIP20, DIP28 e DIP40, per poter utilizzare la gamma quasi completa dei microcontrollori Microchip pulsanti permettono di controllare ogni pin del microcontrollore. - E possibile decidere come pressione del pulsante agirà sullo stato del pin. - Ad ogni pin è associato un led per conoscerne visivamente lo stato. - Sensore di temperatura DS1820 (-50 C a +125 C, +/- 0.5 C) - Display a sette segmenti in modalità multiplexer per la visualizzazione dei risultati. - Accensione e spegnimento dei led sulle porte A, B, C, D ed E. E' possibile decidere a quali porte collegare i led. Possibilità di scollegare tutti i led e i display dai pin del microcontrollore mediante dip switch. - Possibilità di regolare il contrasto dell'lcd. - Controllo dell'alimentazione - Comunicazione USB per i microcontrollori che supportano questa funzione - Connettore per una tastiera PC Figura 3.2 Immagine dell EasyPIC4 Corso di Laurea in Ingegneria Elettronica 63

74 Per quanto riguarda il nostro progetto come microcontrollore è stato utilizzato il PIC18F4620, che è della stessa famiglia di quello utilizzato per la scheda, però dispone di 40 pin. Per testare il corretto funzionamento del firmware è stata inoltre costruita una schedina, contenete il connettore per la memoria SD, da collegarla al PORT C del PIC. Figura 3.2 Immagine del connettore per la memoria SD connesso all EasyPIC Programmatore PICkit2 Dopo aver terminato il software e controllato che la corretta esecuzione, per scaricare il codice sul microcontrollore PIC è stato utilizzato il programmatore PICkit2. Esso permette di essere collegato a tutti i microcontrollori PIC che supportano la programmazione ICSP (In Circuit Serial Programming). Il vantaggio di questo tipo di programmazione è quello di rendere possibile la scrittura, lettura e verifica del PIC direttamente dalla scheda sulla quale è installato. Non vi sarà quindi la necessità di rimuovere il microcontrollore (per inserirlo nell' apposito zoccolo del programmatore) ogni volta che sia richiesta una modifica al programma. Un altro considerevole vantaggio offerto da questo sistema è quello di poter fornire l'alimentazione necessaria al funzionamento dell' intero circuito direttamente dalla porta USB del pc. Per poter utilizzare Corso di Laurea in Ingegneria Elettronica 64

75 questa funzione è necessario che il circuito in esame possa lavorare alla stessa tensione di alimentazione del microcontrollore e comunque a tensioni inferiori o uguali ai 5V dello standard USB. Utilizzando questa modalità di sviluppo si ottiene un'apprezzabile aumento di velocità nelle fasi di correzione e test che potranno essere eseguite direttamente dal computer operando attraverso l' interfaccia di gestione del PICkit2 ed il compilatore. Corso di Laurea in Ingegneria Elettronica 65

76 Capitolo 5 5 Costruzione scheda In questo capitolo sono descritti tutti i passaggi svolti per la realizzazione della scheda, a partire dallo schema elettrico fino ad arrivare alle fase di test. Per rendere più semplice la comprensione abbiamo deciso di suddividere il capitolo in più paragrafi i quali corrispondono alle diverse fasi di sviluppo Fase di progettazione del circuito elettrico di dettaglio Nella seconda parte del capitolo 2, cioè quella relativa allo sviluppo hardware della scheda, sono state descritte le interconnessioni tra il microcontrollore e i vari componenti senza però realizzare il circuito completo. Per disegnare lo schema elettrico è stato utilizzato un tool di Cadence OrCAD chiamato Capture CIS. OrCAD Capture CIS integra l ambiente di disegno per lo schema elettrico con le funzionalità CIS (Component Information System). Sviluppato per ridurre i tempi di ricerca e il riutilizzo dei componenti già codificati, Capture CIS consente di collegarsi al database contenente tutte le informazioni relative ai componenti elettronici con l associato simbolo da usare nel disegno. In questo modo la ricerca dei componenti è fatta sulla base delle loro caratteristiche elettriche, ed una volta scelto il componente verrà restituito automaticamente il relativo simbolo grafico. Con Capture CIS è possibile velocizzare i tempi del processo di disegno riducendo sensibilmente i costi. Principali funzionalità: Ambiente di disegno completo rapido ed intuitivo. Project Manager per organizzare i dati del progetto e i vari tipi di report generati durante il processo di disegno. Disegno a gerarchie e riutilizzo di parti circuitali senza dover salvare copie multiple. Librerie ed editor per i simboli accessibili direttamente dalla pagina di schema senza dover interrompere il flusso di disegno. Corso di Laurea in Ingegneria Elettronica 66

77 Gestione avanzata della Bill of Material, potendo includere tutte le informazioni residenti a DataBase. Gestione delle varianti di progetto. Collegamento ad ActiveParts per la rapida ricerca dei componenti su internet. A questo punto conoscendo tutte le connessioni tra i vari componenti, si è potuto procedere alla costruzione dello schema elettrico. Figura 5.1 Schema elettrico della scheda Corso di Laurea in Ingegneria Elettronica 67

78 In questo primo schema sono rappresentate le connessioni tra il PIC e tutti gli altri componenti cioè : la presa seriale, il connettore per la microsd, il led RGB, il pulsante polifunzionale, il programmatore, l accelerometro e il quarzo Figura 5.2 Schema elettrico relativo all alimentazione In questo secondo schema è rappresentata la configurazione relativa all alimentazione in cui sono presenti il max856, la pila ministilo da 1,5V e l interruttore di accensione della scheda. Una volta disegnato lo schema elettrico si è passato alla creazione del circuito stampato. Un circuito stampato è un insieme di piste di rame disegnate su un supporto isolante che servono a collegare tra loro i componenti che costituiscono il circuito elettronico. Il circuito stampato è detto a singola faccia se il rame sta da una parte (dove vanno eseguite le saldature) e i componenti dall'altra, le connessioni sono realizzate mediante fori passanti. Vi sono poi circuiti a doppia faccia, con le piste sui due lati, e circuiti con piste e componenti dallo stesso lato (componenti SMD o SMT). Di notevole importanza è la disposizione con cui i componenti vengono montati sulla basetta; una volta definito il layout si è passati all operazione di sbroglio la quale ha lo scopo di ottimizzare la disposizione dei componenti e il percorso dei conduttori di collegamento. Corso di Laurea in Ingegneria Elettronica 68

79 Lo sbroglio del circuito si effettua in modo manuale o automatico sempre avvalendosi di tecniche computerizzate. Normalmente il software di programmazione permette anche una messa a punto manuale, per poter ottimizzare manualmente il posizionamento delle piste e dei componenti del circuito stampato che si dimensiona. Nello sbroglio bisogna tener conto delle correnti che attraversano i vari circuiti e delle tensioni in gioco ed eventualmente ingrossare le piste per poter sopportare tali correnti, o distanziarle tra loro in modo che sia garantito un determinato isolamento. Bisogna inoltre ottimizzare i percorsi evitando il più possibile sovrapposizioni di conduttori (piste) e utilizzando il minimo ingombro. Vi sono delle regole che comunemente vengono rispettate nella disposizione dei componenti e nella operazioni di sbroglio; esse sono le seguenti. La basetta non deve essere sollecitata meccanicamente da apparecchiature ingombranti quali trasformatori, condensatori, dissipatori, che devono altresì essere francamente ancorati. I componenti assiali devono essere disposti orizzontalmente in modo parallelo rispetto la basetta. I dispositivi di potenza che generano calore devono essere lontani dai componenti sensibili alle variazioni di temperatura. I trimmer, interruttori e tutti i componenti di comando e regolazione devono essere posizionati in prossimità dei bordi della basetta per essere accessibili. La disposizione dei fori di inserzione dei reofori deve essere eseguita tenendo conto delle dimensioni del componente e della lunghezza di piegatura dei terminali. Per sviluppare il circuito stampato si è utilizzata la suite OrCAD PCB Designer che è comprensiva di OrCAD Capture per il disegno dello schema elettrico, OrCAD PCB Editor per lo sbroglio PCB e SPECCTRA for OrCAD per l'autorouting. OrCAD PCB Editor è un ambiente interattivo sviluppato per la progettazione di board a qualsiasi livello tecnologico, dalle più semplici fino alle più complesse. Il suo ampio set di funzionalità consente di rispondere ad un ampio range di problematiche tecnologiche presenti nelle produzioni PCB moderni. Grazie alla sua reale scalabilità verso le soluzioni PCB di Cadence Allegro -L e Allegro -XL, consente di seguire la crescita tecnologica dei team di progettazione abilitando in questo modo la gestione delle constraint più avanzate Corso di Laurea in Ingegneria Elettronica 69

80 (High-Speed, Signal Integrity, etc..) mantenendo la stessa interfaccia grafica e il formato di file. Tenute presenti tutte le regole descritte sopra il risultato finale è stato il seguente Figura 5.3 Vista frontale del circuito stampato Figura 5.4 Vista posteriore del circuito stampato La prima immagine raffigura lo strato anteriore in cui sono rappresentati tutti i componenti e una parte delle piste, la seconda immagine rappresenta il layer posteriore in cui sono presenti solo i collegamenti. Si è deciso di utilizzare un circuito stampato a doppia faccia Corso di Laurea in Ingegneria Elettronica 70

81 perché in questo modo è possibile evitare la sovrapposizione di piste riducendo quindi anche le dimensioni. Nell immagine successiva sono evidenziati tutti i componenti in modo così da poter vedere dove sono posizionati. Presa programmatore Interruttore Pulsante Quarzo Pila Accelerometro Presa seriale Connettore microsd Max856 PIC Figura 5.5 Vista frontale del circuito stampato con descrizione dei vari componenti Fase di fresatura Pur essendoci vari metodi per generare fisicamente le piste di un circuito stampato, è stato scelto di ricavarle mediante fresatura partendo da una basetta in bachelite ramata in doppia faccia. La fresatura dello stampato avviene tramite una piccola fresa a 2 assi, appositamente studiati per la realizzazione di circuiti. Corso di Laurea in Ingegneria Elettronica 71

82 Nelle due immagine successive è rappresentato il circuito stampato realizzato sulla basetta Figura 5.6 Fotografia del circuito stampato, parte frontale Figura 5.7 Fotografia del circuito stampato, parte posteriore Corso di Laurea in Ingegneria Elettronica 72

83 5.3 - Fase di saldatura dei componenti Ottenuto il circuito stampato, la fase successiva consiste nel montaggio dei componenti sulla scheda. I componenti scelti hanno due formati differenti, alcuni sono SMD e altri no. Spieghiamo qui di seguito le sostanziali differenze e le motivazioni per cui si è scelto questo tipo di formato. La surface mount technology (termine mutuato dall'inglese che in italiano significa "tecnologia a montaggio superficiale"), in sigla SMT, è una tecnica utilizzata in elettronica per l'assemblaggio di un circuito stampato che prevede l'applicazione dei componenti elettronici sulla sua superficie senza la necessità di praticare dei fori come invece richiesto nella tecnica classica. I componenti costruiti secondo le specifiche SMT sono definiti surface mounting device, in sigla SMD. La soluzione SMT offre diversi vantaggi: notevole riduzione delle dimensioni dei componenti e quindi minori dimensioni degli apparati; massima automazione e velocizzazione delle procedure di montaggio; nessuno scarto dovuto alla necessità di taglio dei reofori eccedenti; i componenti possono essere montati su entrambe le facce del circuito stampato La tecnologia SMT è stata sviluppata negli anni sessanta e si è diffusa alla fine degli anni ottanta, grazie anche al lavoro pionieristico svolto all'ibm. I componenti sono stati dotati di piccoli terminali (o estremità) metalliche per saldarli direttamente al circuito stampato tramite aria calda. Durate questa fase di assemblaggio per prima cosa sono stati saldati i fori per permettere il collegamento tra lo strato superiore e quello inferiore, successivamente si è passati al montaggio dei componenti SMD cioè l accelerometro, il PIC, il connettore per la microsd, il max856, il led RGB e il pulsante. Il componente che ha creato maggiori problemi è stato senz altro l accelerometro, principalmente per un motivi cioè che i contatti, a differenza degli altri componenti, si trovano al di sotto dell integrato, e di conseguenza è, sia difficile saldare il chip, sia controllare che esso sia effettivamente collegato correttamente. Per saldare, quindi questo Corso di Laurea in Ingegneria Elettronica 73

84 componente è stata adoperata una particolare pasta malleabile a base di stagno che scaldandola con aria calda si è fusa formando così una patina di stagno. Figura 5.8 Fotografia del circuito stampato su cui sono saldati i componenti SMD Connessi tutti i componenti SMD si è passati a quelli non SMD cioè il connettore per il programmatore, l interruttore e il quarzo. Figura 5.9 Fotografia del circuito stampato su cui sono saldati quasi tutti i componenti Corso di Laurea in Ingegneria Elettronica 74

85 Per quanto riguarda invece la seriale, è stato deciso di saldarla in un secondo momento, in modo da permettere, nel caso ci fossero stati dei problemi con l accelerometro, di lavorare sul componente con un po più di libertà. Figura 5.10 Fotografia della scheda completa Corso di Laurea in Ingegneria Elettronica 75

86 5.4 - Fase preliminare di test Terminata la costruzione della scheda si è passati ad una prima fase di test. Per prima cosa è stato alimentato il circuito e controllato che il regolatore di tensione (MAX856) funzionasse correttamente. Per verificare ciò è stato alimentato il circuito a 1,5V; controllando la tensione sull uscita ci si è accorti che non era quella desiderata perché invece di avere 3,3V erano presenti 5V. Per evitare di danneggiare i componenti per una tensione troppo alta, sono stati ricontrollati i collegamenti e guardando sul datasheet del MAX856, abbiamo notato che mancava un condensatore che permetteva di selezionare la tensione in uscita desiderata. Una volta saldato il componente mancante è stata effettuata nuovamente la prova e non si sono più verificati problemi. In fine è stato controllato, senza riscontrare problemi, che tutti i componenti fossero alimentati correttamente andando a testare la tensione con il multimetro sui pin di alimentazione. Corso di Laurea in Ingegneria Elettronica 76

87 Capitolo 6 6 Test In questo capitolo sono descritte tutte le prove svolte per verificare il corretto funzionamento della scheda. Terminata la fase di test preliminari descritta nel capitolo precedente, il passo successivo è stato quello di controllare il corretto funzionamento della scheda e cioè fosse in grado di acquisire le accelerazioni e salvarle sulla SD. Per verificare ciò, è stata fatta ruotare la scheda in tutte le direzioni per qualche secondo e successivamente è stata rimossa la memory card per collegarla al PC. Per visualizzare i dati è stato sufficiente aprire la cartella disco rimovibile in risorse del computer. All interno della microsd è presente un file denominato XYZ-0000.txt, apribile con il blocco note, in cui sono contenuti dei caratteri ascii. A questo punto, per controllare che tali caratteri rappresentino dei valori di accelerazione corretti, è stato necessario scrivere un breve software in grado di codificare i dati presenti nel file txt, in numeri così da poter essere analizzati più facilmente. L immagine che segue rappresenta un file in formato txt prima di essere convertito Figura 6.1 File in formato txt in cui sono contenuti i dati provenienti dall accelerometro In questo file sono rappresentati un certo numero di campioni, ogni campione è composto da due caratteri, ad ogni asse corrisponde una coppia di caratteri; per rappresentare le Corso di Laurea in Ingegneria Elettronica 77

88 accelerazioni sui tre assi sono quindi necessari sei caratteri: i primi due rappresentano l asse x, quelli di mezzo l asse y e gli ultimi due l asse z. Asse Y Asse X Asse Z Figura 6.2 File in formato txt in cui sono rappresentati i campioni sui tre assi Come detto precedentemente, il passo successivo è stato quello di scrivere un software in grado di convertire questi caratteri in numeri. Per rendere semplice la codifica, nel software è stata implementata un interfaccia grafica su cui è possibile caricare il file.txt da convertire Figura 6.3 Immagine della finestra per la codifica dei dati Corso di Laurea in Ingegneria Elettronica 78

89 In questa schermata è presente: - il tasto con cui si accede al file da convertire; - lo spazio per il percorso del file all interno del computer; - un riquadro in cui è presente il file in formato txt; - tre riquadri in cui sono contenuti i dati codificati corrispondenti ai tre assi ; - tre grafici su cui vengono rappresentate le accelerazioni. Terminata la parte di stesura del codice è stato possibile effettuare le prime prove. Per prima cosa è stato provato l accelerometro in posizione di quiete e il risultato è stato il seguente: Figura 6.4 Immagine prima prova, scheda ferma Per controllare che la codifica fosse giusta è stato preso in considerazione il primo campione di ogni asse e cioè 150O19 a questo punto è stata fatta la codifica a mano - asse x asse y O Corso di Laurea in Ingegneria Elettronica 79

90 - asse z Dopo aver controllato che la codifica fosse corretta, si è passati all analisi dei grafici. In un primo momento i risultati sembravano corretti perché, avendo fatto la prova con la scheda ferma, le linee nel grafico risultavano essere abbastanza sullo stesso livello. Osservando meglio i riquadri si ci è accorti che i dati non erano corretti perché troppo bassi. Essendo il convertitore a 10 bit, i dati possono assumere valori compresi tra 0 e Nel nostro caso, in cui al momento dell acquisizione la scheda era ferma, si ci aspettava che i dati assumessero valori più o meno a metà dell intervallo. Per risolvere il problema è stata ricontrollata la configurazione dell accelerometro e si ci è accorti che era attivo lo sleep mode. Una volta collegato correttamente il piedino è stata fatta un altra prova e il risultato è il seguente ha dato esito positivo come risulta dai grafici sottostanti: Figura 6.5 Immagine seconda prova, scheda ferma Per testare il completo corretto funzionamento della scheda sono state fatte prove ulteriori in modo da avere gli elementi di confronto con quanto presente sul datasheet dell accelerometro relativamente all accelerazione statica. Corso di Laurea in Ingegneria Elettronica 80

91 Corso di Laurea in Ingegneria Elettronica 81

09-05-07. Introduzione ai microcontrollori PIC

09-05-07. Introduzione ai microcontrollori PIC 09-05-07 Introduzione ai microcontrollori PIC Daniele Beninato: Nicola Trivellin: beninato@dei.unipd.it trive1@tin.it Che cosa è un microcontrollore? Un microcontrollore è un sistema a microprocessore

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

OSCILLATORI AL QUARZO: CONTASECONDI

OSCILLATORI AL QUARZO: CONTASECONDI ... OSCILLATORI AL QUARZO: CONTASECONDI di Maurizio Del Corso m.delcorso@farelettronica.com Come può un cristallo di quarzo oscillare ad una determinata frequenza? Quale spiegazione fisica c è dietro a

Dettagli

Elettronica dei Sistemi Programmabili

Elettronica dei Sistemi Programmabili Elettronica dei Sistemi Programmabili Introduzione Stefano Salvatori Università degli Studi Roma Tre (stefano.salvatori@uniroma3.it) Università degli Studi Roma Tre Elettronica dei Sistemi Programmabili

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

PRINCIPI DI TRASDUZIONE

PRINCIPI DI TRASDUZIONE PRINCIPI DI TRASDUZIONE Passiva Trasduzione resistiva Trasduzione capacitiva Trasduzione induttiva Attiva Trasduzione fotovoltaica Trasduzione piezoelettrica Trasduzione elettromagnetica Trasduzione fotoconduttiva

Dettagli

INTERFACCIA PER PC MEDIANTE PORTA SERIALE

INTERFACCIA PER PC MEDIANTE PORTA SERIALE INTERFACCIA PER PC MEDIANTE PORTA SERIALE Scheda d interfaccia per PC da collegare alla porta seriale. Consente di controllare otto uscite a relè e di leggere otto ingressi digitali e due analogici. Un

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

M320 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO. Indirizzo: ELETTRONICA E TELECOMUNICAZIONI

M320 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO. Indirizzo: ELETTRONICA E TELECOMUNICAZIONI M320 ESAME DI STATO DI ISTITUTO TECNICO INDUSTIALE COSO DI ODINAMENTO Indirizzo: ELETTONICA E TELECOMUNICAZIONI Tema di: ELETTONICA (Testo valevole per i corsi di ordinamento e per i corsi del progetto

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

Classificazione dei Sensori. (raccolta di lucidi)

Classificazione dei Sensori. (raccolta di lucidi) Classificazione dei Sensori (raccolta di lucidi) 1 Le grandezze fisiche da rilevare nei processi industriali possono essere di varia natura; generalmente queste quantità sono difficili da trasmettere e

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Sistema acquisizione dati

Sistema acquisizione dati 12 Sistema acquisizione dati 3.1 Introduzione: Per convertire i segnali analogici trasmessi dai sensori in segnali digitali dobbiamo usare i convertitori analogici digitali o più comunemente chiamati ADC(Analog-to-Digital

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

Dettagli

INTEGRATORE E DERIVATORE REALI

INTEGRATORE E DERIVATORE REALI INTEGRATORE E DERIVATORE REALI -Schemi elettrici: Integratore reale : C1 R2 vi (t) R1 vu (t) Derivatore reale : R2 vi (t) R1 C1 vu (t) Elenco componenti utilizzati : - 1 resistenza da 3,3kΩ - 1 resistenza

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA L CORRENTE ELETTRIC H P h Prima che si raggiunga l equilibrio c è un intervallo di tempo dove il livello del fluido non è uguale. Il verso del movimento del fluido va dal vaso a livello maggiore () verso

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 5ª) giugno 2013 Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione Sovietica 490 (TO) Materiale didattico: www.iisprimolevi.it Servomotori

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Sezione di PWM e Generatore di D/A Converter.

Sezione di PWM e Generatore di D/A Converter. Corso di BASCOM AVR - (34) Corso Teorico/Pratico di programmazione in BASCOM AVR. Autore: DAMINO Salvatore. Sezione di PWM e Generatore di D/A Converter. La struttura interna dei Mini Moduli è composta

Dettagli

I L C O M P U T E R COM E FATTO DENTRO (Unità 2)

I L C O M P U T E R COM E FATTO DENTRO (Unità 2) I L C O M P U T E R COM E FATTO DENTRO (Unità 2) 1. Premessa Lo scopo di questo capitolo non è quello di spiegare come si assembla un computer, bensì più semplicemente di mostrare le parti che lo compongono.

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali

La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali Luca Facchini e-mail: luca.facchini@unifi.it Introduzione Quali strumenti vengono utilizzati? Le grandezze di interesse nelle

Dettagli

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A. Sistemi Elettronici Definizioni e concetti generali Concetti generali Il microcontrollore è un dispositivo che raggruppa su un unico chip un processore ed un insieme di dispositivi CPU Memoria RAM Memoria

Dettagli

Circuiti amplificatori

Circuiti amplificatori Circuiti amplificatori G. Traversi Strumentazione e Misure Elettroniche Corso Integrato di Elettrotecnica e Strumentazione e Misure Elettroniche 1 Amplificatori 2 Amplificatori Se A V è negativo, l amplificatore

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

Arduino UNO. Single board microcontroller

Arduino UNO. Single board microcontroller Arduino UNO Single board microcontroller Che cos è Arduino? Arduino è una piattaforma hardware basata su un microcontrollore, per lo sviluppo di applicazioni che possono interagire con il mondo esterno.

Dettagli

PREMESSA AUTOMAZIONE E FLESSIBILITA'

PREMESSA AUTOMAZIONE E FLESSIBILITA' PREMESSA In questa lezione analizziamo i concetti generali dell automazione e confrontiamo le diverse tipologie di controllo utilizzabili nei sistemi automatici. Per ogni tipologia si cercherà di evidenziare

Dettagli

Introduzione alle misure con moduli multifunzione (DAQ)

Introduzione alle misure con moduli multifunzione (DAQ) Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Introduzione alle misure con moduli multifunzione (DAQ) Ing. Andrea Zanobini - Maggio 2012 Dipartimento

Dettagli

RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000

RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000 RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000 Leggere questo manuale prima dell uso e conservarlo per consultazioni future 1 DESCRIZIONE GENERALE L espansore senza fili è un modulo

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Dispositivo di conversione di energia elettrica per aerogeneratori composto da componenti commerciali.

Dispositivo di conversione di energia elettrica per aerogeneratori composto da componenti commerciali. Sede legale: Viale Vittorio Veneto 60, 59100 Prato P.IVA /CF 02110810971 Sede operativa: Via del Mandorlo 30, 59100 Prato tel. (+39) 0574 550493 fax (+39) 0574 577854 Web: www.aria-srl.it Email: info@aria-srl.it

Dettagli

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI Fasar Elettronica presenta una nuova linea di prodotti

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

ELETTRONICA. L amplificatore Operazionale

ELETTRONICA. L amplificatore Operazionale ELETTRONICA L amplificatore Operazionale Amplificatore operazionale Un amplificatore operazionale è un amplificatore differenziale, accoppiato in continua e ad elevato guadagno (teoricamente infinito).

Dettagli

Estensimetro. in variazioni di resistenza.

Estensimetro. in variazioni di resistenza. Estensimetro La misura di una forza incidente su di un oggetto può essere ottenuta misurando la deformazione o la variazione di geometria che l oggetto in questione subisce. L estensimetro estensimetro,

Dettagli

APPUNTI DI ELETTROMAGNETISMO E RADIOTECNICA. Coordinatore del Progetto prof. Vito Potente Stesura a cura del docente ing.

APPUNTI DI ELETTROMAGNETISMO E RADIOTECNICA. Coordinatore del Progetto prof. Vito Potente Stesura a cura del docente ing. APPUNTI DI ELETTROMAGNETISMO E RADIOTECNICA Coordinatore del Progetto prof. Vito Potente Stesura a cura del docente ing. Marcello Surace 1 Si richiamano le definizioni delle leggi fondamentali, invitando

Dettagli

Sistema di acquisizione dati

Sistema di acquisizione dati Sistema di acquisizione dati Ci sono innumerevoli ragioni sul perché é necessario acquisire informazioni dal mondo esterno: 1. Il controllo dei processi fisici che interessano la produzione industriale

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it L INTENSITÀ DELLA CORRENTE ELETTRICA Consideriamo una lampadina inserita in un circuito elettrico costituito da fili metallici ed un interruttore.

Dettagli

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it PLC51 di G.Filella e C. Befera filella@tin.it Ecco il piccolo Davide, un ottimo esempio di come l elettronica si integra con l informatica: un potente PLC controllabile tramite la porta seriale di un personal

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A ITIS M. PLANCK LANCENIGO DI VILLORBA (TV) A.S. 2006/07 CLASSE 4A/ SERALE Corso di elettronica e telecomunicazioni Ins. Zaniol Italo CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A Presentazione

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC.

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Nelle automazioni e nell industria di processo si presenta spesso il problema di gestire segnali analogici come temperature,

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto Rossi Pietro Alberto Agenda Introduzione Hardware Software Programmazione, primi passi Protocolli di comunicazione Programmazione Conclusioni Introduzione Il Raspberry Pi è una scheda elettronica impementante

Dettagli

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica prof. Corrado Santoro La prima macchina programmabile Conoscete queste macchine? Telai Jacquard (primi anni del 1800) Macchina per

Dettagli

Esame di Stato 2015. Materia: SISTEMI AUTOMATICI PRIMA PARTE

Esame di Stato 2015. Materia: SISTEMI AUTOMATICI PRIMA PARTE Esame di Stato 2015 Materia: SISTEMI AUTOMATICI PRIMA PARTE Il problema proposto riguarda un sistema di acquisizione dati e controllo. I dati acquisiti sono in parte di natura digitale (misura del grado

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

Dettagli

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON...

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... A/D CON PIC 16F877 Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... 7 ESEMPIO 1... 7 ADCON1... 8 ADFM... 8 PGF3, PGF1 E PGF0... 9 ESEMPIO

Dettagli

Sensori di Sensori di spost spos am ent ent a cont cont t at o Pot P enziom etri enziom

Sensori di Sensori di spost spos am ent ent a cont cont t at o Pot P enziom etri enziom Cap 8: SENSORI PER MISURE DI MOTO Per misure di moto intendiamo le misure di spostamenti, velocità ed accelerazioni di oggetti, di grandezze cinematiche sia lineari che angolari. Sensori di spostamento

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Il Personal Computer

Il Personal Computer Il Personal Computer Il case Il case (termine di origine inglese), anche chiamato cabinet (sempre dall'inglese, è il telaio metallico all'interno del quale sono assemblati i componenti principali di un

Dettagli

Tutorial 3DRoom. 3DRoom

Tutorial 3DRoom. 3DRoom Il presente paragrafo tratta il rilievo di interni ed esterni eseguito con. L utilizzo del software è molto semplice ed immediato. Dopo aver fatto uno schizzo del vano si passa all inserimento delle diagonali

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Regole della mano destra.

Regole della mano destra. Regole della mano destra. Macchina in continua con una spira e collettore. Macchina in continua con due spire e collettore. Macchina in continua: schematizzazione di indotto. Macchina in continua. Schematizzazione

Dettagli

Sistema theremino Collegare celle di carico ai Pin di tipo ADC

Sistema theremino Collegare celle di carico ai Pin di tipo ADC Sistema theremino Collegare celle di carico ai Pin di tipo ADC Sistema theremino Connecting Load Cells - 7 aprile 2015 - Pagina 1 Tutto è iniziato da qui Su ebay si trovano celle di carico che costano

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Gestione di una UART SOFTWARE.

Gestione di una UART SOFTWARE. Corso di BASCOM 8051 - (Capitolo 3 1 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. Gestione di una UART SOFTWARE. Capita, a volte in alcune applicazioni, di avere

Dettagli

Vari tipi di computer

Vari tipi di computer Hardware Cos è un computer? Un computer è un elaboratore di informazione. Un computer: riceve informazione in ingresso (input) elabora questa informazione Può memorizzare (in modo temporaneo o permanente)

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

E l e t t r o m a g n e t i s m o. Saggio Finale

E l e t t r o m a g n e t i s m o. Saggio Finale Corso abilitante IX ciclo Classe di concorso A038 ( Fisica ) Anno Accademico 2007 / 2008 (1 anno ) Specializzando: ( matr. 3801/SS ) E l e t t r o m a g n e t i s m o prof. Saggio Finale 1. Presentazione

Dettagli

Conversione analogico digitale

Conversione analogico digitale Conversione analogico digitale L elettronica moderna ha spostato la maggior parte delle applicazioni nel mondo digitale in quanto i sistemi a microprocessore sono diventati più veloci ed economici rispetto

Dettagli

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai Informatica di base Hardware: CPU SCHEDA MADRE HARDWARE DI UN PC 2 Hardware (parti fisiche) Sono le parti fisiche di un Personal Computer (processore, scheda madre, tastiera, mouse, monitor, memorie,..).

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico ESAME DI STATO PER ISTITUTI PROFESSIONALI Corso di Ordinamento Indirizzo: Tecnico delle industrie elettroniche Tema di: Elettronica, telecomunicazioni ed applicazioni Gaetano D Antona Il tema proposto

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

LA CORRENTE ELETTRICA CONTINUA

LA CORRENTE ELETTRICA CONTINUA LA CORRENTE ELETTRICA CONTINUA (Fenomeno, indipendente dal tempo, che si osserva nei corpi conduttori quando le cariche elettriche fluiscono in essi.) Un conduttore metallico è in equilibrio elettrostatico

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

CT228 Dispositivo controllo temperatura

CT228 Dispositivo controllo temperatura CT228 Dispositivo controllo temperatura Il registratore di temperature mod. CT 228 è stato studiato e realizzato per alte applicazioni con un basso costo. Questa compatta unità, oltre ad essere portatile

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

OSCILLOSCOPIO SOFTWARE

OSCILLOSCOPIO SOFTWARE OSCILLOSCOPIO SOFTWARE Ghiro Andrea Franchino Gianluca Descrizione generale... 3 Interazioni tra processi e risorse... 4 Funzionalità di processi e risorse... 5 Interfaccia e comandi utente... 6 Funzioni

Dettagli

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Cenni sui trasduttori. Con particolare attenzione al settore marittimo

Cenni sui trasduttori. Con particolare attenzione al settore marittimo Cenni sui trasduttori Con particolare attenzione al settore marittimo DEFINIZIONI Un Trasduttore è un dispositivo che converte una grandezza fisica in un segnale di natura elettrica Un Sensore è l elemento

Dettagli

VILLA BORROMEO Sarmeola di Rubano Padova 25 novembre 2010. Relatore: Ing. Carlo Calisse

VILLA BORROMEO Sarmeola di Rubano Padova 25 novembre 2010. Relatore: Ing. Carlo Calisse LE RETI ANTICADUTA DALLE NORME UNI EN 1263-1 1 e 2 ALLE NUOVE LINEE GUIDA AIPAA VILLA BORROMEO Sarmeola di Rubano Padova 25 novembre 2010 Relatore: Ing. Carlo Calisse INTRODUZIONE ALLE NORME UNI EN 1263-1:

Dettagli

SENSORI E TRASDUTTORI

SENSORI E TRASDUTTORI SENSORI E TRASDUTTORI Il controllo di processo moderno utilizza tecnologie sempre più sofisticate, per minimizzare i costi e contenere le dimensioni dei dispositivi utilizzati. Qualsiasi controllo di processo

Dettagli