Мазмуну:
- 1 -кадам: Куралдар жана тетиктер
- 2 -кадам: Гейгер эсептегичти чогултуңуз
- 3 -кадам: Гейгер эсептегичти электрдик түрдө текшерүү
- 4 -кадам: Кабелдөө
- 5 -кадам: Код
- 6 -кадам: Serial.println Vs Serial.print
- 7 -кадам: J305 Фондук радиацияны өлчөө
- 8 -кадам: J305 Түтүн сенсорунун нурлануусун өлчөө
- 9-кадам: SBM-20
- 10 -кадам: Гейгер эсептегичин ЖК менен зымдоо
- 11 -кадам: ЖК менен Geiger Counter
- 12 -кадам: Файлдар
Video: Arduino DIY Geiger Counter: 12 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Ошентип, сиз DIY Geiger эсептегичине буйрук бердиңиз жана аны Arduino менен туташтыргыңыз келет. Сиз онлайнга барып, башкалар туура эмес экенин табуу үчүн Geiger эсептегичин Arduino менен кантип байланыштырганын кайталоого аракет кыласыз. Сиздин Geiger эсептегич эч нерсе иштебейт окшойт, бирок сиз Geiger эсептегичти Arduino менен туташтырып жатканыңызда, DIYде сүрөттөлгөндөй эч нерсе иштебейт.
Бул Нускамада мен бул мүчүлүштүктөрдүн айрымдарын кантип чечүү керектигин айтып берем.
Эске алуу; Arduino -ны бир кадамдан кийин чогултуп, коддоңуз, эгер сиз түз эле бүткөн долбоорго барсаңыз жана өткөрүлүп берилбеген зым же код сызыгы бар болсо, бул көйгөйдү табууга түбөлүккө созулушу мүмкүн.
1 -кадам: Куралдар жана тетиктер
Прототип кутусу Мен Ferrero Rocher конфет кутусун колдондум.
Кичинекей нан
16x2 LCD
Arduino board ether UNO же Nano
220 Ω каршылык
Pot 10 кОм жөнгө салынуучу резистор.
DIY Geiger Counter Kit
Jumper Wires
Батарея туташтыргычы же байлоо
Осциллограф
Жакшы мурун кыстыгы
Чакан стандарт бурагыч
2 -кадам: Гейгер эсептегичти чогултуңуз
Сиздин Geiger Tube кандайдыр бир зыян; жана сиздин Geiger эсептегичиңиз иштебейт, андыктан Geiger түтүгүңүзгө зыян келтирбөө үчүн коргоочу акрил капкагын колдонуңуз.
Бул Нускамада мен ошол эле Гейгер эсептегичин сынган Гейгер түтүгү менен кантип оңдогонум жана келечекте сынбашы үчүн коргоочу акрил капкагын кантип орнотконум жөнүндө.
www.instructables.com/id/Repairing-a-DIY-G…
3 -кадам: Гейгер эсептегичти электрдик түрдө текшерүү
Биринчиден, электр менен камсыздоо үчүн туура чыңалууну колдонуңуз; USB шнуру сиздин компьютериңизден 5 вольтту түзөт, бирок 3 АА батареянын кармагычы 1,5 вольттуу щелочтуу батареялар үчүн, жалпы чыңалуусу 4,5 вольт. Эгерде сиз 1,2 вольттук кайра заряддалуучу NI-Cd же NI-MH батареяларын колдонсоңуз, анда 4,8 вольттун жалпы чыңалуусу үчүн 4 АА батарейка кармагычы керек болот. Эгерде сиз 4,5 вольттон азыраак колдонсоңуз, Гейгер эсептегич керек болгондой иштебеши мүмкүн.
Geiger эсептегичтеринин өндүрүшүндө өтө аз схемалар бар; динамик чыкылдаган үн чыгарып, жана LED жаркылдап турса, VIN пинге сигнал алуу керек.
Чыгыш сигналына ишенүү үчүн; осциллографтын оң жагын VINге жана осциллографтын терс тарабын жерге туташтыруу менен осциллографты чыгууга туташтыруу.
Гейгердин эсептегичин иштетүү үчүн фондук радиацияны күтүүнүн ордуна, мен түтүн детекторлорунун ион камерасынан americium-241ди Гейгердин эсептегич реакциясын күчөтүү үчүн колдондум. Гейгер эсептегичтин чыгышы +3 вольттон башталып, Geiger түтүгү альфа -бөлүкчөлөргө реакция кылган сайын 0 вольтко чейин түшүп, бир аздан кийин +3 вольтко кайтат. Бул сиз Arduino менен жаздыра турган сигнал.
4 -кадам: Кабелдөө
Geiger эсептегичин сизге Arduino менен компьютериңизге туташтыруунун эки жолу бар.
Arduinoдогу GNDди Geiger эсептегичиндеги GND менен туташтырыңыз.
Arduinoдогу 5Vны Geiger эсептегичиндеги 5Vга туташтырыңыз.
Geiger эсептегичиндеги VINди Arduinoдогу D2ге туташтырыңыз.
Geiger эсептегичке туташкан көз карандысыз күч менен.
Arduinoдогу GNDди Geiger эсептегичиндеги GND менен туташтырыңыз.
Geiger эсептегичиндеги VINди Arduinoдогу D2ге туташтырыңыз.
Ардуинону компьютериңизге туташтырыңыз.
5 -кадам: Код
Arduino IDE ачыңыз жана кодду жүктөңүз.
// Бул эскиз минутасына импульс санын эсептейт.
// Arduinoдогу GNDди Geiger эсептегичиндеги GND менен туташтырыңыз.
// Arduinoдогу 5Vны Geiger эсептегичиндеги 5Vга туташтырыңыз.
// Geiger эсептегичиндеги VINди Arduinoдогу D2ге туташтырыңыз.
кол коюлбаган узун саноолор; // GM Tube окуялары үчүн өзгөрмө
unsigned long previousMillis; // убакытты өлчөө үчүн өзгөрмө
void impulse () {// dipanggil setiap ada sinyal FALLING di pin 2
count ++;
}
#DOGIN LOG_PERIOD 60000 // эсептөө ылдамдыгы
void setup () {// орнотуу
count = 0;
Serial.begin (9600);
pinMode (2, INPUT);
attachInterrupt (digitalPinToInterrupt (2), импульс, FALLING); // тышкы үзгүлтүктөрдү аныктоо
Serial.println ("Счетчикти баштоо");
}
void loop () {// негизги цикл
белгисиз узак currentMillis = millis ();
эгер (currentMillis - мурункуMillis> LOG_PERIOD) {
previousMillis = currentMillis;
Serial.println (эсептейт);
count = 0;
}
}
Куралдарда сиз колдонуп жаткан Arduino же башка тактаны тандаңыз.
Куралдарда Порт жана Ком тандаңыз
Кодду жүктөңүз.
Код Куралдарга жүктөлгөндөн кийин Сериялык Мониторду тандап, Geiger эсептегичиңиздин иштешин көрүңүз.
Мүчүлүштүктөрдү издеңиз. Бул коддун бир гана жагы бир аз түйшүктүү, ар бир эсеп үчүн 1 мүнөт күтүү керек.
6 -кадам: Serial.println Vs Serial.print
Бул коддон тапкан биринчи каталардын бири; андыктан кодуңузга "Serial.println (cpm);" жана "Serial.print (cpm);".
Serial.println (cpm); ар бир эсепти өз линиясында басып чыгарат.
Serial.print (cpm); ар бир санды бир сызыкка басып чыгарган бир чоң санга окшош болот, бул эсептөөнүн эмне экенин айтуу мүмкүн эмес.
7 -кадам: J305 Фондук радиацияны өлчөө
Биринчиси - фондук радиацияны, табигый радиацияны табуу. Бул сан - бул CPM (мүнөтүнө эсептөө), ал ар бир мүнөт сайын өлчөнгөн радиоактивдүү бөлүкчөлөрдүн жалпы саны.
J305 фонунун орточо саны 15.6 CPM болгон.
8 -кадам: J305 Түтүн сенсорунун нурлануусун өлчөө
Гейгер эсептегичинин сизге бирдей санды кайталап бериши сейрек эмес, андыктан аны радиация булагы менен текшериңиз. Мен түтүн детекторунун Americium ион камерасынан алынган радиацияны колдондум. Түтүн сенсору Америцийди абада түтүн бөлүкчөлөрүн иондоштуруучу альфа бөлүкчөлөрүнүн булагы катары колдонот. Мен сенсордогу металл капкакты алып салдым, андыктан альфа жана бета бөлүкчөлөрү гамма бөлүкчөлөрү менен бирге Гейгер түтүкчөсүнө жетиши мүмкүн.
Эгерде баары жакшы болсо, анда сандар өзгөрүшү керек.
Америкиум-241 түтүн детекторлорунан ион камерасынын орточо саны 519 CPM болгон.
9-кадам: SBM-20
Бул Arduino эскизи Алекс Богуславский тарабынан жазылган өзгөртүлгөн версия.
Бул эскиз 15 мүнөттө импульстун санын эсептеп, мүнөттүн санына айландырат жана анча түйшүктүү кылбайт.
Мен кошкон код "Serial.println (" Счетчикти баштоо ");".
Мен өзгөрткөн код; "Serial.print (cpm);" "Serial.println (cpm);" үчүн.
"#Define LOG_PERIOD 15000"; эсептөө убактысын 15 секундга коёт, мен аны "#define LOG_PERIOD 5000" же 5 секундга өзгөрттүм. Мен 1 мүнөткө, же 15 секундга жана 5 секундга чейин саноонун ортосунда эч кандай айырмачылык таппадым.
#кошуу
#define LOG_PERIOD 15000 // Милисекундтарда каттоо мөөнөтү, сунушталган маани 15000-60000.
#dexine MAX_PERIOD 60000 // Бул эскизди өзгөртпөстөн максималдуу каттоо мөөнөтү
кол коюлбаган узун саноолор; // GM Tube окуялары үчүн өзгөрмө
кол коюлбаган узун cpm; // CPM үчүн өзгөрмө
unsigned int мультипликатору; // бул эскизде CPMди эсептөө үчүн өзгөрмө
unsigned long previousMillis; // убакытты өлчөө үчүн өзгөрмө
void tube_impulse () {// Geiger Kitтен окуяларды тартуу үчүн субпроцесс
count ++;
}
void setup () {// setup subprocessure
count = 0;
cpm = 0;
мультипликатор = MAX_PERIOD / LOG_PERIOD; // эсептөөчү мультипликатор, сиздин журнал мезгилине көз каранды
Serial.begin (9600);
attachInterrupt (0, tube_impulse, FALLING); // тышкы үзгүлтүктөрдү аныктоо
Serial.println ("Счетчикти баштоо"); // мен кошкон код
}
void loop () {// негизги цикл
белгисиз узак currentMillis = millis ();
эгер (currentMillis - мурункуMillis> LOG_PERIOD) {
previousMillis = currentMillis;
cpm = санайт * мультипликатор;
Serial.println (cpm); // кодду алмаштырдым
count = 0;
}
}
SBM-20дын орточо көрсөткүчү 23,4 CPM болгон.
10 -кадам: Гейгер эсептегичин ЖК менен зымдоо
LCD туташуусу:
LCD K пин GNDге
LCD Vcc үчүн 220 дюймдук резина үчүн пин
Санарип пинге LCD D7 пин 3
Санариптик пинге D6 пин 5
LCD D5 пин санарип пинге 6
Санариптик пинге D4 пин 7
Санариптик пин 8ге пин орнотуу
ЖК R/W төөнөгүч жерге
Санарип пинге LCD RS пин 9
10 кОк идишти тууралоо үчүн LCD VO пин
LCD Vcc пин VC үчүн
LCD Vdd пин GNDге
Pot 10 кОм жөнгө салынуучу резистор.
Vcc, Vo, Vdd
Гейгер эсептегичи
Санариптик PIN 2ге VIN
5 В +5 В чейин
GND жерге
11 -кадам: ЖК менен Geiger Counter
// китепкана кодун камтыйт:
#кошуу
#кошуу
#define LOG_PERIOD 15000 // Милисекундтарда каттоо мөөнөтү, сунушталган маани 15000-60000.
#dexine MAX_PERIOD 60000 // Бул эскизди өзгөртпөстөн максималдуу каттоо мөөнөтү
#Define PERIOD 60000.0 // (60 сек) бир мүнөттүк өлчөө мезгили
туруксуз кол коюлбаган узун CNT; // дозиметрден үзгүлтүктөрдү эсептөө үчүн өзгөрмө
кол коюлбаган узун саноолор; // GM Tube окуялары үчүн өзгөрмө
кол коюлбаган узун cpm; // CPM үчүн өзгөрмө
unsigned int мультипликатору; // бул эскизде CPMди эсептөө үчүн өзгөрмө
unsigned long previousMillis; // убакытты өлчөө үчүн өзгөрмө
кол коюлбаган узак мөөнөт; // убакытты өлчөө үчүн өзгөрмө
кол коюлбаган узак CPM; // CPMди өлчөө үчүн өзгөрмө
// интерфейстин казыктарынын номерлери менен китепкананы инициализациялоо
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
void setup () {// орнотуу
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 Counter");
кечигүү (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // 2 -пиндеги окуя
}
void loop () {
lcd.setCursor (0, 0); // ЖКга текстти жана CNT басып чыгаруу
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Бир мүнөт бүтсө
cleanDisplay (); // Таза ЖК
// Топтолгон CNT окуялары жөнүндө бир нерсе кылыңыз ….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // CPMди көрсөтүү
CNT = 0;
dispPeriod = millis ();
}
}
void GetEvent () {// Окуяны түзмөктөн алуу
CNT ++;
}
void cleanDisplay () {// Таза LCD режимин тазалоо
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
12 -кадам: Файлдар
Бул файлдарды Arduinoго жүктөп алып орнотуңуз.
Ар бир.ino файлын ушундай аталыштагы папкага салыңыз.
Сунушталууда:
DIY Geiger эсептегич ESP8266 жана сенсордук экран менен: 4 кадам (сүрөттөр менен)
ESP8266 жана сенсордук экраны бар DIY Гейгер эсептегич: ЖАҢЫРТУУ: WIFI ЖАНА БАШКА ӨЗГӨРТҮЛГӨН ЖАҢЫ ЖАНА МЫКТЫ ВЕРСИЯЛАР HEREI Geiger Counterди иштеп чыккан жана курган - иондоштуруучу радиацияны аныктай турган жана колдонуучусун коркунучтуу радиациянын деңгээли жөнүндө эскертет. өтө тааныш эмес басуу
Жаңы жана жакшыртылган Geiger Counter - Азыр WiFi менен!: 4 кадам (Сүрөттөр менен)
Жаңы жана жакшыртылган Гейгер эсептегичи - Эми WiFi менен!: Бул менин Гейгер эсептегичимдин ушул нускамадан жаңыртылган версиясы. Бул абдан популярдуу болчу жана мен аны курууга кызыккан адамдардан жакшы пикирлерди алдым, андыктан уландысы: GC-20. Гейгер эсептегич, дозиметр жана радиация м
PKE Meter Geiger Counter: 7 кадам (Сүрөттөр менен)
PKE Meter Geiger Counter: Мен Peltier Cooled Cloud палатасын толуктоо үчүн көптөн бери Geiger эсептегичин кургум келет. Гейгер эсептегичине ээ болуунун анча деле пайдалуу максаты жок (бирок үмүттөнөм), бирок мен эски орус түтүктөрүн жакшы көрөм жана бул болот деп ойлогом
CubeSatти Arduino жана Geiger Counter Sensor менен кантип куруу керек: 11 кадам
CubeSatти Arduino жана Geiger Counter Sensor менен кантип куруу керек: Марстын радиоактивдүү экени жөнүндө ойлонуп көрдүңүз беле? Ал эми радиоактивдүү болсо, радиациянын деңгээли адамдар үчүн зыяндуу деп эсептейби? Бул биздин CubeSat аркылуу Arduino Geiger Counte менен жооп бере турган суроолордун бардыгы
DIY Arduino Geiger Counter: 6 кадам (Сүрөттөр менен)
DIY Arduino Geiger Counter: Баарына салам! Кандай жүрөсүң? Бул How-ToDo долбоору, менин атым Константин, бүгүн мен сизге бул Geiger эсептегичти кантип жасаганымды көрсөткүм келет. Мен бул аппаратты дээрлик өткөн жылдын башынан тарта кура баштадым. Ошондон бери ал 3 комплектти басып өттү