RILEVATORE TERREMOTI ARDUINO SHIELD – IN KIT

Esaurito

Shield per Arduino in grado di svolgere la funzione di sismografo, ovvero uno strumento in grado di percepire i terremoti

SKU: 7100-FT994K Categoria: Tag:

Shield per Arduino in grado di svolgere la funzione di sismografo, ovvero uno strumento in grado di percepire i terremoti. Per poter trasformare le oscillazioni del suolo in una grandezza idonea ad essere registrata, è necessario collegare alla shield dei Geofoni (non compresi) oppure un accelerometro a tre assi (non compreso) con uscita analogica (ad esempio il Freescale 7300-MMA7361). In questo modo i movimenti e le vibrazioni del terreno verranno trasformate in corrente elettrica che opportunamente amplificata, verrà acquisita mediante Arduino (non compreso). I dati acquisiti potranno essere visualizzati su PC in tempo reale, con la possibilità di salvare i dati su file excel o di elaborarli in tempo reale con funzioni più o meno complesse, il tutto grazie a LabView. Sfruttando lo stesso principio fisico che sta alla base dei terremoti (propagazione delle onde di volume e microtremori), può essere adattato a innumerevoli applicazioni, legate sia al mondo della ricerca pura e applicata nelle Scienze della Terra, quali lo studio dei terremoti e dei microterremoti, il monitoraggio di frane e valanghe, l’attività vulcanica, ma anche più “applicativi“, come lo stato di salute di macchine con organi in movimento (rotanti) e di strutture (edifici e ponti) o la ricerca di rotture di condotte idriche sotterranee. Sarà inoltre possibile scoprire l’effetto delle vibrazioni indotte dal traffico sugli edifici, o come questi oscillino con il forte vento. Alimentazione: 5V e 3,3V (tramite Arduino). Dimensioni: 69×55 mm.
N.B. Attenzione, la shield non comprende i geofoni/accellerometro e Arduino. Per completare il progetto vedere i prodotti correlati.
 
Lo Sketch
 
Il sistema è nato per acquisire i microtremori, ovvero attività sismica di tipo naturale risultato della potenza e vitalità del nostro pianeta. Tra le principali sorgenti da cui essi generano si annoverano: le maree, il moto ondoso, i movimenti legati all’attrito tra atmosfera e litosfera, le eruzioni vulcaniche, la deriva dei continenti, oltre a sorgenti antropiche quali il traffico, attività industriale, etc. Il progetto ha avuto luce in quanto l’attuale normativa italiana sulla microzonazione sismica, ovvero la suddivisione dell’intero territorio nazionale in “celle” ognuna caratterizzata da una particolare “propensione” alla sismicità, prevede per effettuare tale caratterizzazione, l’utilizzo dei microtremori e della loro analisi, ed ha subito una spinta propulsiva in seguito ai fatti avvenuti in Abruzzo.
Da ciò, per lo sviluppo del progetto ci si è posti verso una direzione “professionale / geologica” di acquisizione ed elaborazione del dato. Tale tipo di elaborazione a fini di “microzonazione sismica”, si basa sull’utilizzo delle componenti orizzontali e verticali dell’onda sismica, registrabili tramite geofoni ad asse verticale e orizzontale, (quest’ultimi disposti ortogonalmente tra loro) in modo da registrare le componenti X Y e Z, oltre che di comunissimi accelerometri a 3 assi, (reti di monitoraggio sismico a livello mondiale basato su quest’ultima tecnologia è stato proposto dall’università di Stanford). Il loro rapporto opportunamente processato mediante algoritmi appositi consente di individuare la frequenza del sito ed effettuare anche stratigrafie sismiche, ovvero una sorta di “radiografia” del sottosuolo. Ritorniamo allo sketch. Come accennato è molto semplice e non contiene particolari funzioni, in modo tale da evitare ogni sovraccarico della memoria di Arduino che si tradurrebbero in una riduzione delle performance di acquisizione del dato, infatti anche la semplice funzione .serialPrint (“;”) nella stringa di uscita sulla seriale produce una riduzione del sample rate, da ciò si è deciso di lasciare tutta la parte di visualizzazione, elaborazione e salvataggio direttamente al programma di acquisizione. La funzione Serial.print (“t”); è stata inserita per dare “ordine” alla stringa seriale e rendere più semplice il lavoro di plottaggio dei dati sul grafico, mentre la funzione delay (1); è stata inserita in quanto si è osservata una certa “instabilità” del sistema con la sua assenza. Settati i canali di acquisizione, in tal caso tre, Arduino invia il dato su seriale ad una velocità di 115200 con una stringa del tipo XXX YYY ZZZ.
 
Software di Elaborazione
 
Facciamo una netta distinzione tra il software di acquisizione, e il software di elaborazione del dato. Mentre il primo può essere definito universale, nel senso che ha lo scopo di visualizzare il dato acquisito in tempo reale ed eventualmente salvarlo su un file per la successiva elaborazione, e non è necessariamente legato al tipo di grandezza che si sta acquisendo, sia essa sismica, temperatura, velocità, pH etc., la seconda tipologia di software è fortemente legata al tipo di indagine che si intende effettuare. Nel caso di terremoti generalmente si acquisisce il dato in tempo reale, lo si visualizza su schermo, ed eventualmente lo si invia ad una rete sismologica globale. Nel caso dei microtremori il discorso è un po’ più complesso. Si acquisiscono le componenti X, Y e Z tramite geofoni verticali e orizzontali (oppure tramite accelerometro), si processano e confrontano tali componenti con algoritmi appositi, ottenendo il rapporto spettrale “Orizzontale/Verticale” (H/V), ciò consente la caratterizzazione microsismica del sito. Il software gratuito che permette questo tipo di elaborazioni lo si può trovare su www.geopsy.org, (Nakamura, H/V), assieme ad una dettagliatissima spiegazione fenomenologica.
 
Software di Acquisizione
 
Esso si basa sul linguaggio di programmazione LabView. Lo scorso anno, National Instruments, software house di LabView, fiutando il possibile affare nascosto dietro il successo planetario di Arduino, ha rilasciato un firmware da caricare su Arduino tramite il normale configuratore. Questo firmware consente il pieno controllo di Arduino tramite LabView. Il firmware è fornito gratuitamente con il nome di LIFA acronimo di “LabView Interface For Arduino". È davvero molto ben fatto, e consente il pieno controllo di tutti i pin di Arduino sia in Ingresso che in Uscita, con la semplicità tipica del sistema di programmazione visuale di NI. Nonostante questo, il software che qui presentiamo NON si basa sul LIFA. Infatti una limitazione di questo è la velocità massima di acquisizione sostenibile da Arduino sulle porte analogiche. Il firmware risulta infatti un pò “pesante”, sovraccaricando il processore matematico di Arduino. Ciò si traduce in una netta riduzione della velocità di acquisizione analogica, che rimane accettabilissima nella maggior parte dei casi, ma non sufficiente per gli scopi del presente progetto. Abbiamo testato a lungo il diverso sample rate tra LIFA e SerialString ovvero la seconda opzione basata sull’invio di una stringa “seriale”, il primo consente un sample rate max di 20 Hz per ogni canale, mentre utilizzando il protocollo seriale, ovvero inviando da Arduino una stringa di dati del tipo
mmm XXX YYY ZZZ
mmm XXX YYY ZZZ

