جدول المحتويات:

اردوينو عداد جيجر DIY: 12 خطوة (مع صور)
اردوينو عداد جيجر DIY: 12 خطوة (مع صور)

فيديو: اردوينو عداد جيجر DIY: 12 خطوة (مع صور)

فيديو: اردوينو عداد جيجر DIY: 12 خطوة (مع صور)
فيديو: DIY Arduino Geiger Counter (Video 1) 2024, يوليو
Anonim
اردوينو DIY عداد جيجر
اردوينو DIY عداد جيجر
اردوينو DIY عداد جيجر
اردوينو DIY عداد جيجر

لقد طلبت عداد جيجر DIY وتريد توصيله بـ Arduino. تذهب على الخط وتحاول تكرار الطريقة التي ربط بها الآخرون عداد جيجر الخاص بهم بأردوينو فقط للعثور على خطأ ما. على الرغم من أن عداد جيجر يبدو وكأنه لا يعمل على النحو الموصوف في DIY الذي تتبعه عندما تقوم بتوصيل عداد جيجر الخاص بك بأردوينو.

في هذا Instructable ، سأغطي كيفية استكشاف بعض هذه الأخطاء وإصلاحها.

تذكر؛ قم بتجميع وترميز Arduino خطوة واحدة في كل مرة ، إذا انتقلت مباشرة إلى مشروع منتهي وكان هناك سلك مفقود أو سطر من التعليمات البرمجية ، فقد يستغرق الأمر إلى الأبد للعثور على المشكلة.

الخطوة 1: الأدوات والأجزاء

الأدوات والأجزاء
الأدوات والأجزاء

صندوق النموذج الأولي كنت أستخدم علبة حلوى فيريرو روشيه.

لوح صغير

16x2 LCD

لوحة اردوينو الأثير UNO أو Nano

220 المقاوم

قدر 10 kΩ مقاوم قابل للتعديل.

DIY عداد جيجر كيت

أسلاك العبور

موصل البطارية أو تسخير

راسم الذبذبات

كماشة الأنف الجميلة

مفك صغير قياسي

الخطوة 2: قم بتجميع عداد جيجر الخاص بك

قم بتجميع عداد جيجر الخاص بك
قم بتجميع عداد جيجر الخاص بك

أي ضرر يلحق بأنبوب جيجر الخاص بك ؛ ولن يعمل عداد جيجر الخاص بك ، لذا استخدم غطاء الأكريليك الواقي لمنع تلف أنبوب جيجر الخاص بك.

هذا Instructable يتعلق بكيفية إصلاح نفس عداد جيجر بأنبوب جيجر المكسور وتركيب الغطاء الأكريليكي الواقي لمنع الكسر في المستقبل.

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

الخطوة الثالثة: اختبار عداد جيجر كهربائيًا

اختبار عداد جيجر كهربائياً
اختبار عداد جيجر كهربائياً
اختبار عداد جيجر كهربائياً
اختبار عداد جيجر كهربائياً
اختبار عداد جيجر كهربائياً
اختبار عداد جيجر كهربائياً

استخدم أولاً الجهد المناسب لمصدر الطاقة ؛ يوفر سلك USB 5 فولت تيار مباشر من جهاز الكمبيوتر الخاص بك ، ولكن حامل البطارية 3 AA مخصص لبطاريات قلوية 1.5 فولت مما يجعل الجهد الإجمالي 4.5 فولت. إذا كنت تستخدم بطاريات NI-Cd أو NI-MH 1.2 فولت قابلة لإعادة الشحن ، فستحتاج إلى حامل بطارية 4 AA بجهد إجمالي يبلغ 4.8 فولت. إذا كنت تستخدم أقل من 4.5 فولت ، فقد لا يعمل عداد جيجر كما ينبغي.

يوجد القليل جدًا من الدوائر في خرج عدادات جيجر ؛ وطالما أن السماعة تصدر صوت تكتك ، ويومض مؤشر LED ، يجب أن تحصل على إشارة على دبوس VIN.

للتأكد من إشارة الخرج ؛ قم بتوصيل راسم الذبذبات بالمخرج عن طريق توصيل الجانب الإيجابي لمسبار الذبذبات بـ VIN والجانب السلبي لمسبار الذبذبات بالأرض.

بدلاً من مجرد انتظار إشعاع الخلفية لتشغيل عداد جيجر ، استخدمت الأمريسيوم 241 من حجرة أيون لكاشفات الدخان لزيادة تفاعلات عدادات جيجر. بدأ خرج عداد جيجر عند +3 فولت وانخفض إلى 0 فولت في كل مرة يتفاعل فيها أنبوب جيجر مع جسيمات ألفا ويعود إلى +3 فولت في وقت لاحق. هذه هي الإشارة التي ستقوم بتسجيلها باستخدام Arduino.

الخطوة 4: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك

هناك طريقتان يمكنك من خلالهما توصيل عداد جيجر بـ Arduino وجهاز الكمبيوتر الخاص بك.

قم بتوصيل GND على Arduino بـ GND على عداد جيجر.

قم بتوصيل 5V على Arduino بـ 5V على عداد جيجر.

قم بتوصيل VIN على عداد جيجر بـ D2 على Arduino.

مع قوة مستقلة متصلة بعداد جيجر.

قم بتوصيل GND على Arduino بـ GND على عداد جيجر.

قم بتوصيل VIN على عداد جيجر بـ D2 على Arduino.

قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك.

الخطوة 5: الكود

الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة

افتح Arduino IDE وقم بتحميل الكود.

// يحسب هذا الرسم التخطيطي عدد النبضات في الدقيقة.

// قم بتوصيل GND على Arduino بـ GND على عداد جيجر.

// قم بتوصيل 5V على Arduino بـ 5V على عداد جيجر.

// قم بتوصيل VIN على عداد جيجر بـ D2 على Arduino.

التهم الطويلة غير الموقعة ؛ // متغير لأحداث GM Tube

غير موقعة منذ فترة طويلة ميليس. // متغير لقياس الوقت

الدافع الباطل () {// dipanggil setiap ada sinyal FALLING di pin 2

التهم ++ ؛

}

#define LOG_PERIOD 60000 // معدل العد

إعداد باطل () {// setup

التهم = 0 ؛

Serial.begin (9600) ؛

pinMode (2 ، الإدخال) ؛

attachInterrupt (digitalPinToInterrupt (2) ، الدافع ، السقوط) ؛ // تحديد المقاطعات الخارجية

Serial.println ("عداد البدء") ؛

}

حلقة باطلة () {// دورة رئيسية

تيار طويل بدون توقيع ميليس = ميلي () ؛

إذا (currentMillis - previousMillis> LOG_PERIOD) {

PreviousMillis = CurrentMillis ؛

Serial.println (التهم) ؛

التهم = 0 ؛

}

}

في Tools ، حدد Arduino أو لوحة أخرى تستخدمها.

في الأدوات ، حدد Port and Com

قم بتحميل الكود.

بمجرد تحميل الرمز في الأدوات ، حدد Serial Monitor وشاهد عمل عداد Geiger الخاص بك.

ابحث عن مواطن الخلل. الشيء الوحيد في هذا الرمز هو أنه أمر شاق بعض الشيء يجب أن تنتظر دقيقة واحدة لكل عدد.

الخطوة 6: Serial.println Vs 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 CPM.

الخطوة 8: J305 قياس إشعاع مستشعر الدخان

J305 قياس إشعاع حساس الدخان
J305 قياس إشعاع حساس الدخان
J305 قياس إشعاع حساس الدخان
J305 قياس إشعاع حساس الدخان

ليس من غير المألوف أن يعطيك عداد جيجر نفس العدد بشكل متكرر ، لذا تحقق من ذلك بمصدر إشعاع. لقد استخدمت قياس الإشعاع من الأمريكيوم غرفة أيونية من كاشف الدخان. يستخدم مستشعر الدخان الأميريسيوم كمصدر لجزيئات ألفا التي تؤين جزيئات الدخان في الهواء. قمت بإزالة الغطاء المعدني على المستشعر حتى تتمكن جسيمات ألفا وبيتا من الوصول إلى أنبوب جيجر جنبًا إلى جنب مع جسيمات جاما.

إذا كان كل شيء على ما يرام ، يجب أن تتغير الأعداد.

الأمريسيوم -241 من أجهزة كشف الدخان كان متوسط عدد غرف الأيونات 519 CPM.

الخطوة 9: SBM-20

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

رسم Arduino نسخة معدلة كتبها Alex Boguslavsky.

يحسب هذا الرسم التخطيطي عدد النبضات في 15 ثانية ويحولها إلى حساب في الدقيقة مما يجعلها أقل مللًا.

لقد أضفت الرمز "Serial.println (" عداد البدء ") ؛".

لقد غيرت الرمز ؛ "Serial.print (cpm) ؛" إلى "Serial.println (cpm) ؛".

“# تعريف LOG_PERIOD 15000” ؛ يضبط وقت العد على 15 ثانية ، وقمت بتغييره إلى "#define LOG_PERIOD 5000" أو 5 ثوانٍ. لم أجد فرقًا ملحوظًا في المتوسط بين العد لمدة دقيقة واحدة أو 15 ثانية و 5 ثوانٍ.

#يشمل

#define LOG_PERIOD 15000 // فترة التسجيل بالمللي ثانية ، القيمة الموصى بها 15000-60000.

#define MAX_PERIOD 60000 // أقصى فترة تسجيل بدون تعديل هذا الرسم التخطيطي

التهم الطويلة غير الموقعة ؛ // متغير لأحداث GM Tube

cpm طويلة بدون توقيع ؛ // متغير لـ CPM

المضاعف غير الموقعة ؛ // متغير لحساب التكلفة لكل ألف ظهور في هذا الرسم التخطيطي

غير موقعة منذ فترة طويلة ميليس. // متغير لقياس الوقت

void tube_impulse () {// إجراء فرعي لالتقاط الأحداث من Geiger Kit

التهم ++ ؛

}

إعداد باطل () {// إجراء فرعي الإعداد

التهم = 0 ؛

cpm = 0 ؛

المضاعف = MAX_PERIOD / LOG_PERIOD ، // حساب المضاعف ، يعتمد على فترة السجل الخاصة بك

Serial.begin (9600) ؛

attachInterrupt (0، tube_impulse، FALLING)؛ // تحديد المقاطعات الخارجية

Serial.println ("عداد البدء") ؛ // كود أضفته

}

حلقة باطلة () {// دورة رئيسية

تيار طويل بدون توقيع ميليس = ميلي () ؛

إذا (currentMillis - previousMillis> LOG_PERIOD) {

PreviousMillis = CurrentMillis ؛

cpm = التهم * المضاعف ؛

Serial.println (cpm) ؛ // كود لقد غيرت

التهم = 0 ؛

}

}

كان متوسط عدد الخلفية SBM-20 23.4 CPM.

الخطوة العاشرة: توصيل أسلاك عداد جيجر بشاشة LCD

توصيل عداد جيجر بشاشة LCD
توصيل عداد جيجر بشاشة LCD

اتصال LCD:

دبوس LCD K إلى GND

LCD دبوس بمقاوم 220 إلى Vcc

دبوس LCD D7 إلى طرف رقمي 3

دبوس LCD D6 إلى طرف رقمي 5

دبوس LCD D5 إلى طرف رقمي 6

دبوس LCD D4 إلى طرف رقمي 7

LCD قم بتمكين دبوس إلى رقم التعريف الشخصي 8

دبوس LCD R / W على الأرض

دبوس LCD RS إلى دبوس رقمي 9

دبوس LCD VO لضبط 10 كيلو أوم

LCD Vcc دبوس إلى Vcc

LCD Vdd دبوس إلى GND

قدر 10 kΩ مقاوم قابل للتعديل.

Vcc ، Vo ، Vdd

عداد جيجر

VIN إلى رقم التعريف الشخصي 2

5 فولت إلى +5 فولت

GND على الأرض

الخطوة 11: عداد جيجر مع شاشة LCD

عداد جيجر بشاشة ال سي دي
عداد جيجر بشاشة ال سي دي
عداد جيجر بشاشة ال سي دي
عداد جيجر بشاشة ال سي دي
عداد جيجر بشاشة ال سي دي
عداد جيجر بشاشة ال سي دي

// تضمين رمز المكتبة:

#يشمل

#يشمل

#define LOG_PERIOD 15000 // فترة التسجيل بالمللي ثانية ، القيمة الموصى بها 15000-60000.

#define MAX_PERIOD 60000 // أقصى فترة تسجيل بدون تعديل هذا الرسم التخطيطي

#define PERIOD 60000.0 // (60 ثانية) فترة قياس دقيقة واحدة

CNT طويلة متقلبة غير موقعة ؛ // متغير لحساب المقاطعات من مقياس الجرعات

التهم الطويلة غير الموقعة ؛ // متغير لأحداث GM Tube

cpm طويلة بدون توقيع ؛ // متغير لـ CPM

المضاعف غير الموقعة ؛ // متغير لحساب التكلفة لكل ألف ظهور في هذا الرسم التخطيطي

غير موقعة منذ فترة طويلة ميليس. // متغير لقياس الوقت

فترة عرض طويلة بدون توقيع ؛ // متغير لقياس الوقت

التكلفة لكل ألف ظهور طويلة بدون توقيع ؛ // متغير لقياس التكلفة لكل ألف ظهور

// تهيئة المكتبة بأرقام دبابيس الواجهة

LiquidCrystal LCD (9 ، 8 ، 7 ، 6 ، 5 ، 3) ؛

إعداد باطل () {// setup

lcd.begin (16 ، 2) ؛

CNT = 0 ؛

التكلفة لكل ألف ظهور = 0 ؛

ديسببيريود = 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

// افعل شيئًا حيال أحداث الكونفدرالية المتراكمة….

lcd.setCursor (5 ، 0) ؛

CPM = CNT ؛

lcd.print (CPM) ؛ // عرض التكلفة لكل ألف ظهور

CNT = 0 ؛

dispPeriod = مللي () ،

}

}

باطل GetEvent () {// احصل على حدث من الجهاز

CNT ++ ؛

}

void cleanDisplay () {// مسح روتين LCD

lcd.clear () ؛

lcd.setCursor (0 ، 0) ؛

lcd.setCursor (0 ، 0) ؛

}

الخطوة 12: الملفات

قم بتنزيل وتثبيت هذه الملفات على Arduino الخاص بك.

ضع كل ملف.ino في مجلد بنفس الاسم.

موصى به: