9
VIBRAZIONI A CONFRONTO Il presente lavoro ha lo scopo di realizzare un dispositivo per la rilevazione e il confronto, tramite risposta in frequenza, del livello di vibrazioni di due stampanti 3D, la Spiderbot e la D330, in diverse condizioni d’utilizzo. La catena di misura è costituita da: Un trasduttore, ossia uno strumento sensibile allo spostamento, alla velocità o all’accelerazione, in grado di avere in uscita una tensione(o altra grandezza elettrica) proporzionale al valore della grandezza in ingresso; Una scheda Arduino Uno, ossia un microcontrollore che, opportunamente programmato e tarato, indica il valore della grandezza(spostamento, velocità, accelerazione) rilevata dal trasduttore; Un PC con programma per l’elaborazione dei dati. (INSERIRE IMMAGINE DELLA CATENA) IL TRASDUTTORE Il trasduttore è costituito da un accelerometro triassiale Hitachi H48C, il quale, riunisce al suo interno le caratteristiche di miniaturizzazione dei MEMS(Micro Electro Mechanical System) con quella dei circuiti integrati in quanto sono presenti sia un condizionatore di segnale(CS), il quale tratta variamente il segnale(amplificandolo e/o filtrandolo), e un convertitore analogico digitale A/D che ne esegue il campionamento. Il segnale proveniente dal trasduttore è un segnale analogico continuo, il cui andamento è analogo a quello della grandezza misurata; il convertitore A/D rileva il valore istantaneo del segnale a intervalli regolari di tempo, trasformandolo in un insieme discreto di valori(segnale digitale) che possono essere gestiti ed elaborati da un calcolatore. ARDUINO UNO Caricando su Arduino il codice sviluppato da Robert F. McCollough reperito in rete sul forum di Arduino stesso(inserire link) è stato possibile dialogare con l’accelerometro e convertire i valori di tensione rilevati lungo i tre assi in valori di accelerazione di gravità. E’ stato verificato che desse il valore di 1 G lungo l’asse verticale in condizioni di riposo.

Vibrazioni a Confronto

Embed Size (px)

DESCRIPTION

vibration

Citation preview

VIBRAZIONI A CONFRONTO

Il presente lavoro ha lo scopo di realizzare un dispositivo per la rilevazione e il confronto, tramite risposta in frequenza, del livello di vibrazioni di due stampanti 3D, la Spiderbot e la D330, in diverse condizioni d’utilizzo.

La catena di misura è costituita da:

Un trasduttore, ossia uno strumento sensibile allo spostamento, alla velocità o all’accelerazione, in grado di avere in uscita una tensione(o altra grandezza elettrica) proporzionale al valore della grandezza in ingresso;

Una scheda Arduino Uno, ossia un microcontrollore che, opportunamente programmato e tarato, indica il valore della grandezza(spostamento, velocità, accelerazione) rilevata dal trasduttore;

Un PC con programma per l’elaborazione dei dati.

(INSERIRE IMMAGINE DELLA CATENA)

IL TRASDUTTORE

Il trasduttore è costituito da un accelerometro triassiale Hitachi H48C, il quale, riunisce al suo interno le caratteristiche di miniaturizzazione dei MEMS(Micro Electro Mechanical System) con quella dei circuiti integrati in quanto sono presenti sia un condizionatore di segnale(CS), il quale tratta variamente il segnale(amplificandolo e/o filtrandolo), e un convertitore analogico digitale A/D che ne esegue il campionamento. Il segnale proveniente dal trasduttore è un segnale analogico continuo, il cui andamento è analogo a quello della grandezza misurata; il convertitore A/D rileva il valore istantaneo del segnale a intervalli regolari di tempo, trasformandolo in un insieme discreto di valori(segnale digitale) che possono essere gestiti ed elaborati da un calcolatore.

ARDUINO UNO

Caricando su Arduino il codice sviluppato da Robert F. McCollough reperito in rete sul forum di Arduino stesso(inserire link) è stato possibile dialogare con l’accelerometro e convertire i valori di tensione rilevati lungo i tre assi in valori di accelerazione di gravità. E’ stato verificato che desse il valore di 1 G lungo l’asse verticale in condizioni di riposo.

ELABORAZIONE DATI

Un segnale è composto da una o più frequenze e può essere visto in due modi differenti: nel dominio del tempo o nel dominio della frequenza. Il dominio del tempo indica come il segnale cambia nel tempo; il dominio delle frequenze indica quanto quella data frequenza influisce sulla formazione del segnale. Noi possiamo andare dal dominio del tempo a quello della frequenza usando uno strumento chiamato trasformazione di Fourier.

Diagrammando i valori ottenuti dalle rilevazioni in funzione del tempo, risulta difficile capire le frequenze che compongono il segnale. Convertendo quindi il segnale nel dominio della frequenza, la trasformazione di Fourier discreta è trovata effettuando la FFT.

Una volta ottenuti i dati nel dominio del tempo è stato necessario valutarli nel dominio delle frequenze in modo tale da poter ricavare le frequenze proprie del sistema. Per fare ciò è stato necessario ricorrere alla trasformata di Fourier, la quale afferma che ogni funzione periodica può essere scomposta come somma di

infinite funzioni seno e coseno(serie di Fourier). La serie di Fourier si applica a segnali continui nel tempo, ma i segnali acquisiti col campionamento A/D sono discretizzati ad intervalli Dt e osservati N volte per un tempo T limitato. Si usa quindi la trasformata discreta di Fourier(DFT). Sono, però, stati sviluppati algoritmi più veloci(chiamati FFT, fast Fourier Transform), che richiedono molte meno operazioni.

DESCRIZIONE DEL CODICE

E’ difficile identificar la frequenza che compone il segnale dalla sola osservazione dell’andamento temporale. Risulta necessario quindi convertire il segnale nel dominio della frequenza tramite la trasformata di Fourier.

Quindi, dato in ingresso un vettore x di N elementi(nel nostro caso saranno i valori di accelerazione lungo un asse), la funzione in Matlab Y=fft(x) effettua la trasformata discreta di Fourier utilizzando la Fast Fourier Trasform. Se x è una matrice effettuerà la trasformata di Fourier per ogni singola colonna quindi nel nostro caso effettuerà direttamente la trasformata lungo i tre assi.

CODICE

Di seguito è riportato il codice utilizzato per il calcolo della FFT

% Calcolo della FFT(Fast Fourier Trasform)N=max(size(Dati)); % vettore numero puntiL=(Dati(N,1)-Dati(1,1)); % durata segnaleFs=1000*N/L; % frequenza di campionamentofor i=2:4

% plot accelerazione dominio tempofigure();plot(Dati(:,1),Dati(:,i));xlabel('time[ms]');ylabel('[g]');% trasformata FourierNFFT =2^nextpow2(N);%in potenze di 2 FFT è più efficienteY=fft(Dati(:,i),NFFT)/L;f=Fs*linspace(0,1,NFFT/2+1); %vettore delle frequenze

% plot accelerazione dominio frequenzafigure();plot(f,abs(Y(1:NFFT/2+1)))xlabel('frequency[hz]');ylabel('[g]');

end

Dati è una matrice di quattro colonne: la prima rappresenta gli istanti temporali di rilevazione e le altre tre i valori di accelerazioni lungo l’asse x, y e z.Il 1000 presente nella frequenza di campionamento è per trasformare gli istanti temporali da millisecondi a secondi.NFFT è uno scalare corrispondente alla potenza di due successiva al numero di dati N in possesso. Per esempio, se avessimo N=1000, NFFT risulterebbe pari a 1024. E’ stato fatto ciò, in quanto l’esecuzione della FFT risulta più efficiente per potenze di due, richiedendo un minor numero di operazioni e i valori aggiunti non vanno a modificare i risultati.La riga successiva, Y=fft(Dati(:,i),NFFT)/L;,è il cuore del programma e qui avviene la trasformazione di Fourier. E’ necessario dividere per L in quanto Matlab presuppone L=1.

Successivamente è stato creato il vettore delle frequenze utilizzando solo metà dei valori in quanto la FFT restituisce dei numeri complessi e la seconda metà rappresenta i complessi coniugati della prima metà in ordine invertito.

VERIFICAPer verificare la validità del codice, è stato campionato il segnale generato dalla somma di due sinusoidi di ampiezza 0,4 e 0,6 e frequenza rispettivamente di 15,5 e 15.(durata 10 s, 1024 punti)

RISULTATI

Sono state effettuate misurazioni sulla Spiederbot in condizione di riposo, di lavoro e dopo un impulso e per quanto riguarda la D330 in condizioni di lavoro. Per ogni singola condizione, eccetto l’impulso in quanto l’urto è avvenuto in momenti di tempo differenti, sono state effettuate 5 misurazioni e poi mediate. Di seguito vengono riportati i grafici dell’andamento temporale.

Spiderbot condizione riposo:

Spiderbot impulso

Spiderbot lavoro

D330 condizioni lavoro

Come detto in precedenza, la rappresentazione nel dominio del tempo non permette, però, di avere sufficienti informazioni. Si ricorre quindi alla rappresentazione nel dominio della frequenza. Di seguito si riporta il confronto fra le varie condizioni lungo i tre assi

Come si può notare dai tre grafici sopra, tra i 3,5 Hz e i 6 Hz si hanno valori di ampiezza maggiori con picchi di 3,5*10^-3 g lungo tutti e tre gli assi e per tutte le varie configurazioni.

Inoltre la linea verde, rappresentativa della D330 risulta essere generalmente al di sotto delle altre. Ciò significa che la D330 ha una struttura più rigida rispetto alla Spiderbot.

CONCLUSIONI