Obsah:

Arduino DIY Geiger Counter: 12 krokov (s obrázkami)
Arduino DIY Geiger Counter: 12 krokov (s obrázkami)

Video: Arduino DIY Geiger Counter: 12 krokov (s obrázkami)

Video: Arduino DIY Geiger Counter: 12 krokov (s obrázkami)
Video: Массимо Банци: Как Arduino пробуждает воображение 2024, November
Anonim
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter

Takže ste si objednali počítadlo DIY Geiger a chcete ho pripojiť k svojmu Arduinu. Choďte online a pokúste sa zopakovať, ako ostatní pripojili svoj Geigerov pult k Arduinu, aby zistili, že niečo nie je v poriadku. Aj keď sa zdá, že váš Geigerov počítač nefunguje, nič nefunguje tak, ako je to popísané v DIY, ktoré sledujete, keď pripojíte svoj Geigerov počítač k svojmu Arduinu.

V tomto návode sa budem zaoberať riešením niektorých z týchto problémov.

Pamätajte; zostavte a nakódujte Arduino jeden po druhom, ak prejdete priamo k dokončenému projektu a dôjde k zmeškaniu drôtu alebo riadku kódu, hľadanie problému vám môže trvať celú večnosť.

Krok 1: Nástroje a diely

Nástroje a diely
Nástroje a diely

Prototypová krabica Použil som bonboniéru Ferrero Rocher.

Malý chlebník

16x2 LCD

Doska Arduino je UNO alebo Nano

Odpor 220 Ω

Pot 10 kΩ nastaviteľný odpor.

DIY Geiger Counter Kit

Prepojovacie vodiče

Konektor alebo zväzok batérie

Osciloskop

Kliešte s jemným nosom

Malý štandardný skrutkovač

Krok 2: Zostavte svoje Geigerovo počítadlo

Zostavte si svoje Geigerovo počítadlo
Zostavte si svoje Geigerovo počítadlo

Akékoľvek poškodenie vašej Geigerovej trubice; a váš Geigerov počítač nebude fungovať, preto použite ochranný akrylový kryt, aby ste predišli poškodeniu vašej Geigerovej trubice.

Tento návod je o tom, ako som opravil rovnaký Geigerov pult s rozbitou Geigerovou trubicou a nasadil ochranný akrylový kryt, aby som v budúcnosti zabránil rozbitiu.

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

Krok 3: Elektrické testovanie Geigerovho počítadla

Elektrické testovanie Geigerovho počítadla
Elektrické testovanie Geigerovho počítadla
Elektrické testovanie Geigerovho počítadla
Elektrické testovanie Geigerovho počítadla
Elektrické testovanie Geigerovho počítadla
Elektrické testovanie Geigerovho počítadla

Na napájanie najskôr použite správne napätie; kábel USB napája 5 V jednosmerného prúdu priamo z počítača, ale držiak na 3 AA batérie je určený pre 1,5 voltové alkalické batérie s celkovým napätím 4,5 voltu. Ak používate 1,2 V nabíjacie batérie NI-Cd alebo NI-MH, budete potrebovať držiak batérií 4 AA na celkové napätie 4,8 voltu. Ak použijete menej ako 4,5 voltov, Geigerov počítač nemusí fungovať tak, ako by mal.

Na výstupe Geigerových počítadiel je veľmi málo obvodov; pokiaľ reproduktor vydáva tikot a LED dióda bliká, na kolíku VIN by ste mali dostať signál.

Aby ste si boli istí výstupným signálom; pripojte osciloskop k výstupu pripojením kladnej strany sondy osciloskopu k VIN a negatívnej strany sondy osciloskopu k zemi.

Namiesto čakania na žiarenie pozadia na spustenie Geigerovho počítadla som použil americium-241 z iónovej komory detektorov dymu na zvýšenie reakcií Geigerových počítadiel. Výstup Geigerovho počítadla začínal na +3 voltoch a klesol na 0 voltov zakaždým, keď Geigerova trubica reagovala na alfa častice a o chvíľu neskôr sa vrátila na +3 volty. Toto je signál, ktorý budete nahrávať s Arduino.

Krok 4: Zapojenie

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

Počítadlo Geiger môžete k Arduinu a počítaču pripojiť dvoma spôsobmi.

Pripojte GND na Arduine k GND na Geigerovom počítadle.

Pripojte 5V na Arduine k 5V na Geigerovom pulte.

Pripojte VIN na počítadle Geiger k D2 na Arduino.

S nezávislým napájaním pripojeným k počítadlu Geiger.

Pripojte GND na Arduine k GND na Geigerovom počítadle.

Pripojte VIN na počítadle Geiger k D2 na Arduino.

Pripojte Arduino k počítaču.

Krok 5: Kód

Kód
Kód
Kód
Kód
Kód
Kód

Otvorte Arduino IDE a načítajte kód.

// Táto skica počíta počet impulzov za minútu.

// Pripojte GND na Arduine k GND na Geigerovom počítadle.

// Pripojte 5V na Arduine k 5V na Geigerovom pulte.

// Pripojte VIN na počítadle Geiger k D2 na Arduino.

dlhé znamienka bez znamienka; // premenná pre udalosti GM Tube

nepodpísané dlhé predchádzajúceMillis; // premenná na meranie času

neplatný impulz () {// dipanggil setiap ada sinyal FALLING di pin 2

počíta ++;

}

#define LOG_PERIOD 60000 // rýchlosť počítania

void setup () {// nastavenie

počty = 0;

Serial.begin (9600);

pinMode (2, VSTUP);

attachInterrupt (digitalPinToInterrupt (2), impulse, FALLING); // definujte externé prerušenia

Serial.println („Počítadlo štartov“);

}

void loop () {// hlavný cyklus

nepodpísaný dlhý prúd Millis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = súčasnýMillis;

Serial.println (počíta);

počty = 0;

}

}

V Nástroje vyberte Arduino alebo inú dosku, ktorú používate.

V ponuke Nástroje vyberte položku Port a Com

Nahrajte kód.

Akonáhle je kód nahraný v Nástrojoch, vyberte Sériový monitor a sledujte, ako funguje vaše Geigerovo počítadlo.

Hľadaj závady. Jediná vec na tomto kóde je, že je to trochu únavné, na každé počítanie musíte počkať 1 minútu.

Krok 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

Toto je jedna z prvých chýb, ktoré som našiel v kóde; sledujte to teda vo svojom kóde „Serial.println (cpm);“a „Serial.print (cpm);“.

Serial.println (cpm); vytlačí každé počítanie na jeho vlastný riadok.

Serial.print (cpm); Bude to vyzerať tak, že každé veľké číslo sa vytlačí na rovnakom riadku, takže nie je možné určiť, o aký počet ide.

Krok 7: J305 Meranie žiarenia pozadia

J305 Meranie žiarenia pozadia
J305 Meranie žiarenia pozadia
J305 Meranie žiarenia pozadia
J305 Meranie žiarenia pozadia

Prvým je meranie žiarenia pozadia, prírodného žiarenia, ktoré už existuje prirodzene. Uvedené číslo je CPM (počet za minútu), čo je súčet nameraných rádioaktívnych častíc každú minútu.

Priemerný počet pozadia J305 bol 15,6 CPM.

Krok 8: J305 Meranie žiarenia senzora dymu

J305 Meranie žiarenia senzora dymu
J305 Meranie žiarenia senzora dymu
J305 Meranie žiarenia senzora dymu
J305 Meranie žiarenia senzora dymu

Nie je neobvyklé, že vám Geigerov počítadlo opakovane dáva rovnaký počet, preto ho skontrolujte pomocou zdroja žiarenia. Použil som meranie žiarenia z iónovej komory Americium z detektora dymu. Dymový senzor využíva Americium ako zdroj alfa častíc, ktoré ionizujú častice dymu vo vzduchu. Odstránil som kovový kryt na senzore, aby sa častice alfa a beta mohli dostať do Geigerovej trubice spolu s časticami gama.

Ak je všetko v poriadku, počty by sa mali zmeniť.

Americium-241 z iónovej komory detektorov dymu mal priemerný počet 519 CPM.

Krok 9: SBM-20

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

Táto skica Arduino je upravenou verziou, ktorú napísal Alex Boguslavsky.

Táto skica počíta počet impulzov za 15 sekúnd a prevádza ich na počet za minútu, čím je menej namáhavá.

Kód, ktorý som pridal, „Serial.println („ Spustiť počítadlo “);”.

Kód som zmenil; „Serial.print (cpm);“na „Serial.println (cpm);“.

„#Define LOG_PERIOD 15000“; nastaví čas odpočítavania na 15 sekúnd, zmenil som ho na „#define LOG_PERIOD 5000“alebo 5 sekúnd. Nenašiel som žiadny citeľný rozdiel v priemere medzi počítaním 1 minútu alebo 15 sekúnd a 5 sekúnd.

#zahrnúť

#define LOG_PERIOD 15000 // Obdobie protokolovania v milisekundách, odporúčaná hodnota 15000-60000.

#define MAX_PERIOD 60000 // Maximálne obdobie protokolovania bez úpravy tejto skice

dlhé znamienka bez znamienka; // premenná pre udalosti GM Tube

nepodpísané dlhé cpm; // premenná pre CTZ

multiplikátor bez znamienka; // premenná na výpočet CTZ v tomto náčrte

nepodpísané dlhé predchádzajúceMillis; // premenná na meranie času

void tube_impulse () {// podproces na zachytávanie udalostí zo súpravy Geiger Kit

počíta ++;

}

void setup () {// podproces nastavenia

počty = 0;

cpm = 0;

multiplikátor = MAX_PERIOD / LOG_PERIOD; // výpočet multiplikátora, závisí od obdobia vášho denníka

Serial.begin (9600);

attachInterrupt (0, tube_impulse, FALLING); // definujte externé prerušenia

Serial.println („Počítadlo štartov“); // kód, ktorý som pridal

}

void loop () {// hlavný cyklus

nepodpísaný dlhý prúd Millis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = súčasnýMillis;

cpm = počíta * multiplikátor;

Serial.println (cpm); // kód som zmenil

počty = 0;

}

}

Priemerný počet pozadí SBM-20 bol 23,4 CPM.

Krok 10: Zapojenie Geigerovho počítadla s LCD

Zapojenie Geigerovho počítadla s LCD
Zapojenie Geigerovho počítadla s LCD

Pripojenie LCD:

LCD K pin na GND

LCD A pin na 220 Ω odpor voči Vcc

Kolík LCD D7 na digitálny kolík 3

Kolík LCD D6 na digitálny kolík 5

Kolík LCD D5 na digitálny kolík 6

LCD D4 pin na digitálny pin 7

Povoliť LCD pin na digitálny pin 8

LCD R/W kolík k zemi

LCD kolík RS na digitálny kolík 9

Kolík LCD VO na nastavenie potenciometra 10 kΩ

Pin Vcc LCD na Vcc

LCD Vdd pin na GND

Pot 10 kΩ nastaviteľný odpor.

Vcc, Vo, Vdd

Geigerovo počítadlo

VIN na digitálny pin 2

5 V až +5 V.

GND na zem

Krok 11: Geigerovo počítadlo s LCD

Geigerovo počítadlo s LCD
Geigerovo počítadlo s LCD
Geigerovo počítadlo s LCD
Geigerovo počítadlo s LCD
Geigerovo počítadlo s LCD
Geigerovo počítadlo s LCD

// zahrňte kód knižnice:

#zahrnúť

#zahrnúť

#define LOG_PERIOD 15000 // Obdobie protokolovania v milisekundách, odporúčaná hodnota 15000-60000.

#define MAX_PERIOD 60000 // Maximálne obdobie protokolovania bez úpravy tejto skice

#define PERIOD 60000.0 // (60 sec) one minute period period

prchavý nepodpísaný dlhý CNT; // premenná na počítanie prerušení z dozimetra

dlhé znamienka bez znamienka; // premenná pre udalosti GM Tube

nepodpísané dlhé cpm; // premenná pre CTZ

multiplikátor bez znamienka; // premenná na výpočet CTZ v tomto náčrte

nepodpísané dlhé predchádzajúceMillis; // premenná na meranie času

dlhé obdobie bez znamienka; // premenná na meranie času

dlhá CTZ bez znamienka; // premenná na meranie CTZ

// inicializácia knižnice číslami pinov rozhrania

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

void setup () {// nastavenie

lcd.begin (16, 2);

CNT = 0;

CPM = 0;

dispPeriod = 0;

lcd.setCursor (0, 0);

lcd.print („pravá elektronika“);

lcd.setCursor (0, 1);

lcd.print („Geigerovo počítadlo“);

oneskorenie (2000);

cleanDisplay ();

attachInterrupt (0, GetEvent, FALLING); // Udalosť na pine 2

}

prázdna slučka () {

lcd.setCursor (0, 0); // tlač textu a CNT na LCD

lcd.print ("CPM:");

lcd.setCursor (0, 1);

lcd.print ("CNT:");

lcd.setCursor (5, 1);

lcd.print (CNT);

if (millis ()> = dispPeriod + PERIOD) {// Ak uplynie jedna minúta

cleanDisplay (); // Vymazanie LCD

// Urobte niečo s kumulovanými udalosťami CNT ….

lcd.setCursor (5, 0);

CPM = CNT;

lcd.print (CPM); // CTZ v Obsahovej sieti

CNT = 0;

dispPeriod = millis ();

}

}

zrušiť GetEvent () {// Získať udalosť zo zariadenia

CNT ++;

}

void cleanDisplay () {// Vymazanie rutiny LCD

lcd.clear ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

Krok 12: Súbory

Stiahnite si a nainštalujte tieto súbory do svojho Arduina.

Umiestnite každý súbor.ino do priečinka s rovnakým názvom.

Odporúča: