Pagina 1 di 1

Giocando con Arduino 1

Inviato: 26/05/2016, 9:40
da Enotria
.

Cosa sia Arduino credo sia noto a tutti, ma non si sa mai, diciamo allora che è una scheda che contiene tutto quello che serve per costruire delle apparecchiature elettroniche di qualsiasi genere. E’ utilizzato per fare strumenti musicali, per automatizzare la casa, per costruire l’antifurto come vorremmo noi e, naturalmente, è perfetto per giocare con ratemeter e scaler.
Una volta abbinato ad una scheda specializzata nel captare gli impulsi della radioattività, può fare esattamente tutto quello che noi gli chiediamo.
La comunicazione fra noi ed Arduino è attuata mediante un programma che noi stessi scriveremo e con l’aggiunta eventuale di pochi altri componenti.

Dato che noi siamo interessati principalmente ai contatori Geiger e simili, fa subito comodo integrare Arduino con una scheda che, a sua volta, contiene tutto quello che ci serve per fare il NOSTRO strumento.
Di queste schede ve ne sono tante, quella che utilizzo io l’ho scelta perché si integra direttamente, senza alcun bisogno neppure di una saldatura in più, e contiene già la sonda rilevatrice, il generatore di HT (alta tensione), rivelatore di impulsi, beep sonoro, display su cui scrivere le nostre informazioni, ecc. ecc.
1.JPG


E’ la Radiation Sensor Board della Libellium, una scheda che viene fornita con o senza sonda, con o senza display ottico e che costituisce quindi un ottimo punto di partenza per i nostri elaborati.
La grande comodità per un cecato come me, è che non c’è nulla da saldare: display, scheda ed Arduino si incastrano esattamente uno sull’altro facendo un unico pacchetto funzionale, pacchetto a cui manca solo il vostro software per dire cosa e come fare.
2.JPG
A cosa vogliamo giocare oggi ?

Ultimamente si è parlato della misurazione della radioattività mediante il metodo della Media Progressiva e dei vantaggi che questa comporta sia in precisione, sia nella rapidità con cui otteniamo un risultato attendibile.

Allora, perché non facciamo un programma che trasformi il nostro Arduino in uno strumento rilevatore a Media Progressiva ? Così potremo capire e toccare con mano pregi e difetti di questo metodo.

Il programma è ridotto al minimo per non complicare inutilmente, vi sono molte annotazioni esplicative, il nome delle variabili è auto esplicante, ma devo presupporre che chi legge abbia comunque almeno una minima conoscenza di Arduino e della sua programmazione.

Il software da inserire è riportato in un file di testo, in modo che chiunque lo possa visualizzare:
Software.txt
Alcune note al riguardo:
- la base dei tempi è fissata in 10 secondi
- il pin di Arduino che riceve gli impulsi è il n. 2 e lo fa tramite un interrupt, cioè quando arriva l’impulso, qualunque cosa Arduino stia facendo, si interrompe e lo conteggia, poi riprende il suo lavoro. Questo per avere la massima velocità di acquisizione dei dati.
- le righe con “//” oppure con “/*” sono delle annotazioni esplicative
- le istruzioni che iniziano con “Serial” possono anche venire eliminate, le ho lasciate in caso voi vogliate divertirvi a modificare il programma, per vedere cosa succede se . . . .
- sul display la riga sopra visualizza i CPM e quella sotto i uSv/h, prima il dato immediato, poi il dato medio progressivo.
3.JPG
Nella immagine vedete che i CPM dei 10 secondi appena terminati sono 12 ed, evidentemente, hanno abbassato la media portandola a 15 CPM. Stessa cosa per le misurazione espressa in microSv/h.
Con il procedere dei conteggi, il valore della media progressiva tenderà a stabilizzarsi, perché la misurazione avviene su tempi sempre più lunghi.

Il miglioramento della precisione la si nota molto bene leggendo i dati sul monitor seriale del PC:
4.JPG
Dove si vede che mentre i dati delle singole letture di 10 secondi variano moltissimo, da 0.00 uSv/h fino a 0.45 uSv/h, con una indeterminatezza totale, la media progressiva già dopo 2 minuti di conteggio ci da un risultato praticamente costante di 0.20 uSv/h

Morale delle nostre prove:
- se avessimo usato un geiger normale, avremmo avuto tante risposte, ma tutte diverse e che non ci avrebbero consentito nessuna valutazione attendibile,
- se avessimo usato uno scaler, avremmo si avuto una misura certa, ma solo dopo molti minuti,
- con questo strumento, in soli due minuti, siamo arrivati al risultato.



Re: Giocando con Arduino 1

Inviato: 26/05/2016, 22:28
da Studio 1
Eccellente idea .... peccato che non si può applicare a strumenti tipo E600 o oggetti simili ....

Re: Giocando con Arduino 1

Inviato: 26/05/2016, 23:55
da marconmeteo
Studio 1 ha scritto:Eccellente idea .... peccato che non si può applicare a strumenti tipo E600 o oggetti simili ....
E che senso avrebbe? L'E600 fa già un sacco di cose che nemmeno riesci mai ad utilizzare del tutto. Questa bellissima soluzione di Andrea è per la costruzione di qualcosa di personale o, per chi volesse, per ridare vita a vecchia strumentazione.

Re: Giocando con Arduino 1

Inviato: 26/05/2016, 23:56
da eliocor
Penso che sia molto simile al codice che 4 anni fa avevo scritto (per divertimento) per Arduino*:
[External Link Removed for Guests]

*) ma che è facilmente portabile su altri micro. Anche se le soluzioni adottate per il conteggio degli impulsi sono un po' al di fuori dello standard corrente.

Re: Giocando con Arduino 1

Inviato: 27/05/2016, 0:24
da Poldo
Enotria ha scritto:Morale delle nostre prove:
- se avessimo usato un geiger normale, avremmo avuto tante risposte, ma tutte diverse e che non ci avrebbero consentito nessuna valutazione attendibile,
- se avessimo usato uno scaler, avremmo si avuto una misura certa, ma solo dopo molti minuti,
- con questo strumento, in soli due minuti, siamo arrivati al risultato.
Che cosa vuoi dire, che un geiger che usa la media progressiva è anche meglio di uno scaler ?
Ma cosa costa tutto questo Arduino ?

Re: Giocando con Arduino 1

Inviato: 28/05/2016, 7:55
da Enotria
La media progressiva MP non è altro che una diversa forma di scaler, solo che nella sua forma classica tu devi, prima di iniziare la misurazione, decidere già quale tempo di conteggio dare, invece, nella media progressiva, la fine del conteggio lo decidi tu in corso di misura, appena vedi che il valore della misurazione si è stabilizzato.

Ti faccio notare che comunque, pur essendo due diverse metodiche di misurazione su base temporale lunga, hanno modalità di esecuzione opposte.
Nel caso classico, tu decidi il tempo, fai partire la misurazione e poi te ne vai a fare altre cose.
Nella MP, tu devi restare sul posto, a guardare come evolve la misurazione, per poi decidere lo stop.

Quindi la modalità migliore da usare dipende da cosa devi fare tu: se ti fa comodo fare contemporaneamente altre cose, ti va meglio lo scaler classico, se non hai altro da fare, fai prima con la MP.

Re: Giocando con Arduino 1

Inviato: 28/05/2016, 10:32
da amarturini
Beh, se usi lo scaler e, poniamo, usi 30 minuti di integrazione e poi usi un Geiger che usa la MP e lo lasci a misurare per 30 minuti dovresti ottenere la stassa misura, anche se il Geiger con la MP la raggiunge prima.
A questo punto, se ti fa comodo fare contemporaneamente altre cose, puoi usare anche il Geiger con la MP: è sprecato (non serve così tanto tempo), ma va bene lo stesso. Da questo punto di vista è più universale.

Ciao,
Alberto

Re: Giocando con Arduino 1

Inviato: 28/05/2016, 11:05
da andreacos
Oppure memorizzando il valore della MP in una variabile lo puoi testare con il valore precedente e, dato un parametro di differenza per il quale si può sufficientemente dire che la media si è stabilizzata - una volta che questo è vero, bloccare il conteggio