Tartalomjegyzék:

Arduino DIY Geiger számláló: 12 lépés (képekkel)
Arduino DIY Geiger számláló: 12 lépés (képekkel)

Videó: Arduino DIY Geiger számláló: 12 lépés (képekkel)

Videó: Arduino DIY Geiger számláló: 12 lépés (képekkel)
Videó: DIY Arduino Geiger Counter (Video 1) 2024, November
Anonim
Arduino DIY Geiger számláló
Arduino DIY Geiger számláló
Arduino DIY Geiger számláló
Arduino DIY Geiger számláló

Tehát megrendelt egy DIY Geiger számlálót, és csatlakoztatni szeretné az Arduino -hoz. A neten folytatja, és megpróbálja megismételni, hogy mások hogyan kötötték össze Geiger -számlálójukat Arduino -val, csak hogy megállapítsák, hogy valami nincs rendben. Bár úgy tűnik, hogy a Geiger számlálója semmi sem működik, ahogy az Ön által követett barkácsban le van írva, amikor Geiger számlálóját csatlakoztatja Arduino készülékéhez.

Ebben az utasításban bemutatom, hogyan lehet elhárítani néhány ilyen hibát.

Emlékezik; állítsa össze és kódolja az Arduino -t lépésről lépésre, ha egyenesen egy kész projekthez megy, és hiányzik a vezeték vagy a kódsor, akkor örökké tarthat, amíg megtalálja a problémát.

1. lépés: Eszközök és alkatrészek

Eszközök és alkatrészek
Eszközök és alkatrészek

Prototípus doboz Ferrero Rocher cukorkadobozt használtam.

Kis kenyérsütő

16x2 LCD

Arduino deszter éter UNO vagy Nano

220 Ω ellenállás

Pot 10 kΩ állítható ellenállás.

DIY Geiger számláló készlet

Jumper vezetékek

Akkumulátor csatlakozó vagy kábelköteg

Oszcilloszkóp

Finom orrú fogó

Kis szabványos csavarhúzó

2. lépés: Szerelje össze a Geiger számlálóját

Szerelje össze a Geiger számlálóját
Szerelje össze a Geiger számlálóját

A Geiger Tube bármilyen sérülése; és a Geiger számlálója nem fog működni, ezért használja az akril védőburkolatot, hogy megakadályozza a Geiger cső károsodását.

Ez az utasítás az, hogy hogyan javítottam meg ugyanazt a Geiger számlálót egy törött Geiger csővel, és szereltem fel a védőakril burkolatot, hogy megakadályozzam a jövőbeni törést.

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

3. lépés: A Geiger -számláló elektromos vizsgálata

A Geiger számláló elektromos vizsgálata
A Geiger számláló elektromos vizsgálata
A Geiger számláló elektromos vizsgálata
A Geiger számláló elektromos vizsgálata
A Geiger számláló elektromos vizsgálata
A Geiger számláló elektromos vizsgálata

Először használja az áramellátáshoz megfelelő feszültséget; Az USB -kábel 5 voltos egyenáramú tápellátást biztosít közvetlenül a számítógépről, azonban a 3 AA elemtartó 1,5 voltos alkáli elemekhez készült, így a teljes feszültség 4,5 volt. Ha 1,2 voltos újratölthető NI-Cd vagy NI-MH akkumulátort használ, akkor 4 AA elemtartóra lesz szüksége 4,8 V teljes feszültségre. Ha 4,5 voltnál kisebb feszültséget használ, előfordulhat, hogy a Geiger számláló nem úgy működik, ahogy kellene.

Nagyon kevés áramkör van a Geiger számlálók kimenetén; így mindaddig, amíg a hangszóró ketyegő hangot ad ki, és a LED villog, jelzést kell kapnia a VIN -tűn.

Biztosítani kell a kimeneti jelet; csatlakoztasson egy oszcilloszkópot a kimenethez úgy, hogy az oszcilloszkóp szonda pozitív oldalát a VIN -hez, míg az oszcilloszkóp negatív oldalát a földhöz köti.

Ahelyett, hogy csak a háttérsugárzásra vártam volna a Geiger-számláló kiváltására, inkább a füstérzékelő ionkamrájából az americium-241-et használtam a Geiger-számlálók reakcióinak fokozására. A Geiger -számláló kimenete +3 voltról indult, és 0 voltra csökkent minden alkalommal, amikor a Geiger -cső reagált az alfa -részecskékre, és egy pillanattal később visszatért +3 voltra. Ez az a jel, amelyet az Arduino segítségével fog rögzíteni.

4. lépés: huzalozás

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték

Kétféle módon csatlakoztathatja a Geiger számlálót az Arduinohoz és a számítógéphez.

Csatlakoztassa az Arduino GND -jét a Geiger számlálón lévő GND -hez.

Csatlakoztassa az Arduino 5V -ját a Geiger -számláló 5V -hoz.

Csatlakoztassa a VIN -t a Geiger számlálóhoz az Arduino D2 -hez.

Független áramellátással a Geiger számlálóhoz csatlakoztatva.

Csatlakoztassa az Arduino GND -jét a Geiger számlálón lévő GND -hez.

Csatlakoztassa a VIN -t a Geiger számlálóhoz az Arduino D2 -hez.

Csatlakoztassa az Arduino -t a számítógépéhez.

5. lépés: Kód

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

Nyissa meg az Arduino IDE -t, és töltse be a kódot.

// Ez a vázlat számolja az impulzusok számát percenként.

// Csatlakoztassa az Arduino GND -jét a Geiger számláló GND -jéhez.

// Csatlakoztassa az Arduino 5V -ját a Geiger -számláló 5V -hoz.

// Csatlakoztassa a VIN -t a Geiger számlálóhoz az Arduino D2 -hez.

előjel nélküli hosszú számlálás; // GM Tube események változója

előjel nélküli hosszú előzőMillis; // változó az idő mérésére

void impulse () {// dipanggil setiap ada sinyal FALLING di pin 2

számít ++;

}

#define LOG_PERIOD 60000 // számlálási arány

void setup () {// setup

számol = 0;

Sorozat.kezdet (9600);

pinMode (2, BEMENET);

attachInterrupt (digitalPinToInterrupt (2), impulzus, FALLING); // külső megszakítások meghatározása

Serial.println ("Start számláló");

}

void loop () {// főciklus

előjel nélküli hosszú áramMillis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = currentMillis;

Soros.println (számol);

számol = 0;

}

}

Az Eszközök részben válassza ki az Arduino vagy más táblát, amelyet használ.

Az Eszközök menüben válassza ki a Port és a Com

Töltse fel a kódot.

Miután a kódot feltöltötte az Eszközökbe, válassza a Soros monitor lehetőséget, és nézze meg a Geiger számláló munkáját.

Keresse meg a hibákat. Az egyetlen dolog ebben a kódban az, hogy kissé unalmas, minden számolásra 1 percet kell várnia.

6. lépés: 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

Ez az egyik első hiba, amit a kódban találtam; ezért figyeljen rá a „Serial.println (cpm)” kódban; és „Soros.nyomtatás (cpm);”.

Soros.println (cpm); minden számot a saját sorára nyomtat.

Soros.nyomtatás (cpm); úgy fog kinézni, mint egy nagy szám, amely mindegyik ugyanazon a vonalon nyomtat, így lehetetlen megmondani, mi a szám.

7. lépés: J305 Háttér -sugárzásmérés

J305 Háttér -sugárzásmérés
J305 Háttér -sugárzásmérés
J305 Háttér -sugárzásmérés
J305 Háttér -sugárzásmérés

Először is a háttérsugárzás mérése, a természetes sugárzás, amely már létezik. A felsorolt szám a CPM (per perc), ami percenként összesen mért radioaktív részecskéket jelent.

A J305 háttér átlaga 15,6 CPM volt.

8. lépés: J305 A füstérzékelő sugárzásának mérése

J305 Füstérzékelő sugárzásának mérése
J305 Füstérzékelő sugárzásának mérése
J305 Füstérzékelő sugárzásának mérése
J305 Füstérzékelő sugárzásának mérése

Nem ritka, hogy egy Geiger -számláló ismételten megadja ugyanazt a számot, ezért ellenőrizze azt sugárforrással. A füstérzékelőből származó Americium -ion kamra sugárzásmérését használtam. A füstérzékelő az Americiumot használja az alfa -részecskék forrásaként, amelyek ionizálják a levegőben lévő füstrészecskéket. Eltávolítottam az érzékelő fém kupakját, hogy az alfa- és béta -részecskék a gamma -részecskékkel együtt eljussanak a Geiger -csőhöz.

Ha minden rendben van, a számoknak meg kell változniuk.

A füstérzékelők ionkamrájából származó Americium-241 átlagos száma 519 CPM volt.

9. lépés: SBM-20

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

Ez az Arduino vázlat Alex Boguslavsky által írt módosított verzió.

Ez a vázlat 15 másodperc alatt számolja az impulzusok számát, és percenkénti számlálásra konvertálja, így kevésbé unalmas.

Az I. kód hozzáadta a „Serial.println („ Start számláló”);”.

Az I. kód megváltozott; "Soros.nyomtatás (cpm);" a „Soros.println (cpm);”.

„#Define LOG_PERIOD 15000”; a számlálási időt 15 másodpercre állítja, én „#define LOG_PERIOD 5000” -re vagy 5 másodpercre módosítottam. Nem találtam érzékelhető különbséget az átlagban 1 perc, vagy 15 másodperc és 5 másodperc közötti számolás között.

#befoglalni

#define LOG_PERIOD 15000 // A naplózási időszak ezredmásodpercben, ajánlott érték 15000-60000.

#define MAX_PERIOD 60000 // Maximális naplózási időszak a vázlat módosítása nélkül

előjel nélküli hosszú számlálás; // GM Tube események változója

előjel nélküli hosszú cpm; // CPM változó

unsigned int szorzó; // változó a CPM kiszámításához ebben a vázlatban

előjel nélküli hosszú előzőMillis; // változó az időméréshez

void tube_impulse () {// alfolyamat az események Geiger Kit -ről történő rögzítésére

számít ++;

}

void setup () {// beállítási alfolyamat

számol = 0;

cpm = 0;

szorzó = MAX_PERIOD / LOG_PERIOD; // a szorzó kiszámítása a naplózási periódustól függ

Sorozat.kezdet (9600);

attachInterrupt (0, tube_impulse, FALLING); // külső megszakítások meghatározása

Serial.println ("Start számláló"); // kód, amit hozzáadtam

}

void loop () {// főciklus

előjel nélküli hosszú áramMillis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = currentMillis;

cpm = számlál * szorzó;

Soros.println (cpm); // kód megváltozott

számol = 0;

}

}

Az SBM-20 háttér átlaga 23,4 CPM volt.

10. lépés: A Geiger számláló bekötése LCD -vel

A Geiger számláló bekötése LCD -vel
A Geiger számláló bekötése LCD -vel

LCD csatlakozás:

LCD K csap GND -hez

LCD A 220 Ω -os ellenállás érintkezője Vcc -hez

LCD D7 érintkező - digitális tű 3

LCD D6 érintkező - digitális tű 5

LCD D5 érintkező - digitális tű 6

LCD D4 érintkező - digitális tüske 7

LCD Engedélyezze a tűt a digitális tüskéhez 8

LCD R/W csap a földhöz

LCD RS tű a digitális tűhöz 9

LCD VO csap 10 kΩ -os pot beállításához

LCD Vcc csap Vcc -hez

LCD Vdd tű GND -hez

Pot 10 kΩ állítható ellenállás.

Vcc, Vo, Vdd

Geiger számlálócső

VIN - digitális tüske 2

5 V -tól +5 V -ig

GND a földre

11. lépés: Geiger számláló LCD -vel

Geiger számláló LCD kijelzővel
Geiger számláló LCD kijelzővel
Geiger számláló LCD kijelzővel
Geiger számláló LCD kijelzővel
Geiger számláló LCD kijelzővel
Geiger számláló LCD kijelzővel

// tartalmazza a könyvtár kódját:

#befoglalni

#befoglalni

#define LOG_PERIOD 15000 // A naplózási időszak ezredmásodpercben, ajánlott érték 15000-60000.

#define MAX_PERIOD 60000 // Maximális naplózási időszak a vázlat módosítása nélkül

#define PERIOD 60000.0 // (60 mp) egy perces mérési időszak

illékony, előjel nélküli hosszú CNT; // változó a megszakítások számlálásához a doziméterből

előjel nélküli hosszú számlálás; // GM Tube események változója

előjel nélküli hosszú cpm; // CPM változó

unsigned int szorzó; // változó a CPM kiszámításához ebben a vázlatban

előjel nélküli hosszú előzőMillis; // változó az időméréshez

előjel nélküli hosszú időtartam; // változó az idő mérésére

előjel nélküli hosszú CPM; // változó a CPM mérésére

// inicializálja a könyvtárat az interfész csapok számával

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

void setup () {// setup

lcd. kezdet (16, 2);

CNT = 0;

CPM = 0;

dispPeriod = 0;

lcd.setCursor (0, 0);

lcd.print ("RH Electronics");

lcd.setCursor (0, 1);

lcd.print ("Geiger számláló");

késleltetés (2000);

cleanDisplay ();

attachInterrupt (0, GetEvent, FALLING); // Esemény a 2. tűn

}

void loop () {

lcd.setCursor (0, 0); // szöveg és CNT nyomtatása az LCD -n

lcd.print ("CPM:");

lcd.setCursor (0, 1);

lcd.print ("CNT:");

lcd.setCursor (5, 1);

lcd.print (CNT);

if (millis ()> = dispPeriod + PERIOD) {// Ha egy perc véget ért

cleanDisplay (); // LCD kijelző törlése

// Tegyen valamit a felhalmozott CNT eseményekkel kapcsolatban….

lcd.setCursor (5, 0);

CPM = CNT;

lcd.print (CPM); // CPM megjelenítése

CNT = 0;

dispPeriod = millis ();

}

}

void GetEvent () {// Esemény lekérése az eszközről

CNT ++;

}

void cleanDisplay () {// LCD -rutin törlése

lcd.clear ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

12. lépés: Fájlok

Töltse le és telepítse ezeket a fájlokat az Arduino -ra.

Helyezzen minden.ino fájlt egy azonos nevű mappába.

Ajánlott: