Orodha ya maudhui:

Arduino DIY Geiger Counter: Hatua 12 (na Picha)
Arduino DIY Geiger Counter: Hatua 12 (na Picha)

Video: Arduino DIY Geiger Counter: Hatua 12 (na Picha)

Video: Arduino DIY Geiger Counter: Hatua 12 (na Picha)
Video: DIY arduino Geiger counter 2024, Julai
Anonim
Kihesabu cha Arduino DIY Geiger
Kihesabu cha Arduino DIY Geiger
Kihesabu cha Arduino DIY Geiger
Kihesabu cha Arduino DIY Geiger

Kwa hivyo umeamuru kaunta ya DIY Geiger na unataka kuiunganisha kwa Arduino yako. Unaendelea na ujaribu kurudia jinsi wengine wameunganisha kaunta yao ya Geiger na Arduino ili tu kupata kitu kibaya. Ingawa kaunta yako ya Geiger inaonekana haifanyi kazi yoyote kama inavyoelezewa katika DIY unayofuata unapounganisha kaunta yako ya Geiger na Arduino yako.

Katika Agizo hili nitaangazia jinsi ya kusuluhisha baadhi ya glitches hizi.

Kumbuka; kusanyika na kuweka Arduino hatua moja kwa wakati, ikiwa utaenda moja kwa moja kwenye mradi uliomalizika na kuna waya au mstari uliokosa inaweza kukuchukua milele kupata shida.

Hatua ya 1: Zana na Sehemu

Zana na Sehemu
Zana na Sehemu

Sanduku la mfano nilitumia sanduku la pipi la Ferrero Rocher.

Bodi ndogo ya mkate

16x2 LCD

Arduino bodi ether UNO au Nano

Kinga ya 220.

Sufuria 10 kΩ inayoweza kubadilishwa.

Kitengo cha Kukabiliana na Geiger cha DIY

Waya za Jumper

Kontakt ya betri au kuunganisha

Oscilloscope

Vipuli Vya Pua Vizuri

Screwdriver ndogo

Hatua ya 2: Unganisha Kaunta yako ya Geiger

Kusanya Counter yako ya Geiger
Kusanya Counter yako ya Geiger

Uharibifu wowote kwa Tube yako ya Geiger; na kaunta yako ya Geiger haitafanya kazi, kwa hivyo tumia kifuniko cha akriliki cha kinga ili kuzuia uharibifu wa bomba lako la Geiger.

Agizo hili linahusu jinsi nilivyokarabati kaunta moja ya Geiger na bomba la Geiger iliyovunjika na kuweka kifuniko cha akriliki cha kinga ili kuzuia kuvunjika kwa siku zijazo.

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

Hatua ya 3: Kupima Elektroniki Kihasibu cha Geiger

Kupima umeme kihesabu cha Geiger
Kupima umeme kihesabu cha Geiger
Kupima umeme kihesabu cha Geiger
Kupima umeme kihesabu cha Geiger
Kupima umeme kihesabu cha Geiger
Kupima umeme kihesabu cha Geiger

Kwanza tumia voltage inayofaa kwa usambazaji wa umeme; Kamba ya USB inasambaza volts 5 DC moja kwa moja kutoka kwa kompyuta yako, hata hivyo mmiliki wa betri 3 AA ni ya betri za alkali 1.5 za volt zinazofanya voltage ya jumla ya volts 4.5. Ikiwa unatumia betri za NI-Cd za recht 1.2 au NI-MH utahitaji mmiliki wa betri 4 AA kwa voltage jumla ya volts 4.8. Ikiwa unatumia chini ya volts 4.5 kaunta ya Geiger haiwezi kufanya kama inavyostahili.

Kuna mizunguko kidogo sana kwenye pato la kaunta za Geiger; ilimradi msemaji atoe mlio, na mwangaza wa LED, unapaswa kupata ishara kwenye pini ya VIN.

Kuwa na uhakika wa ishara ya pato; unganisha oscilloscope na pato kwa kuunganisha upande mzuri wa uchunguzi wa oscilloscope kwa VIN na upande hasi wa uchunguzi wa oscilloscope chini.

Badala ya kungojea tu kwenye mionzi ya nyuma ili kusababisha kaunta ya Geiger nilitumia americiamu-241 kutoka kwa chumba cha ion detectors cha moshi ili kuongeza athari za kaunta za Geiger. Pato la kaunta ya Geiger ilianza kwa +3 volts na kushuka hadi volts 0 kila wakati bomba la Geiger lilipojibu kwa chembe za alfa na kurudi kwa +3 volts muda mfupi baadaye. Hii ndio ishara ambayo utarekodi na Arduino.

Hatua ya 4: Wiring

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Kuna njia mbili ambazo unaweza kuunganisha kaunta ya Geiger kwako Arduino na kompyuta yako.

Unganisha GND kwenye Arduino na GND kwenye kaunta ya Geiger.

Unganisha 5V kwenye Arduino na 5V kwenye kaunta ya Geiger.

Unganisha VIN kwenye kaunta ya Geiger hadi D2 kwenye Arduino.

Pamoja na nguvu huru iliyounganishwa na kaunta ya Geiger.

Unganisha GND kwenye Arduino na GND kwenye kaunta ya Geiger.

Unganisha VIN kwenye kaunta ya Geiger hadi D2 kwenye Arduino.

Unganisha Arduino kwenye kompyuta yako.

Hatua ya 5: Kanuni

Kanuni
Kanuni
Kanuni
Kanuni
Kanuni
Kanuni

Fungua Arduino IDE na upakie nambari.

// Mchoro huu unahesabu idadi ya kunde kwa dakika.

// Unganisha GND kwenye Arduino kwa GND kwenye kaunta ya Geiger.

// Unganisha 5V kwenye Arduino na 5V kwenye kaunta ya Geiger.

// Unganisha VIN kwenye kaunta ya Geiger hadi D2 kwenye Arduino.

hesabu ndefu ambazo hazijasainiwa; // kutofautisha kwa hafla za GM Tube

unsigned muda mrefu uliopitaMillis; // kutofautisha kwa wakati wa kupima

msukumo batili () {// dipanggil setiap ada sinyal FALLING di pin 2

hesabu ++;

}

#fafanua LOG_PERIOD 60000 // kiwango cha hesabu

kuanzisha batili () {// setup

hesabu = 0;

Serial. Kuanza (9600);

pinMode (2, Pembejeo);

ambatishaKukatisha (digitalPinToInterrupt (2), msukumo, KUANGUKA); // fafanua usumbufu wa nje

Serial.println ("Anza kaunta");

}

kitanzi batili () {// mzunguko kuu

unsigned long longMillis = millis ();

ikiwa (sasaMillis - uliopitaMillis> LOG_PERIOD) {

previousMillis = currentMillis;

Serial.println (makosa);

hesabu = 0;

}

}

Katika Zana chagua Arduino au bodi nyingine unayotumia.

Katika Zana chagua Bandari na Com

Pakia nambari.

Mara tu nambari imepakiwa kwenye Zana chagua Monitor Serial na uangalie kazi yako ya kukabiliana na Geiger.

Angalia glitches. Kitu pekee juu ya nambari hii ni ngumu kidogo lazima usubiri dakika 1 kwa kila hesabu.

Hatua ya 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

Hii ni moja ya glitches ya kwanza niliyoipata katika nambari; kwa hivyo iangalie katika nambari yako, "Serial.println (cpm);" na "Serial.print (cpm);".

Serial.println (cpm); itachapisha kila hesabu kwenye laini yake.

Printa ya serial (cpm); itaonekana kama nambari moja kubwa ya kuchapisha kila hesabu kwenye mstari huo na kuifanya ishindwe kusema hesabu ni nini.

Hatua ya 7: J305 Upimaji wa Mionzi ya Asili

J305 Upimaji wa Mionzi ya Asili
J305 Upimaji wa Mionzi ya Asili
J305 Upimaji wa Mionzi ya Asili
J305 Upimaji wa Mionzi ya Asili

Kwanza ni kipimo cha mionzi ya asili, mionzi ya asili ambayo tayari ipo kawaida. Nambari iliyoorodheshwa ni CPM (hesabu kwa dakika), ambayo ni jumla ya chembe za mionzi zilizopimwa kila dakika.

Hesabu ya wastani wa J305 ilikuwa 15.6 CPM.

Hatua ya 8: Upimaji wa J305 ya Mionzi ya Sensor ya Moshi

J305 Upimaji wa Mionzi ya Sensorer ya Moshi
J305 Upimaji wa Mionzi ya Sensorer ya Moshi
J305 Upimaji wa Mionzi ya Sensorer ya Moshi
J305 Upimaji wa Mionzi ya Sensorer ya Moshi

Sio kawaida kwa kaunta ya Geiger kukupa hesabu sawa mara kwa mara kwa hivyo iangalie na chanzo cha mionzi. Nilitumia kipimo cha mionzi kutoka Americium chumba cha ioni kutoka kwa kichunguzi cha moshi. Sensorer ya moshi hutumia Amerika kama chanzo cha chembe za alfa ambazo hutengeneza chembe za moshi hewani. Niliondoa kofia ya chuma kwenye sensa ili chembe za alpha na beta ziweze kufikia bomba la Geiger pamoja na chembe za gamma.

Ikiwa kila kitu ni sawa hesabu zinapaswa kubadilika.

Americium-241 kutoka kwa detectors za moshi hesabu ya chumba cha wastani ilikuwa 519 CPM.

Hatua ya 9: SBM-20

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

Mchoro huu wa Arduino umebadilishwa toleo lililoandikwa na Alex Boguslavsky.

Mchoro huu unahesabu idadi ya kunde katika sekunde 15 na kuibadilisha kuwa hesabu kwa dakika kuifanya isiwe ya kuchosha.

Nambari niliyoongeza "Serial.println (" Anza kaunta ");".

Nambari nilibadilisha; "Rahisi.print (cpm);" kwa "Serial.println (cpm);".

"#Fafanua LOG_PERIOD 15000"; huweka muda wa kuhesabu kuwa sekunde 15, niliibadilisha kuwa "#fafanua LOG_PERIOD 5000" au sekunde 5. Sikupata tofauti ya kushukuru kati ya kuhesabu kwa dakika 1, au sekunde 15 na sekunde 5.

# pamoja

#fafanua LOG_PERIOD 15000 // Kipindi cha magogo katika milliseconds, thamani iliyopendekezwa 15000-60000.

#fafanua MAX_PERIOD 60000 // Kipindi cha juu cha ukataji miti bila kubadilisha mchoro huu

hesabu ndefu ambazo hazijasainiwa; // kutofautisha kwa hafla za GM Tube

cpm ndefu isiyosainiwa; // kutofautisha kwa CPM

kisichozidi kusajiliwa cha int; // kutofautisha kwa CPM ya hesabu katika mchoro huu

unsigned muda mrefu uliopitaMillis; // kutofautisha kwa kipimo cha wakati

batili tube_impulse () {// utaratibu wa kukamata hafla kutoka kwa Geiger Kit

hesabu ++;

}

usanidi batili () {// utaratibu mdogo wa kusanidi

hesabu = 0;

cpm = 0;

kuzidisha = MAX_PERIOD / LOG_PERIOD; // kuhesabu kuzidisha, tegemea kipindi chako cha kumbukumbu

Serial. Kuanza (9600);

ambatisha kukatiza (0, tube_impulse, FALLING); // fafanua usumbufu wa nje

Serial.println ("Anza kaunta"); // nambari niliyoongeza

}

kitanzi batili () {// mzunguko kuu

unsigned long longMillis = millis ();

ikiwa (sasaMillis - uliopitaMillis> LOG_PERIOD) {

previousMillis = currentMillis;

cpm = hesabu * kuzidisha;

Serial.println (cpm); // nambari nimebadilisha

hesabu = 0;

}

}

Hesabu ya wastani ya nyuma ya SBM-20 ilikuwa 23.4 CPM.

Hatua ya 10: Wiring Counter Geiger na LCD

Wiring Counter Geiger na LCD
Wiring Counter Geiger na LCD

Uunganisho wa LCD:

Pini ya LCD K kwa GND

LCD pini kwa kontena 220 to kwa Vcc

Pini ya LCD D7 kwa pini ya dijiti 3

Pini ya LCD D6 kwa pini ya dijiti 5

Pini ya LCD D5 kwa pini ya dijiti 6

Pini ya LCD D4 kwa pini ya dijiti 7

LCD Wezesha pini kwa pini ya dijiti 8

Pini ya LCD R / W chini

Pini ya LCD RS kwa pini ya dijiti 9

Pini ya LCD VO kurekebisha sufuria 10 kΩ

Pini ya LCD Vcc kwa Vcc

Pini ya LCD Vdd kwa GND

Sufuria 10 kΩ inayoweza kubadilishwa.

Vcc, Vo, Vdd

Kaunta ya Geiger

VIN kwa pini ya dijiti 2

5 V hadi + 5V

GND chini

Hatua ya 11: Kukabiliana na Geiger na LCD

Kukabiliana na Geiger Pamoja na LCD
Kukabiliana na Geiger Pamoja na LCD
Kukabiliana na Geiger Pamoja na LCD
Kukabiliana na Geiger Pamoja na LCD
Kukabiliana na Geiger Pamoja na LCD
Kukabiliana na Geiger Pamoja na LCD

// ni pamoja na nambari ya maktaba:

# pamoja

# pamoja

#fafanua LOG_PERIOD 15000 // Kipindi cha magogo katika milliseconds, thamani iliyopendekezwa 15000-60000.

#fafanua MAX_PERIOD 60000 // Kipindi cha juu cha ukataji miti bila kubadilisha mchoro huu

#fafanua KIPINDI 60000.0 // (sekunde 60) kipindi cha kipimo cha dakika moja

CNT ndefu isiyosainiwa; // kutofautisha kwa kuhesabu kukatizwa kutoka kwa dosimeter

hesabu ndefu ambazo hazijasainiwa; // kutofautisha kwa hafla za GM Tube

cpm ndefu isiyosainiwa; // kutofautisha kwa CPM

kisichozidi kusajiliwa cha int; // kutofautisha kwa CPM ya hesabu katika mchoro huu

unsigned muda mrefu uliopitaMillis; // kutofautisha kwa kipimo cha wakati

muda usiotiwa saini; // kutofautisha kwa wakati wa kupima

CPM ndefu isiyosainiwa; // kutofautisha kwa kupima CPM

// anzisha maktaba na nambari za pini za kiolesura

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

kuanzisha batili () {// setup

lcd kuanza (16, 2);

CNT = 0;

CPM = 0;

Kipindi = 0;

lcd.setCursor (0, 0);

lcd.print ("RH Electronics");

lcd.setCursor (0, 1);

lcd.print ("Geiger Counter");

kuchelewa (2000);

Onyesha safi ();

ambatanishaKukatisha (0, GetEvent, FALLING); // Tukio kwenye pini 2

}

kitanzi batili () {

lcd.setCursor (0, 0); // maandishi ya kuchapisha na CNT kwenye LCD

lcd.print ("CPM:");

lcd.setCursor (0, 1);

lcd.print ("CNT:");

lcd.setCursor (5, 1);

lcd.print (CNT);

ikiwa (millis ()> = kipindi cha muda + KIPINDI) {// Ikiwa dakika moja imeisha

safiDisplay (); // Futa LCD

// Fanya kitu kuhusu hafla za kusanyiko za CNT….

lcd.setCursor (5, 0);

CPM = CNT;

lcd.print (CPM); // Onyesha CPM

CNT = 0;

Kipindi = milimita ();

}

}

batili GetEvent () {// Pata Tukio kutoka kwa Kifaa

CNT ++;

}

tupu safiDisplay () {// Futa utaratibu wa LCD

lcd wazi ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

Hatua ya 12: Faili

Pakua na usakinishe faili hizi kwa Arduino yako.

Weka kila faili ya.ino kwenye folda yenye jina moja.

Ilipendekeza: