Mundarija:
- 1 -qadam: asboblar va ehtiyot qismlar
- 2 -qadam: Geiger hisoblagichingizni yig'ing
- 3 -qadam: Geiger hisoblagichini elektr bilan tekshirish
- 4 -qadam: simlarni ulash
- 5 -qadam: kod
- 6 -qadam: Serial.println Vs Serial.print
- 7 -qadam: J305 fon radiatsiyasini o'lchash
- 8 -qadam: J305 tutun sensori radiatsiyasini o'lchash
- 9-qadam: SBM-20
- 10 -qadam: Geiger hisoblagichini LCD bilan ulash
- 11 -qadam: LCD bilan Geiger hisoblagichi
- 12 -qadam: fayllar
Video: Arduino DIY Geiger hisoblagichi: 12 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Shunday qilib, siz DIY Geiger hisoblagichiga buyurtma berdingiz va uni Arduino -ga ulashni xohlaysiz. Siz tarmoqqa borasiz va boshqalarning Geiger hisoblagichini Arduino -ga qanday qilib noto'g'ri ekanligini aniqlash uchun qanday bog'laganini takrorlashga harakat qilasiz. Garchi sizning Geiger hisoblagichingiz hech narsa ishlamayotganga o'xshasa -da, siz o'zingiz aytganidek, Geiger hisoblagichini Arduino -ga ulaganingizda bajarilgandek.
Bu yo'riqnomada men ba'zi kamchiliklarni qanday hal qilishni ko'rib chiqaman.
Eslab qoling; Arduino -ni birma -bir yig'ing va kodlang, agar siz to'g'ridan -to'g'ri tugallangan loyihaga o'tsangiz va o'tkazib yuborilgan sim yoki kod chizig'i bo'lsa, muammoni hal qilish uchun abadiy vaqt kerak bo'ladi.
1 -qadam: asboblar va ehtiyot qismlar
Prototip qutisi Men Ferrero Rocher konfet qutisini ishlatardim.
Kichik non paneli
16x2 LCD displey
Arduino taxtasi UNO yoki Nano
220 Ω qarshilik
Pot 10 kΩ sozlanishi qarshilik.
DIY Geiger hisoblagichlari to'plami
Jumper simlari
Batareya ulagichi yoki jabduqlar
Osiloskop
Nozik burun qisqichlari
Kichik standart tornavida
2 -qadam: Geiger hisoblagichingizni yig'ing
Geiger Tube -ga har qanday zarar; va sizning Geiger hisoblagichingiz ishlamaydi, shuning uchun Geiger trubkangizga zarar yetkazmaslik uchun himoya akril qoplamasidan foydalaning.
Bu yo'riqnoma, xuddi o'sha Geiger taymerini singan Geiger trubkasi bilan qanday tuzatganim va kelajakda buzilmasligi uchun himoya akril qopqog'ini qanday o'rnatganim haqida.
www.instructables.com/id/Repairing-a-DIY-G…
3 -qadam: Geiger hisoblagichini elektr bilan tekshirish
Avval quvvat manbai uchun to'g'ri kuchlanishni ishlating; USB kabeli sizning kompyuteringizdan to'g'ridan -to'g'ri 5 voltsli shaharni etkazib beradi, lekin 3 AAli batareya ushlagichi 1,5 voltli ishqoriy batareyalarga mo'ljallangan bo'lib, umumiy voltaji 4,5 voltni tashkil qiladi. Agar siz 1,2 voltlik qayta zaryadlanuvchi NI-Cd yoki NI-MH batareyalaridan foydalansangiz, umumiy quvvati 4,8 voltsli 4 ta AA batareya ushlagichi kerak bo'ladi. Agar siz 4,5 voltdan kam ishlatsangiz, Geiger hisoblagichi kerakli darajada ishlamasligi mumkin.
Geiger hisoblagichlarining chiqishida juda kam sxemalar mavjud; agar karnay ovoz chiqarsa va LED yonib tursa, siz VIN pinida signal olishingiz kerak.
Chiqish signaliga ishonch hosil qilish uchun; osiloskop probining ijobiy tomonini VIN va osiloskop probining salbiy tomonini erga ulab, osiloskopni chiqishga ulang.
Geiger hisoblagichini ishga tushirish uchun orqa fon nurlanishini kutishning o'rniga, men Geiger hisoblagichlarining reaktsiyasini kuchaytirish uchun tutun detektori ion kamerasidan ameriyum-241 dan foydalandim. Geiger taymerining chiqishi +3 voltdan boshlandi va har safar Geiger trubkasi alfa -zarrachalarga reaksiyaga kirganda va bir zumdan keyin +3 voltsga qaytganda 0 voltgacha tushdi. Bu siz Arduino bilan yozib oladigan signal.
4 -qadam: simlarni ulash
Geiger hisoblagichini Arduino va kompyuteringizga ulashning ikkita usuli bor.
Arduino -dagi GND -ni Geiger hisoblagichidagi GND -ga ulang.
Arduino -dagi 5V -ni Geiger hisoblagichidagi 5V -ga ulang.
Geiger hisoblagichidagi VIN -ni Arduino -dagi D2 -ga ulang.
Geiger taymeriga ulangan mustaqil quvvat bilan.
Arduino -dagi GND -ni Geiger hisoblagichidagi GND -ga ulang.
Geiger hisoblagichidagi VIN -ni Arduino -dagi D2 -ga ulang.
Arduino -ni kompyuteringizga ulang.
5 -qadam: kod
Arduino IDE -ni oching va kodni yuklang.
// Bu eskiz bir daqiqadagi impulslar sonini hisoblab chiqadi.
// Arduino -dagi GND -ni Geiger hisoblagichidagi GND -ga ulang.
// Arduino -dagi 5V -ni Geiger hisoblagichidagi 5V -ga ulang.
// Geiger hisoblagichidagi VIN -ni Arduino -dagi D2 -ga ulang.
imzosiz uzoq hisoblar; // GM Tube hodisalari uchun o'zgaruvchi
uzoq vaqt oldin imzolangan emas; // vaqtni o'lchash uchun o'zgaruvchi
void impuls () {// dipanggil setiap ada sinyal FALLING di pin 2
hisoblar ++;
}
#deg LOG_PERIOD 60000 // hisoblash tezligi
void setup () {// sozlash
hisoblar = 0;
Serial.begin (9600);
pinMod (2, Kirish);
attachInterrupt (digitalPinToInterrupt (2), impuls, FALLING); // tashqi uzilishlarni aniqlang
Serial.println ("Hisoblagichni ishga tushirish");
}
void loop () {// asosiy tsikl
belgisiz uzun oqimMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
oldingiMillis = joriyMillis;
Serial.println (hisoblar);
hisoblar = 0;
}
}
Asboblar bo'limida siz foydalanadigan Arduino yoki boshqa taxtani tanlang.
Asboblar orqali Port va Com -ni tanlang
Kodni yuklang.
Kod "Asboblar" ga yuklanganidan so'ng Serial Monitor -ni tanlang va Geiger hisoblagichingizning ishlashini ko'ring.
Nosozliklarni qidiring. Bu kodning yagona xususiyati shundaki, har bir hisob uchun 1 daqiqa kutish kerak.
6 -qadam: Serial.println Vs Serial.print
Bu kodda topilgan birinchi nosozliklardan biri; shuning uchun kodingizda "Serial.println (cpm)" ga e'tibor bering; va "Serial.print (cpm);".
Serial.println (cpm); har bir sonni o'z qatorida chop etadi.
Serial.print (cpm); har bir sonni bitta satrda bosib chiqaradigan bitta katta raqamga o'xshaydi, bu hisob nima ekanligini aytib bo'lmaydi.
7 -qadam: J305 fon radiatsiyasini o'lchash
Birinchisi, tabiiy ravishda mavjud bo'lgan tabiiy nurlanish, fon radiatsiyasini o'lchash. Ro'yxatga olingan raqam - bu CPM (daqiqada hisoblash), bu har daqiqada o'lchangan radioaktiv zarrachalarning umumiy soni.
J305 fonidagi o'rtacha ko'rsatkich 15,6 CPM edi.
8 -qadam: J305 tutun sensori radiatsiyasini o'lchash
Geyger hisoblagichi sizga bir xil hisobni qayta -qayta berishi odatiy hol emas, shuning uchun uni nurlanish manbasi bilan tekshiring. Men tutun detektorining Americium ion kamerasidan olingan nurlanish o'lchovidan foydalandim. Tutun sensori Americiumni havodagi tutun zarralarini ionlashtiruvchi alfa zarrachalar manbai sifatida ishlatadi. Men sensordagi metall qopqoqni olib tashladim, shuning uchun alfa va beta zarrachalari gamma zarralari bilan birga Geiger trubkasiga tushishi mumkin.
Agar hamma narsa tartibda bo'lsa, hisoblar o'zgarishi kerak.
Tutun detektori ion kamerasining Americium-241 o'rtacha soni 519 CPM edi.
9-qadam: SBM-20
Bu Arduino eskizining o'zgartirilgan versiyasi Aleks Boguslavskiy.
Bu eskiz pulslar sonini 15 soniyada hisoblab chiqadi va uni daqiqasiga hisoblashga aylantiradi, bu esa uni zerikarli qilmaydi.
Kodga "Serial.println (" Hisoblagichni ishga tushirish ") qo'shdim;".
Men o'zgartirgan kod; "Serial.print (cpm);" "Serial.println (cpm);" ga.
"#LOG_PERIOD 15000 ni belgilang"; sanash vaqtini 15 soniyaga o'rnatadi, men uni "#define LOG_PERIOD 5000" yoki 5 soniya qilib o'zgartirdim. Men 1 daqiqa yoki 15 soniya va 5 soniya sanash o'rtasida o'rtacha farqni sezmadim.
#qo'shing
#define LOG_PERIOD 15000 // Jurnal vaqti millisekundlarda, tavsiya etilgan qiymat 15000-60000.
#dexine MAX_PERIOD 60000 // Ushbu eskizni o'zgartirmagan holda jurnalga kirishning maksimal muddati
imzosiz uzoq hisoblar; // GM Tube hodisalari uchun o'zgaruvchi
imzosiz uzun kpm; // CPM uchun o'zgaruvchi
imzosiz int ko'paytmasi; // ushbu eskizda CPMni hisoblash uchun o'zgaruvchi
uzoq vaqt oldin imzolangan emas; // vaqtni o'lchash uchun o'zgaruvchi
void tube_impulse () {// Geiger Kit -dan voqealarni yozib olish uchun pastki protsedura
hisoblar ++;
}
void setup () {// sozlash kichik protsedurasi
hisoblar = 0;
cpm = 0;
multiplikator = MAX_PERIOD / LOG_PERIOD; // hisoblash multiplikatori, sizning jurnal davringizga bog'liq
Serial.begin (9600);
attachInterrupt (0, tube_impulse, FALLING); // tashqi uzilishlarni aniqlang
Serial.println ("Hisoblagichni ishga tushirish"); // men qo'shgan kod
}
void loop () {// asosiy tsikl
belgisiz uzun oqimMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
oldingiMillis = joriyMillis;
cpm = hisoblash * ko'paytmasi;
Serial.println (cpm); // kodni o'zgartirdim
hisoblar = 0;
}
}
SBM-20 fonidagi o'rtacha ko'rsatkich 23,4 CPM edi.
10 -qadam: Geiger hisoblagichini LCD bilan ulash
LCD ulanishi:
LCD K pin GND ga
LCD VC uchun 220 dyuymli rezistorli pin
LCD D7 pinli raqamli pin 3
LCD D6 pinli raqamli pin 5
LCD D5 pinli raqamli pin 6
LCD D4 pinli raqamli pin 7
LCD PIN -kodni raqamli pin 8 -ga yoqish
Erga ulangan LCD R/V pin
LCD RS pinli raqamli pin 9
10 kΩ potni sozlash uchun LCD VO pin
LCD Vcc pinini Vcc ga ulang
LCD Vdd pin GND ga
Pot 10 kΩ sozlanishi qarshilik.
Vcc, Vo, Vdd
Geiger hisoblagichi
VIN - raqamli pin 2
5 V dan +5 V gacha
GND erga
11 -qadam: LCD bilan Geiger hisoblagichi
// kutubxona kodini o'z ichiga oladi:
#qo'shing
#qo'shing
#define LOG_PERIOD 15000 // Jurnal vaqti millisekundlarda, tavsiya etilgan qiymat 15000-60000.
#dexine MAX_PERIOD 60000 // Ushbu eskizni o'zgartirmagan holda jurnalga kirishning maksimal muddati
#devren 60000.0 PERIOD // (60 sek) bir daqiqali o'lchov davri
uchuvchan bo'lmagan uzun CNT; // dozimetrdan uzilishlarni hisoblash uchun o'zgaruvchi
imzosiz uzoq hisoblar; // GM Tube hodisalari uchun o'zgaruvchi
imzosiz uzun kpm; // CPM uchun o'zgaruvchi
imzosiz int ko'paytmasi; // ushbu eskizda CPMni hisoblash uchun o'zgaruvchi
uzoq vaqt oldin imzolangan emas; // vaqtni o'lchash uchun o'zgaruvchi
imzosiz uzoq muddat; // vaqtni o'lchash uchun o'zgaruvchi
imzosiz uzun CPM; // CPMni o'lchash uchun o'zgaruvchi
// kutubxonani interfeys pinlari raqamlari bilan ishga tushiring
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
void setup () {// sozlash
lcd.begin (16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print ("Geiger hisoblagichi");
kechikish (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // 2 -pindagi voqea
}
void loop () {
lcd.setCursor (0, 0); // LCD -da matn va CNT -ni chop eting
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Agar bir daqiqa tugagan bo'lsa
cleanDisplay (); // LCD -ni tozalash
// CNT to'plangan voqealar haqida biror narsa qiling ….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // CPMni ko'rsatish
CNT = 0;
dispPeriod = millis ();
}
}
void GetEvent () {// Voqeani qurilmadan oling
CNT ++;
}
void cleanDisplay () {// LCD tartibini tozalash
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
12 -qadam: fayllar
Ushbu fayllarni Arduino -ga yuklab oling va o'rnating.
Har bir.ino faylini bir xil nomdagi papkaga joylashtiring.
Tavsiya:
Arduino bilan chastota hisoblagichi: 8 qadam (rasmlar bilan)
Arduino bilan chastota hisoblagichi: bu oddiy va arzon arduino asosidagi chastota hisoblagichining narxi 4 dollardan past, kichik sxemalarni o'lchash juda foydali bo'lgan
ESP8266 va sensorli ekranli DIY Geiger hisoblagichi: 4 qadam (rasmlar bilan)
ESP8266 va sensorli ekranli DIY Geiger hisoblagichi: YANGILANISH: WIFI VA QO'ShIMChA XUSUSIYATLARI BILAN YANGI VA TAKMILLANGAN VERSION HEREI Geiger hisoblagichini - ionlashtiruvchi nurlanishni aniqlaydigan va o'z foydalanuvchisini atrofdagi nurlanishning xavfli darajalari haqida ogohlantiradigan qurilma yaratdi va qurdi. noaniq tugmani bosish juda tanish
Yangi va takomillashtirilgan Geiger hisoblagichi - Endi WiFi bilan!: 4 qadam (rasmlar bilan)
Yangi va takomillashtirilgan Geiger hisoblagichi - Endi Wi -Fi bilan!: Bu mening ko'rsatgichimdagi Geiger hisoblagichimning yangilangan versiyasi. Bu juda mashhur edi va men uni qurishga qiziqqan odamlarning yaxshi fikrlarini oldim, shuning uchun davomi: GC-20. Geiger hisoblagichi, dozimetr va nurlanish m
PKE o'lchagichi Geiger hisoblagichi: 7 qadam (rasmlar bilan)
PKE Meter Geiger hisoblagichi: Men uzoq vaqtdan beri Peltier sovutilgan bulutli kameramni to'ldirish uchun Geiger hisoblagichini qurmoqchi edim. Umid qilamanki, Geiger taymeriga ega bo'lishda unchalik foydali maqsad yo'q, lekin men eski rus naychalarini yaxshi ko'raman va shunday bo'ladi deb o'yladim
DIY Arduino Geiger hisoblagichi: 6 qadam (rasmlar bilan)
DIY Arduino Geiger Counter: Hammaga salom! Ishlaringiz yaxshimi? Bu How-ToDo loyihasi, mening ismim Konstantin, bugun men sizga Geyger hisoblagichini qanday yasaganimni ko'rsatmoqchiman. Men deyarli o'tgan yilning boshidan bu qurilmani qura boshladim. O'shandan beri u 3 ta komplektdan o'tdi