236 resultados para Microcontrolador Arduino
Resumo:
Fra le varie ragioni della crescente pervasività di Internet in molteplici settori di mercato del tutto estranei all’ICT, va senza dubbio evidenziata la possibilità di creare canali di comunicazione attraverso i quali poter comandare un sistema e ricevere da esso informazioni di qualsiasi genere, qualunque distanza separi controllato e controllore. Nel caso specifico, il contesto applicativo è l’automotive: in collaborazione col Dipartimento di Ingegneria Elettrica dell’Università di Bologna, ci si è occupati del problema di rendere disponibile a distanza la grande quantità di dati che i vari sotto-sistemi componenti una automobile elettrica si scambiano fra loro, sia legati al tipo di propulsione, elettrico appunto, come i livelli di carica delle batterie o la temperatura dell’inverter, sia di natura meccanica, come i giri motore. L’obiettivo è quello di permettere all’utente (sia esso il progettista, il tecnico riparatore o semplicemente il proprietario) il monitoraggio e la supervisione dello stato del mezzo da remoto nelle sue varie fasi di vita: dai test eseguiti su prototipo in laboratorio, alla messa in strada, alla manutenzione ordinaria e straordinaria. L’approccio individuato è stato quello di collezionare e memorizzare in un archivio centralizzato, raggiungibile via Internet, tutti i dati necessari. Il sistema di elaborazione a bordo richiede di essere facilmente integrabile, quindi di piccole dimensioni, e a basso costo, dovendo prevedere la produzione di molti veicoli; ha inoltre compiti ben definiti e noti a priori. Data la situazione, si è quindi scelto di usare un sistema embedded, cioè un sistema elettronico di elaborazione progettato per svolgere un limitato numero di funzionalità specifiche sottoposte a vincoli temporali e/o economici. Apparati di questo tipo sono denominati “special purpose”, in opposizione ai sistemi di utilità generica detti “general purpose” quali, ad esempio, i personal computer, proprio per la loro capacità di eseguire ripetutamente un’azione a costo contenuto, tramite un giusto compromesso fra hardware dedicato e software, chiamato in questo caso “firmware”. I sistemi embedded hanno subito nel corso del tempo una profonda evoluzione tecnologica, che li ha portati da semplici microcontrollori in grado di svolgere limitate operazioni di calcolo a strutture complesse in grado di interfacciarsi a un gran numero di sensori e attuatori esterni oltre che a molte tecnologie di comunicazione. Nel caso in esame, si è scelto di affidarsi alla piattaforma open-source Arduino; essa è composta da un circuito stampato che integra un microcontrollore Atmel da programmare attraverso interfaccia seriale, chiamata Arduino board, ed offre nativamente numerose funzionalità, quali ingressi e uscite digitali e analogici, supporto per SPI, I2C ed altro; inoltre, per aumentare le possibilità d’utilizzo, può essere posta in comunicazione con schede elettroniche esterne, dette shield, progettate per le più disparate applicazioni, quali controllo di motori elettrici, gps, interfacciamento con bus di campo quale ad esempio CAN, tecnologie di rete come Ethernet, Bluetooth, ZigBee, etc. L’hardware è open-source, ovvero gli schemi elettrici sono liberamente disponibili e utilizzabili così come gran parte del software e della documentazione; questo ha permesso una grande diffusione di questo frame work, portando a numerosi vantaggi: abbassamento del costo, ambienti di sviluppo multi-piattaforma, notevole quantità di documentazione e, soprattutto, continua evoluzione ed aggiornamento hardware e software. È stato quindi possibile interfacciarsi alla centralina del veicolo prelevando i messaggi necessari dal bus CAN e collezionare tutti i valori che dovevano essere archiviati. Data la notevole mole di dati da elaborare, si è scelto di dividere il sistema in due parti separate: un primo nodo, denominato Master, è incaricato di prelevare dall’autovettura i parametri, di associarvi i dati GPS (velocità, tempo e posizione) prelevati al momento della lettura e di inviare il tutto a un secondo nodo, denominato Slave, che si occupa di creare un canale di comunicazione attraverso la rete Internet per raggiungere il database. La denominazione scelta di Master e Slave riflette la scelta fatta per il protocollo di comunicazione fra i due nodi Arduino, ovvero l’I2C, che consente la comunicazione seriale fra dispositivi attraverso la designazione di un “master” e di un arbitrario numero di “slave”. La suddivisione dei compiti fra due nodi permette di distribuire il carico di lavoro con evidenti vantaggi in termini di affidabilità e prestazioni. Del progetto si sono occupate due Tesi di Laurea Magistrale; la presente si occupa del dispositivo Slave e del database. Avendo l’obiettivo di accedere al database da ovunque, si è scelto di appoggiarsi alla rete Internet, alla quale si ha oggi facile accesso da gran parte del mondo. Questo ha fatto sì che la scelta della tecnologia da usare per il database ricadesse su un web server che da un lato raccoglie i dati provenienti dall’autovettura e dall’altro ne permette un’agevole consultazione. Anch’esso è stato implementato con software open-source: si tratta, infatti, di una web application in linguaggio php che riceve, sotto forma di richieste HTTP di tipo GET oppure POST, i dati dal dispositivo Slave e provvede a salvarli, opportunamente formattati, in un database MySQL. Questo impone però che, per dialogare con il web server, il nodo Slave debba implementare tutti i livelli dello stack protocollare di Internet. Due differenti shield realizzano quindi il livello di collegamento, disponibile sia via cavo sia wireless, rispettivamente attraverso l’implementazione in un caso del protocollo Ethernet, nell’altro della connessione GPRS. A questo si appoggiano i protocolli TCP/IP che provvedono a trasportare al database i dati ricevuti dal dispositivo Master sotto forma di messaggi HTTP. Sono descritti approfonditamente il sistema veicolare da controllare e il sistema controllore; i firmware utilizzati per realizzare le funzioni dello Slave con tecnologia Ethernet e con tecnologia GPRS; la web application e il database; infine, sono presentati i risultati delle simulazioni e dei test svolti sul campo nel laboratorio DIE.
Resumo:
Negli ultimi anni i progressi tecnologici in termini di miniaturizzazione elettronica, hanno permesso la realizzazione di componenti hardware ed in particolare di microprocessori e sensori dalle dimensioni ridottissime. Questo ha favorito la recente diffusione di reti di sensori wireless (Wireless Sensor Network) basate su sistemi embedded più o meno complessi ed applicate a settori di mercato che vanno dalla domotica alle applicazioni industriali, fino al monitoraggio dei pazienti. Lo scopo di questa tesi, svolta in collaborazione con la società Rinnova di Forlì, consiste nell’implementazione di un dimostratore che mostri la reale capacità di realizzare una rete WS che si appoggia su di un sistema embedded commerciale ed ampiamente diffuso come la piattaforma Arduino ed in grado di rilevare il livello di ammoniaca presente negli allevamenti di pollame. Tale gas infatti, se presente in quantità notevole, provoca una dannosa alterazione comportamentale dei polli e risulta quindi un parametro molto importante da monitorare. Oltre al sensore di ammoniaca, misurazione principale richiesta dal progetto, ne sono stati aggiunti uno per la temperatura ed uno per l’umidità. L’architettura finale implementata è quella tipica di una rete a stella, in cui il master centrale colleziona a polling i dati provenienti dai sensori collegati agli slave e li invia ad un server web, rendendoli accessibili mediante la rete Internet. L’utente finale può così accedere alla pagina web da un qualunque PC dotato di connessione Internet, monitorare i dati dei sensori e soprattutto verificare quando il livello di ammoniaca supera la soglia di attenzione, potendo così intervenire immediatamente nell’allevamento per effettuare le dovute operazioni di pulizia.
Resumo:
Il progetto descritto in questo documento consiste fondamentalmente nell'integrazione di applicazioni context-aware su dispositivi mobili con reti di sensori e nello studio delle problematiche derivanti, vantaggi e potenziali utilizzi. La rete è stata costruita sfruttando l'insieme di protocolli per comunicazioni via radio Zigbee, particolarmente adatti per interazione tra dispositivi a basso consumo energetico e che necessitano di uno scarso tasso di trasferimento di dati. Le informazioni ottenute da sensori di varia natura sono processate da microcontrollori Arduino, scelti per la loro versatilità di utilizzo e design open source. Uno o più dispositivi sono designati per aggregare i dati rilevati dai singoli nodi in un unico pacchetto di informazioni, semanticamente correlate tra loro, quindi emetterle in broadcast su una diversa interfaccia di rete, in modo che diverse applicazioni esterne in ascolto possano riceverle e manipolarle. Viene utilizzato un protocollo specifico per la comunicazione tra i microcontrollori e le applicazioni che si interfacciano con la rete, costruito su misura per dispositivi con risorse limitate. L'applicazione context-aware che interagisce con la rete è stata sviluppata su piattaforma Android, la cui particolare flessibilità favorisce una migliore capacità di gestire i dati ottenuti. Questa applicazione è in grado di comunicare con la rete, manipolare i dati ricevuti ed eventualmente intraprendere azioni specifiche in totale indipendenza dal suo utilizzatore. Obiettivo del progetto è quello di costruire un meccanismo di interazione tra le tecnologie più adattivo e funzionale possibile.
Resumo:
Il progetto descritto in questo documento consiste nello sviluppo di un Framework composto da un'applicazione Android in grado di comandare il movimento di un robot collegato ad una scheda Arduino tramite interfaccia di comunicazione Bluetooth
Resumo:
Questo elaborato ha come argomento lo sviluppo di un progetto informatico creato per mettere in comunicazione tra di loro un sistema di gestione e controllo del ricambio di acqua in una piscina e un dispositivo mobile. Per la realizzazione del sistema di controllo è stata utilizzata una scheda Arduino Mega 2560 munita di modulo Ethernet, mentre, per quello che concerne il dispositivo mobile, la scelta è ricaduta su un device dotato di sistema operativo Android. La comunicazione tra questi due attori è mediata attraverso un server scritto in Java che gira nella stessa rete locale in cui è presente la scheda Arduino. Il progetto può essere inserito nell'ambito dell'Internet of Things, dove ogni oggetto è caratterizzato dalla possibilità di connettersi ad Internet e scambiare informazioni con ogni altro oggetto creando una rete. Questo progetto è suddiviso in tre parti: la prima si occupa della definizione di due protocolli di comunicazione tra le varie componenti, uno per lo scambio di messaggi tra client Android e Server Java e un secondo per quello tra scheda Arduino e Server; la seconda parte è incentrata sulla realizzazione del server Java che rende accessibile la scheda da qualsiasi luogo e permette la raccolta dei dati rilevanti provenienti dalla centralina. L’ultima parte infine è quella relativa allo sviluppo di una applicazione per Android che permette di monitorare il tutto e interagire con la centralina stessa.
Resumo:
Abbiamo analizzato il comportamento di dispositivi mobili allo scopo di acquisire, ricostruire ed analizzare dati rotazionali da veicoli in movimento. E' possibile ricostruire solo l'urto iniziale di un incidente tra automobili attraverso segnale GPS e accelerometri interni ai veicoli, non è possibile ricostruire l'intera dinamica dell'incidente poiché si perde la rotazione assunta dai mezzi di trasporto dopo l'urto. Per questo scopo abbiamo studiato il comportamento di un dispositivo mobile capace di percepire movimenti rotatori. Abbiamo creato un'architettura software per ricostruire graficamente ed analizzare le rotazioni di una piattaforma Arduino, ovvero un prototipo dotato di accelerometro e giroscopio. Per studiare le rotazioni è stata applicata la matematica dei quaternioni. Abbiamo trovato algoritmi che ricavano le rotazioni attraverso le velocità angolari fornite dalla piattaforma, ed anche attraverso componenti hardware specializzati in rotazioni. Entrambe le soluzioni riescono ad interpretare correttamente la rotazioni del dispositivo nell'intervallo di tempo in cui si può sviluppare un incidente.
Resumo:
Si riporta inizialmente un’analisi tecnica dell’autopilota Ardupilot, utilizzato con il firmware Arduplane, che predispone la scheda all’utilizzo specifico su velivoli senza pilota ad ala fissa. La parte sostanziale della tesi riguarda invece lo studio delle leggi di controllo implementate su Arduplane e la loro modellazione, assieme ad altre parti del codice, in ambiente Matlab Simulink. Il sistema di controllo creato, chiamato Attitude Flight System, viene verificato con la tecnica del Software In the Loop in un simulatore di volo virtuale modellato anch’esso in Simulink, si utilizza la dinamica di un velivolo UAV di prova e il software FlightGear per l’ambiente grafico. Di fondamentale importanza è la verifica della compatibilità fra il firmware originale e il codice generato a partire dai modelli Simulink, verifica effettuata mediante test di tipo Hardware in the Loop. L’ultima parte della tesi descrive le prove di volo svolte per verificare le prestazioni della scheda su un aeromodello trainer.
Resumo:
La rotazione dell’apice del cuore è una delle espressioni della complessa cinematica del miocardio e rappresenta un importante indice di funzionalità cardiaca. Disporre di un sensore impiantabile che permetta un monitoraggio continuo di tale parametro consentirebbe di individuare precocemente un deterioramento della performance cardiaca e di adattare tempestivamente la terapia. L’obiettivo del lavoro di tesi è la realizzazione di un sistema di acquisizione dati per segnali provenienti da un giroscopio MEMS triassiale da utilizzarsi per lo studio della cinematica cardiaca, in particolare della rotazione del cuore. Per leggere e decodificare i segnali digitali in uscita dal giroscopio MEMS triassiale utilizzato (CMR3100, VTI Technologies) è stata progettata e sviluppata un’unità di condizionamento composta da una board Arduino ADK, associata ad un adattatore di tensione PCA9306 e a 3 convertitori digitali/analogici MCP4921, che ha richiesto lo sviluppo di software per la gestione del protocollo di comunicazione e della decodifica del segnale digitale proveniente dal sensore. Per caratterizzare e validare il sistema realizzato sono state effettuate prove di laboratorio, che hanno permesso di individuare i parametri di lavoro ottimali del sensore. Una prima serie di prove ha dimostrato come l’unità di condizionamento realizzata consenta di acquisire i segnali con una velocità di processo elevata (1 kHz) che non comporta perdita di dati in uscita dal sensore. Successivamente, attraverso un banco prova di simulazione appositamente assemblato allo scopo di riprodurre rotazioni cicliche nel range dei valori fisio-patologici, è stato quantificato lo sfasamento temporale (St) tra il segnale rilevato dal CMR3100 e decodificato dall'unità di condizionamento e un segnale analogico in uscita da un giroscopio analogico, ottenendo un valore medio St=4 ms. Attraverso lo stesso banco di simulazione, è stata infine dimostrata una buona accuratezza (errore percentuale <10%) nella misura dell'angolo di rotazione derivato dal segnale di velocità angolare rilevato direttamente dal sensore CRM300.
Resumo:
Grazie alla loro versatilità, i velivoli multirotore hanno ricevuto sempre più interesse durante gli ultimi anni, in ambito accademico e di recente anche industriale. Il lavoro presentato è volto a studiare e confrontare le moderne tecniche di navigazione e di controllo di questo tipo di velivoli. Difatti, spesso, gli algoritmi utilizzati sono stati limitati dalla capacità di calcolo del processore imbarcato e dalla qualità dei sensori utilizzati. Negli ultimi anni, però, lo sviluppo della microelettronica ha ricevuto un forte impulso (dovuto principalmente alla ricerca nell’ambito della telefonia), che ha portato all’abbattimento dei costi e alla nascita di progetti opensource, tra i quali le famose schede Arduino prodotte da Olivetti, attorno alle quali si sono sviluppati molti progetti di velivoli opensource. L’importanza di ciò, in ambito accademico, è rilevante, poiché consente l’utilizzo di algoritmi e di configurazioni hardware comprovati, lasciando spazio a modifiche e migliorie. Nel nostro caso, in particolare, si vuole osservare come complessi algoritmi di navigazione, resi possibili da un processore più potente, possano migliorare le prestazioni del noto progetto opensource ArduPilot [3]. Tali miglioramenti possono essere rilevanti in applicazioni per le quali sia richiesta una certa precisione nel posizionamento, come ad esempio lo studio di formazioni o la navigazione in ambienti angusti.
Resumo:
Studio e realizzazione di una rete wireless di microcontrollori dotati di sensori, che comunicano mediante protocollo ZigBee (basato sul protocollo IEEE 802.15.4).
Resumo:
Il termine Domotica deriva dall’unione dei termini domus e robotics e spazia oltre alle competenze in ambito informatico ed elettronico, avvalendosi dell’architettura e di determinati campi dell’ingegneria come: energetica, edile, dell’ automazione, elettrotecnica, delle telecomunicazioni. La Domotica agevola gli aspetti della quotidianità all’interno dell’ambiente casalingo o, più in generale, di ambienti antropizzati. Questa tesi ha l’intento di spiegare come può essere realizzato un sistema domotizzato casalingo utilizzando dispositivi open-hardware. Inizialmente verranno messi in chiaro i concetti chiave generici di un sistema domotico e verranno discussi i prodotti attualmente in commercio e verrà fatta una piccola introduzione sul concetto di open-hardware. Successivamente verrà discusso il sistema realizzato dandone una panoramica, si esaminerà la strutturazione sia software che hardware e le tecnologie ed i dispositivi utilizzati, per poi enucleare casi d’uso. A seguire le conclusioni.
Resumo:
Il presente lavoro di tesi è finalizzato allo sviluppo di un dispositivo indossabile, e minimamente invasivo, in grado di registrare in maniera continua segnali legati all’attività elettromeccanica del muscolo cardiaco, al fine di rilevare eventuali anomalie cardiache. In tal senso il sistema non si limita alla sola acquisizione di un segnale ECG, ma è in grado di rilevare anche i toni cardiaci, ovvero le vibrazioni generate dalla chiusura delle valvole cardiache, la cui ampiezza è espressione della forza contrattile (funzione meccanica) del cuore. Il presente lavoro di tesi ha riguardato sia la progettazione che la realizzazione di un prototipo di tale dispositivo ed è stato svolto presso il laboratorio di Bioingegneria del Dipartimento di Medicina Specialistica Diagnostica e Sperimentale dell’Università di Bologna, sito presso l’Azienda Ospedaliero-Universitaria Policlinico Sant’Orsola-Malpighi. Il sistema finale consiste in un dispositivo applicabile al torace che, attraverso una serie di sensori, è in grado di rilevare dati legati alla meccanica del cuore (toni cardiaci), dati elettrici cardiaci (ECG) e dati accelerometrici di attività fisica. Nello specifico, il sensing dei toni cardiaci avviene attraverso un accelerometro in grado di misurare le vibrazioni trasmesse al torace. I tracciati, raccolti con l’ausilio di una piattaforma Arduino, vengono inviati, tramite tecnologia Bluetooth, ad un PC che, attraverso un applicativo software sviluppato in LabVIEW™, ne effettua l’analisi, il salvataggio e l’elaborazione in real-time, permettendo un monitoraggio wireless ed in tempo reale dello stato del paziente.
Resumo:
Nella tesi viene presentata una introduzione generale all'Internet of Things, gli utilizzi che ne vengono fatti attualmente e le eventuali modifiche che verranno apportate in futuro, inoltre vengono presentati i problemi che ne derivano e le soluzioni che attualmente risolvono questi problemi. E' presente una introduzione al protocollo presentato da IBM MQTT che attualmente rappresenta uno standard in questo campo. In seguito vengono mostrati i requisiti e le fasi di progettazione di un sistema domotico, quali sono i suoi principali utilizzi quali i vantaggi e i suoi svantaggi. E' presente una introduzione ai dispositivi maggiormente usati per la realizzazione di sistemi del genere, con le loro caratteristiche, in particolare di dispositivi Arduino e Raspberry Pi. Viene mostrato l'uso del protocollo mqtt per la comunicazione tra dispositivi Raspberry Pi e client Android. In fine viene mostrata una realizzazione di un sistema di domotica attraverso l'uso di questo protocollo.
Resumo:
La dialisi è una terapia essenziale alla sopravvivenza delle persone colpite da insufficienza renale. Senza questo trattamento periodico l’aspettativa di vita si riduce a pochi giorni. Il fine di questo trattamento è il ripristino dell’equilibrio idro-elettrolitico e acido-base del paziente e la rimozione del fluido in eccesso che l’organismo non è in grado di espellere autonomamente. La parte di liquido che passa attraverso il filtro dal lato sangue, alla parte di bagno dialisi prende il nome di ultrafiltrato. Ciò comporta che nelle macchine per emodialisi ci sia un sistema di controllo dedicato all’ultrafiltrazione. La durata della seduta è variabile, è finalizzata a riportare il paziente al peso ottimale in un tempo limitato. Il seguente elaborato è stato svolto presso il laboratorio della start-up IBD Italian Biomedical Devices, uno dei progetti in via di sviluppo è la realizzazione di una macchina per emodialisi a basso costo. Obiettivo della tesi è stato quello di confrontare due misuratori di portata e valutarne l’adeguatezza per la gestione del sistema di ultrafiltrazione. È stato esplorato tutto il range di portate a cui potrebbero essere sottoposti durante l’utilizzo del macchinario. I sensori oggetto di studio sono l’Oval Gears Flowmeters ed il flussimetro Series 800, entrambi adatti all’impiego in ambito biomedicale. Appartengono a due diverse classi: il primo è un contatore volumetrico, registra il numero di volumi base lo che attraversano. Il secondo è un misuratore a turbina, genera impulsi verso l’esterno in numero proporzionale alla velocità del fluido. Lo studio necessita anche di una parte di acquisizione dei segnali provenienti dai sensori, è stata implementata interamente sulla piattaforma Arduino. I dati acquisiti sono stati elaborati ed analizzati al fine di avere un confronto tra i misuratori e con il gold-standard. Per poter confrontare le prestazioni è stato realizzato e seguito un protocollo sperimentale.