Cuprins:
- Pasul 1: Instrumente și piese
- Pasul 2: Asamblați-vă contorul Geiger
- Pasul 3: Testarea electrică a contorului Geiger
- Pasul 4: Cablare
- Pasul 5: Cod
- Pasul 6: Serial.println Vs Serial.print
- Pasul 7: Măsurarea radiației de fundal J305
- Pasul 8: Măsurarea J305 a radiației senzorului de fum
- Pasul 9: SBM-20
- Pasul 10: Cablarea contorului Geiger cu un LCD
- Pasul 11: Geiger Counter cu LCD
- Pasul 12: Fișiere
Video: Arduino DIY Geiger Counter: 12 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Deci, ați comandat un contor DIY Geiger și doriți să îl conectați la Arduino. Mergeți pe linie și încercați să copiați modul în care alții și-au conectat contorul Geiger la Arduino doar pentru a găsi ceva greșit. Deși contorul dvs. Geiger pare să funcționeze, nimic nu funcționează așa cum este descris în DIY pe care îl urmați atunci când vă conectați contorul Geiger la Arduino.
În acest Instructable voi vorbi despre cum să depanați unele dintre aceste erori.
Tine minte; asamblați și codificați Arduino un pas la rând, dacă mergeți direct la un proiect terminat și există un fir sau o linie de cod ratată, vă poate dura veșnic să găsiți problema.
Pasul 1: Instrumente și piese
Cutie prototip Am folosit o cutie de bomboane Ferrero Rocher.
Mică panou
LCD 16x2
Placa Arduino eter UNO sau Nano
Rezistor de 220 Ω
Rezistor reglabil de 10 kΩ.
DIY Geiger Counter Kit
Sârme jumper
Conectorul sau cablajul bateriei
Osciloscop
Cleste fine pentru nas
Șurubelniță standard mică
Pasul 2: Asamblați-vă contorul Geiger
Orice deteriorare a tubului dvs. Geiger; iar ghișeul Geiger nu va funcționa, așa că utilizați capacul acrilic de protecție pentru a preveni deteriorarea tubului dvs. Geiger.
Acest instructabil este despre cum am reparat același contor Geiger cu un tub Geiger rupt și am montat capacul acrilic de protecție pentru a preveni ruperea în viitor.
www.instructables.com/id/Repairing-a-DIY-G…
Pasul 3: Testarea electrică a contorului Geiger
Mai întâi utilizați tensiunea potrivită pentru sursa de alimentare; cablul USB furnizează 5 volți DC chiar de la computer, totuși suportul pentru baterii de 3 AA este pentru baterii alcaline de 1,5 volți, având o tensiune totală de 4,5 volți. Dacă utilizați baterii NI-Cd sau NI-MH reîncărcabile de 1,2 volți, veți avea nevoie de un suport pentru baterii de 4 AA pentru o tensiune totală de 4,8 volți. Dacă utilizați mai puțin de 4,5 volți, contorul Geiger nu poate acționa așa cum ar trebui.
Există foarte puține circuite la ieșirea contoarelor Geiger; deci, atâta timp cât difuzorul scoate un sunet tic și LED-ul clipește, ar trebui să primiți un semnal pe pinul VIN.
Pentru a fi sigur de semnalul de ieșire; conectați un osciloscop la ieșire conectând partea pozitivă a sondei osciloscopului la VIN și partea negativă a sondei osciloscopului la sol.
În loc să aștept doar radiația de fundal pentru a declanșa contorul Geiger, am folosit americium-241 dintr-o cameră ionică cu detectoare de fum pentru a crește reacțiile contoarelor Geiger. Ieșirea contorului Geiger a început la +3 volți și a scăzut la 0 volți de fiecare dată când tubul Geiger a reacționat la particulele alfa și a revenit la +3 volți o clipă mai târziu. Acesta este semnalul pe care îl veți înregistra cu Arduino.
Pasul 4: Cablare
Există două moduri în care puteți conecta contorul Geiger la Arduino și la computer.
Conectați GND de pe Arduino la GND de pe tejgheaua Geiger.
Conectați 5V de pe Arduino la 5V de pe tejgheaua Geiger.
Conectați VIN de pe contorul Geiger la D2 pe Arduino.
Cu putere independentă conectată la ghișeul Geiger.
Conectați GND de pe Arduino la GND de pe tejgheaua Geiger.
Conectați VIN de pe contorul Geiger la D2 pe Arduino.
Conectați Arduino la computer.
Pasul 5: Cod
Deschideți Arduino IDE și încărcați codul.
// Această schiță contează numărul de impulsuri pe minut.
// Conectați GND de pe Arduino la GND de pe tejgheaua Geiger.
// Conectați 5V de pe Arduino la 5V de pe tejgheaua Geiger.
// Conectați VIN de pe contorul Geiger la D2 pe Arduino.
numere lungi nesemnate; // variabilă pentru evenimentele GM Tube
nesemnat mult timp anteriorMillis; // variabilă pentru măsurarea timpului
void impuls () {// dipanggil setiap ada sinyal FALLING di pin 2
numără ++;
}
#define LOG_PERIOD 60000 // rata de numărare
void setup () {// setup
contează = 0;
Serial.begin (9600);
pinMode (2, INPUT);
attachInterrupt (digitalPinToInterrupt (2), impuls, FALLING); // definește întreruperile externe
Serial.println ("Start counter");
}
void loop () {// ciclu principal
curent lung nesemnat Millis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
Serial.println (contează);
contează = 0;
}
}
În Instrumente selectați Arduino sau altă placă pe care o utilizați.
În Instrumente selectați Port și Com
Încărcați codul.
Odată ce codul este încărcat în Instrumente, selectați Serial Monitor și urmăriți contorul dvs. Geiger.
Căutați erori. Singurul lucru despre acest cod este că este un pic obositor, trebuie să așteptați 1 minut pentru fiecare numărare.
Pasul 6: Serial.println Vs Serial.print
Acesta este unul dintre primele erori pe care le-am găsit în cod; deci urmăriți-l în codul dvs. „Serial.println (cpm);” și „Serial.print (cpm);”.
Serial.println (cpm); va imprima fiecare numărare pe propria linie.
Serial.print (cpm); va arăta ca un număr mare imprimând fiecare număr pe aceeași linie, ceea ce face imposibil să se spună care este numărul.
Pasul 7: Măsurarea radiației de fundal J305
În primul rând este măsurarea radiației de fond, radiația naturală care există deja în mod natural. Numărul listat este CPM (număr pe minut), care reprezintă un total de particule radioactive măsurate în fiecare minut.
Numărul mediu de fundal J305 a fost de 15,6 CPM.
Pasul 8: Măsurarea J305 a radiației senzorului de fum
Nu este neobișnuit ca un contor Geiger să vă ofere același număr în mod repetat, deci verificați-l cu o sursă de radiații. Am folosit măsurarea radiației de la Americium, o cameră de ioni dintr-un detector de fum. Senzorul de fum utilizează Americium ca sursă de particule alfa care ionizează particulele de fum din aer. Am îndepărtat capacul metalic de pe senzor, astfel încât particulele alfa și beta să poată ajunge la tubul Geiger împreună cu particulele gamma.
Dacă totul este în regulă, numărul ar trebui să se schimbe.
Americiul-241 dintr-un detector de fum al camerei ionice, numărul mediu a fost de 519 CPM.
Pasul 9: SBM-20
Această schiță Arduino este o versiune modificată scrisă de Alex Boguslavsky.
Această schiță numără numărul de impulsuri în 15 secunde și îl convertește în numărare pe minut, făcându-l mai puțin obositor.
Codul I a adăugat „Serial.println („ Start counter”);”.
Codul pe care l-am schimbat; „Serial.print (cpm);” la „Serial.println (cpm);”.
„#Define LOG_PERIOD 15000”; setează timpul de numărare la 15 secunde, l-am schimbat în „#define LOG_PERIOD 5000” sau 5 secunde. Nu am găsit nicio diferență apreciabilă în medie între numărarea timp de 1 minut sau 15 secunde și 5 secunde.
#include
#define LOG_PERIOD 15000 // Perioada de înregistrare în milisecunde, valoare recomandată 15000-60000.
#define MAX_PERIOD 60000 // Perioada maximă de înregistrare fără a modifica această schiță
numere lungi nesemnate; // variabilă pentru evenimentele GM Tube
cpm lung nesemnat; // variabilă pentru CPM
multiplicator int nesemnat; // variabilă pentru calculul CPM în această schiță
nesemnat mult timp anteriorMillis; // variabilă pentru măsurarea timpului
void tube_impulse () {// subprocedură pentru captarea evenimentelor din Geiger Kit
numără ++;
}
void setup () {// setup subprocedure
contează = 0;
cpm = 0;
multiplicator = MAX_PERIOD / LOG_PERIOD; // calculând multiplicatorul, depinde de perioada jurnalului
Serial.begin (9600);
attachInterrupt (0, tube_impulse, FALLING); // definește întreruperile externe
Serial.println ("Contor de pornire"); // codul pe care l-am adăugat
}
void loop () {// ciclu principal
curent lung nesemnat Millis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
cpm = numărare * multiplicator;
Serial.println (cpm); // codul pe care l-am schimbat
contează = 0;
}
}
Numărul mediu de fond SBM-20 a fost de 23,4 CPM.
Pasul 10: Cablarea contorului Geiger cu un LCD
Conexiune LCD:
Pin LCD K la GND
LCD A pin la 220 Ω rezistor la Vcc
Pin LCD D7 la pinul digital 3
Pin D6 LCD la pinul digital 5
Pin LCD D5 la pinul digital 6
Pin LCD D4 la pinul digital 7
LCD Activare pin la pinul digital 8
Pinul LCD R / W la masă
Pinul LCD RS la pinul digital 9
Pin VO LCD pentru reglarea potului de 10 kΩ
Pin LCD Vcc la Vcc
Pin Vdd LCD la GND
Rezistor reglabil de 10 kΩ.
Vcc, Vo, Vdd
Geiger Counter
VIN la pinul digital 2
5 V la + 5V
GND la sol
Pasul 11: Geiger Counter cu LCD
// include codul bibliotecii:
#include
#include
#define LOG_PERIOD 15000 // Perioada de înregistrare în milisecunde, valoare recomandată 15000-60000.
#define MAX_PERIOD 60000 // Perioada maximă de înregistrare fără a modifica această schiță
#define PERIOD 60000.0 // (60 sec) o perioadă de măsurare de un minut
CNT volatil nesemnat lung; // variabilă pentru numărarea întreruperilor din dosimetru
numere lungi nesemnate; // variabilă pentru evenimentele GM Tube
cpm lung nesemnat; // variabilă pentru CPM
multiplicator int nesemnat; // variabilă pentru calculul CPM în această schiță
nesemnat mult timp anteriorMillis; // variabilă pentru măsurarea timpului
nesemnat lung dispPeriod; // variabilă pentru măsurarea timpului
CPM lung nesemnat; // variabilă pentru măsurarea CPM
// inițializați biblioteca cu numerele pinilor de interfață
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
void setup () {// setup
lcd.inceput (16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print („Geiger Counter”);
întârziere (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // Eveniment pe pinul 2
}
bucla nulă () {
lcd.setCursor (0, 0); // tipăriți text și CNT pe ecranul LCD
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Dacă s-a terminat un minut
cleanDisplay (); // Clear LCD
// Fă ceva despre evenimentele CNT acumulate….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // Afișați CPM
CNT = 0;
dispPeriod = millis ();
}
}
void GetEvent () {// Obțineți evenimentul de pe dispozitiv
CNT ++;
}
void cleanDisplay () {// Ștergeți rutina LCD
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
Pasul 12: Fișiere
Descărcați și instalați aceste fișiere pe Arduino.
Plasați fiecare fișier.ino într-un folder cu același nume.
Recomandat:
Home Assistant Geiger Counter Integration: 8 pași
Home Assistant Geiger Counter Integration: În acest tutorial vă voi arăta cum să adăugați senzori personalizați la HASS (asistent la domiciliu), mai precis un contor Geiger, dar procesul este similar și pentru alți senzori. Vom folosi placa NodeMCU, un contor geiger bazat pe arduino
Geiger Counter Activity pentru 9-11 ani: 4 pași
Activitatea de contorizare Geiger pentru cei 9-11 ani: În acest tutorial veți învăța cum să utilizați un detector de radiații nucleare. Puteți achiziționa detectorul de contoare Geiger aici Un contor Geiger este un instrument utilizat pentru detectarea și măsurarea radiațiilor ionizante. Cunoscut și sub numele de contor Geiger – Mueller (
Geiger Counter Activity pentru cei peste 12 ani: 5 pași
Activitate de contorizare Geiger pentru cei peste 12 ani: În acest tutorial veți învăța cum să asamblați un detector de radiații nucleare. Puteți achiziționa kitul de contorizare Geiger de aici. Un contor Geiger este un instrument utilizat pentru detectarea și măsurarea radiațiilor ionizante. Cunoscut și sub numele de contor Geiger – Mueller (
PKE Meter Geiger Counter: 7 pași (cu imagini)
PKE Meter Geiger Counter: Îmi doresc să construiesc un contor Geiger de mult timp pentru a completa camera Peltier Cooled Cloud. Nu există (sperăm) un scop prea util în a deține un contor Geiger, dar îmi plac vechile tuburi rusești și m-am gândit că ar fi
DIY Arduino Geiger Counter: 6 pași (cu imagini)
DIY Arduino Geiger Counter: Bună ziua tuturor! Ce mai faceți? Acesta este proiectul How-ToDo, numele meu este Konstantin și astăzi vreau să vă arăt cum am făcut acest contor Geiger. Am început să construiesc acest dispozitiv aproape de la începutul anului trecut. De atunci a trecut prin 3 comp