si ottiene un sample rate max di 330 Hz per ogni canale, adatto per acquisizioni sismiche di qualità. In ogni caso forniremo le istruzioni e i programmi per l’acquisizione con entrambe le metodologie, lasciando a lettore la scelta. L’interfaccia del software di acquisizione, sviluppato in ambiente LabView, è riportata in Fig. 15, è costituito da tre schede, rispettivamente “Graph”, “Replay” e “Sketch”. L’interfaccia principale del software (“Graph”) di acquisizione focalizza l’attenzione dell’utente sulla visualizzazione del dato (Fig. 16). Gran parte dello schermo è infatti dedicata alla rappresentazione grafica in tempo reale, tre finestre separate rispettivamente per ognuna delle tre componenti: X, Y e Z. In basso (dettaglio in Fig. 15) sono posizionate alcune utilità, da sx il controllo dei tre assi dei grafici, con la possibilità di sovrapporre griglie di visualizzazione, cambiare colore alle curve, spessori etc, ovvero effettuare tutte quelle operazioni di miglioramento dell’aspetto grafico della visualizzazione, oltre che la possibilità di settare il pin di acquisizione di Arduino.
Nella parte centrale è invece riportato il box che consente il salvataggio del dato in un file di testo, la data di avvio e i millisecondi trascorsi dall’inizio. All’interno del file dati sono riportati nella prima colonna i millisecondi trascorsi dall’avvio e a seguire, i valori in count dei tre canali, x y e z, oltre ad un tasto di reset dei millisecondi trascorsi.
Sulla destra (“calibration”) sono invece riportate tre caselle all’interno delle quali è possibile inserire equazioni nella forma y= mx+q.
L’importanza di tale casella risiede nel fatto che essa amplia la possibilità di utilizzo del software all’acquisizione di parametri non necessariamente sismici, ovvero collegando alle entrate analogiche di Arduino sensori di qualunque tipo di cui si conoscono le rette di taratura Volt – Grandezza, ed inserendo l’equazione di taratura nello spazio si visualizzerà direttamente sul grafi co il valore reale della grandezza misurata, qualora non si disponga di una retta di taratura basta semplicemente inserire “x”. Si ha inoltre la possibilità di scegliere il sample rate tra High e Low, questa funzione non agisce su Arduino ma esclusivamente sulla visualizzazione sullo schermo, di fatto riducendo il numero di campioni visualizzati. Sempre nello stesso box è possibile settare la porta COM su cui è connesso Arduino. Cliccando sul tasto “check analogic” (Fig. 17) appariranno tre barre colorate che indicano rispettivamente i valori in mV per ognuno dei tre canali, oltre ad un display numerico che ne indica il valore istantaneo. Esse sono state inserite per semplificare le operazioni di taratura, infatti, seguendo le istruzioni contenute nel paragrafo precedente, qui è possibile leggere il valore istantaneo, ed eventualmente modificarlo opportunamente con il trimmer di precisione, fino ad ottenere il valore desiderato, che lo ricordiamo corrisponde alla metà della Aref (2500 mV o 1650 mV). Infine in alto a dx si ha la possibilità di scegliere tra “seismic” e “environmental”, il primo visualizza i dati sotto forma di count, mentre il secondo in mV, utile per visualizzare i dati di sensori con rette di taratura. Qui si trova anche il tasto di “stop” per interrompere il processo di acquisizione e del .VI in qualunque istante. Infine un ultimo appunto sulle dimensione e risoluzioni della finestra del software. Esse non sono state scelte per chissà quale motivo masochistico ad affaticare la vista, ma ottimizzate per l’uso su netbook con schermo da 10 inch. Questo perché il sistema è pensato per essere portato sul campo, direttamente in campagna per effettuare le acquisizioni, e qui si dimostra prepotentemente la supremazia del netbook, pc leggerissimo con lunga durata della batteria, (il sistema configurato in questo modo non ha consumi particolari, solo l’alimentazione dell’Arduino, in quanto i geofoni sono dispositivi passivi che non necessitano di alimentazione per funzionare).
Selezionando la scheda “Replay” (Fig. 18 ) si ha la possibilità di rivedere i dati acquisiti. Basta selezionare il file salvato, cliccando sull’icona “cartella”, selezionarlo, premere “open”, i dati verranno visualizzati sia graficamente, con la colonna dei millisecondi, oltre che in forma tabellare. Infine nella scheda “sketch” sono contenute le istruzioni per il corretto funzionamento del software di acquisizione, compreso lo sketch da caricare su Arduino.
 
FIG.15 – Range di circuito su breadboard. interfaccia principale del software di acquisizione basato su LabVIEW.
(clicca sull'immagine per ingrandire)
 
 
FIG.16 – Dettaglio delle utilità di miglioramento dell’aspetto grafico, salvataggio dei dati, inserimento
delle rette di calibrazione, scelta della porta COM, sample rate.
(clicca sull'immagine per ingrandire)
FIG.17 – Dettaglio della scheda per la calibrazione.
FIG.18 (clicca sull'immagine per ingrandire)
SCHEMA ELETTRICO
PIANO DI MONTAGGIO
DOCUMENTAZIONE E LINK UTILI

 

Documentazione Tecnica
PDF italiano

Menu