Home
Accesso / Registrazione
 di 

Altimetro GPS: come costruire un altimetro basato sul GPS

Altimetro GPS Lancio di un razzo

Come costruire un altimetro basato sul GPS. Lanciare dei modelli di razzo è di sicuro una esperienza piacevole, ma molto spesso è difficile stabilire quanto alto sia volato il razzo e quale sia stata la sua velocità, fattori entrambi essenziali quando bisogna tirare le somme e fare le considerazioni sull’ultimo volo.

Tra le varie proposte online, c’è quella di Chris, che ha di recente costruito un altimetro basato sul GPS per la USC Rocket Propulsion Lab, in modo che essa possa tracciare le prestazioni del loro ultimo progetto. Il circuito si basa su un Picaxe 18x ed utilizza un modulo GPS per ottenere i dati NMEA sull’altitudine. Una volta che i dati sono stati acquisiti, vengono memorizzati su di una memoria EEPROM esterna, per essere poi controllati dopo che il razzo è stato recuperato.

Come costruire un altimetro basato sul GPS

Sfortunatamente Chirs non ha fornito alcuna immagine relativa alla scheda che ha costruito, ma ha realizzato questo diagramma del circuito e ha reso disponibile il codice sorgente: carne al fuoco dunque ce ne è. Chris ha anche fatto sapere che il logger del GPS ha funzionato in modo perfetto a parte per un piccolo lasso di tempo in cui il modulo GPS ha perso temporaneamente il contatto con il satellite. Ecco una schema completo del lavoro:

Come funziona un altimetro basato sul GPS

Questo dispositivo è stato creato, a detta di Chris, in modo piuttosto frettoloso (per questo non è presente l’immagine della scheda) per l’USC Rocket Propulsion Lab, un dipartimento universitario di ricerca sui satelliti di alta quota. Quindi, come abbiamo accennato, è stato utilizzato un microcontrollore Picaxe 18x e il dispositivo accetta il flusso di dati GPS NMEA a 4800 baud (su questo l’autore del progetto non ha la certezza al 100%). Esso inoltre registra l’altitudine e la trasmette ad una memoria esterna EEPROM 24LC512 e poi la rilegge una volta che la sessione si è conclusa. Nella dimostrazione di Chris, è possibile vedere dove il modulo GPS ha perso il contatto con il lock del satellite durante il ritorno a terra. Il razzo ha raggiunto una altitudine massima di oltre 6000 metri (18000 piedi).

Come creare un altimetro basato sul GPS: il codice sorgente

Come annunciato in precedenza, ecco il codice sorgente fornito dall’autore del progetto.

'
sertxd("online",13,10)
i2cslave %10100000, i2cfast, i2cword
high 5
w1=0
if input0=0 then readback

main:
'if b7 = 'V' then no signal, if 'A' then signal

serin 2, N4800,("$GPRMC,"),b0,b0,b0,b4,b5,b6,b0,b7
if b7 = "V" then goto nosig

'altitude
'serin 2,N4800,("$GPGGA,"),b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,
b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b9,b0,b0,b0,
b0,b0,b0,b0,b0,b1,b2,b3,b4,b5,b6,b7,b8

'serin 2, N4800, ("$GPGGA,"), b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,
b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,
b0,b0,b0,b0,b1,b2,b0,b4
'Sertxd(13,10,"Ele=",b1,b2,".",b4) 'show it on LCD
'pause 100

'48 characters to skip first
serin 2,N4800,("$GPGGA,"),b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,
b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,
b0,b0,b0,b0,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13

'sertxd(13,10,"KPH=",b1,b2,".",b3) 'show it on LCD

if b7="," then case1
if b8="," then case2
if b9="," then case3
if b10="," then case4
if b11="," then case5
if b12="," then case6
	
sendalt:
if b5="," then lockbuterror
low 5
pause 100
high 5
sertxd(13,10,"Alt=",b5,b6,b7,b8,b9,b10,b11,b12,13,10,"w1:",#w1) 'show it on LCD
writei2c w1,(b5,b6,b7,b8,b9,b10,b11,b12)
pause 200
'readi2c address,(b5,b6,b7,b8,b9,b10,b11,b12)
'sertxd(13,10,"Alt2=",b5,b6,b7,b8,b9,b10,b11,b12) 'show it on LCD

w1=w1+8

goto main

nosig:
sertxd("No signal!",13,10)
low 5
pause 50
high 5
pause 50
low 5
pause 50
high 5

goto main

case1:

b7=0
case2:
b8=0
case3:
b9=0
case4:
b10=0
case5:
b11=0
case6:
b12=0

goto sendalt

readback:
	
	readi2c w1,(b5,b6,b7,b8,b9,b10,b11,b12)
	if b5=0 then done
	sertxd(b5,b6,b7,b8,b9,b10,b11,b12)
	w1=w1+8
	low 5
	pause 200
	high 5 
	pause 50
	low 5
	pause 50
	high 5
	goto readback	
done:
	low 5
	end		

lockbuterror:
low 5
goto main

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di FlyTeo

Interessante!

Bè, direi che per i progetti fatti in casa va più che bene..
Al liceo avevo costruito un razzo ad acqua..probabilmente sarebbe stato utile questo circuitino al tempo..avrebbe sicuramente dato qualche punto in più al mio fantastico progetto ;-)

ritratto di linus

ma il dispositivo

mi chiedo se questo dispositivo era montato sul razzo, anche se penso di si, mi chiedo se il razzo fosse esploso per qualche avaria al propulsore, sarebbe andato il fumo, tutto, sia il razzo che il GPS.

ritratto di Edi82

si

Era montato sul razzo e con la'varia al razzo non si sarebbe potuto verificare alcun ndato, visto che questa operazione veniva compiuta dopo il recupero del razzo

ritratto di linus

in pratica

Grazie della conferma, in pratica era un ricevitore satellitare che registrava le coordinate satellitari e queste quando il razzo cadeva venivano analizzate, stavo pensando se la perdita della posizione a 4000 metri sia stata dovuta a qualche zona d'ombra rispetto ai satelliti oppure sia dovuta ad altre cause, poiché risulta importante sapere se per esempio la velocità del razzo dia dei problemi per l'aggancio dei satelliti.

ritratto di Fabrizio87

Per cosa riguarda il sistema

Per cosa riguarda il sistema GPS avendolo provato personalmente arriva fino 800 km/ ora senza problemi,
per chi volesse sapere dove ho trovato quella velocità il mio ultimo viaggio in aereo Milano a Parigi ,
Chiaramente a questa velocità non riesce più il mio navigatore a fornirmi cartine in tempo reale .
Comunque le prestazioni rimangono abbastanza buone fino a velocità in cerca 250 km/ ora dove riesce ancora a stabilire un percorso e mostrare l'apposizione sulla cartina senza grosse difficoltà , a partire da 300 km / ora ha grossi problemi per determinare un percorso .

Per il sistema GPS è necessario fare una considerazione esistono due categorie di prestazioni quei civili e quelle militari che usano due tipi di segnali diversi L1 e L2 , per cosa riguarda il segnale L2 non ci sono sul problema di aggancio visto che si usa tranquillamente come sistema secondario sui aerei di linea per determinare l'apposizione approssimativa di dove si trova , ma per la sua natura militare di questo sistema Ancora nessun aereo affidamento puro su questo sistema ,
Per cosa riguarda l'altitudine non ci sono problemi visto che omicida agganciavano anche 12.000 m di altitudine senza problemi visto che la quota massima degli aerei commerciali .

Per cosa riguarda l'articolo in sé lo trovo interessante come progetto e alcune specifiche le trovo note e molto interessante come scelte tecniche ,

prima di tutto la scelta del GPS come soluzione per calcolare l'altitudine è molto più interessante e qualunque altro metodo tradizionale che si basa sulla pressione atmosferica visto che tale pressione non è stabile in questi veicoli e potrebbe dare problemi di affettività durante la lettura , a differenza del GPS essendo un sistema basato su rilevamenti temporali non soffra di questi problemi .
Una cosa notevole è la semplicità di realizzazione di un'idea mia più semplice meno ci sono problemi che possono sovvenire qui è stato proprio spinto all'estremo il modulo di rilevamento, la memoria e il sistema di conto più la batteria .

Un'altra scelta tecnica che m'interessa particolarmente è stata scelta del linguaggio di programmazione Della microcontrollori , è stato usato il linguaggio Basic o almeno lo deduco dal sintassi delle righe d'istruzione una scelta particolarmente azzeccata visto che i migliori compilatori che esistono sul mercato per il PIC della microchip lavora con il linguaggio Basic .

quindi intimidazioni da tutte le punti di vista .

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 9 utenti e 51 visitatori collegati.

Ultimi Commenti