Indice articoli

ArduinoLa rete consente di avere disponibili milioni di informazioni, fornendo possibilità impensabili fino a qualche anno fa. Un nucleo incredibile di aggregazione, di catalizzazione di idee, un punto di confronto, un “non luogo” dove testare ed eventualmente concretizzare progetti che da semplici idee si trasformano in realtà.La rete dapprima ha aggregato “hacker sw” che hanno sfornato milioni di programmi innovativi, ma da qualche tempo stanno, sul solco già tracciato stanno emergendo gruppi “hacker hw” che sotto licenza finora legate al mondo sw, sfornano elettroniche raffinate e innovative.Se hai tempi di Cernobyl le notizie erano quelle divulgate dalle autorità preposte e tutti i dati presi sulla fiducia, oggi i problemi di Fukushima ha mosso riflessioni, senzate e insensate che si sono diffuse sulla rete. Un gruppo hacker del nord della spagna ha risposto a suo modo, qui riportiamo  la loro “Risposta”.


Il manifesto

radiation schedaLa finalità principale del sensore di radiazione per Arduino è quello di aiutare le persone in Giappone a misurare i livelli di radiazione nella loro quotidianità dopo il terremoto e lo tsunami che ha colpito lo sfortunato Giappone nel marzo 2011 e che ha causato la perdita di radiazioni dalla centrale nucleare a Fukushima. Vogliamo dare la possibilità di misurare, individualmente, questo livello anzichè confidare nelle informazioni diffuse dai vari media. L'utilizzo di questa scheda-sensore conveniente e facile da usare su piattaforma Arduino aiuta le persone a misurare i valori di radiazione in specifici luoghi.Come ragazzi hacker, sentiamo la responsabilità di fornire il nostro sostegno nei settori in cui possiamo contribuire. Come risultato, il primo lotto di rilevatori è stato inviato in Giappone, gratuitamente, a  Hackerspace Tokyo e di altri gruppi simili. Il progetto della scheda hardware e il codice sorgente è rilasciato sotto licenza GPL.


Il circuito

IlcircuitoIl circuito stampato si compone di due parti principali, il circuito di potenza ed il circuito di segnale. La parte relativa alla potenza viene utilizzata per offrire la tensione necessaria al tubo (400V – 100V) e il circuito di segnale serve invece ad adattare l’output di impulsi provenienti dal tubo Geiger e a connetterlo all’input del microcontrollore. Una volta che il tubo è stato alimentato, è possibile ricevere gli impulsi nel microcontrollore e contarli, dopo di che, con un semplice calcolo, è possibile ottenere il valore della radiazione. Il codice che viene utilizzato per il circuito conta gli impulsi per 10 secondi, poi è necessario moltiplicare il numero di impulsi per 6 in modo da ottenere il numero di impulsi per minuto (o cpm, pulses by minute); successivamente, in accordo con la documentazione relativa ai tubi Geiger, bisogna dividere il cpm per il fattore di conversione del tubo (360 di default) per avere il valore della radiazione in µSV/h. A seconda del tubo che si utilizza, potrebbe essere che ci sia bisogno di modificare il calcolo, quindi si dovrebbero provare differenti valori e valutare quali di essi funzionano meglio. La componente elettronica usata nel circuito per le radiazioni si può dividere in cinque parti:

1. Alimentazione ad alta tensione
Per l’alimentazione ad alta tensione è stato utilizzato un circuito basato su un oscillatore connesso ad un moltiplicatore di tensione composto di diodi, transistor, resistori e capacitori (vedere lo schema per i dettagli). Con questo circuito si può ottenere una potenza di 500V nel tubo. In questo caso è stata aggiunta una linea di diodi zener connessi in serie che possono essere utilizzati quando si necessitano più di 500V per alimentare il tubo. Si devono aggiungere tanti volt all’output quanti volt vengono aggiunti ai diodi zener.

2. Circuito di adattamento per output Geiger
Il circuito di adattamento per l'output si basa su un transistor NPN, il quale attiverà il pin di interrupt nel microcontrollore; questo transistor può anche attivare o disattivare la speaker Piezo e l'indicatore LED che genera il segnale audio e visivo.

3. Speaker Piezo e indicatore LED
La speaker Piezo e l'indicatore LED sono collegati al circuito di adattamento, quindi ad ogni impulso, il LED lampeggerà e la speaker emetterà un suono.

4. Lo schermo LCD>
Lo schermo LCD è connesso al microcontrollore utilizzando una modalità a 4 bit (quattro linee di dati e in aggiunta a RS, Enable e le linee di controllo RW).

5. La barra dei LED
La barra dei LED è formata da cinque LED standard, tre verdi e due rossi. Questi LED sono collegati a dei pin digitali del microcontrollore con un resistore in serie.

Nella foto - Scheda sensore radiazionei con tubo Geiger SBM-20

geiber_board_sbm20_tube

 

 

 

 

Video - test rilevamento radiazioni beta e gamma con il tubo SBM-20

Nel video la scheda con il sensore viene testato con “vaselline Glass” che è stato caricato con la luce ultravioletta.  La radioattività dura solo un paio di minuti, ma è sufficiente per rilevare particelle beta e gamma.

 

                                                  

 

 

 

 

 

 

 

 

 


Connettere il circuito ad Arduino

Se il circuito viene collegato ad Arduino, l'alimentazione viene presa dal pin da 5V e gli impulsi possono essere contati utilizzando l'interruzione 0 (pin digitale 2). La barra dei LED è connessa ai seguenti pin digitali:

• LED verde 0 => Digital pin 09
• LED verde 1 => Digital pin 13
• LED verde 2 => Digital pin 12
• LED rosso 0 => Digital pin 11
• LED rosso 1 => Digital pin 10

Nella foto - Il tubo Geiger montato è l'americano LND-712

Sensore e Arduino

Sensore e Arduino connessi

 

 

 

 


Il tubo Geiger

Il tubo Geiger-Muller, utilizzato per il contatore Geiger, consiste in un tubo riempito con un gas inerte a bassa pressione (circa 0.1 Atm) come ad esempio l'elio, il neon o l'argon (di solito però il neon) ed un vapore organico o un gas alogeno. Il tubo contiene degli elettrodi, tra i quali vi è una differenza potenziale di diversi centinaia di volt (circa 500V), ma non è presente alcun flusso di corrente. Le pareti del tubo possono essere sia interamente di metallo oppure possono avere la superficie interna ricoperta con un conduttore per formare il catodo, mentre l’anodo è costituito da un filo che passa sopra il centro del tubo. Quando la radiazione ionizzante passa attraverso il tubo, una parte delle molecole del gas vengono ionizzate, per cui vengono creati degli ioni carichi positivamente e degli elettroni. Il forte campo elettrico che viene creato dagli elettrodi del tubo accelera gli ioni verso il catodo e gli elettroni verso l’anodo. Le coppie di ioni acquisiscono sufficiente energia per ironizzare altre molecole del gas per mezzo delle collisioni lungo il percorso, creando quindi una sorta di valanga di particelle cariche. Il risultato consiste in un breve, intenso impulso di corrente che passa (o che scende a cascata) da un elettrodo negativo ad un elettrodo positivo e viene misurato o contato.

Tubi Geiger

 

 

 


Tipi di radiazione

Vediamo quali sono i tipi di radiazione che passano attraverso il tubo di Geiger:

Tipi di radiazioni

 

 

 

 

Alpha
Una radiazione Alpha è costituita da particelle cariche positivamente (+2) emesse dal nucleo di un atomo durante il processo di decadimento. Queste particelle sono anche molto dense, il che, con la loro forte carica positiva, preclude una loro penetrazione più profonda di un pollice in un foglio di carta. A causa di ciò, le particelle Alpha non costituiscono un serio pericolo per la salute, ad eccezione di quando esse sono emesse all'interno del corpo, come ad esempio in seguito ad ingestione; in quel caso la loro energia elevata pone in estremo pericolo i tessuti sensibili vivi. Una debole forma di radiazione ionizzata è riscontrabile su alcuni modelli di contatori Geiger, di solito quelli che incorporano una sottile finestra in mica alla fine del turbo Geiger - Muller.

Beta
Una radiazione Beta è costituita da particelle cariche negativamente (-1) emesse da una durante il processo di decadimento. Queste particelle sono relativamente leggere e possono penetrare alquanto meglio rispetto ad una particella Alpha, nonostante soltanto per pochi millimetri in più (al massimo) nell'alluminio. Se viene ingerita, la radiazione Beta può risultare pericolosa per un tessuto vivo. Una forma relativamente debole di radiazione ionizzata e rintracciabile su molti contatori Geiger e in genere dipende dallo spessore della parete del tubo Geiger - Muller o dall'esistenza di una finestra alla fine del tubo.

Gamma
La radiazione Gamma rappresenta un estremo dello spettro elettromagnetico, in particolare quella radiazione che presenta la frequenza più alta e la lunghezza d'onda più corta. Quello stesso spettro include anche i più familiari raggi X, la luce ultravioletta, la luce visibile, i raggi infrarossi, le microonde e le onde radio, elencate in ordine di frequenza decrescente e di lunghezza d'onda crescente. I raggi Gamma possono passare, virtualmente, attraverso qualsiasi cosa e vengono effettivamente schermati o assorbiti solo da materiali che presentano un peso atomico elevato, come ad esempio il piombo. I raggi Gamma sono prodotti in modo naturale dal sole e da altri corpi situati nello spazio, e la loro trasmissione verso la terra è conosciuta come radiazione cosmica. Un tipo di radiazione ionizzante molto potente e altrettanto pericolosa è virtualmente rintracciabile su tutti i contatori Geiger.

Tipidiradiazioni

 

 

 

 

Radiazione di fondo
Certi minerali che costituiscono una parte della Terra e che contengono gli elementi radioattivi Uranio e/o Torio, sono anch'essi emissori di raggi Gamma. Questo, insieme alla radiazione cosmica (i raggi Gamma che provengono dal sole ad altre stelle), crea una combinazione che produce il "conteggi di fondo" di un contatore Geiger. Di solito, questo rientra in un range compreso tra i 15 ed i 60 conteggi al minuto, ma può variare a seconda della localizzazione (del contatore) sulla Terra, dell'altitudine e dell'efficienza del contatore Geiger. Il conteggio di fondo dovrebbe essere sempre sottratto dalla lettura generale che deriva da una specifica sorgente radioattiva. Una comune radiazione di fondo va da 0.041μSv/ora a 0.081μSv/h (3650 - 7200μSv/anno).


I tubi Geiger supportati

(La tabella riepiogativa è visibile al sito cooking hacks)
L'idea che sta alla base del rilevatore di radiazioni è quella di renderlo compatibile con diversi tubi Geiger di differenti produttori. Per questa ragione sono stati testati e convalidati i tubi prodotti da LND (US), GStube (Russia) e North Optic Electronic (Cina). In linea generale, ogni tubo Geiger che funziona all'interno di un range di tensione compreso tra 400V e 1000V può essere integrato; secondo questa definizione, anche altri tubi Geiger di produttori come Centronic e Vacutec possono essere considerati validi, benché non siano stati testati a causa del loro alto prezzo.


Riassumendo

I tubi cinesi di North Optic si dimostrano più economici ma sono anche troppo grandi (22 cm) per poter essere semplici da usare. I tubi di LND presentano delle grandi dimensioni e delle ottime caratteristiche poiché sono in grado di identificare ogni tipo di particella, ma il loro costo è più del triplo rispetto ad altri modelli. I tubi russi di GSTube, invece, rappresentano in qualche modo una soluzione intermedia, poiché vantano buone dimensioni (7 cm al massimo) e al tempo stesso riescono a mantenere un prezzo accessibile e caratteristiche più che discrete. Per questo motivo sono stati scelti per la realizzazione di questo progetto.


"Fonti" per i test

Al fine di testare il circuito con sensore per le radiazioni, sono stati utilizzati l’Americio ed il vetro all'uranio.Come precedentemente commentato, tutti tubi Geiger rilevano radiazioni Gamma che provengono da una radiazione di fondo, quindi basta accendere il Contatore Geiger per ricevere un intervallo casuale di rilevazioni che normalmente va da 10 a 30 impulsi per minuto, e dipende da diversi fattori, come ad esempio l'altitudine, la posizione, ecc.

Test Beta e Gamma

Per testare se il proprio Contatore Geiger sta rilevando particelle Beta e Gamma, possiamo utilizzare il vetro all'uranio, un materiale che contiene una percentuale molto piccola di uranio (0,2%) e possiede proprietà fluorescenti che si manifestano quando esso viene caricato di luce ultravioletta.

uranium_glass

 

 

 

 

Test Alpha:

Al fine di testare il rilevamento di radiazioneAlpha abbiamo usato americio un elemento che nella sua forma isotopica Am 241 è utilizzato nei rilevatori di fumo in una quantità molto ridotta (0.2μg).

americium

Rilevatore di fumo aperto

 

 

 

 


 

Attuatori: speaker, LED e LCD

SchermoLCDSul circuito sono presenti tre differenti attuatori, speaker, LED e LCD. La speaker emette un suono ogni volta che un impulso viene generato, poiché è connesso direttamente all’output del tubo Geiger, producendo il tipico cinguettio. Nel circuito stampato vengono utilizzati diversi indicatori per mostrare agli utenti il livello di radiazione. Vediamo cosa succede se si connettono un LED ed una speaker Piezo al’output del tubo Geiger. La speaker riprodurrà un suono udibile, una sorta di cinguettio per ogni particella contata e anche il LED lampeggerà una volta per ogni particella. Inoltre è presente una barra di LED (tre LED Verdi e due LED rossi) che può essere controllata direttamente da Arduino, visto che ogni LED è connesso ad un pin digitale (vedere lo schema ed il codice). Questa barra può essere configurata per ottenere informazioni visuali riguardo la carica radioattiva che si sta misurando. Per finire è presente uno schermo LCD su cui vengono mostrate le informazioni relative alla radiazione (conteggi per minuto e μSv/h).


Da conteggi per minuto a Sievert

Le unità misurate dai tubi Geiger sono in pratica il numero degli impulsi generati. Questo significa che è in un secondo si avranno "n" conteggi (conteggi del secondo o cps) e in un minuto i conteggi per minuto (cpm), appunto. Questo valore è comune per tutti i tubi Geiger, anche se non rappresenta un valore dell'energia ma solo il numero di impulsi. Al fine di ottenere la reale energia irradiata e la quantità che viene assorbita da un corpo, c'è bisogno di sapere quanti Sievert per ora stanno producendo gli impulsi. La formula che serve per passare da cpm a Sievert dipende principalmente dal tubo Geiger: la sua dimensione, la sua forma, il materiale di un composto, la sua sensibilità, il tempo morto, il tipo di particella misurata, ecc. Normalmente un fattore di conversione può essere estratto dalle tabelle fornite dal produttore nel processo di calibrazione:

cpm x fattore di conversione = μSv/h

Per esempio, i fattori di conversione per il tubo LDN-712 è 0,00233, mentre per il tubo SBM-20 è pari a 0,00277; ciò significa che rilevando 120 cpm, otterremo il seguente valore (sempre secondo del tipo di tubo usato):

LDN-712 : 120 * 0.00233 = 0.27μSv/h

SBM-20 : 120 * 0.00277 = 0.33μSv/h

Da notare che questo fattore di conversione è stato estratto dal produttore durante il processo di calibrazione. Tuttavia, il valore risulta accurato solo quando l'elemento che sta irradiando è lo stesso che è stato utilizzato nel processo di calibrazione.


Livelli pericolosi?

Una volta che si è in grado di leggere il livello delle radiazioni fornito dal contatore Geiger, nella propria casa, nel giardino e al supermercato, bisogna capire se il livello è pericoloso o rientra in una soglia normale. Il pericolo, quando si viene esposti ad una sorgente radioattiva, dipende principalmente da due fattori: il livello di radiazione (μSv) e il periodo di esposizione (t). Per questa ragione, quando le autorità devono stabilire i massimi livelli utilizzano come riferimento le radiazioni assorbite in un intero anno: il limite è stato stabilito in 50000 μSv. Il problema consiste nel tempo che si impiega a ricevere il livello massimo di radiazioni. In condizioni normali, anche dopo un anno, si sarebbe ancora lontani da questo punto, con livelli vicino a 3650 μSv. Nel caso in cui si viene sottoposti ad una scansione medica si ricevono 3000 μSv per una mammografia o 20 μSv per i raggi al torace. Insomma, decisamente lontano dal punto di rischio, a meno che non si venga sottoposti continuamente a dei test. Una comune radiazione di fondo corrisponde a circa 0,081µSv/h, quindi in un anno si riceve un quantitativo pari a 3650 µSv. Ad ogni modo, essere in grado di misurare i livelli superiori a 0,1 µSv/h, può essere utile per avere informazioni valide riguardo valori anormali riscontrati quando vengono analizzati attrezzi, pelle delle persone e perfino il cibo. Se si calcola la radiazione media (per ora) che si ottiene dividendo il livello massimo per il numero di ore in un anno (50000 µSv)/(24 * 365), otteniamo il livello massimo di radioattività per ora, pari a 5,70 µSv/h. Il 21 marzo a Fukushima il livello era di 7,47µSv/h

Vediamo altri livelli di riferimento (solo il valore nominale, non il tempo di esposizione):
• 10 μSv – La radiazione media ricevuta in un giorno
• 40 μSv – La radiazione che si riceve prendendo un volo da New York a Los Angeles
• 100 μSv –La radiazione che si riceve durante i raggi X ai denti
• 800 μSv – La dose totale di radiazione presso Three-Mile Island per tutta la durata dell'incidente
• 3000 μSv – La dose di radiazione per una mammografia
• 3600 μSv – La radiazione media che un cittadino riceve in un anno da diverse sorgenti
• 50000 μSv – La dose massima di radiazione consentita in un anno
• 100000 μSv – La dose annuale più bassa di radiazioni che viene associata con l'aumento del rischio di cancro
• 2000000 μSv – Forte avvelenamento radioattivo (a volte fatale).

Il codice sorgente


 *  ------Geiger Tube board (Arduino Code) Example--------
*
* Explanation: This example shows how to get the signal from the Geiger Tube
* in Arduino, we use one of the Arduino interrupt pins (PIN2).
* We count the time (ms) between two pulses of the Geiger tube.
*
* Copyright (C) 2011 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 0.1
* Design: Marcos Yarza, David Gascon
* Implementation: Marcos Yarza
*/

// include the library code:
#include

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(3,4,5,6,7,8);


// Threshold values for the led bar
#define TH1 50
#define TH2 150
#define TH3 300
#define TH4 600
#define TH5 900

// Variables
int ledArray [] = {9,13,12,11,10};
int geiger_input = 2;
int count = 0;
int countPerMinute = 0;
long timePrevious = 0;
long timePreviousMeassure = 0;
long time = 0;
int countPrevious = 0;
float radiationValue = 0.0;

void setup(){
pinMode(geiger_input, INPUT);
for (int i=0;i<5;i++){
pinMode(ledArray[i],OUTPUT);
}

Serial.begin(19200);

//set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Radiation Sensor");
lcd.setCursor(0,1);
lcd.print("Board - Arduino");
delay(4000);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Cooking Hacks");
delay(4000);

lcd.clear();
lcd.setCursor(0,1);
lcd.print("www.cooking-hacks.com");
delay(1000);
for (int i=0;i<5;i++){
delay(500);
lcd.scrollDisplayLeft();
}
delay(1000);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" - Libelium -");
lcd.setCursor(0,1);
lcd.print("www.libelium.com");
delay(4000);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CPM=");
lcd.setCursor(4,0);
lcd.print(6*count);
lcd.setCursor(0,1);
lcd.print(radiationValue);

attachInterrupt(0,countPulse,FALLING);

}

void loop(){
if (millis()-timePreviousMeassure > 10000){
countPerMinute = 6*count;
radiationValue = countPerMinute/360.0;
timePreviousMeassure = millis();
Serial.print("cpm = ");
Serial.print(countPerMinute,DEC);
Serial.print(" - ");
Serial.print("uSv/h = ");
Serial.println(radiationValue,4);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CPM=");
lcd.setCursor(4,0);
lcd.print(countPerMinute);
lcd.setCursor(0,1);
lcd.print(radiationValue,4);
lcd.setCursor(6,1);
lcd.print(" uSv/h");

//led var setting
if(countPerMinute <= TH1) ledVar(0);
if((countPerMinute <= TH2)&&(countPerMinute>TH1)) ledVar(1);
if((countPerMinute <= TH3)&&(countPerMinute>TH2)) ledVar(2);
if((countPerMinute <= TH4)&&(countPerMinute>TH3)) ledVar(3);
if((countPerMinute <= TH5)&&(countPerMinute>TH4)) ledVar(4);
if(countPerMinute>TH5) ledVar(5);

count = 0;

}

}

void countPulse(){
if(timePrevious != millis()){
count++;
time = millis()-timePrevious;
timePrevious = millis();
}
}

void ledVar(int value){
if (value > 0){
for(int i=0;i<=value;i++){
digitalWrite(ledArray[i],HIGH);
}
for(int i=5;i>value;i--){
digitalWrite(ledArray[i],LOW);
}
}
else {
for(int i=5;i>=0;i--){
digitalWrite(ledArray[i],LOW);
}
}
}

Download

Per chi fosse pigro o senza le capacità e le competenze elettroniche necessarie può acquistare qui la scheda e Arduino