Sommario:
- Passaggio 1: strumenti e parti
- Passaggio 2: assembla il tuo contatore Geiger
- Passaggio 3: test elettrico del contatore Geiger
- Passaggio 4: cablaggio
- Passaggio 5: codice
- Passaggio 6: Serial.println Vs Serial.print
- Passaggio 7: misurazione della radiazione di fondo J305
- Passaggio 8: misurazione J305 della radiazione del sensore di fumo
- Passaggio 9: SBM-20
- Passaggio 10: cablaggio del contatore Geiger con un LCD
- Passaggio 11: contatore Geiger con LCD
- Passaggio 12: file
Video: Contatore Geiger Arduino fai da te: 12 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Quindi hai ordinato un contatore Geiger fai-da-te e vuoi collegarlo al tuo Arduino. Vai in linea e provi a duplicare il modo in cui altri hanno collegato il loro contatore Geiger ad Arduino solo per scoprire che qualcosa non va. Sebbene il tuo contatore Geiger sembri funzionare, nulla funziona come descritto nel fai-da-te che stai seguendo quando colleghi il tuo contatore Geiger al tuo Arduino.
In questo Instructable tratterò come risolvere alcuni di questi problemi.
Ricordare; assemblare e codificare Arduino un passo alla volta, se si va direttamente a un progetto finito e c'è un filo o una riga di codice persi, potrebbe volerci un'eternità per trovare il problema.
Passaggio 1: strumenti e parti
Scatola prototipo Ho usato una scatola di caramelle Ferrero Rocher.
Tagliere piccolo
LCD 16x2
Scheda Arduino ether un UNO o Nano
Resistenza da 220
Potente resistore regolabile da 10 kΩ.
Kit contatore Geiger fai da te
Cavi per ponticelli
Connettore o cablaggio della batteria
Oscilloscopio
Pinze a becchi fini
Cacciavite standard piccolo
Passaggio 2: assembla il tuo contatore Geiger
Qualsiasi danno al tuo tubo Geiger; e il tuo contatore Geiger non funzionerà, quindi usa la copertura protettiva in acrilico per evitare danni al tuo tubo Geiger.
Questo Instructable è su come ho riparato lo stesso contatore Geiger con un tubo Geiger rotto e ho montato la copertura acrilica protettiva per evitare rotture in futuro.
www.instructables.com/id/Repairing-a-DIY-G…
Passaggio 3: test elettrico del contatore Geiger
Utilizzare prima la giusta tensione per l'alimentazione; il cavo USB fornisce 5 volt CC direttamente dal computer, tuttavia il portabatterie 3 AA è per batterie alcaline da 1,5 volt che producono una tensione totale di 4,5 volt. Se utilizzi batterie NI-Cd o NI-MH ricaricabili da 1,2 volt, avrai bisogno di un portabatterie da 4 AA per una tensione totale di 4,8 volt. Se usi meno di 4,5 volt, il contatore Geiger potrebbe non funzionare come dovrebbe.
C'è pochissimo circuito sull'uscita dei contatori Geiger; quindi finché l'altoparlante emette un ticchettio e il LED lampeggia, dovresti ricevere un segnale sul pin VIN.
Per essere sicuri del segnale in uscita; collegare un oscilloscopio all'uscita collegando il lato positivo della sonda dell'oscilloscopio al VIN e il lato negativo della sonda dell'oscilloscopio a terra.
Piuttosto che aspettare solo la radiazione di fondo per attivare il contatore Geiger, ho usato americio-241 da una camera a ioni di rilevatori di fumo per aumentare le reazioni dei contatori Geiger. L'uscita del contatore Geiger è iniziata a +3 volt e scendeva a 0 volt ogni volta che il tubo Geiger reagiva alle particelle alfa e tornava a +3 volt un attimo dopo. Questo è il segnale che registrerai con Arduino.
Passaggio 4: cablaggio
Ci sono due modi per connettere il contatore Geiger ad Arduino e al tuo computer.
Collega il GND su Arduino al GND sul contatore Geiger.
Collega il 5V su Arduino al 5V sul contatore Geiger.
Collega il VIN del contatore Geiger al D2 di Arduino.
Con alimentazione indipendente collegata al contatore Geiger.
Collega il GND su Arduino al GND sul contatore Geiger.
Collega il VIN del contatore Geiger al D2 di Arduino.
Collega Arduino al tuo computer.
Passaggio 5: codice
Apri Arduino IDE e carica il codice.
// Questo schizzo conta il numero di impulsi al minuto.
// Collega il GND su Arduino al GND sul contatore Geiger.
// Collega il 5V su Arduino al 5V sul contatore Geiger.
// Collega il VIN sul contatore Geiger al D2 su Arduino.
conteggi lunghi senza segno; //variabile per eventi GM Tube
unsigned long precedenteMillis; //variabile per misurare il tempo
void impulsi() { // dipanggil setiap ada sinyal FALLING di pin 2
conta++;
}
#define LOG_PERIOD 60000 // tasso di conteggio
void setup() { //setup
conteggi = 0;
Serial.begin(9600);
pinMode(2, INGRESSO);
attachInterrupt(digitalPinToInterrupt(2), pulse, FALLING); //definire gli interrupt esterni
Serial.println("Contatore iniziale");
}
void loop() { // ciclo principale
unsigned long currentMillis = millis();
if (currentMillis - precedenteMillis > LOG_PERIOD) {
precedenteMillis = correnteMillis;
Serial.println(conteggi);
conteggi = 0;
}
}
In Strumenti seleziona Arduino o un'altra scheda che stai utilizzando.
In Strumenti selezionare la porta e Com
Carica il codice.
Una volta caricato il codice in Strumenti, seleziona Serial Monitor e osserva il funzionamento del contatore Geiger.
Cerca i difetti. L'unica cosa di questo codice è che è un po' noioso, devi aspettare 1 minuto per ogni conteggio.
Passaggio 6: Serial.println Vs Serial.print
Questo è uno dei primi glitch che ho trovato nel codice; quindi cercalo nel tuo codice, "Serial.println(cpm);" e "Serial.print(cpm);".
Serial.println(cpm); stamperà ogni conteggio sulla propria riga.
Serial.print(cpm); sembrerà un grande numero che stampa ogni conteggio sulla stessa riga rendendo impossibile dire quale sia il conteggio.
Passaggio 7: misurazione della radiazione di fondo J305
Il primo è la misurazione della radiazione di fondo, la radiazione naturale che già esiste naturalmente. Il numero elencato è il CPM (count per minute), che è un totale di particelle radioattive misurate ogni minuto.
Il conteggio medio di sfondo J305 era 15,6 CPM.
Passaggio 8: misurazione J305 della radiazione del sensore di fumo
Non è raro che un contatore Geiger ti dia ripetutamente lo stesso conteggio, quindi controllalo con una fonte di radiazioni. Ho usato la misurazione della radiazione da Americio una camera a ioni da un rilevatore di fumo. Il sensore di fumo utilizza l'americio come fonte di particelle alfa che ionizzano le particelle di fumo nell'aria. Ho rimosso il cappuccio metallico sul sensore in modo che le particelle alfa e beta possano raggiungere il tubo Geiger insieme alle particelle gamma.
Se tutto va bene i conti dovrebbero cambiare.
Americio-241 da un conteggio medio di una camera a ioni rivelatori di fumo era 519 CPM.
Passaggio 9: SBM-20
Questo sketch Arduino è una versione modificata scritta da Alex Boguslavsky.
Questo schizzo conta il numero di impulsi in 15 secondi e lo converte in conteggi al minuto, rendendolo meno noioso.
Codice che ho aggiunto “Serial.println("Contatore di inizio");”.
Codice che ho cambiato; “Serial.print(cpm);” a "Serial.println(cpm);".
“#define LOG_PERIOD 15000”; imposta il tempo di conteggio a 15 secondi, l'ho cambiato in "#define LOG_PERIOD 5000" o 5 secondi. Non ho trovato differenze apprezzabili nella media tra il conteggio per 1 minuto o 15 secondi e 5 secondi.
#includere
#define LOG_PERIOD 15000 //Periodo di registrazione in millisecondi, valore consigliato 15000-60000.
#define MAX_PERIOD 60000 //Periodo massimo di registrazione senza modificare questo schizzo
conteggi lunghi senza segno; //variabile per eventi GM Tube
cpm lungo senza segno; //variabile per CPM
moltiplicatore int senza segno; //variabile per il calcolo CPM in questo sketch
unsigned long precedenteMillis; //variabile per la misurazione del tempo
void tube_impulse(){ //sottoprocedura per l'acquisizione di eventi da Geiger Kit
conta++;
}
void setup(){ //setup sottoprocedura
conteggi = 0;
cpm = 0;
moltiplicatore = MAX_PERIOD / LOG_PERIOD; //calcolando il moltiplicatore, dipende dal tuo periodo di log
Serial.begin(9600);
attachInterrupt(0, tube_impulse, FALLING); //definire gli interrupt esterni
Serial.println("Contatore iniziale"); // codice che ho aggiunto
}
void loop(){ //ciclo principale
unsigned long currentMillis = millis();
if(Milliscorrenti -Millisprecedenti > LOG_PERIOD){
precedenteMillis = correnteMillis;
cpm = conta * moltiplicatore;
Serial.println(cpm); // codice che ho cambiato
conteggi = 0;
}
}
Il conteggio medio di sfondo SBM-20 era 23,4 CPM.
Passaggio 10: cablaggio del contatore Geiger con un LCD
Connessione LCD:
Pin LCD K a GND
LCD A pin a 220 resistore a Vcc
Pin LCD D7 a pin digitale 3
Pin LCD D6 a pin digitale 5
Pin LCD D5 a pin digitale 6
Pin LCD D4 a pin digitale 7
LCD Abilita pin al pin digitale 8
Pin LCD R/W a terra
Pin LCD RS a pin digitale 9
Pin LCD VO per la regolazione del pot da 10 kΩ
Pin LCD Vcc a Vcc
Pin LCD Vdd a GND
Potente resistore regolabile da 10 kΩ.
Vcc, Vo, Vdd
Contatore Geiger
VIN al pin digitale 2
da 5 V a +5 V
GND a terra
Passaggio 11: contatore Geiger con LCD
// includi il codice della libreria:
#includere
#includere
#define LOG_PERIOD 15000 //Periodo di registrazione in millisecondi, valore consigliato 15000-60000.
#define MAX_PERIOD 60000 //Periodo massimo di registrazione senza modificare questo schizzo
#define PERIOD 60000.0 // (60 sec) periodo di misura di un minuto
CNT lungo non firmato volatile; // variabile per il conteggio degli interrupt dal dosimetro
conteggi lunghi senza segno; //variabile per eventi GM Tube
cpm lungo senza segno; //variabile per CPM
moltiplicatore int senza segno; //variabile per il calcolo CPM in questo sketch
unsigned long precedenteMillis; //variabile per la misurazione del tempo
unsigned long dispPeriod; // variabile per misurare il tempo
CPM lungo senza segno; // variabile per la misurazione del CPM
// inizializza la libreria con i numeri dei pin dell'interfaccia
LCD a cristalli liquidi (9, 8, 7, 6, 5, 3);
void setup() { // setup
lcd.begin(16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor(0, 0);
lcd.print(" Elettronica RH ");
lcd.setCursor(0, 1);
lcd.print(" Contatore Geiger ");
ritardo (2000);
cleanDisplay();
attachInterrupt(0, GetEvent, FALLING); // Evento sul pin 2
}
ciclo vuoto() {
lcd.setCursor(0, 0); // stampa testo e CNT sull'LCD
lcd.print("CPM:");
lcd.setCursor(0, 1);
lcd.print("CNT:");
lcd.setCursor(5, 1);
lcd.print(CNT);
if (millis() >=dispPeriod + PERIOD) { // Se è trascorso un minuto
cleanDisplay(); // Cancella LCD
// Fai qualcosa per gli eventi CNT accumulati….
lcd.setCursor(5, 0);
CPM = CNT;
lcd.print(CPM); //Visualizza CPM
CNT = 0;
dispPeriod = millis();
}
}
void GetEvent(){ // Ottieni evento dal dispositivo
CNT++;
}
void cleanDisplay (){ // Cancella routine LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 0);
}
Passaggio 12: file
Scarica e installa questi file sul tuo Arduino.
Metti ogni file.ino in una cartella con lo stesso nome.
Consigliato:
Contatore Geiger funzionante con parti minime: 4 passaggi (con immagini)
Contatore Geiger funzionante con parti minime: ecco, per quanto ne so, il contatore Geiger funzionante più semplice che puoi costruire. Questo utilizza un tubo Geiger SMB-20 di fabbricazione russa, pilotato da un circuito step-up ad alta tensione rubato da uno scacciamosche elettronico. Rileva particelle beta e gam
Contatore Geiger fai da te con un ESP8266 e un touchscreen: 4 passaggi (con immagini)
Contatore Geiger fai-da-te con un ESP8266 e un touchscreen: AGGIORNAMENTO: VERSIONE NUOVA E MIGLIORATA CON WIFI E ALTRE FUNZIONI AGGIUNTE QUI ha progettato e costruito un contatore Geiger - un dispositivo in grado di rilevare le radiazioni ionizzanti e avvisare l'utente di pericolosi livelli di radiazioni ambientali con il tutto- troppo familiare clic no
Contatore Geiger nuovo e migliorato - Ora con WiFi!: 4 passaggi (con immagini)
Contatore Geiger nuovo e migliorato - Ora con WiFi!: Questa è una versione aggiornata del mio contatore Geiger da questo Instructable. Era piuttosto popolare e ho ricevuto una buona quantità di feedback da persone interessate a costruirlo, quindi ecco il seguito: il GC-20. Un contatore Geiger, un dosimetro e un misuratore di radiazioni
Riparare un contatore Geiger fai da te: 9 passaggi (con immagini)
Riparazione di un contatore Geiger fai da te: ho ordinato online questo contatore Geiger fai da te. È arrivato in tempo utile, tuttavia è stato danneggiato, i portafusibili del bus sono stati schiacciati e il tubo Geiger Muller J305 è stato distrutto. Questo è stato un problema poiché ho usato i miei punti da acquisti precedenti da questo o
Contatore Geiger Arduino fai da te: 6 passaggi (con immagini)
Contatore Geiger Arduino fai da te: ciao a tutti! Come va? Questo è il progetto How-ToDo, mi chiamo Konstantin, e oggi voglio mostrarvi come ho realizzato questo contatore Geiger. Ho iniziato a costruire questo dispositivo quasi dall'inizio dello scorso anno. Da allora ha attraversato 3 comp