תוכן עניינים:

מונה Arduino DIY Geiger: 12 שלבים (עם תמונות)
מונה Arduino DIY Geiger: 12 שלבים (עם תמונות)

וִידֵאוֹ: מונה Arduino DIY Geiger: 12 שלבים (עם תמונות)

וִידֵאוֹ: מונה Arduino DIY Geiger: 12 שלבים (עם תמונות)
וִידֵאוֹ: Массимо Банци: Как Arduino пробуждает воображение 2024, יולי
Anonim
מונה Geiger DIY Arduino
מונה Geiger DIY Arduino
מונה Geiger DIY Arduino
מונה Geiger DIY Arduino

אז הזמנתם מונה DIY של Geiger ואתם רוצים לחבר אותו ל- Arduino שלכם. אתה נכנס לאינטרנט ומנסה לשכפל כיצד אחרים חיברו את מונה הגייגר שלהם לארדואינו רק כדי לגלות שמשהו לא בסדר. למרות שנראה כי מונה הגייגר שלך פועל, שום דבר לא עובד כמתואר ב- DIY שאתה עוקב אחריו כשאתה מחבר את מונה הגייגר שלך לארדואינו שלך.

במדריך זה אסביר כיצד לפתור כמה מהתקלות הללו.

זכור; הרכיב וקוד את Arduino צעד אחד בכל פעם, אם אתה הולך ישר לפרויקט סיים ויש חוט או קו קוד שהוחמצו זה יכול לקחת אותך לנצח למצוא את הבעיה.

שלב 1: כלים וחלקים

כלים וחלקים
כלים וחלקים

קופסת אב טיפוס השתמשתי בקופסת ממתקים של פררו רושה.

קרש לחם קטן

16X2 LCD

אתר Arduino לוח אתר UNO או ננו

נגד 220 Ω

נגד 10 kΩ מתכוונן.

ערכת מונה DIY של גייגר

חוטי מגשר

מחבר או רתמה לסוללה

אוֹסְצִילוֹסקוּפּ

צבת אף בסדר

מברג סטנדרטי קטן

שלב 2: הרכיב את מונה Geiger שלך

הרכיב את מונה הגייגר שלך
הרכיב את מונה הגייגר שלך

כל נזק לצינור הגייגר שלך; ודלפק Geiger שלך לא יעבוד, אז השתמש במכסה האקרילי המגן כדי למנוע נזק לצינור שלך.

מדריך זה עוסק כיצד תיקנתי את אותו דלפק גייגר עם צינור גייגר שבור והתקנתי את מכסה האקריל המגן כדי למנוע שבירה בעתיד.

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

שלב 3: בדיקה חשמלית של מונה גייגר

בדיקה חשמלית של מונה גייגר
בדיקה חשמלית של מונה גייגר
בדיקה חשמלית של מונה גייגר
בדיקה חשמלית של מונה גייגר
בדיקה חשמלית של מונה גייגר
בדיקה חשמלית של מונה גייגר

תחילה השתמש במתח הנכון לאספקת החשמל; כבל ה- USB מספק 5 וולט DC ישירות מהמחשב שלך, אולם מחזיק הסוללות 3 AA מיועד לסוללות אלקליין 1.5 וולט שהופכות מתח כולל של 4.5 וולט. אם אתה משתמש בסוללות נטענות מסוג NI-Cd או NI-MH בנפח 1.2 וולט, תזדקק למחזיק סוללות 4 AA למתח כולל של 4.8 וולט. אם אתה משתמש בפחות מ -4.5 וולט, מונה Geiger לא יכול לפעול כפי שהוא צריך.

יש מעט מאוד מעגלים על תפוקת מונים של גייגר; כך שכל עוד הרמקול משמיע צליל מתקתק והנורית מהבהבת, אתה אמור לקבל אות על סיכת ה- VIN.

כדי להיות בטוח באות הפלט; חבר אוסצילוסקופ לפלט על ידי חיבור הצד החיובי של בדיקת האוסילוסקופ ל- VIN והצד השלילי של בדיקת האוסילוסקופ לקרקע.

במקום לחכות רק על קרינת רקע כדי להפעיל את מונה הגייגר השתמשתי ב- americium-241 מתא יונים של גלאי עשן כדי להגביר את תגובות מונים של גייגר. התפוקה של מונה הגייגר התחילה ב -3 וולט וצנחה ל -0 וולט בכל פעם שהצינור גייגר הגיב לחלקיקי האלפא וחזר ל -3 וולט כעבור רגע. זהו האות שתקליט עם Arduino.

שלב 4: חיווט

תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל

ישנן שתי דרכים שבהן אתה יכול לחבר את מונה Geiger לך Arduino ולמחשב שלך.

חבר את ה- GND ב- Arduino ל- GND בדלפק Geiger.

חבר את 5V בארדואינו ל- 5V בדלפק גייגר.

חבר את ה- VIN על מונה Geiger ל- D2 ב- Arduino.

עם כוח עצמאי המחובר לדלפק גייגר.

חבר את ה- GND ב- Arduino ל- GND בדלפק Geiger.

חבר את ה- VIN על מונה Geiger ל- D2 ב- Arduino.

חבר את Arduino למחשב שלך.

שלב 5: קוד

קוד
קוד
קוד
קוד
קוד
קוד

פתח את Arduino IDE וטען את הקוד.

// סקיצה זו סופרת את מספר הפולסים בדקה.

// חבר את ה- GND ב- Arduino ל- GND על מונה Geiger.

// חבר את 5V בארדואינו ל- 5V בדלפק גייגר.

// חבר את ה- VIN על מונה Geiger ל- D2 ב- Arduino.

ספירות ארוכות ללא סימן; // משתנה לאירועי GM Tube

millis הקודם לא חתום; // משתנה למדידת זמן

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

ספירות ++;

}

#הגדר LOG_PERIOD 60000 // שיעור ספירה

הגדרת void () {// setup

ספירות = 0;

Serial.begin (9600);

pinMode (2, INPUT);

attachInterrupt (digitalPinToInterrupt (2), דחף, FALLING); // להגדיר הפרעות חיצוניות

Serial.println ("מונה התחל");

}

לולאת חלל () {// מחזור ראשי

current Signillial millis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = currentMillis;

Serial.println (ספירות);

ספירות = 0;

}

}

בכלי בחר את Arduino או לוח אחר שבו אתה משתמש.

בכלי בחר את הנמל והקומ

העלה את הקוד.

לאחר העלאת הקוד בכלי, בחר באפשרות צג סידורי וצפה בדלפק שלך ב- Geiger.

חפש תקלות. הדבר היחיד בקוד הזה הוא שהוא קצת מייגע, עליך לחכות דקה אחת לכל ספירה.

שלב 6: Serial.println לעומת Serial.print

Serial.println לעומת Serial.print
Serial.println לעומת Serial.print
Serial.println לעומת Serial.print
Serial.println לעומת Serial.print

זו אחת התקלות הראשונות שמצאתי בקוד; אז חפש את זה בקוד שלך, "Serial.println (cpm);" ו- "Serial.print (cpm);".

Serial.println (cpm); ידפיס כל ספירה בשורה משלה.

Serial.print (cpm); ייראה כמו מספר אחד גדול שמדפיס כל ספירה על אותה השורה, כך שלא ניתן לדעת מהו הספירה.

שלב 7: מדידת קרינת רקע J305

מדידת קרינת רקע J305
מדידת קרינת רקע J305
מדידת קרינת רקע J305
מדידת קרינת רקע J305

הראשונה היא מדידת קרינת הרקע, הקרינה הטבעית שכבר קיימת באופן טבעי. המספר הרשום הוא ה- CPM (ספירה לדקה), שהוא סך הכל חלקיקים רדיואקטיביים שנמדדים בכל דקה.

ממוצע הרקע של J305 עמד על 15.6 עלות לאלף הופעות.

שלב 8: מדידת J305 קרינת חיישן עשן

מדידת J305 קרינת חיישן עשן
מדידת J305 קרינת חיישן עשן
מדידת J305 קרינת חיישן עשן
מדידת J305 קרינת חיישן עשן

אין זה נדיר כי מונה של גייגר נותן לך את אותה ספירה שוב ושוב אז בדוק זאת עם מקור קרינה. השתמשתי במדידת הקרינה מאמריציום בתא יונים מגלאי עשן. חיישן העשן משתמש ב- Americium כמקור לחלקיקי אלפא המייננים חלקיקי עשן באוויר. הסרתי את מכסה המתכת בחיישן כך שחלקיקי האלפא והבטא יוכלו להגיע לצינור גייגר יחד עם חלקיקי הגמא.

אם הכל בסדר הספירות צריכות להשתנות.

Americium-241 מממוצע גלאי עשן של תא יונים עמד על 519 CPM.

שלב 9: SBM-20

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

מערכון זה של ארדואינו הוא גרסה שונה שכתב אלכס בוגוסלבסקי.

סקיצה זו סופרת את מספר הפולסים ב -15 שניות וממירה אותה לספירות לדקה מה שהופך אותה פחות מייגעת.

קוד שהוספתי "Serial.println (" מונה התחל ");".

קוד שיניתי; "Serial.print (cpm);" אל "Serial.println (cpm);".

"#Define LOG_PERIOD 15000"; מגדיר את זמן הספירה ל -15 שניות, שיניתי אותו ל- "#define LOG_PERIOD 5000" או 5 שניות. לא מצאתי הבדל ניכר בממוצע בין ספירה של דקה אחת, או 15 שניות ו -5 שניות.

#לִכלוֹל

#define LOG_PERIOD 15000 // תקופת רישום באלפיות השנייה, ערך מומלץ 15000-60000.

#define MAX_PERIOD 60000 // תקופת רישום מקסימלית מבלי לשנות סקיצה זו

