جدول المحتويات:
- الخطوة 1: القصة وراء …
- الخطوة 2: كيف يعمل
- الخطوة 3: المواد والأدوات
- الخطوة 4: إصلاح الأشياء معًا
- الخطوة 5: ربط الأشياء معًا
- الخطوة 6: توصيل المستشعرات
- الخطوة 7: برنامج التحكم
- الخطوة 8: الخاتمة
فيديو: متحكم شبكة مستشعر درجة الحرارة المتسامح مع الخطأ: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
يوضح لك هذا Instructable كيفية تحويل لوحة Arduino Uno إلى وحدة تحكم أحادية الغرض لمجموعة من مستشعرات درجة الحرارة DS18B20 القادرة على العزل التلقائي لأجهزة الاستشعار المعيبة.
يمكن لوحدة التحكم إدارة ما يصل إلى 8 مستشعرات باستخدام Arduino Uno. (وأكثر من ذلك بكثير مع Arduino Mega أو مع تعديل بسيط للبرنامج.)
الخطوة 1: القصة وراء …
قبل عامين ، قمت بإعداد شبكة استشعار درجة الحرارة DS18B20 في دفيئة والدي لوحدة التحكم في التدفئة القائمة على pi. لسوء الحظ ، كانت موثوقية وحدة التحكم ضعيفة بشكل أساسي بسبب الانقطاعات المتكررة لأجهزة الاستشعار. لقد جربت العديد من الإعدادات - قوة الطفيليات ، والطاقة المباشرة ، وتوصيل الشبكة بـ pi بالإضافة إلى توصيلها بلوحة مخصصة تعتمد على Atmega (كان الغرض الأساسي منها هو تشغيل محركات الصمامات).
والأسوأ من ذلك ، انخفضت موثوقية شبكة المستشعرات بشكل رئيسي خلال ليالي الشتاء بينما لم تكن هناك مشاكل تقريبًا في الصيف! ما الذي يحدث هنا؟
للتحقيق في أي جهاز استشعار يسبب المشكلة ، ظهرت الحاجة إلى تشغيل / إيقاف تشغيلها واحدًا تلو الآخر أو تمكين أي مجموعة منها.
الخطوة 2: كيف يعمل
يستخدم DS18B20 (مستشعر درجة الحرارة) بروتوكولًا خاصًا بسلك واحد يسمح لأجهزة استشعار متعددة بمشاركة رابط البيانات المشترك (هذا السلك الواحد). يرتبط ارتباط البيانات الشائع هذا بأحد دبابيس GPIO الخاصة بـ Arduino و + 5 V عبر المقاوم القابل للسحب - لا يوجد شيء غير مألوف ، حيث تغطي العديد من التعليمات هذا الإعداد.
الحيلة هي أن كل أسلاك توصيل الطاقة الخاصة بأجهزة الاستشعار متصلة بمسامير GPIO (مخصصة) ، بحيث يمكن تشغيلها وإيقافها بشكل منفصل. على سبيل المثال ، إذا كان المستشعر يحتوي على سلك Vcc متصل بالطرف رقم 3 و GND بالدبوس رقم 2 ، فإن ضبط الدبوس رقم 3 على HIGH يوفر الطاقة للمستشعر (ليس مفاجأة) أثناء ضبط الدبوس رقم 2 على LOW يوفر الأرض (مفاجأة صغيرة لـ أنا). سيؤدي ضبط كلا المسامير على وضع الإدخال (تقريبًا) إلى عزل المستشعر وأسلاكه تمامًا - بغض النظر عن الفشل (مثل الاختصار) الذي يحدث داخله ، فلن يتداخل مع الآخرين.
(من العدل أن نقول إن توصيل سلك البيانات بشيء آخر متصل بطريقة ما بـ Arduino سيؤدي بالفعل إلى حدوث تداخل ، ولكن يكاد يكون من المستحيل في الإعداد الخاص بي).
لاحظ أن DS18B20 يستهلك ما يصل إلى 1 ، 5 مللي أمبير بينما يمكن لمسمار Arduino أن يصدر / يغوص حتى 40 مللي أمبير ، لذلك فهو آمن تمامًا لتشغيل أجهزة الاستشعار عن طريق دبابيس GPIO مباشرة.
الخطوة 3: المواد والأدوات
مادة
- 1 لوحة اردوينو UNO
- 3 رؤوس دبوس أنثى: 1 × 4 ، 1 × 6 و 1 × 6 (أو أطول - قمت بقصها من رأس 1 × 40)
- الغراء
- قطعة من الأسلاك النحاسية العارية (10 سم على الأقل).
- شريط عازل
- مستهلكات اللحام (سلك ، تدفق …)
أدوات
- معدات لحام (حديد ، حاملات ، …)
- كماشة قطع صغيرة
الخطوة 4: إصلاح الأشياء معًا
قم بلصق رؤوس الدبوس الأنثوية برؤوس لوحة Arduino:
- رأس 1 × 4 بجوار رأس الدبوس "التناظري" ، جنبًا إلى جنب مع المسامير A0 – A4
- رأس 1 × 6 بجوار رأس الدبوس الرقمي الأول ، جنبًا إلى جنب مع المسامير 2-7
- رأس 1 × 6 بجوار رأس الدبوس الرقمي الثاني ، جنبًا إلى جنب مع المسامير 8-13
لاحظ أن الرؤوس الخاصة بي أطول قليلاً … ليس لها سلبيات ولا إيجابيات أفترضها.
الخطوة 5: ربط الأشياء معًا
توصيل الأسلاك بخط ناقل أحادي الأسلاك:
- قم بتوصيل جميع الخيوط ذات الرؤوس الملصقة على الجانب "الرقمي" (بجوار المسامير 2-13) عن طريق لحام قطعة من الأسلاك العارية بها
- قم بتلحيم نهاية هذا السلك برصاص دبوس SCL (متصل داخليًا بـ A5)
- قم بتوصيل جميع خيوط الرأس الملصقة على الجانب "التناظري" (المسامير A0 – A3) عن طريق لحام قطعة من الأسلاك العارية بها
- قم بتلحيم نهاية هذا السلك بخيوط A4 و A5 (لقد استخدمت A5 و A6 لأن لدي لوحة بها A6 و A7)
- جندى المقاوم 4k7 بين الطرف الآخر من هذا السلك و +5 دبوس الرصاص
ملحوظات:
- يمكن استخدام الدبابيس A0 – A5 ، على الرغم من تمييزها بأنها "تمثيلية" ، كدبابيس GPIO رقمية أيضًا.
- دبوس SCL على الجانب "الرقمي" متصل داخليًا بـ A5 على الجانب "التناظري" ؛ متصلاً بالرؤوس ، وهذا يشكل خط ناقل بسلك واحد
- A4 (تستخدم كمدخل تناظري) تقيس جهد الحافلة لأغراض التشخيص. هذا هو سبب اتصاله مباشرة بالحافلة.
- لقد استخدمت A6 بدلاً من A4 لأن لدي لوحة بها A6 & A7 ؛ في الأصل كنت أرغب في استخدام A7 بصفته رئيس ناقل أحادي السلك ولكن لا يمكن تكوين هذين الدبابيس ليكونا كائنات GPI رقمية.
- لمنع التوصيل الخاطئ لموصلات المستشعر ، يمكنك حذف / قطع جهة الاتصال غير المستخدمة (غير متصلة بأي سلك) من كل موصل ذكر وإدخاله في الفتحة المقابلة في رأس الدبوس الملصق.
الخطوة 6: توصيل المستشعرات
لقد أنشأت للتو مجموعة من ثمانية مقابس 2 × 2. يمكنك لحام وتجميع موصلات دوبونت 2 × 2 بكابلات الاستشعار وتوصيلها بهذه المقابس. يقوم البرنامج بتكوين المسامير بحيث تكون حتى المسامير دبابيس GND والدبابيس الفردية هي دبابيس Vcc. لكل مستشعر ، يكون دبوس Vcc عبارة عن دبوس GND + 1. أحد الدبابيس الأخرى للمقبس 2 × 2 (أحد هذين المسامير في الرأس الملصق والملحم) مخصص لسلك بيانات المستشعر. لا يهم ما تستخدمه.
الخطوة 7: برنامج التحكم
يدير رسم SerialThermometer وحدة التحكم. يمكنك العثور عليه على جيثب. فتح وتحميل باستخدام Arduino IDE.
خطوة بخطوة:
- افتح Arduino IDE الخاص بك وقم بتثبيت مكتبة DallasTemperature وجميع تبعياتها عبر Sketch | تضمين مكتبة | إدارة المكتبات.
- مستودع استنساخ git. إذا لم تكن على دراية بـ git ، فقم بتنزيل هذا الرمز المضغوط وفك ضغطه في أي مكان على جهاز الكمبيوتر الخاص بك.
- افتح رسم SerialThermometer في Arduino IDE الخاص بك.
- قم بتوصيل لوحة Arduino المعدلة بجهاز الكمبيوتر الخاص بك عن طريق كابل USB (الطريقة القياسية)
- قم بتحميل الرسم باستخدام Arduino IDE الخاص بك
- افتح Serial Monitor عبر Tools | جهاز المراقبة التسلسلي
- يجب أن ترى مخرجات تشخيصية تحتوي على عدة قياسات فيزيائية متبوعة بقراءات درجة الحرارة - كل مقبس حساس في خط واحد. إذا اختلف عدد المستشعرات عند تشغيله بشكل منفصل وعند تشغيل الكل معًا) ، يتم إجراء حلقات التشخيص حتى يتم حلها. ولكن لا داعي للقلق ، فالتشخيص يوفر أيضًا قياسات لدرجة الحرارة!
انظر الصورة المشروحة لمزيد من التفاصيل حول مخرجات التشخيص.
الخطوة 8: الخاتمة
لدي شعور قوي بأن أعطال شبكة المستشعر ناتجة عن السعة العالية للأسلاك الطويلة - حوالي 10 أمتار من كبل LIYY 314 (3 × 0 ، 14 مم²) لكل مستشعر. أظهرت تجاربي أن الاتصال ينقطع إذا كانت هناك سعة حول أو أعلى من 0.01 μF بين ناقل أحادي السلك والأرض ، وأعتقد أن المقاوم للسحب 4k7 غير قادر على سحب الحافلة إلى + 5 V بسرعة كافية للامتثال لحدود البروتوكول.
يحدث ذلك في الإعداد الخاص بي عندما يتم توصيل أكثر من 3 أجهزة استشعار معًا. بعد ذلك ، تدور وحدة التحكم في دورة التشخيص ، حيث تقيس مستشعر درجة الحرارة على حدة (ما هو رائع أيضًا …)
ولكن أيضًا المستشعر الخامس (28: ff: f2: 41: 51: 17: 04: 31) يبدو مريضًا جدًا (ربما يكون لحامًا خاطئًا) ، لذلك يمكنني إجراء مزيد من البحث!
موصى به:
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 - مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: 6 خطوات
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 | مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: مرحبًا يا رفاق ، في هذه التعليمات سوف نتعلم كيفية واجهة مستشعر درجة حرارة DHT11 مع m5stick-C (لوحة تطوير بواسطة m5stack) وعرضها على شاشة m5stick-C. لذلك في هذا البرنامج التعليمي سوف نقرأ درجة الحرارة والرطوبة وأمبير. الحرارة أنا
شبكة مجسات درجة الحرارة: 6 خطوات
شبكة من مستشعرات درجة الحرارة: تعتبر درجة الحرارة والرطوبة بيانات حيوية في المختبر والمطبخ وخط التصنيع والمكتب والروبوتات القاتلة وحتى منزلك. إذا كنت بحاجة إلى مراقبة مواقع أو غرف أو مساحات متعددة ، فأنت بحاجة إلى شيء موثوق به ومضغوط ودقيق وسريع
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب
متحكم درجة الحرارة PID: 7 خطوات
جهاز التحكم في درجة الحرارة PID: يقوم صديقي ببناء آلة بثق بلاستيكية لإعادة تدوير البلاستيك (https://preciousplastic.com). يحتاج إلى التحكم في درجة حرارة البثق. لهذا الغرض ، فإنه يستخدم فرقة سخان فوهة. يوجد في هذه الفوهة وحدة حرارية ووحدة تدفئة