sabato 4 aprile 2020

Deriva termica su accelerometri MEMS

Stavo registrando dati con il telefono usando questa mia applicazione quando mi sono accorto che i dati non erano piu' stabili ma avevano una deriva. Rispetto alle prove precedenti stavo registrando usando come alimentazione del cellulare un pannello solare


Questi sono i grafici di pitch e roll in funzione del tempo. Come si vede i dati sono sincronizzati e seguono il ciclo diurno o meglio quello della temperatura (la prova e' durata tre giorni e nel giorno centrale era nuvoloso ed il minimo e' appena accennato)




Si tratta quindi di una deriva termica. Non avendo sul Nexus 5 un termometro (ho provato a loggare di dati del termometro della batteria ma sono dati completamente inutili con temperatura di 29 gradi C con una temperatura ambiente sempre inferiore ai 20 C)

C'e' un sistema semplice per ripulire la deriva termica e vedere se il telefono sta ruotando un pitch/roll o se e' solo l'effetto della temperatura

Tenendo il telefono fermo e plottando pitch vs roll si vede che le due misure sono fortemente correlate


il valore di R2 di correlazione e' di circa 0.8 (quindi abbastanza scarso) con una equazione

roll = 0.36pitch + 1.53

a questo punto si puo' calcolare, tramite questa formula, la distanza di ogni punto dalla retta di regressione. La distanza massima dei punti in condizioni statiche e' pari a 0.081 
Se la distanza di un punto, indipendentemente dalla temperatura, e' superiore al valore sopra riportato e' molto probabile che sia uno spostamento significativo e non una deriva termica

Per completezza questo e' il grafico in cui in ascisse ci sono i minuti da inizio ricarica solare ed in ordinata la percentuale di carica del telefono


Nessun commento:

Posta un commento

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...