Revisione sketch

Ciao a tutti !
Prima di effettuare il lancio del mio pallone meteo, vorrei un parere sul codice, se ho scritto qualche fesseria o se si può ancora ottimizzare ! :grin:

Per il progetto potete trovare tutte le info qui: anerdev.net/assm
Mentre in allegato lo sketch.

Spero che qualche buon'anima lo legga lol
Grazie

betanoserial2.ino (8.85 KB)

se cade la connessione GSM,non lo ricolleghi più?(o forse la libreria prevede la riconnessione automatica)

sbaglio o mandi un messaggio ogni 20-30 secondi?hai qlk tariffa particolare?(ora sappiamo ttt il tuo num di cell :slight_smile: )
forse era più economica una connessione internet..un pacchetto da 1GB,e ogni volta mandi 1-2 kb -> vai dall'altra parte del mondo
o prevedi che col paracadute impieghi pochissimo tempo ad atterrare?(nn me ne intendo)

l'allarme parte anche mentre sali?non sarebbe meglio una cosa del tipo 3sec acceso,3 sec spento?

il gsm trasmette anche in alta quota,quando non ricevendo segnale,trasmette a piena potenza..le batterie sono sufficienti?quanto tempo max può passare dal lancio al recupero?

Ti sei già districato tra i vari regolamenti ENAC, ENAV, regi decreti, autorizzazioni e domande in carta bollata?

@m_ri per quanto riguarda il gsm devo vedere, domani farò dei test sento fuori casa alternativamente. Il messaggio parte ogni 15 secondi solo se si è ad una quota i feritore ai 500 m ed ho impostato una tariffa. Internet la vedo dura quando sei bello alto, già ho provato sui monti ! L'allarme si attiva sotto i 500 m ed anche se l'Arduino si scarica, ho fatto un piccolo sistema automatizzato con 2 npn (ci sono gli schemi sul sito)m Tempo Max ascesa/discesa circa 2 ore, consumo totale apparecchi 250 mA di picco, ho delle batterie da 2800 mAh (da futura), e sono montate in serie per fornire 12 V al jack del Mega.
@PaoloP oh yes ! Sul mio blog pubblicherò una guida approfondita su come ottenere il tutto.

Avete notato qualche errore nel codice ? :slight_smile:

Grazie

Non ho guardato ancora il codice ma sono curioso.
Hai messo in preventivo che salendo fino a 30/35 Km le correnti potrebbero portarti il pallone a ricadere in mare? :wink:
Ad esempio, simulando in questo momento mi ha dato un'atterraggio in pieno golfo di Castellammare :stuck_out_tongue_closed_eyes:

Ho visto il codice. In caso che qualcosa vada in avaria, esempio sensore di temperatura, blocchi il codice in un loop infinito. Non potresti semplicemente segnalare l'avaria con un certo numero di lampeggi del led o beep di un ronzatore? Come ad esempio durante il POST fatto dalle schede madri? E magari disattivare quella funzione senza bloccare le altre? Questo tornerebbe utile anche per un'altra cosa che ti dico dopo.
Inoltre il codice di lampeggio invece di ripeterlo tante volte potresti infilarlo in una routine da chiamare quando serve.

Altra cosa. Visto che il pallone una volta partito è irraggiungibile, in caso si blocchi qualcosa il progetto diventa inutile. Prevedi quindi un reset basato sul watchdog col massimo periodo possibile (8 secondi) in modo che in caso si blocchi il codice da qualche parte, il watchdog resetti la scheda. Al riavvio, visto che disattivi le cose che non funzionano, non avresti una scheda completamente inutilizzabile.

PaoloP:
Ti sei già districato tra i vari regolamenti ENAC, ENAV, regi decreti, autorizzazioni e domande in carta bollata?

Intendi il non superare i 100KW di potenza in prossimita' di aereoporti e simili, mentre trasmetti pacchetti di dati contemporaneamente su tutte le frequenze ILS, VOR e LOC ?

:stuck_out_tongue: XD XD XD XD XD

No, intendo che un pallone sonda maggiore di 6Kg con un payload superiore a 3 o 4Kg (non ricordo) deve essere autorizzato e deve avere una superficie riflettente per i radar e un transponder che ne trasmetta l'altitudine e altre amenità varia. Oltre alle solite domande in carta da bollo.

PaoloP:
un transponder che ne trasmetta l'altitudine

Nel vecchio megathread in cui si discusse di un progetto di un pallone sonda mi pare che furono fatte notare un paio di cose: 1) che il pallone non doveva trasmettere dati, 2) che i GPS "civili" non vanno a più di 18000 metri.
Come fa a trasmettere la quota se: 1) non può farlo; 2) dopo 18000 metri non sa a quanto è?