ספירות ארוכות ללא סימן; // משתנה לאירועי GM Tube

עותק לא רב בחתימה לדקה; // משתנה עבור עלות לאלף הופעות

מכפיל int ללא חתום; // משתנה לחישוב עלות לאלף הופעות במערכון זה

millis הקודם לא חתום; // משתנה למדידת זמן

void tube_impulse () {// הליך משנה לצילום אירועים מ- Geiger Kit

ספירות ++;

}

התקנת void () {// הליך משנה להגדרה

ספירות = 0;

cpm = 0;

מכפיל = MAX_PERIOD / LOG_PERIOD; // מכפיל חישוב, תלוי בתקופת היומן שלך

Serial.begin (9600);

attachInterrupt (0, tube_impulse, FALLING); // להגדיר הפרעות חיצוניות

Serial.println ("מונה התחל"); // קוד שהוספתי

}

לולאת חלל () {// מחזור ראשי

current Signillial millis = millis ();

if (currentMillis - previousMillis> LOG_PERIOD) {

previousMillis = currentMillis;

cpm = ספירות * מכפיל;

Serial.println (cpm); // קוד ששיניתי

ספירות = 0;

}

}

ממוצע הרקע SBM-20 עמד על 23.4 עלות לאלף הופעות.

שלב 10: חיבור דלפק גייגר עם LCD

חיווט דלפק גייגר עם LCD
חיווט דלפק גייגר עם LCD

חיבור LCD:

סיכת LCD K ל- GND

סיכה LCD לנגד 220 Ω ל- Vcc

פין LCD D7 לסיכה דיגיטלית 3

פין LCD D6 לסיכה דיגיטלית 5

פין LCD D5 לסיכה דיגיטלית 6

פין LCD D4 לסיכה דיגיטלית 7

LCD אפשר סיכה לסיכה דיגיטלית 8

סיכת R/W LCD לקרקע

פין RS מסוג RS עד סיכה דיגיטלית 9

פין LCD LCD להתאמה של סיר 10 kΩ

סיכת Vcc LCD ל- Vcc

סיכת Vdd LCD ל- GND

נגד 10 kΩ מתכוונן.

Vcc, Vo, Vdd

מונה גייגר

VIN לסיכה דיגיטלית 2

5 V עד 5 V

GND לקרקע

שלב 11: דלפק גייגר עם LCD

דלפק גייגר עם LCD
דלפק גייגר עם LCD
דלפק גייגר עם LCD
דלפק גייגר עם LCD
דלפק גייגר עם LCD
דלפק גייגר עם LCD

// כלול את קוד הספרייה:

#לִכלוֹל

#לִכלוֹל

#define LOG_PERIOD 15000 // תקופת רישום באלפיות השנייה, ערך מומלץ 15000-60000.

#define MAX_PERIOD 60000 // תקופת רישום מקסימלית מבלי לשנות סקיצה זו

#define PERIOD 60000.0 // (60 שניות) תקופת מדידה של דקה אחת

CNT ארוך תנודתי ללא סימן; // משתנה לספירת הפרעות מדוסימטר

ספירות ארוכות ללא סימן; // משתנה לאירועי GM Tube

עותק לא רב בחתימה לדקה; // משתנה עבור עלות לאלף הופעות

מכפיל int ללא חתום; // משתנה לחישוב עלות לאלף הופעות במערכון זה

millis הקודם לא חתום; // משתנה למדידת זמן

dispPeriod ארוך ללא חתום; // משתנה למדידת זמן

מחיר לאלף הופעות לא חתום; // משתנה למדידת עלות לאלף הופעות

// לאתחל את הספרייה עם מספרי סיכות הממשק

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 ("מונה גייגר");

עיכוב (2000);

cleanDisplay ();

attachInterrupt (0, GetEvent, FALLING); // אירוע על סיכה 2

}

לולאת חלל () {

lcd.setCursor (0, 0); // הדפס טקסט ו- CNT על ה- LCD

lcd.print ("CPM:");

lcd.setCursor (0, 1);

lcd.print ("CNT:");

lcd.setCursor (5, 1);

lcd.print (CNT);

if (millis ()> = dispPeriod + PERIOD) {// אם דקה אחת הסתיימה

cleanDisplay (); // LCD ברור

// עשו משהו בנוגע לאירועי CNT שהצטברו …

lcd.setCursor (5, 0);

CPM = CNT;

lcd.print (CPM); // מחיר לאלף הופעות לתצוגה

CNT = 0;

dispPeriod = millis ();

}

}

void GetEvent () {// קבל אירוע מהמכשיר

CNT ++;

}

void cleanDisplay () {// נקה שגרת LCD

lcd.clear ();

lcd.setCursor (0, 0);

lcd.setCursor (0, 0);

}

שלב 12: קבצים

הורד והתקן קבצים אלה ב- Arduino שלך.

מקם כל קובץ.ino בתיקייה באותו שם.

מוּמלָץ: