Satura rādītājs:
- 1. darbība: rīki un detaļas
- 2. darbība: samontējiet savu Geigera skaitītāju
- 3. darbība: Geigera skaitītāja elektriskā pārbaude
- 4. solis: elektroinstalācija
- 5. darbība: kods
- 6. darbība: Serial.println vs Serial.print
- 7. darbība: J305 Fona starojuma mērīšana
- 8. darbība: J305 Dūmu sensora starojuma mērīšana
- 9. darbība: SBM-20
- 10. solis: Geigera skaitītāja savienošana ar LCD
- 11. solis: Geigera skaitītājs ar LCD
- 12. darbība: faili
Video: Arduino DIY Geigera skaitītājs: 12 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Tātad jūs esat pasūtījis DIY Geigera skaitītāju un vēlaties to savienot ar savu Arduino. Jūs dodaties tiešsaistē un mēģināt dublēt, kā citi ir savienojuši savu Geigera skaitītāju ar Arduino, lai tikai atrastu, ka kaut kas nav kārtībā. Lai gan šķiet, ka jūsu Geigera skaitītājs nedarbojas, kā aprakstīts DIY, kam sekojat, kad savienojat savu Geigera skaitītāju ar savu Arduino.
Šajā pamācībā es apskatīšu, kā novērst dažas no šīm problēmām.
Atcerieties; samontējiet un kodējiet Arduino soli pa solim, ja dodaties tieši pie pabeigta projekta un ir nokavēts vads vai koda rindiņa, problēmas meklēšana var aizņemt jūs uz visiem laikiem.
1. darbība: rīki un detaļas
Prototipa kaste Es izmantoju Ferrero Rocher konfekšu kastīti.
Neliels maizes dēlis
16x2 LCD
Arduino plāksnes ēteris UNO vai Nano
220 Ω rezistors
Pot 10 kΩ regulējams rezistors.
DIY Geigera skaitītāju komplekts
Jumper vadi
Akumulatora savienotājs vai siksnas
Osciloskops
Smalkas deguna knaibles
Mazs standarta skrūvgriezis
2. darbība: samontējiet savu Geigera skaitītāju
Jebkādi jūsu Geigera caurules bojājumi; un jūsu Geigera skaitītājs nedarbosies, tāpēc izmantojiet aizsargājošu akrila pārsegu, lai novērstu Geigera caurules bojājumus.
Šī pamācība ir par to, kā es laboju to pašu Geigera skaitītāju ar salauztu Geigera cauruli un uzstādīju aizsargājošu akrila pārsegu, lai novērstu lūzumus nākotnē.
www.instructables.com/id/Repairing-a-DIY-G…
3. darbība: Geigera skaitītāja elektriskā pārbaude
Vispirms izmantojiet barošanas avotam pareizo spriegumu; USB vads piegādā 5 voltu līdzstrāvu tieši no datora, tomēr 3 AA bateriju turētājs ir paredzēts 1,5 voltu sārma baterijām, kuru kopējais spriegums ir 4,5 volti. Ja izmantojat 1,2 voltu uzlādējamas NI-Cd vai NI-MH baterijas, jums būs nepieciešams 4 AA bateriju turētājs, kura kopējais spriegums ir 4,8 volti. Ja izmantojat mazāk nekā 4,5 voltus, Geigera skaitītājs var nedarboties tā, kā vajadzētu.
Geigera skaitītāju izejā ir ļoti maz shēmu; tāpēc, kamēr skaļrunis izdod tikšķīgu skaņu un mirgo gaismas diode, jums vajadzētu saņemt signālu uz VIN tapas.
Lai būtu pārliecināts par izejas signālu; pievienojiet osciloskopu izejai, savienojot osciloskopa zondes pozitīvo pusi ar VIN un osciloskopa zondes negatīvo pusi ar zemi.
Tā vietā, lai tikai gaidītu fona starojumu, lai iedarbinātu Geigera skaitītāju, es izmantoju americium-241 no dūmu detektoru jonu kameras, lai palielinātu Geigera skaitītāju reakcijas. Geigera skaitītāja izeja sākās ar +3 voltiem un samazinājās līdz 0 voltiem katru reizi, kad Geigera caurule reaģēja uz alfa daļiņām un mirkli vēlāk atgriezās pie +3 voltiem. Tas ir signāls, kuru ierakstīsit, izmantojot Arduino.
4. solis: elektroinstalācija
Ir divi veidi, kā savienot Geigera skaitītāju ar Arduino un datoru.
Savienojiet GND uz Arduino ar GND uz Geigera skaitītāja.
Pievienojiet 5V uz Arduino ar 5V uz Geigera skaitītāja.
Savienojiet VIN uz Geigera skaitītāja ar D2 Arduino.
Ar neatkarīgu barošanu, kas savienota ar Geigera skaitītāju.
Savienojiet GND uz Arduino ar GND uz Geigera skaitītāja.
Savienojiet VIN uz Geigera skaitītāja ar D2 Arduino.
Savienojiet Arduino ar datoru.
5. darbība: kods
Atveriet Arduino IDE un ielādējiet kodu.
// Šī skice skaita impulsu skaitu minūtē.
// Savienojiet GND uz Arduino ar GND uz Geigera skaitītāja.
// Savienojiet 5V ar Arduino ar 5V uz Geigera skaitītāja.
// Savienojiet VIN uz Geigera skaitītāja ar D2 Arduino.
neparakstīti ilgi skaitījumi; // mainīgais GM Tube notikumiem
neparakstīts ilgi iepriekšMillis; // mainīgais laika mērīšanai
void impulse () {// dipanggil setiap ada sinyal FALLING di pin 2
skaitās ++;
}
#define LOG_PERIOD 60000 // skaitīšanas ātrums
void setup () {// setup
skaitās = 0;
Sērijas sākums (9600);
pinMode (2, INPUT);
attachInterrupt (digitalPinToInterrupt (2), impulss, FALLING); // definēt ārējos pārtraukumus
Serial.println ("Sākt skaitītāju");
}
void loop () {// galvenais cikls
neparakstīta garā strāvaMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
Serial.println (skaits);
skaitās = 0;
}
}
Rīkos atlasiet Arduino vai citu izmantoto dēli.
Rīkos atlasiet Port un Com
Augšupielādējiet kodu.
Kad kods ir augšupielādēts Rīki, atlasiet Sērijas monitors un skatieties, kā darbojas Geigera skaitītājs.
Meklējiet traucējumus. Vienīgais, kas attiecas uz šo kodu, ir tas, ka tas ir nedaudz garlaicīgs, un jums ir jāgaida 1 minūte līdz katram skaitījumam.
6. darbība: Serial.println vs Serial.print
Šī ir viena no pirmajām kļūdām, ko atradu kodā; tāpēc skatieties to savā kodā “Serial.println (cpm)”; un “Sērijas nospiedums (cpm);”.
Serial.println (cpm); katru skaitli drukās uz savas rindas.
Sērijas nospiedums (cpm); izskatīsies kā viens liels skaitlis, un katrs skaitlis tiks uzrakstīts uz vienas līnijas, tāpēc nebūs iespējams pateikt, kāds ir skaitlis.
7. darbība: J305 Fona starojuma mērīšana
Pirmkārt, tiek mērīts fona starojums, dabiskais starojums, kas jau pastāv dabiski. Uzskaitītais skaitlis ir MPT (skaits minūtē), kas ir kopā izmērīto radioaktīvo daļiņu daudzums katru minūti.
J305 vidējais fona skaitlis bija 15,6 MPT.
8. darbība: J305 Dūmu sensora starojuma mērīšana
Nereti Geigera skaitītājs atkārtoti norāda vienu un to pašu skaitli, tāpēc pārbaudiet to ar starojuma avotu. Es izmantoju starojuma mērījumu no Americium jonu kameras no dūmu detektora. Dūmu sensors izmanto Americium kā alfa daļiņu avotu, kas jonizē gaisā esošās dūmu daļiņas. Es noņēmu sensora metāla vāciņu, lai alfa un beta daļiņas kopā ar gamma daļiņām varētu nokļūt Geigera caurulē.
Ja viss ir kārtībā, skaitļiem vajadzētu mainīties.
Americium-241 no dūmu detektoru jonu kameras vidējais skaits bija 519 MPT.
9. darbība: SBM-20
Šī Arduino skice ir modificēta versija, ko uzrakstījis Alekss Boguslavskis.
Šī skice saskaita impulsu skaitu 15 sekundēs un pārvērš to skaitļos minūtē, padarot to mazāk nogurdinošu.
Kods I pievienoja “Serial.println (" Sākt skaitītāju ");”.
I kods mainīts; “Sērijas nospiedums (cpm);” uz “Serial.println (cpm);”.
“#Define LOG_PERIOD 15000”; nosaka skaitīšanas laiku līdz 15 sekundēm, es to nomainīju uz “#define LOG_PERIOD 5000” jeb 5 sekundes. Es neatradu būtisku atšķirību vidējā rādītājā starp skaitīšanu 1 minūti vai 15 sekundes un 5 sekundes.
#iekļaut
#define LOG_PERIOD 15000 // Reģistrācijas periods milisekundēs, ieteicamā vērtība 15000-60000.
#define MAX_PERIOD 60000 // Maksimālais reģistrēšanas periods, nemainot šo skici
neparakstīti ilgi skaitījumi; // GM Tube notikumu mainīgais
neparakstīts garš cpm; // mainīgais MPT
neparakstīts int reizinātājs; // mainīgais MPT aprēķināšanai šajā skicē
neparakstīts ilgi iepriekšMillis; // mainīgais laika mērīšanai
void tube_impulse () {// apakšprocedūra notikumu fiksēšanai no Geigera komplekta
skaitās ++;
}
void setup () {// iestatīšanas apakšprocedūra
skaitās = 0;
cpm = 0;
reizinātājs = MAX_PERIOD / LOG_PERIOD; // aprēķināšanas reizinātājs, atkarīgs no jūsu žurnāla perioda
Sērijas sākums (9600);
attachInterrupt (0, tube_impulse, FALLING); // definēt ārējos pārtraukumus
Serial.println ("Sākt skaitītāju"); // kods, kuru es pievienoju
}
void loop () {// galvenais cikls
neparakstīta garā strāvaMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
cpm = skaits * reizinātājs;
Serial.println (cpm); // kods, kuru es mainīju
skaitās = 0;
}
}
SBM-20 fona vidējais skaits bija 23,4 MPT.
10. solis: Geigera skaitītāja savienošana ar LCD
LCD savienojums:
LCD K tapa uz GND
LCD A kontakts ar 220 Ω rezistoru uz Vcc
LCD D7 tapa līdz digitālajai tapai 3
LCD D6 tapa uz digitālo tapu 5
LCD D5 tapa uz ciparu tapu 6
LCD D4 tapa uz ciparu tapu 7
LCD Iespējot tapu uz digitālo tapu 8
LCD R/W tapa uz zemes
LCD RS tapa līdz digitālajai tapai 9
LCD VO tapa, lai pielāgotu 10 kΩ katlu
LCD Vcc tapa uz Vcc
LCD Vdd tapa uz GND
Pot 10 kΩ regulējams rezistors.
Vcc, Vo, Vdd
Geigera skaitītājs
VIN līdz digitālajai tapai 2
5 V līdz +5 V.
GND uz zemes
11. solis: Geigera skaitītājs ar LCD
// iekļauj bibliotēkas kodu:
#iekļaut
#iekļaut
#define LOG_PERIOD 15000 // Reģistrācijas periods milisekundēs, ieteicamā vērtība 15000-60000.
#define MAX_PERIOD 60000 // Maksimālais reģistrēšanas periods, nemainot šo skici
#define PERIOD 60000.0 // (60 sek.) vienas minūtes mērīšanas periods
gaistošs neparakstīts garš CNT; // mainīgais pārtraukumu skaitīšanai no dozimetra
neparakstīti gari skaitījumi; // GM Tube notikumu mainīgais
neparakstīts garš cpm; // mainīgais MPT
neparakstīts int reizinātājs; // mainīgais MPT aprēķināšanai šajā skicē
neparakstīts ilgi iepriekšMillis; // mainīgais laika mērīšanai
neparakstīts ilgs laiks; // mainīgais laika mērīšanai
neparakstīta gara MPT; // mainīgais MPT mērīšanai
// inicializēt bibliotēku, izmantojot saskarnes tapas numurus
LiquidCrystal LCD (9, 8, 7, 6, 5, 3);
void setup () {// setup
lcd. sākums (16, 2);
CNT = 0;
MPT = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print ("Geigera skaitītājs");
kavēšanās (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // Notikums uz 2. tapas
}
void loop () {
lcd.setCursor (0, 0); // drukāt tekstu un CNT uz LCD
lcd.print ("MPT:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
ja (milis ()> = dispPeriod + PERIOD) {// Ja viena minūte ir beigusies
cleanDisplay (); // Notīrīt LCD
// Dariet kaut ko par uzkrātajiem CNT notikumiem….
lcd.setCursor (5, 0);
MPT = CNT;
lcd.print (MPT); // Parādīt MPT
CNT = 0;
dispPeriod = milis ();
}
}
void GetEvent () {// Iegūt notikumu no ierīces
CNT ++;
}
void cleanDisplay () {// Notīrīt LCD rutīnu
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
12. darbība: faili
Lejupielādējiet un instalējiet šos failus savā Arduino.
Ievietojiet katru.ino failu mapē ar tādu pašu nosaukumu.
Ieteicams:
Darba Geigera skaitītājs ar minimālām daļām: 4 soļi (ar attēliem)
Darba Geigera skaitītājs ar minimālām daļām: Manuprāt, šeit ir vienkāršākais funkcionējošais Geigera skaitītājs, ko varat izveidot. Šajā tiek izmantota Krievijā ražota SMB-20 Geigera caurule, ko darbina augstsprieguma pastiprināšanas ķēde, kas aplaupīta no elektroniskā mušas sitēja. Tas nosaka beta daļiņas un gam
DIY Geigera skaitītājs ar ESP8266 un skārienekrānu: 4 soļi (ar attēliem)
DIY Geigera skaitītājs Ar ESP8266 un skārienekrānu: ATJAUNINĀJUMS: JAUNA UN UZLABOTA VERSIJA AR WIFI UN CITĀM PAPILDINĀTĀM ĪPAŠĪBĀM HEREI izstrādāja un izgatavoja Geigera skaitītāju - ierīci, kas spēj noteikt jonizējošo starojumu un brīdināt lietotāju par bīstamu apkārtējās vides starojuma līmeni. pārāk pazīstams klikšķis nē
Jauns un uzlabots Geigera skaitītājs - tagad ar WiFi!: 4 soļi (ar attēliem)
Jauns un uzlabots Geigera skaitītājs - tagad ar WiFi !: Šī ir atjaunināta mana Geigera skaitītāja versija no šīs instrukcijas. Tas bija diezgan populārs, un es saņēmu labu atgriezenisko saiti no cilvēkiem, kuri bija ieinteresēti to veidot, tāpēc šeit ir turpinājums: GC-20. Geigera skaitītājs, dozimetrs un starojums
PKE mērītāja Geigera skaitītājs: 7 soļi (ar attēliem)
PKE mērītājs Geigera skaitītājs: Es jau sen vēlējos izveidot Geigera skaitītāju, lai papildinātu savu Peltier dzesēto mākoņu kameru. (Cerams) Geigera skaitītāja īpašumtiesībām nav īsti noderīga mērķa, bet es vienkārši mīlu vecās krievu caurules un domāju, ka tas būtu
DIY Arduino Geigera skaitītājs: 6 soļi (ar attēliem)
DIY Arduino Geigera skaitītājs: Sveiki visiem! Kā tev klājas? Šis ir projekts How-ToDo, mani sauc Konstantīns, un šodien es vēlos jums parādīt, kā es izveidoju šo Geigera skaitītāju. Es sāku veidot šo ierīci gandrīz no pagājušā gada sākuma. Kopš tā laika tas ir izgājis 3 komp