Al legislatore non interessa come fare, ma lo devi fare. :sweat_smile:
Comunque Aner ha detto di avere risolto e illustrerà la procedura nel suo blog.
E' anche possibile che si tenga sotto i limiti per cui non è richiesto tutto ciò.
Aspettiamo cosa ci dirà lui.

Inoltre i due limiti per uso civile:

  • massimo 18 km per l'altitudine
  • 515 m/s per la velocità
    possono essere superati ma non contemporaneamente.

Sul thread che ti dico fu detto più volte che i GPS per uso civile non vanno oltre i 18 Km e che questo era un limite non superabile. Poi non so. Non ho esperienza della cosa.

Ce lo confermerà Aner dopo il lancio. :grin:

EDIT:
Leggendo dal Wiki in inglese

Global Positioning System - Wikipedia
Restrictions on civilian use
The U.S. Government controls the export of some civilian receivers. All GPS receivers capable of functioning above 18 kilometres (11 mi) altitude and 515 metres per second (1,001 kn) or designed, modified for use with unmanned air vehicles like e.g. ballistic or cruise missile systems are classified as munitions (weapons) for which State Department export licenses are required.[66]
This rule applies even to otherwise purely civilian units that only receive the L1 frequency and the C/A (Coarse/Acquisition) code and cannot correct for Selective Availability (U.S. government discontinued SA on May 1, 2000, resulting in a much- improved autonomous GPS accuracy),[67] etc.
Disabling operation above these limits exempts the receiver from classification as a munition. Vendor interpretations differ. The rule refers to operation at both the target altitude and speed, but some receivers stop operating even when stationary. This has caused problems with some amateur radio balloon launches that regularly reach 30 kilometres (19 mi).
These limits only apply to units exported from (or which have components exported from) the USA – there is a growing trade in various components, including GPS units, supplied by other countries, which are expressly sold as ITAR-free.

Mi pare di capire che è lo stesso modulo che si disattiva e questo riguarda soprattutto quelli esportati e venduti negli USA, mentre quelli di altra provenienza (cina) potrebbero esserne non affetti. Inoltre sembra che ci siamo moduli che si disattivano per il superamento di un solo limiti e altri per tutti e due.

Che ci siano moduli che arrivano oltre è certo, c'era un sito in inglese dove c'era una lista dei GPS che non avevano questa restrizione della quota massima. Ma erano tutti modelli vecchiotti.

Ehm ... la mia era una battuta ... :stuck_out_tongue: XD

Comunque, battute a parte, c'e' una cosa che non mi e' molto chiara ... il GPS fonziona per triangolazione dei segnali, e questa triangolazione e' "tarata", se cosi possiamo dire, sulla superficie terrestre, decina di KM piu o meno ... ora, se con il GPS sali oltre una certa quota, la triangolazione dovrebbe risentirne, perche' cambi i vettori ... quindi che senso avrebbe un modulo GPS che funzioni ad una quota in cui la triangolazione darebbe valori errati ?

... o sbaglio ? :roll_eyes:

Aggiornamento:
esistono moduli proprio per l'Arduino dichiarati oltre i 18 Km:
http://ava.upuaut.net/store/index.php?route=product/product&path=59_60&product_id=68

Eccomi ragazzi:

@leo72

Hai messo in preventivo che salendo fino a 30/35 Km le correnti potrebbero portarti il pallone a ricadere in mare?

Con questo tool http://predict.habhub.org calcoli, in base al payload, quanto gas usare e di conseguenza sai a che altitudine esplode il pallone ed a che velocità sale, nel mio caso circa 5 m/s;
con questo tool hai una predizione di volo su per giù precisa: Redirecting you to SondeHub-Amateur...

Ho visto il codice. In caso che qualcosa vada in avaria, esempio sensore di temperatura, blocchi il codice in un loop infinito

questo avviene solamente nella fase di setup, che cmq è avviata a terra e non in aria; il pallone lo lancio quando il loop si avvia.

Inoltre il codice di lampeggio invece di ripeterlo tante volte potresti infilarlo in una routine da chiamare quando serve.

non ci avevo pensato !

Prevedi quindi un reset basato sul watchdog col massimo periodo possibile (8 secondi)

Non ho la minima idea di cosa sia ! Ora guardo un pò.

@Etemenanki ho 10 mW di potenza huahua
@PaoloP anche un pallone da 50 g deve essere autorizzato;

@leo72

  1. che il pallone non doveva trasmettere dati, 2) che i GPS "civili" non vanno a più di 18000 metri.

La prima affermazione è falsa, non puoi trasmettere sulle bande dedicate, per il resto sei ok, io trasmetto in real time su 434,650 Mhz;
la seconda è vera: è un discorso di protezione per i missili balistici; ma non vi so dire se il blocco avviene tramite il ricevitore o sono proprio i satelliti (anche se quest'ultima è veramente improbabile, dato che i ricevitori, da quello che so, ricevono solamente il segnale).

@Etemenanki

e questa triangolazione e' "tarata",

non ti seguo ! Che intendi che sono tarati sulla superficie ? I ricevitori calcolano i tempi di arrivo dei segnali di minimo 3 satelliti, ed escono le coordinate.

anerDev:
non ti seguo ! Che intendi che sono tarati sulla superficie ? I ricevitori calcolano i tempi di arrivo dei segnali di minimo 3 satelliti, ed escono le coordinate.

Forse non mi sono espresso al massimo della chiarezza ... intendo dire che, effettuando la triangolazione mediante i ritardi, questi ritardi in genere sono "calcolati" o previsti, per la distanza della superficie terrestre dai satelliti ... e' vero che in media i satelliti per GPS stanno sui 20000Km di altezza, quindi una decina di KM in piu o in meno non gli fanno un gran che di differenza, ma salendo di quota, e quindi "avvicinandosi" ad essi, ad un certo punto i ritardi iniziano a cambiare, perche' "appiattisci" il triangolo, e quindi introduci un'errore ... inoltre piu sali e piu la "sfera virtuale" data dalla tua altezza, e sulla quale dovresti calcolare la posizione, si allarga ...

Ora non mi ricordo con precisione quale sia il limite massimo entro il quale e' possibile inserire parametri di correzione per ridurre tali errori (come per gli aerei ed i proiettili per obice a guida GPS, ad esempio), ma di sicuro piu si sale e piu si accumulano errori ...

Ah ho capito che intendi dire però non so che dire ! :confused:

anerDev:
Eccomi ragazzi:

@leo72

Hai messo in preventivo che salendo fino a 30/35 Km le correnti potrebbero portarti il pallone a ricadere in mare?

Con questo tool http://predict.habhub.org calcoli, in base al payload, quanto gas usare e di conseguenza sai a che altitudine esplode il pallone ed a che velocità sale, nel mio caso circa 5 m/s;
con questo tool hai una predizione di volo su per giù precisa: Redirecting you to SondeHub-Amateur...

Sì, però io ho simulato un'esplosione a 30 Km d'altezza e, come ti ho detto, il pallone mi è caduto in mare :stuck_out_tongue_closed_eyes:
Lanciando così vicino alla costa il rischio è concreto. Non sarebbe il caso di spostarsi verso il centro dell'isola? :sweat_smile:

Prevedi quindi un reset basato sul watchdog col massimo periodo possibile (8 secondi)

Non ho la minima idea di cosa sia ! Ora guardo un pò.
[/quote]
Il watchdog è un circuito interno al microcontrollore che puoi usare per resettare il chip nel caso in cui il codice si blocchi in un vicolo cieco (codice scritto male) oppure che venga bloccato da un sensore che non risponde più (esempio: aspetti una lettura esterna) e non hai previsto un timeout. Attivato il watchdog, questo circuito incrementa un proprio contatore. Quando va in overflow, avviene il reset. Per evitare questo, si azzera il contatore del watchdog con una particolare istruzione che generalmente si inserisce nel ciclo principale del software, come ultima istruzione, in modo che se il ciclo non viene eseguito del tutto, il watchdog fa il suo corso e resetta il chip. Però va rivista appunto la logica del programma perché ripartendo da zero, viene rieseguito anche il setup e se nel setup ti si blocca il programma in una verifica, poi non funziona più nulla. Ecco perché ti dicevo che dovevi cambiare il setup se poi volevi usare il watchdog.

leo72:
.....
Sì, però io ho simulato un'esplosione a 30 Km d'altezza e, come ti ho detto, il pallone mi è caduto in mare :stuck_out_tongue_closed_eyes:
Lanciando così vicino alla costa il rischio è concreto. Non sarebbe il caso di spostarsi verso il centro dell'isola? :sweat_smile:

Ci sarebbe una soluzione piu "elegante", ma anche notevolmente piu complessa ... inserire tutta l'elettronica in un contenitore sagomato come un glider (navetta planante), completo di controlli ... farlo sganciare in automatico quando il pallone esplode (o poco prima, basandosi sulla quota) ed usare il GPS per farlo tornare planando verso il punto di partenza ... (un po come una "bomba intelligente", ma senza esplosivo :P)

Niente armi e niente corazza, senno dicono che ho la sindrome di Gundam :stuck_out_tongue: XD XD XD ... ma se fosse possibile, vuoi mettere ? ... sonda meteo a rientro automatico con autoguida ... :wink: ]:smiley: :grin: :fearful: