Ciao ragazzi,
grazie della collaborazione!
Allora vogliamo ottenere una misura di posizione abbastanza precisa, come ho detto nel mio primo post l'errore deve rimanere entro 0.5m dopo 60 secondi di utilizzo.
Per raggiungere questo grado di precisione ho pensato di usare un ADC a 16bit:
Sistema: MMA7361L + ADC 16-bit
Sensibilità accelerometro: 800 mV/g
Fondo scala accelerometro: +/- 1.65V (tutti positivi)
Risoluzione ADC: 2^10 = 65536 bit
Vref ADC: 3,3V
Peso di un digit in V: 3,3V/65536 = 5,0410^-5 V/digit
Peso di un digit in m/s^2 : 5,0410^-5 / 0,8V * 9,81 = 6,1710^-4 m / s^2digit
Considerando questo sistema l'errore intrinseco massimo che deriva dalla quantizzazione equivale a:
a_err_max = 0.5 * 6,17*10^-4 * 60^2 = 1,11 m
Guardando il risultato dell'ADC a 10-bit si nota che il valore della bracciata massimo di bracciata è di circa 60 digit. Questo equivale a:
Accelerazione: 0,0395 * 60 = 2,37 m/s^2
Tensione: 3,22*10-3 * 60 = 0,1932 V
Notiamo quindi che è possibile amplificare il valore in uscita dall'accelerometro, siccome la massima tensione dovuta all'accelerazione raggiungibile in fase di bracciata è ben lontana dal fondo scala:
Fattore_di_scala_max: 512/60 = 8,53
A questo punto il nuovo errore massimo dovuto alla quantizzazione si riduce:
Sensibilità accelerometro amplificato: 0,88,53 = 6,82 V/g
Peso di un digit in m/s^2: 6,1710^-4 / 6,82= 9,0510^-5 m / s^2digit
a_err_max = 0,5 * 9,05*10^-5 * 60^2 = 0,16 m
Qui avevo fatto un esempio con un accelerometro che avevo già a casa.
Da notare che il quanto è di 5.04*10^-5.
Ho fatto poi alcune considerazioni sul rumore di quell'accelerometro:
Negli accelerometri il rumore è influenzato da 2 parametri:
Densità di rumore, che è un parametro intrinseco dell'accelerometro
Bandwidth che viene determinata con i filtri che vengono posti in uscita agli assi dell'accelerometro.
La maggioranza degli accelerometri possiede integrata già la resistenza per realizzare il filtro passa-basso in uscita, così è sufficiente aggiungere solo il condensatore.
Per calcolare la Bandwidth è sufficiente usare la seguente formula:
BW = 1/(2 * ? * R * C)
Rappresenta la massima frequenza alla quale possiamo campionare valori affidabili dalle uscite. Siccome non dobbiamo misurare delle vibrazioni, sono sufficienti poche volte al secondo.
Conoscendo il valore della larghezza di banda e la densità di rumore, il valore del rumore è ricavabile da questa relazione:
Noise = Noise Density * sqrt(BW * 1.6)
(Trovata sul sito dell'ANALOG DEVICES: Accelerometer Specifications - Quick Definitions | Analog Devices
Quindi prima di poter effettuare un calcolo di rumore sarebbe necessario decidere la frequenza di campionamento delle accelerazioni.
A. MMA7361L
Noise density: +/-350ug/ sqrt(Hz) misurato tra 0.1Hz e 1kHz
Frequenza di variazione accelerazione: 10Hz
Resistenza interna filtro RC: 32Kohm
Sensibilità accelerometro: 800 mV/g
Calcolo il valore del condensatore per ottenere una Bandwidth di 10Hz:
15 = 1/(2 * ? * 32K * C) --> C = 1/(2 * ? * 32K * 10) = 5*10-7 = 500nF
Avendo scelto una BW = 10 HZ calcoliamo il rumore:
Noise_g = 35010^-6 * sqrt(101,6) = 1,410^-3 g
Noise_V = 1,410^-3 * 0,8 = 1,12*10^-3 V = 1,12mV
Se noi volessimo abbinare questo accelerometro ad un ADC a 16-bit avremmo un quanto di :
q = 3.3/2^16 = 5,0410^-5
Che risulta ben inferiore al valore del rumore e quindi le nostre misure sarebbero totalmente inaccurate. Infatti il rapporto Rumore/quanto è:
SNR = q / Noise_V = 1,1210^-3 / 5,04*10^-5 = 22.2
La frequenza che richiede il calcolo del rumore è quella con la quale varia la frequenza vero?
Comunque avevo esagerato in un calcolo precedente, il rumore è 22 volte più grande del quanto. Ma di che rumore si tratta? E' gaussiano?
Supponendo che i miei calcoli siano esatti, come faccio ad ottenere una misura corretta dall'accelerometro?
Saluti e grazie.