ዝርዝር ሁኔታ:

አርዱዲኖ DIY Geiger Counter: 12 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ DIY Geiger Counter: 12 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ DIY Geiger Counter: 12 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ DIY Geiger Counter: 12 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: The Nazi genocide of the Roma and Sinti-Very good documentation from 1980 (71 languages) 2024, ህዳር
Anonim
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter
Arduino DIY Geiger Counter

ስለዚህ የ DIY Geiger ቆጣሪን አዘዙ እና ከእርስዎ አርዱዲኖ ጋር ማገናኘት ይፈልጋሉ። በመስመር ላይ ይሂዱ እና አንድ ነገር ስህተት ለመፈለግ ብቻ የጊገር ቆጣሪቸውን ከአርዱዲኖ ጋር እንዴት እንዳገናኙት ለማባዛት ይሞክራሉ። የጂገር ቆጣሪዎን ከአርዲኖዎ ጋር ሲያገናኙ በሚከተሉት DIY ውስጥ እንደተገለፀው ምንም የሚሰራ አይመስልም።

በዚህ አስተማሪነት ውስጥ ከእነዚህ ድክመቶች ውስጥ የተወሰኑትን እንዴት መፍታት እንደሚቻል እሸፍናለሁ።

ያስታውሱ; ወደ አንድ የተጠናቀቀ ፕሮጀክት በቀጥታ ከሄዱ እና ያመለጠ ሽቦ ወይም የኮድ መስመር ካለ ችግሩን ለመፈለግ ለዘለዓለም ሊወስድዎት ይችላል ብለው አርዱዲኖን አንድ እርምጃ በአንድ ላይ ይሰብስቡ እና ኮድ ያድርጉ።

ደረጃ 1 መሣሪያዎች እና ክፍሎች

መሣሪያዎች እና ክፍሎች
መሣሪያዎች እና ክፍሎች

የፕሮቶታይፕ ሳጥን እኔ ፌሬሮ ሮቸር ከረሜላ ሣጥን ተጠቀምኩ።

ትንሽ የዳቦ ሰሌዳ

16x2 ኤልሲዲ

የአርዲኖ ቦርድ ኤተር አንድ UNO ወይም ናኖ

220 Ω ተከላካይ

ማሰሮ 10 kΩ ሊስተካከል የሚችል ተከላካይ።

DIY Geiger Counter Kit

ዝላይ ሽቦዎች

የባትሪ አያያዥ ወይም ማሰሪያ

ኦስሴስኮስኮፕ

ጥሩ የአፍንጫ መጭመቂያዎች

አነስተኛ መደበኛ ጠመዝማዛ

ደረጃ 2 - የጊገር ቆጣሪዎን ያሰባስቡ

የጊገር ቆጣሪዎን ያሰባስቡ
የጊገር ቆጣሪዎን ያሰባስቡ

በእርስዎ Geiger Tube ላይ ማንኛውም ጉዳት; እና የጊየር ቆጣሪዎ አይሰራም ፣ ስለሆነም በጂገር ቱቦዎ ላይ ጉዳት እንዳይደርስ ለመከላከል የመከላከያ አክሬሊክስ ሽፋን ይጠቀሙ።

ይህ አስተማሪው የወደፊቱን መበላሸት ለመከላከል ተመሳሳዩን የጊገር ቆጣሪን በተሰበረ የጊገር ቱቦ እንደጠገንኩ እና የመከላከያ አክሬሊክስ ሽፋኑን እንደገጠምኩ ነው።

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

ደረጃ 3 የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር

የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር
የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር
የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር
የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር
የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር
የጊገር ቆጣሪውን በኤሌክትሪክ መሞከር

በመጀመሪያ ለኃይል አቅርቦቱ ትክክለኛውን ቮልቴጅ ይጠቀሙ; የዩኤስቢ ገመድ ከኮምፒዩተርዎ በቀጥታ 5 ቮልት ዲሲን ይሰጣል ፣ ሆኖም ግን 3 AA የባትሪ መያዣው ለ 1.5 ቮልት የአልካላይን ባትሪዎች አጠቃላይ ቮልቴጅ 4.5 ቮልት ነው። 1.2 ቮልት ሊሞላ የሚችል NI-Cd ወይም NI-MH ባትሪዎችን የሚጠቀሙ ከሆነ ለጠቅላላው 4.8 ቮልት የ 4 AA ባትሪ መያዣ ያስፈልግዎታል። ከ 4.5 ቮልት በታች የሚጠቀሙ ከሆነ የጊገር ቆጣሪ እንደ አስፈላጊነቱ ላይሠራ ይችላል።

