Përmbajtje:

Arduino DIY Geiger Counter: 12 hapa (me fotografi)
Arduino DIY Geiger Counter: 12 hapa (me fotografi)

Video: Arduino DIY Geiger Counter: 12 hapa (me fotografi)

Video: Arduino DIY Geiger Counter: 12 hapa (me fotografi)
Video: #162 Build your own 50$ connected Geiger Counter (ESP32) 2024, Nëntor
Anonim
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter

Kështu që ju keni porositur një sportel DIY Geiger dhe doni ta lidhni atë me Arduino -n tuaj. Ju vazhdoni në linjë dhe përpiqeni të kopjoni sesi të tjerët e kanë lidhur sportelin e tyre Geiger me Arduino vetëm për të gjetur se diçka nuk shkon. Edhe pse sporteli juaj Geiger duket se nuk funksionon asgjë nuk funksionon siç përshkruhet në DIY që po ndiqni kur lidhni sportelin tuaj Geiger me Arduino -n tuaj.

Në këtë Udhëzues unë do të mbuloj se si të zgjidhim disa nga këto defekte.

Mbani mend; mblidhni dhe kodoni Arduino hap pas hapi, nëse shkoni direkt në një projekt të përfunduar dhe ka një tel të humbur ose linjë kodi që mund t'ju marrë përgjithmonë për të gjetur problemin.

Hapi 1: Mjetet dhe pjesët

Mjetet dhe Pjesët
Mjetet dhe Pjesët

Kuti prototip Kam përdorur një kuti karamele Ferrero Rocher.

Dërrasë e vogël buke

LCD 16x2

Arduino bordi eter një UNO ose Nano

Rezistencë 220 Ω

Tenxhere rezistencë e rregullueshme 10 kΩ.

Kompjuter DIY Geiger Counter Kit

Telat Jumper

Lidhës ose parzmore e baterisë

Osciloskop

Pincë për hundë të imët

Kaçavidë e Vogël Standarde

Hapi 2: Mblidhni numëruesin tuaj Geiger

Mblidhni numëruesin tuaj Geiger
Mblidhni numëruesin tuaj Geiger

Çdo dëmtim i tubit tuaj Geiger; dhe sporteli juaj Geiger nuk do të funksionojë, kështu që përdorni mbulesën akrilike mbrojtëse për të parandaluar dëmtimin e tubit tuaj Geiger.

Ky udhëzues është se si e riparova të njëjtën sportel Geiger me një tub Geiger të thyer dhe vendosa mbulesën akrilike mbrojtëse për të parandaluar prishjen në të ardhmen.

www.instructables.com/id/Repairing-a-DIY-G…

Hapi 3: Testimi elektrik i njehsorit Geiger

Testimi elektrik i Counter Geiger
Testimi elektrik i Counter Geiger
Testimi elektrik i Counter Geiger
Testimi elektrik i Counter Geiger
Testimi elektrik i Counter Geiger
Testimi elektrik i Counter Geiger

Së pari përdorni tensionin e duhur për furnizimin me energji elektrike; kordoni USB furnizon 5 volt DC drejtpërdrejt nga kompjuteri juaj, megjithatë mbajtësi i baterisë 3 AA është për bateri alkaline 1.5 volt duke bërë një tension të përgjithshëm prej 4.5 volt. Nëse përdorni bateri të rimbushshme 1.2 volt NI-Cd ose NI-MH, do t'ju duhet një mbajtës baterie 4 AA për një tension të përgjithshëm prej 4.8 volt. Nëse përdorni më pak se 4.5 volt, numëruesi Geiger mund të mos veprojë ashtu siç duhet.

Ka shumë pak qark në daljet e sporteleve Geiger; kështu që për sa kohë që altoparlanti bën një tingull tik -tak, dhe LED pulson, ju duhet të merrni një sinjal në kunjin VIN.

Për të qenë të sigurt për sinjalin dalës; lidhni një oshiloskop me daljen duke lidhur anën pozitive të sondës së oshiloskopit me VIN dhe anën negative të sondës së oshiloskopit me tokën.

Në vend që të pres vetëm rrezatimin në sfond për të shkaktuar sportelin Geiger, unë përdor americium-241 nga një dhomë jonike e detektorëve të tymit për të rritur reagimet e numëruesve të Geiger. Prodhimi i numëruesit Geiger filloi në +3 volt dhe zbriste në 0 volt çdo herë që tubi Geiger reagonte ndaj grimcave alfa dhe kthehej në +3 volt një moment më vonë. Ky është sinjali që do të regjistroni me Arduino.

Hapi 4: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Ka dy mënyra se si mund ta lidhni sportelin Geiger me ju Arduino dhe kompjuterin tuaj.

Lidhni GND në Arduino me GND në sportelin Geiger.

Lidhni 5V në Arduino me 5V në sportelin Geiger.

Lidhni VIN në sportelin Geiger me D2 në Arduino.

Me fuqi të pavarur të lidhur me sportelin Geiger.

Lidhni GND në Arduino me GND në sportelin Geiger.

Lidhni VIN në sportelin Geiger me D2 në Arduino.

Lidhni Arduino me kompjuterin tuaj.

Hapi 5: Kodi

Kodi
Kodi
Kodi
Kodi
Kodi
Kodi

Hapni Arduino IDE dhe ngarkoni kodin.

// Kjo Skicë numëron numrin e pulseve në minutë.

// Lidhni GND në Arduino me GND në sportelin Geiger.

// Lidhni 5V në Arduino me 5V në sportelin Geiger.

// Lidhni VIN në sportelin Geiger me D2 në Arduino.

numërime të gjata të panënshkruara; // ndryshore për ngjarjet e GM Tube

i panënshkruar i gjatë i mëparshëmMillis; // ndryshore për matjen e kohës

void impuls () {// dipanggil setiap ada sinyal RALLNI në pin 2

numëron ++;

}

#përcakto LOG_PERIOD 60000 // shkalla e numërimit

void setup () {// konfigurim

numëron = 0;

Serial.filloj (9600);

pinMode (2, INPUT);

attachInterrupt (digitalPinToInterrupt (2), impuls, FALLING); // përcaktoni ndërprerjet e jashtme

Serial.println ("Numëruesi i fillimit");

}

void loop () {// cikli kryesor

rrymë e gjatë e panënshkruarMillis = millis ();

nëse (aktualMillis - Millis i mëparshëm> LOG_PERIOD) {

previousMillis = aktualMillis;

Serial.println (numëron);

numëron = 0;

}

}

Në Tools zgjidhni Arduino ose bordin tjetër që po përdorni.

Në Tools zgjidhni Portin dhe Com

Ngarko kodin.

Pasi kodi të jetë ngarkuar në Tools, zgjidhni Serial Monitor dhe shikoni punën e sportelit tuaj Geiger.

Shikoni për defekte. E vetmja gjë në lidhje me këtë kod është se është pak e lodhshme ju duhet të prisni 1 minutë për çdo numërim.

Hapi 6: Serial.println Vs Serial.print

Serial.println Vs Serial.print
Serial.println Vs Serial.print
Serial.println Vs Serial.print
Serial.println Vs Serial.print

Ky është një nga gabimet e para që gjeta në kod; prandaj kujdesuni për atë në kodin tuaj, "Serial.println (cpm);" dhe "Serial.print (cpm);".

Serial.println (cpm); do të printojë çdo numërim në rreshtin e vet.

Serial.print (cpm); do të duket si një numër i madh që shtyp secilën numërim në të njëjtën linjë duke e bërë të pamundur të thuhet se sa është numërimi.

Hapi 7: J305 Matja e rrezatimit në sfond

J305 Matja e rrezatimit në sfond
J305 Matja e rrezatimit në sfond
J305 Matja e rrezatimit në sfond
J305 Matja e rrezatimit në sfond

Së pari është matja e rrezatimit në sfond, rrezatimi natyror që tashmë ekziston natyrshëm. Numri i listuar është CPM (numërimi në minutë), i cili është një total i grimcave radioaktive të matura çdo minutë.

Numërimi mesatar i sfondit J305 ishte 15.6 CPM.

Hapi 8: J305 Matja e Rrezatimit të Sensorit të Tymit

J305 Matja e Rrezatimit të Sensorit të Tymit
J305 Matja e Rrezatimit të Sensorit të Tymit
J305 Matja e Rrezatimit të Sensorit të Tymit
J305 Matja e Rrezatimit të Sensorit të Tymit

Nuk është e pazakontë që një numërues Geiger t'ju japë të njëjtën numërim në mënyrë të përsëritur, kështu që kontrolloni atë me një burim rrezatimi. Kam përdorur matjen e rrezatimit nga Americium një dhomë jonike nga një detektor tymi. Sensori i tymit përdor Americium si një burim të grimcave alfa që jonizojnë grimcat e tymit në ajër. Unë hoqa kapakun metalik në sensor në mënyrë që grimcat alfa dhe beta të arrijnë në tubin Geiger së bashku me grimcat gama.

Nëse gjithçka është në rregull, llogaritjet duhet të ndryshojnë.

Americium-241 nga një numër mesatar i dhomës së joneve të detektorëve të tymit ishte 519 CPM.

Hapi 9: SBM-20

SBM-20
SBM-20
SBM-20
SBM-20

Ky skicë Arduino është version i modifikuar i shkruar nga Alex Boguslavsky.

Ky Sketch numëron numrin e impulseve në 15 sekonda dhe e konverton atë në numërime në minutë duke e bërë atë më pak të lodhshëm.

Kodi shtova "Serial.println (" Numëruesi i fillimit ");".

Kodin e ndryshova; "Serial.print (cpm);" te "Serial.println (cpm);".

"#Përcakto LOG_PERIOD 15000"; cakton kohën e numërimit në 15 sekonda, e ndryshova në "#define LOG_PERIOD 5000" ose 5 sekonda. Nuk gjeta ndonjë ndryshim të dukshëm në mesataren midis numërimit për 1 minutë, ose 15 sekonda dhe 5 sekonda.

#përfshi

#përcakto LOG_PERIOD 15000 // Periudha e regjistrimit në milisekonda, vlera e rekomanduar 15000-60000.

#define MAX_PERIOD 60000 // Periudha maksimale e regjistrimit pa modifikuar këtë skicë

numërime të gjata të panënshkruara; // ndryshore për ngjarjet e GM Tube

cpm e gjatë e panënshkruar; // ndryshore për CPM

shumëzues int pa shenjë; // ndryshore për llogaritjen e CPM në këtë skicë

i panënshkruar i gjatë i mëparshëmMillis; // ndryshore për matjen e kohës

void tube_impulse () {// nënprocedurë për kapjen e ngjarjeve nga Geiger Kit

numëron ++;

}

void setup () {// nënproceura e konfigurimit

numëron = 0;

cpm = 0;

shumëzues = MAX_PERIOD / LOG_PERIOD; // llogaritja e shumëzuesit, varet nga periudha juaj e regjistrimit

Serial.filloj (9600);

attachInterrupt (0, tub_impulse, Rënie); // përcaktoni ndërprerjet e jashtme

Serial.println ("Numëruesi i fillimit"); // kodi që shtova

}

void loop () {// cikli kryesor

rrymë e gjatë e panënshkruarMillis = millis ();

nëse (aktualMillis - Millis i mëparshëm> LOG_PERIOD) {

previousMillis = aktualMillis;

cpm = numëron * shumëzues;

Serial.println (cpm); // kodi kam ndryshuar

numëron = 0;

}

}

Numri mesatar i sfondit SBM-20 ishte 23.4 CPM.

