Indholdsfortegnelse:
- Trin 1: Værktøjer og dele
- Trin 2: Saml din Geiger -tæller
- Trin 3: Elektrisk testning af Geiger -tælleren
- Trin 4: Ledningsføring
- Trin 5: Kode
- Trin 6: Serial.println Vs Serial.print
- Trin 7: J305 Måling af baggrundsstråling
- Trin 8: J305 Måling af røgesensorstråling
- Trin 9: SBM-20
- Trin 10: Tilslutning af Geigertælleren med en LCD
- Trin 11: Geiger -tæller med LCD
- Trin 12: Filer
Video: Arduino DIY Geiger Counter: 12 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Så du har bestilt en DIY Geiger -tæller, og du vil slutte den til din Arduino. Du går online og prøver at kopiere, hvordan andre har forbundet deres Geiger -tæller til Arduino kun for at finde ud af, at noget er galt. Selvom din Geiger -tæller ser ud til at fungere, virker intet som beskrevet i DIY, du følger, når du slutter din Geiger -tæller til din Arduino.
I denne instruktionsbog vil jeg dække, hvordan du løser nogle af disse fejl.
Husk; saml og kode Arduino et trin ad gangen, hvis du går direkte til et færdigt projekt, og der er en savnet ledning eller en kodelinje, kan det tage dig evigt at finde problemet.
Trin 1: Værktøjer og dele
Prototype æske Jeg brugte en Ferrero Rocher slikæske.
Lille brødbræt
16x2 LCD
Arduino board ether en UNO eller Nano
220 Ω modstand
Pot 10 kΩ justerbar modstand.
DIY Geiger Counter Kit
Jumper Wires
Batteristik eller sele
Oscilloskop
Fin næsetang
Lille standard skruetrækker
Trin 2: Saml din Geiger -tæller
Enhver skade på dit Geiger Tube; og din Geiger -tæller virker ikke, så brug det beskyttende akryldæksel for at forhindre beskadigelse af dit Geiger -rør.
Denne vejledning handler om, hvordan jeg reparerede den samme Geiger -tæller med et ødelagt Geiger -rør og monterede det beskyttende akryldæksel for at forhindre brud i fremtiden.
www.instructables.com/id/Repairing-a-DIY-G…
Trin 3: Elektrisk testning af Geiger -tælleren
Brug først den rigtige spænding til strømforsyningen; USB -kablet forsyner 5 volt DC lige fra din computer, men 3 AA batteriholderen er til 1,5 volt alkaline batterier, hvilket giver en samlet spænding på 4,5 volt. Hvis du bruger 1,2 volt genopladelige NI-Cd eller NI-MH batterier, skal du bruge en 4 AA batteriholder til en samlet spænding på 4,8 volt. Hvis du bruger mindre end 4,5 volt, fungerer Geiger -tælleren muligvis ikke som den skal.
Der er meget lidt kredsløb på Geiger -tællernes output; så så længe højttaleren afgiver en tikkende lyd, og LED'en blinker, bør du få et signal på VIN -stiften.
For at være sikker på udgangssignalet; tilslutte et oscilloskop til udgangen ved at forbinde oscilloskopsondeens positive side til VIN og oscilloskopprobens negative side til jorden.
I stedet for bare at vente på baggrundsstråling for at udløse Geiger-tælleren brugte jeg americium-241 fra et røgdetektor-ionkammer til at øge Geiger-tællerreaktionerne. Output fra Geiger -tælleren startede ved +3 volt og faldt til 0 volt hver gang Geiger -røret reagerede på alfa -partiklerne og vendte tilbage til +3 volt et øjeblik senere. Dette er det signal, du vil optage med Arduino.
Trin 4: Ledningsføring
Der er to måder, du kan forbinde Geiger -tælleren til din Arduino og din computer.
Tilslut GND på Arduino til GND på Geiger -tælleren.
Tilslut 5V på Arduino til 5V på Geiger -tælleren.
Tilslut VIN på Geiger -tælleren til D2 på Arduino.
Med uafhængig strøm forbundet til Geiger -tælleren.
Tilslut GND på Arduino til GND på Geiger -tælleren.
Tilslut VIN på Geiger -tælleren til D2 på Arduino.
Tilslut Arduino til din computer.
Trin 5: Kode
Åbn Arduino IDE og indlæs koden.
// Denne skitse tæller antallet af pulser i minuttet.
// Tilslut GND på Arduino til GND på Geiger -tælleren.
// Tilslut 5V på Arduino til 5V på Geiger -tælleren.
// Tilslut VIN på Geiger -tælleren til D2 på Arduino.
usignerede lange tællinger; // variabel for GM Tube -begivenheder
usigneret lang foregåendeMillis; // variabel til måling af tid
void impulse () {// dipanggil setiap ada sinyal FALLING di pin 2
tæller ++;
}
#define LOG_PERIOD 60000 // tællehastighed
ugyldig opsætning () {// opsætning
tæller = 0;
Serial.begin (9600);
pinMode (2, INPUT);
attachInterrupt (digitalPinToInterrupt (2), impuls, FALLING); // definere eksterne afbrydelser
Serial.println ("Starttæller");
}
void loop () {// hovedcyklus
usigneret lang strømMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
Serial.println (tæller);
tæller = 0;
}
}
I værktøjer skal du vælge det Arduino eller det andet bord, du bruger.
Vælg Port og Com i Værktøjer
Upload koden.
Når koden er uploadet i Værktøjer, skal du vælge Serial Monitor og se din Geiger -tæller fungere.
Kig efter fejl. Det eneste ved denne kode er, at den er lidt kedelig, du skal vente 1 minut for hver optælling.
Trin 6: Serial.println Vs Serial.print
Dette er en af de første fejl, jeg fandt i koden; så hold øje med det i din kode, "Serial.println (cpm);" og "Serial.print (cpm);".
Serial.println (cpm); vil udskrive hver tælling på sin egen linje.
Serial.print (cpm); vil ligne et stort tal, der udskriver hver tæller på den samme linje, hvilket gør det umuligt at fortælle, hvad tællingen er.
Trin 7: J305 Måling af baggrundsstråling
Først er måling af baggrundsstråling, den naturlige stråling, der allerede findes naturligt. Det opførte nummer er CPM (tælling pr. Minut), som er i alt målte radioaktive partikler hvert minut.
J305 -baggrundstællingen var 15,6 CPM.
Trin 8: J305 Måling af røgesensorstråling
Det er ikke ualmindeligt, at en Geiger -tæller giver dig det samme antal gentagne gange, så tjek det med en strålingskilde. Jeg brugte strålingsmåling fra Americium et ionkammer fra en røgdetektor. Røgsensoren udnytter Americium som en kilde til alfapartikler, der ioniserer røgpartikler i luften. Jeg fjernede metalhætten på sensoren, så alfa- og beta -partiklerne kan komme til Geiger -røret sammen med gammapartiklerne.
Hvis alt er i orden, skal optællingerne ændre sig.
Americium-241 fra et røgdetektors ionkammer gennemsnitlige antal var 519 CPM.
Trin 9: SBM-20
Denne Arduino -skitse er en modificeret version skrevet af Alex Boguslavsky.
Denne skitse tæller antallet af pulser på 15 sekunder og konverterer det til tællinger i minuttet, hvilket gør det mindre kedeligt.
Kode jeg tilføjede "Serial.println (" Starttæller ");".
Kode I ændret; "Serial.print (cpm);" til "Serial.println (cpm);".
“#Define LOG_PERIOD 15000”; indstiller tælletiden til 15 sekunder, jeg ændrede den til "#define LOG_PERIOD 5000" eller 5 sekunder. Jeg fandt ingen mærkbar forskel i gennemsnittet mellem at tælle i 1 minut eller 15 sekunder og 5 sekunder.
#omfatte
#define LOG_PERIOD 15000 // Logningsperiode i millisekunder, anbefalet værdi 15000-60000.
#define MAX_PERIOD 60000 // Maksimal logningsperiode uden at ændre denne skitse
usignerede lange tællinger; // variabel for GM Tube -begivenheder
usigneret lang cpm; // variabel for CPM
usigneret int multiplikator; // variabel til beregning af CPM i denne skitse
usigneret lang foregåendeMillis; // variabel til tidsmåling
void tube_impulse () {// delprocedure til registrering af begivenheder fra Geiger Kit
tæller ++;
}
ugyldig opsætning () {// opsætning af delprocedure
tæller = 0;
cpm = 0;
multiplikator = MAX_PERIOD / LOG_PERIOD; // beregner multiplikator, afhænger af din logperiode
Serial.begin (9600);
attachInterrupt (0, tube_impulse, FALLING); // definere eksterne afbrydelser
Serial.println ("Starttæller"); // kode jeg tilføjede
}
void loop () {// hovedcyklus
usigneret lang strømMillis = millis ();
if (currentMillis - previousMillis> LOG_PERIOD) {
previousMillis = currentMillis;
cpm = tæller * multiplikator;
Serial.println (cpm); // kode jeg ændrede
tæller = 0;
}
}
SBM-20 baggrundsgennemsnitstallet var 23,4 CPM.
Trin 10: Tilslutning af Geigertælleren med en LCD
LCD -forbindelse:
LCD K pin til GND
LCD En pin til 220 Ω modstand til Vcc
LCD D7 pin til digital pin 3
LCD D6 pin til digital pin 5
LCD D5 pin til digital pin 6
LCD D4 pin til digital pin 7
LCD Aktiver pin til digital pin 8
LCD R/W pin til jord
LCD RS pin til digital pin 9
LCD VO pin til justering af 10 kΩ pot
LCD Vcc pin til Vcc
LCD Vdd pin til GND
Pot 10 kΩ justerbar modstand.
Vcc, Vo, Vdd
Geiger Tæller
VIN til digital pin 2
5 V til +5 V.
GND til jorden
Trin 11: Geiger -tæller med LCD
// inkludere bibliotekskoden:
#omfatte
#omfatte
#define LOG_PERIOD 15000 // Logningsperiode i millisekunder, anbefalet værdi 15000-60000.
#define MAX_PERIOD 60000 // Maksimal logningsperiode uden at ændre denne skitse
#define PERIOD 60000.0 // (60 sek) et minuts måleperiode
flygtig usigneret lang CNT; // variabel til tælling af afbrydelser fra dosimeter
usignerede lange tællinger; // variabel for GM Tube -begivenheder
usigneret lang cpm; // variabel for CPM
usigneret int multiplikator; // variabel til beregning af CPM i denne skitse
usigneret lang foregåendeMillis; // variabel til tidsmåling
usigneret lang dispPeriod; // variabel til måling af tid
usigneret lang CPM; // variabel til måling af CPM
// initialiser biblioteket med grænsefladernes ben
LiquidCrystal lcd (9, 8, 7, 6, 5, 3);
ugyldig opsætning () {// opsætning
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 -tæller");
forsinkelse (2000);
cleanDisplay ();
attachInterrupt (0, GetEvent, FALLING); // Begivenhed på pin 2
}
void loop () {
lcd.setCursor (0, 0); // udskriv tekst og CNT på LCD'et
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Hvis et minut er forbi
cleanDisplay (); // Klar LCD
// Gør noget ved akkumulerede CNT -begivenheder….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // Vis CPM
CNT = 0;
dispPeriod = millis ();
}
}
ugid GetEvent () {// Hent begivenhed fra enhed
CNT ++;
}
void cleanDisplay () {// Ryd LCD -rutine
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
Trin 12: Filer
Download og installer disse filer til din Arduino.
Placer hver.ino -fil i en mappe med samme navn.
Anbefalede:
Arbejds Geiger -tæller med minimale dele: 4 trin (med billeder)
Arbejdende Geiger -tæller med minimale dele: Her er, så vidt jeg ved, den enkleste fungerende Geiger -tæller, som du kan bygge. Denne bruger et russisk-fremstillet SMB-20 Geiger-rør, drevet af et højspændings-trin-up-kredsløb, der er stjålet fra en elektronisk fluesmatter. Det registrerer betapartikler og gam
Home Assistant Geiger Counter Integration: 8 trin
Home Assistant Geiger Counter Integration: I denne vejledning vil jeg vise, hvordan du tilføjer brugerdefinerede sensorer til HASS (hjemmeassistent) mere specifikt en geigertæller, men processen ligner også andre sensorer. Vi bruger NodeMCU -kortet, en arduino -baseret geigertæller
DIY Geiger -tæller med en ESP8266 og en berøringsskærm: 4 trin (med billeder)
DIY Geiger -tæller Med en ESP8266 og en berøringsskærm: OPDATERING: NY OG FORBEDRET VERSION MED WIFI OG ANDRE TILFØJTE FUNKTIONER HERI designet og bygget en Geiger -tæller - en enhed, der kan registrere ioniserende stråling og advare brugeren om farlige omgivende strålingsniveauer med alt- alt for kendt klik nej
PKE Meter Geiger Counter: 7 trin (med billeder)
PKE Meter Geiger Counter: Jeg har længe ønsket at bygge en Geiger -tæller for at supplere mit Peltier Cooled Cloud Chamber. Der er (forhåbentlig) ikke rigtig meget nyttigt formål med at eje en Geiger -tæller, men jeg elsker bare de gamle russiske rør og troede, det ville b
DIY Arduino Geiger -tæller: 6 trin (med billeder)
DIY Arduino Geiger Counter: Hej alle sammen! Hvordan har du det? Dette er projekt How-ToDo mit navn er Konstantin, og i dag vil jeg vise dig, hvordan jeg lavede denne Geiger-tæller. Jeg begyndte at bygge denne enhed næsten fra begyndelsen af sidste år. Siden har det været igennem 3 komp