![Page 1: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/1.jpg)
Realizzazione di una scheda di Realizzazione di una scheda di acquisizione dati da interfacciare ad un acquisizione dati da interfacciare ad un microprocessore ARM ed impiego dellamicroprocessore ARM ed impiego della
stessa per applicazioni mobili stessa per applicazioni mobili
Laureando:Laureando: Relatori:Relatori:Danilo DalenaDanilo Dalena Sergio CarratoSergio Carrato
Slim HachaniSlim Hachani
![Page 2: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/2.jpg)
2
Premessa
GE863-PRO3 (Telit): Processore GSM/GPRS
quadband Microcontrollore ARM9
AT91SAM9260:• 220 MIPS• Interfacce SPI, I2C, SD/MMC,
USB,…• Sistema operativo Linux
8/64 MB SDRAM + 4 MB Flash
![Page 3: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/3.jpg)
3
Problema
Sfruttare GE863-PRO3 per sviluppo di applicazioni quali:
Rilevazione del nord magnetico (Compass)
Realizzazione di un sistema di navigazione inerziale (INS)
![Page 4: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/4.jpg)
4
Soluzione
Usare sensori per rilevare: Campo magnetico terrestre Accelerazione di gravità Accelerazione dinamica Velocità angolare
Compass
INS
![Page 5: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/5.jpg)
5
Sensor Board (1/3)
Componenti scelti: Campo magnetico Magnetometro
HMC1052L (assi x e y) + HMC1051Z (asse z)
Accelerazione (statica + dinamica) Accelerometro ADXL330 (assi x, y e z)
Velocità angolare Giroscopio 3 x LISY300AL (asse z)
Convertitore analogico-digitale AD7718
![Page 6: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/6.jpg)
6
Sensor Board (2/3)
LISY300AL (z)
LISY300AL (x)
LISY300AL (y)
HMC1051Z (z)
HMC1051Z (x,y)
ADXL330 (x,y,z)
AD7718:ADC ΔΣ con 10 ingressi 24 bit di risol interfaccia SPI
Connettore26 pin
![Page 7: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/7.jpg)
7
Sensor Board (3/3)
![Page 8: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/8.jpg)
8
Interfacciamento
GE863-PRO3
Interface Board
Motherboard
Adapter Board
![Page 9: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/9.jpg)
9
Linux O.S.
Formato da: Filesystem (JFFS2, contiene directory
predefinite) Linux kernel
gestisce processi, memoria e periferiche dispone di moduli, cioè driver per uso di:
GPIO SPI SD/MMC
![Page 10: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/10.jpg)
10
Acquisizione
Si sviluppa applicativo in C che: Riceve i dati dei sensori tramite bus SPI Salva i dati su scheda SD
Da analisi statistica dei dati si ricava: Errore sistematico Errore statistico
![Page 11: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/11.jpg)
11
Accorgimenti
Per ridurre: Errore sistematico
calibrazione Errore statistico
Riduzione banda segnaleAumento tempo acquisizione dell’ADCFiltro alpha-trimmed
![Page 12: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/12.jpg)
12
Algoritmo Compass (1/2)
Per rilevare nord magnetico, si ha
θ = arctan (mY / mX)
Sensor Board su piano xy
Altrimenti tilt compensation(calcolo inclinazione Sensor Board)
![Page 13: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/13.jpg)
13
Algoritmo Compass (2/2)
θ = arctan (Y / X)
X = mX ·cos(φ) + mY ·sin(φ) ·sin(ρ) - mZ ·sin(φ) ·cos(ρ)
Y = mY ·cos(ρ) + mZ ·sin(ρ)
![Page 14: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/14.jpg)
14
Algoritmo INS (1/2)
![Page 15: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/15.jpg)
15
Algoritmo INS (2/2)
ωB(t) C(t) aG(t) = C(t) · aB(t)
vG(t+δt) = vG(t) + δt · (aG(t) - gG)
sG(t+δt) = sG(t) + δt · vG(t)
![Page 16: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/16.jpg)
16
Risultati
Algoritmo Compass: OK, con precisione di ± 0.3°
Algoritmo INS: Errore crescente nel tempo,
con drift di 5.5 m dopo 60 secondi
![Page 17: Laureando:Relatori: Danilo DalenaSergio Carrato Slim Hachani](https://reader034.vdocuments.pub/reader034/viewer/2022051316/568157ef550346895dc567d1/html5/thumbnails/17.jpg)
17
Conclusioni
Per migliorare algoritmo INS