Hapi 10: Instalimi i sportelit Geiger me një LCD

Instalimi i sportelit Geiger me një LCD
Instalimi i sportelit Geiger me një LCD

Lidhja LCD:

LCD K pin në GND

LCD Një rezistencë prej 220 Ω në Vcc

Kodi LCD D7 në kunjin dixhital 3

Kodi LCD D6 në kunjin dixhital 5

PIN LCD D5 në pin dixhital 6

Kodi LCD D4 në kunjin dixhital 7

LCD Aktivizoni pin në pin dixhital 8

Kodi LCD R/W në tokë

Kodi LCD RS në kunjin dixhital 9

Kodi LCD VO për të rregulluar tenxhere prej 10 kΩ

Kodi LCD Vcc në Vcc

Kodi LCD Vdd në GND

Tenxhere rezistencë e rregullueshme 10 kΩ.

Vcc, Vo, Vdd

Counter Geiger

VIN në pin dixhital 2

5 V deri +5V

GND në tokë

Hapi 11: Counter Geiger Me LCD

Counter Geiger Me LCD
Counter Geiger Me LCD
Counter Geiger Me LCD
Counter Geiger Me LCD
Counter Geiger Me LCD
Counter Geiger Me LCD

// përfshini kodin e bibliotekës:

#përfshi

#përfshi

#përcakto LOG_PERIOD 15000 // Periudha e regjistrimit në milisekonda, vlera e rekomanduar 15000-60000.

#define MAX_PERIOD 60000 // Periudha maksimale e regjistrimit pa modifikuar këtë skicë

#përcaktoni PERIODN 60000.0 // (60 sekonda) një periudhë matëse një minutë

CNT e paqëndrueshme e gjatë e panënshkruar; // ndryshore për numërimin e ndërprerjeve nga dozimetri

numërime të gjata të panënshkruara; // ndryshore për ngjarjet e GM Tube

cpm e gjatë e panënshkruar; // ndryshore për CPM

shumëzues int pa shenjë; // ndryshore për llogaritjen e CPM në këtë skicë

i panënshkruar i gjatë i mëparshëmMillis; // ndryshore për matjen e kohës

periudhë e gjatë e panënshkruar; // ndryshore për matjen e kohës

CPM e gjatë e panënshkruar; // ndryshore për matjen e CPM

// inicializoni bibliotekën me numrat e kunjave të ndërfaqes

LCD LiquidCrystal (9, 8, 7, 6, 5, 3);

void setup () {// konfigurim

lcd.filloni (16, 2);

CNT = 0;

CPM = 0;

dispPeriudha = 0;

lcd.setCursor (0, 0);

lcd.print ("RH Electronics");

lcd.setCursor (0, 1);

lcd.print ("Counter Geiger");

vonesa (2000);

cleanDisplay ();

attachInterrupt (0, GetEvent, FALLING); // Ngjarja në pin 2

}

lak void () {

lcd.setCursor (0, 0); // printoni tekst dhe CNT në LCD

lcd.print ("CPM:");

lcd.setCursor (0, 1);

lcd.print ("CNT:");

lcd.setCursor (5, 1);

lcd.print (CNT);

nëse (millis ()> = dispPeriudha + PERIUDHA) {// Nëse ka mbaruar një minutë

cleanDisplay (); // Pastro LCD

// Bëni diçka për ngjarjet e grumbulluara të CNT….

lcd.setCursor (5, 0);

CPM = CNT;

lcd.print (CPM); // Shfaq CPM

CNT = 0;

dispPeriudha = millis ();

}

}

void GetEvent () {// Merr Ngjarje nga Pajisja

CNT ++;

}

void cleanDisplay () {// Pastro rutinën LCD

lcd.qartë ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

Hapi 12: Skedarët

Shkarkoni dhe instaloni këto skedarë në Arduino tuaj.

Vendoseni çdo skedar.ino në një dosje me të njëjtin emër.

Recommended: