Test dei sensori di temperatura e pressione e del GPS

Il 6 e 7 giugno 2010 Francesco Sacchi ha effettuato una serie di test sulla scheda madre per il primo volo di StratoSpera, in particolare per verificare i sensori di temperatura e pressione e il GPS. In questo guest post racconta come ha individuato e risolto alcuni problemi. Francesco ci aiuta nello sviluppo della scheda madre insieme con Develer s.r.l., la sua società di progettazione hardware e software.

I geek interessati ai dettagli tecnici e al debugging si mettano comodi, lascio la parola a Francesco.
– Paolo
Come accennato in un altro post, eccomi qui a fare un resoconto delle ultime attività svolte a cavallo tra domenica e lunedì scorsi [6 e 7 giugno 2010].
Per prima cosa abbiamo terminato di montare i sensori di temperatura, foto allegata:
Scheda madre di StratoSpera

Scheda madre di StratoSpera

Quel filo nero che termina con un puntolino giallo è il sensore di temperatura esterno di tipo NTC, ecco il datasheet: http://www.meas-spec.com/WorkArea/downloadasset.aspx?id=6047&LangType=1033
Un altro sensore identico è montato direttamente sulla scheda per rilevarere la temperatura interna.
In passato avevo detto che per la temperatura interna potevamo usare un altro tipo di sensore (tmp123 di Texas) che è digitale. Ho optato per usare due sensori identici NTC in modo da avere lo stesso codice che legge la temperatura, usato per entrambi i sensori. Questo è stato un bene, dopo spiego perché.
Abbiamo fatto un po’ di prove sui sensori di temperatura e su quello di pressione, ecco una schermata con il log dei dati:
Log dei sensori di temperatura e pressione

Log dei sensori di temperatura e pressione

Come si vede le due temperature sono pressocché identiche dato che i sensori erano molto vicini.
Per testare le cose per bene, ho simulato che la temperatura fosse molto bassa, intorno a -40°C. Fare questo è molto semplice quando il sensore è una resistenza variabile: ho semplicemente sostituito il trasduttore con una resistenza fissa di valore uguale a quello che le tabelle danno per un sensore di quel tipo a -40°C.
Risultato: la temperatura letta non scendeva sotto -6°C!
Ci abbiamo lavorato un bel po’, poi oggi pomeriggio [9 giugno 2010] abbiamo scoperto che la scheda di sviluppo che utilizziamo aveva un difetto, una specie di incisione che tagliava una pista sul circuito stampato! Una cosa incredibile, mai capitata prima, fatto sta che questa pista portava alimentazione al convertitore ADC interno del microprocessore, e senza alimentazione, i valori acquisiti dai sensori erano completamente sballati quando si andava fuori da un range di valori di metà scala. Una cosa che non ci saremmo mai accorti se non avessimo fatto questi test.
Domenica era una bella giornata, molto soleggiata e un po’ afosa.
Abbiamo deciso di fare una scampagnata e visto che c’eravamo, ci siamo portati dietro la scheda e la radio.
Sabato avevo messo su un firmware in grado di leggere la posizione GPS e inviarla via radio, ogni due minuti.
Ho predisposto anche  una stazione base presso la nostra sede, in modo da ricevere i messaggi inviati dalla scheda.
Ecco una foto del payload collocato sul cruscotto della mia macchina:
Payload sul cruscotto della macchina

Payload sul cruscotto della macchina

Ecco un log di tutti i messaggi ricevuti:
I messaggi seguono il protocollo APRS, però la prova è stata interessante, ecco una mappa con solo due dei punti ricevuti:
E’ interessante notare che appena ho iniziato a salire in altitudine un po’, subito la ricezione radio è migliorata.
Il punto più alto a cui siamo arrivati, era a soli 632m e ha consentito una ricezione pressoché perfetta dei messaggi, anche al punto di massima distanza che era di 8km!
Questa prova ha messo alla luce un altro problema, prontamente risolto.
Il GPS, quando non ha un fix stabile, commette errori di posizionamento, anche sull’altitudine.
Questi errori possono essere anche di qualche centinaio di metri. Se l’altitudine è bassa, (e a Calenzano è di circa 70m) può succedere che con l’errore essa sia anche negativa.
Niente di male, una altitudine negativa ha perfettamente senso, peccato che il nostro codice non fosse pensato per gestirla, con il risultato che non aspettandosi misure negative, i dati andavano in overflow facendo schizzare l’altitudine inviata nei messaggi fino a 65500 metri! Questo comportamento è visibile nei file di log, all’inizio, quando il GPS ha appena preso il fix.
Meno male abbiamo fatto questo test, altrimenti, in caso di fix GPS incerto, avremmo corso il rischio di attivare il cutoff per sbaglio!
Alla fine della giornata, eccoci parcheggiati al fresco in cima ad un monte:
Auto con il payload per i test

Auto con il payload per i test

Per adesso basta così, vi anticipo che in questi giorni lavoreremo al sistema di salvataggio su SD, e contiamo entro fine mese di fare un’altra gita sui monti andando più lontano questa volta.

Alla prossima!
– Francesco Sacchi

Paolo Amoroso

Divulgatore dell'astronomia e dello spazio appassionato di scienza e tecnologia

6 Risposte

  1. RikyUnreal ha detto:

    Sulla macchina dovevate mettere un adesivo gigante di StratoSpera 🙂

  2. giacomo ha detto:

    Ciao!Innanzitutto complimenti! Una domanda…come riceverete i dati a terra? Ho visto il log dei dati (link) e mi sembra di aver capito che avverrà via radio! Però se non sbaglio non sono ammesse trasmissioni dall’aria a terra. Avete ottenuto dei permessi?
    ripeto, non sono esperto, magari mi sbaglio e si può!

  3. Michael ha detto:

    Ciao Giacomo.
    Per questa prima missione non trasmettiamo dati a terra, ci limitiamo a memorizzarli in una memoria interna, e recuperiamo il payload.
    Per localizzarlo utilizziamo un tracker GSM, e fino a prova contraria, un cellulare si può usare terra/aria 🙂

    La questione delle trasmissioni radioamatoriali terra aria è dibattuta. Hai ragione, non si può, e siamo uno dei pochi paesi al mondo in cui è proibito.
    Il ministero mi ha risposto picche alla richiesta di qualsivoglia permesso.
    Siamo alla ricerca di alternative per il prossimo anno.

  4. Alessio ha detto:

    Lavoro davvero accurato e completo, complimenti!!
    Sono uno studente di seconda superiore e la nostra scuola partecipa alla fiera della scienza di Padova. Tra i vari progetti proposti vi era il lancio di un pallone sonda con cui eseguire rilevazioni meteorologiche, quali pressione e temperatura. Inutile sottolineare che tale proposta mi ha subito colpito. Tuttavia avrei alcune domande da porre e chiedo anticipatamente scusa se queste possono sembrare banali:
    – La scheda madre è stata sviluppata appositamente oppure comprata?
    – Per il rilevamento di pressione avete usato un trasduttore apposito? In tal caso è possibile colllegarlo direttamente alla scheda madre?
    – Qual era all’incirca il peso del computer di bordo completo?

  5. Paolo Amoroso ha detto:

    @Alessio La scheda madre è stata sviluppata appositamente dal nostro sponsor Develer e include un trasduttore per la misura di pressione gestito dalla scheda, un sensore commerciale, ma non conosco i collegamenti specifici. Non so il peso della sola scheda, ma nei nostri voli l’intero carico del pallone pesa in genere meno di 1 chilo.

  1. 1 Settembre 2010

    […] computer di bordo con datalogger per posizione GPS, altitudine, temperatura e pressione […]