RadioActivity Forum. Alla scoperta della Radioattività. Official Forum Italy

Codice per il geiger, Interfaccia geiger-Arduino

« Older   Newer »
  Share  
view post Posted on 13/4/2013, 22:39

cesio 132

Group:
Utenti Abilitati in Scrittura
Posts:
598
Location:
Venezia

Status:


Vi presento un programmino per Arduino che ho realizzato con un amico (o meglio che lui ha realizzato per me :rolleyes: ).
Siamo partiti da una cosa facile facile che contava gli impulsi; poi siamo passati a uno che calcolava i CPM e ancora uno che restituiva i uSV/h.
Non contenti siamo passati a uno che restituiva i valori calcolati su tre basi tempi (come il Libelium) ma poi ci siamo spinti oltre ed ecco che è nato un programmino che permettesse di scegliere la base tempi in modo da rendere il geiger adattissimo a ogni occasione.
Per ora il valore restituito è in uSV/h e ho impostato delle soglie di attenzione che fanno visualizzare degli avvisi sul display.
La base tempi si può settare all' accensione, con due pulsanti (a passi di 1s)

Ne ho preparata una versione che restituisce il valore in mR/h ma al momento sto puntando a un progettino più complesso: all' accensione tramite la pressione di un pulsante si potrà decidere se usare la modalità counter (con restituzione dei valori in mR/h e la base tempi variabile) o in modalità dosimetro con visualizzazione della dose assorbita SV, della dose istantanea SV/h e del tempo di esposizione con tanto di allarmi acustici impostabili.
Non prevedo di poter impostare la sensibilità della sonda (il prossimo geiger avrà la sonda interna) ma la modifica si può sempre apportare!
Volendo oltre alla sensibilità della sonda impostabile si potrebbe prevedere anche una modalità per le misurazioni su grandi basi tempi (basse dosi), magari con la funzione di salvataggio dati su SD, ma anche per questo c'è tempo!

Intanto vi ho allegato il codice elaborato... ;)
(ps. occhio che il fattore di conversione è impostato per l' SBM20, per le altre sonde bisogna cambiare il valore "CONV_FACTOR")

Ovviamente non esitate a lasciare commenti,critiche o consigli!

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NB: Non posso non ringraziare il mio amico Jacopo senza il quale non avrei mai potuto realizzare il codice! :)

Download attachment
geiger_1_76.rar ( Number of downloads: 113 )

 
Web Contacts  Top
marconmeteo
view post Posted on 14/4/2013, 10:00




Bello el via vecio...... :lol: :lol: :lol:

Comunque complimenti....avanti così

Dario
 
Top
Aztek
view post Posted on 14/4/2013, 13:05




Bel programmino Complimenti!!
Lo sto provando sul mio nuovo Geiger adattato all'ingresso conteggio e pulsanti, l'unico problema è il fattore di conversione che non riesco a trovare per la mia sonda russa SI8-b.
 
Top
view post Posted on 14/4/2013, 13:23

cesio 132

Group:
Utenti Abilitati in Scrittura
Posts:
598
Location:
Venezia

Status:


Grazie mille!

CITAZIONE (marconmeteo @ 14/4/2013, 11:00) 
Bello el via vecio...... :lol: :lol: :lol:

Avevo reso un po' più formale il codice ma qualche tocco personale alla fine è rimasto!


@Aztek
CITAZIONE
Bel programmino Complimenti!!
Lo sto provando sul mio nuovo Geiger adattato all'ingresso conteggio e pulsanti, l'unico problema è il fattore di conversione che non riesco a trovare per la mia sonda russa SI8-b.

La sensibilità della si8-b se non ricordo male si aggira sui 3500cpm/mRh e con questo puoi modificare il codice in modo da farti restituire i mR/h....

per il fattore di conversione CPM-uSV/h non saprei, magari qualcuno del forum ha qualche info in più!
Sapevo che si poteva fare un equivalenza tra le unità di misura ma non mi puntiglio! Ricordavo qualcosa tipo 100 mR/h= 1 mS/h anche se non sono convinto si possa fare così visti i diversi riferimenti su cui si basano....
 
Web Contacts  Top
Aztek
view post Posted on 14/4/2013, 13:47




Grazie, comunque ho impostato come valore di conversione #define CONV_FACTOR 0.00090 e sembra essere attendibile con la misurazione di fondo.
Bellissimo il segnale di avviso!!
Io metterei SCAMPA VECIO!!! ehehe :lol:
 
Top
marcolino7
view post Posted on 22/4/2013, 19:47




Ciao,
complimenti per il codice. Ho solo una obbiezione. Conteggiando nel Main Loop del programma rischi di perderti qualche impulso, meglio contare a seguito di un interrupt, come Enotria1/Gemina1. In questo modo la CPU smette di fare qualunque altra cosa, e incrementa il contatore. ;)

Marcolino
 
Top
view post Posted on 27/4/2013, 20:26

cesio 132

Group:
Utenti Abilitati in Scrittura
Posts:
598
Location:
Venezia

Status:


CITAZIONE (marcolino7 @ 22/4/2013, 20:47) 
Ciao,
complimenti per il codice. Ho solo una obbiezione. Conteggiando nel Main Loop del programma rischi di perderti qualche impulso, meglio contare a seguito di un interrupt, come Enotria1/Gemina1. In questo modo la CPU smette di fare qualunque altra cosa, e incrementa il contatore. ;)

Marcolino

Grazie del consiglio!

Nonostante la mia ignoranza in materia penso di aver capito!
Giustamente soprattutto alle alte dosi, quando gli impulsi sono molti rischierei di non conteggiarne poichè il microcontrollore è impegnato a fare altro....
La prossima modifica allora sarà usare gli interrupt!
 
Web Contacts  Top
6 replies since 13/4/2013, 22:39   415 views
  Share