በጂገር ቆጣሪዎች ውጤት ላይ በጣም ትንሽ ወረዳ አለ ፣ ስለዚህ ተናጋሪው የሚጮህ ድምጽ እስኪያሰማ ድረስ ፣ እና ኤልዲው ብልጭ ድርግም ቢል ፣ በቪን ፒን ላይ ምልክት ማግኘት አለብዎት።

ስለ ውፅዓት ምልክት እርግጠኛ ለመሆን; የ oscilloscope መጠይቁን አወንታዊ ጎን ከቪን እና የኦስቲስኮስኮፕ መጠይቁን አሉታዊ ጎን ከመሬት ጋር በማገናኘት ከውጤቱ ጋር ያገናኙ።

የጄይገር ቆጣሪውን ለመቀስቀስ የጀርባ ጨረር ላይ ከመጠበቅ ይልቅ የጊገር ቆጣሪዎችን ግብረመልሶች ለማሳደግ ከጢስ ማውጫ ion ጓዳ ክፍል americium-241 ን ተጠቅሜአለሁ። የጊገር ቆጣሪ ውፅዓት በ +3 ቮልት ተጀምሮ የጊገር ቱቦ ለአልፋ ቅንጣቶች ምላሽ በሰጠ እና ወደ አፍታ በኋላ ወደ +3 ቮልት በተመለሰ ቁጥር ወደ 0 ቮልት ዝቅ ብሏል። ከአርዱዲኖ ጋር የሚመዘገቡት ምልክት ይህ ነው።

ደረጃ 4 - ሽቦ

ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ

የጊገር ቆጣሪውን ከአርዱዲኖ እና ከኮምፒዩተርዎ ጋር ማገናኘት የሚችሉበት ሁለት መንገዶች አሉ።

GND ን በአርዲኖ ላይ በጂገር ቆጣሪ ላይ ከ GND ጋር ያገናኙ።

በ Arduino ላይ 5V ን በ 5 ጊጋር በጌይገር ቆጣሪ ላይ ያገናኙ።

ቪአይኤን በጌይገር ቆጣሪ ላይ በአርዱዲኖ ላይ ካለው D2 ጋር ያገናኙ።

ከጌይገር ቆጣሪ ጋር በተገናኘ ገለልተኛ ኃይል።

GND ን በአርዲኖ ላይ በጂገር ቆጣሪ ላይ ከ GND ጋር ያገናኙ።

ቪአይኤን በጌይገር ቆጣሪ ላይ በአርዱዲኖ ላይ ካለው D2 ጋር ያገናኙ።

አርዱዲኖን ከኮምፒዩተርዎ ጋር ያገናኙ።

ደረጃ 5 ኮድ

ኮድ
ኮድ
ኮድ
ኮድ
ኮድ
ኮድ

Arduino IDE ን ይክፈቱ እና ኮዱን ይጫኑ።

// ይህ ንድፍ በደቂቃዎች ውስጥ የጥራጥሬዎችን ብዛት ይቆጥራል።

// GND ን በአርዲኖ ላይ በጂገር ቆጣሪ ላይ ከ GND ጋር ያገናኙ።

// 5V ን በአርዱዲኖ ላይ በጊገር ቆጣሪ ላይ ከ 5 ቮ ጋር ያገናኙ።

// VIN ን በጌይገር ቆጣሪ ላይ በአርዱዲኖ ላይ ከ D2 ጋር ያገናኙ።

ያልተፈረሙ ረጅም ቆጠራዎች; // ለጂኤም ቲዩብ ክስተቶች ተለዋዋጭ

ያልተፈረመ ረጅም ቀዳሚ ሚሊሊስ; // ለመለኪያ ጊዜ ተለዋዋጭ

ባዶ ግፊት () {// dipanggil setiap ada sinyal FALLING di pin 2

ይቆጥራል ++;

}

#ይግለጹ LOG_PERIOD 60000 // የመቁጠር መጠን

ባዶነት ማዋቀር () {// ማዋቀር

ቆጠራዎች = 0;

Serial.begin (9600);

pinMode (2 ፣ ግቤት);

አባሪ ማቋረጥ (digitalPinToInterrupt (2) ፣ ተነሳሽነት ፣ መውደቅ); // የውጭ ማቋረጫዎችን ይግለጹ

Serial.println ("ጀምር ቆጣሪ");

}

ባዶነት loop () {// ዋና ዑደት

ያልተፈረመ ረዥም የአሁኑ ሚሊሊስ = ሚሊስ ();

ከሆነ (የአሁኑ ሚሊስ - ቀዳሚ ሚሊሊስ> LOG_PERIOD) {

previousMillis = currentMillis;

Serial.println (ቆጠራዎች);

ቆጠራዎች = 0;

}

}

በመሳሪያዎች ውስጥ የሚጠቀሙበትን አርዱዲኖ ወይም ሌላ ሰሌዳ ይምረጡ።

በመሳሪያዎች ውስጥ ወደብ እና Com ን ይምረጡ

ኮዱን ይስቀሉ።

ኮዱ በመሳሪያዎች ውስጥ ከተሰቀለ በኋላ ተከታታይ ሞኒተርን ይምረጡ እና የጊገር ቆጣሪ ሥራዎን ይመልከቱ።

ጉድለቶችን ይፈልጉ። የዚህ ኮድ ብቸኛው ነገር ትንሽ አድካሚ ስለሆነ ለእያንዳንዱ ቆጠራ 1 ደቂቃ መጠበቅ አለብዎት።

ደረጃ 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

ይህ እኔ በኮድ ውስጥ ካገኘኋቸው የመጀመሪያ ጉድለቶች አንዱ ነው። ስለዚህ በኮድዎ ውስጥ ይመልከቱት ፣ “Serial.println (cpm) ፤” እና “Serial.print (cpm) ፤”።

Serial.println (cpm); እያንዳንዱን ቆጠራ በራሱ መስመር ላይ ያትማል።

Serial.print (cpm); ቆጠራው ምን እንደሆነ ለመናገር እንዳይቻል እያንዳንዱ መስመር በአንድ መስመር ላይ አንድ ትልቅ ቁጥር የሚያተም ይመስላል።

ደረጃ 7 J305 የጀርባ ጨረር ልኬት

J305 የጀርባ ጨረር ልኬት
J305 የጀርባ ጨረር ልኬት
J305 የጀርባ ጨረር ልኬት
J305 የጀርባ ጨረር ልኬት

በመጀመሪያ የበስተጀርባ ጨረር መለካት ፣ በተፈጥሮው ቀድሞውኑ የተፈጥሮ ጨረር ነው። የተዘረዘረው ቁጥር ሲፒኤም (በደቂቃ ቆጠራ) ነው ፣ ይህም በየደቂቃው የሚለካ የራዲዮአክቲቭ ቅንጣቶች ነው።

የ J305 የጀርባ አማካይ ቆጠራ 15.6 ሲፒኤም ነበር።

ደረጃ 8: J305 የጭስ ዳሳሽ ጨረር መለካት

J305 የጭስ ዳሳሽ ጨረር መለካት
J305 የጭስ ዳሳሽ ጨረር መለካት
J305 የጭስ ዳሳሽ ጨረር መለካት
J305 የጭስ ዳሳሽ ጨረር መለካት

የጂጂገር ቆጣሪ ተመሳሳይ ቆጠራን በተደጋጋሚ ለእርስዎ መስጠቱ የተለመደ አይደለም ስለዚህ በጨረር ምንጭ ይፈትሹት። የጨረር ልኬቱን ከአሜሪሲየም አንድ ion ቻምበር ከጭስ ማውጫ እጠቀም ነበር። የጢስ ማውጫው አሜሪሲየምን እንደ ጭስ ቅንጣቶች በአየር ውስጥ ion ን የሚያመነጭ የአልፋ ቅንጣቶች ምንጭ አድርጎ ይጠቀማል። የአልፋ እና የቅድመ -ይሁንታ ቅንጣቶች ከጋማ ቅንጣቶች ጋር ወደ ጌይገር ቱቦ መድረስ እንዲችሉ በአነፍናፊው ላይ ያለውን የብረት ክዳን አስወግጄዋለሁ።

ሁሉም ነገር ደህና ከሆነ ቆጠራዎቹ መለወጥ አለባቸው።

አሜሪሲየም -241 ከጭስ ማውጫ ion ጓዳ ክፍል አማካይ ቆጠራ 519 ሲፒኤም ነበር።

ደረጃ 9 SBM-20

ኤስቢኤም -20
ኤስቢኤም -20
ኤስቢኤም -20
ኤስቢኤም -20

ይህ የአርዱዲኖ ንድፍ በአሌክስ ቦጉስላቭስኪ የተፃፈ የተሻሻለ ስሪት ነው።

ይህ ረቂቅ የጥራጥሬዎችን ብዛት በ 15 ሰከንዶች ውስጥ ይቆጥራል እና በደቂቃ ወደ ቆጠራ ይለውጠዋል።

ኮድ እኔ አክሏል “Serial.println (“ጀምር ቆጣሪ”) ፤”።

ኮድ እኔ ተለውጧል; "Serial.print (cpm);" ወደ “Serial.println (cpm);”)።

“#ይግለጹ LOG_PERIOD 15000”; የመቁጠሪያ ጊዜውን ወደ 15 ሰከንዶች ያዘጋጃል ፣ ወደ “#ገላጭ LOG_PERIOD 5000” ወይም 5 ሰከንዶች ቀይሬዋለሁ። ለ 1 ደቂቃ ፣ ወይም ለ 15 ሰከንዶች እና ለ 5 ሰከንዶች በመቁጠር መካከል በአማካኝ የሚደነቅ ልዩነት አላገኘሁም።

#ያካትቱ

#ይግለጹ LOG_PERIOD 15000 // በሚሊሰከንዶች የመመዝገቢያ ጊዜ ፣ የሚመከር እሴት 15000-60000።

#ረቂቅ MAX_PERIOD 60000 // ይህንን ረቂቅ ሳይቀይር ከፍተኛው የምዝግብ ማስታወሻ ጊዜ

ያልተፈረሙ ረጅም ቆጠራዎች; // ለጂኤም ቲዩብ ክስተቶች ተለዋዋጭ

ያልተፈረመ ረጅም ሲፒኤም; // ተለዋዋጭ ለ CPM

ያልተፈረመ int ማባዛት; // ተለዋዋጭ በዚህ ስእል ውስጥ ለ CPM ስሌት

ያልተፈረመ ረጅም ቀዳሚ ሚሊሊስ; // ተለዋዋጭ ለጊዜ መለኪያ

ባዶነት tube_impulse () {// ዝግጅቶችን ከጊገር ኪት ለመያዝ

ይቆጥራል ++;

}

ባዶነት ማዋቀር () {// ማዋቀር ንዑስ ሂደት

ቆጠራዎች = 0;

cpm = 0;

ማባዣ = MAX_PERIOD / LOG_PERIOD; // ማባዛትን በማስላት ፣ በምዝግብ ማስታወሻ ጊዜዎ ላይ የተመሠረተ ነው

Serial.begin (9600);

አባሪ ማቋረጫ (0 ፣ tube_impulse ፣ FALLING); // የውጭ ማቋረጫዎችን ይግለጹ

Serial.println ("ጀምር ቆጣሪ"); // ኮድ ያከልኩት

}

ባዶነት loop () {// ዋና ዑደት

ያልተፈረመ ረዥም የአሁኑ ሚሊሊስ = ሚሊስ ();

ከሆነ (የአሁኑ ሚሊስ - ቀዳሚ ሚሊሊስ> LOG_PERIOD) {

previousMillis = currentMillis;

cpm = ይቆጥራል * ማባዣ;

Serial.println (cpm); // ኮድ ቀይሬያለሁ

ቆጠራዎች = 0;

}

}

የ SBM-20 የጀርባ አማካይ ቆጠራ 23.4 ሲፒኤም ነበር።

ደረጃ 10 የጊየር ቆጣሪውን ከኤልሲዲ ጋር ማገናኘት

የጂጂየር ቆጣሪውን ከኤል.ዲ.ዲ
የጂጂየር ቆጣሪውን ከኤል.ዲ.ዲ

ኤልሲዲ ግንኙነት;

LCD K ፒን ወደ GND

ኤልሲዲ ፒን እስከ 220 Ω resistor ወደ ቪሲሲ

ኤልሲዲ ዲ 7 ፒን ወደ ዲጂታል ፒን 3

ኤልሲዲ ዲ 6 ፒን ወደ ዲጂታል ፒን 5

ኤልሲዲ ዲ 5 ፒን ወደ ዲጂታል ፒን 6

ኤልሲዲ ዲ 4 ፒን ወደ ዲጂታል ፒን 7

ኤልሲዲ ፒን ወደ ዲጂታል ፒን 8 ያንቁ

LCD R/W ፒን መሬት ላይ

LCD RS ፒን ወደ ዲጂታል ፒን 9

10 kΩ ድስት ለማስተካከል LCD VO ፒን

ኤልሲዲ ቪሲ ፒን ወደ ቪሲሲ

LCD Vdd ፒን ወደ GND

ማሰሮ 10 kΩ ሊስተካከል የሚችል ተከላካይ።

ቪሲሲ ፣ ቮ ፣ ቪዲዲ

ጂገር ቆጣሪ

ቪን ወደ ዲጂታል ፒን 2

ከ 5 ቮ እስከ +5 ቮ

GND ወደ መሬት

ደረጃ 11 - ጂጂገር ቆጣሪ ከኤልሲዲ ጋር

ጊይገር ቆጣሪ ከ LCD ጋር
ጊይገር ቆጣሪ ከ LCD ጋር
ጊይገር ቆጣሪ ከ LCD ጋር
ጊይገር ቆጣሪ ከ LCD ጋር
ጊይገር ቆጣሪ ከ LCD ጋር
ጊይገር ቆጣሪ ከ LCD ጋር

// የላይብረሪውን ኮድ ያካትቱ

#ያካትቱ

#ያካትቱ

#ይግለጹ LOG_PERIOD 15000 // በሚሊሰከንዶች የመመዝገቢያ ጊዜ ፣ የሚመከር እሴት 15000-60000።

#ረቂቅ MAX_PERIOD 60000 // ይህንን ረቂቅ ሳይቀይሩ ከፍተኛው የምዝግብ ማስታወሻ ጊዜ

#መግለፅ PERIOD 60000.0 // (60 ሴኮንድ) የአንድ ደቂቃ መለኪያ ጊዜ

ተለዋዋጭ ያልተፈረመ ረጅም CNT; // ተለዋዋጭ ከ dosimeter መቋረጦች ለመቁጠር

ያልተፈረሙ ረጅም ቆጠራዎች; // ለጂኤም ቲዩብ ክስተቶች ተለዋዋጭ

ያልተፈረመ ረጅም ሲፒኤም; // ተለዋዋጭ ለ CPM

ያልተፈረመ int ማባዛት; // ተለዋዋጭ በዚህ ስእል ውስጥ ለ CPM ስሌት

ያልተፈረመ ረጅም ቀዳሚ ሚሊሊስ; // ተለዋዋጭ ለጊዜ መለኪያ

ያልተፈረመ ረጅም dispPeriod; // ለመለኪያ ጊዜ ተለዋዋጭ

ያልተፈረመ ረጅም ሲፒኤም; // ሲፒኤም ለመለካት ተለዋዋጭ

// በይነገጽ ካስማዎች ቁጥሮች ጋር ቤተ -መጽሐፉን ያስጀምሩ

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

ባዶነት ማዋቀር () {// ማዋቀር

lcd.begin (16, 2);

CNT = 0;

ሲፒኤም = 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 ላይ

}

ባዶነት 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); // ሲፒኤም አሳይ

CNT = 0;

dispPeriod = millis ();

}

}

ባዶ GetEvent () {// ክስተትን ከመሣሪያ ያግኙ

CNT ++;

}

ባዶ ባዶ ማሳያ () {// የኤልሲዲ አሠራርን ያፅዱ

lcd.clear ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

ደረጃ 12 - ፋይሎች

እነዚህን ፋይሎች ወደ አርዱinoኖ ያውርዱ እና ይጫኑ።

እያንዳንዱን.ino ፋይል በተመሳሳይ ስም በአንድ አቃፊ ውስጥ ያስቀምጡ።

የሚመከር: