اردوينو الوكالة الدولية للطاقة: كيف يعمل

الوكالة الدولية للطاقة اردوينو

في هذه المقالة الجديدة سنرى ما أ كلب الحراسةوما يمكن استخدامه من أجله وكيفية استخدامه في مشاريعك اردوينو. كل ما تحتاج لمعرفته حول هذه الوظيفة المثيرة للاهتمام وغير المعروفة. ونعم، كما يوحي اسمها (المراقبة)، يمكن استخدامه لتتبع بعض المشاكل.

هنا سوف نرى كل شيئ ترغب بمعرفته متعلق…

ما هي الوكالة الدولية للطاقة؟

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

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

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

ما هو مراقب اردوينو؟

كتب عن اردوينو

يجب ضبط مؤقت المراقبة الخاص بـ Arduino وفقًا لاحتياجات التطبيق. هو مؤقت جهاز المراقبة يستخدم مصدر ساعة داخلي بتردد 128 كيلو هرتز (قد يختلف حسب اللوحة ووحدة MCU المستخدمة). عند تفعيله، يبدأ العد من الصفر إلى قيمة محددة مسبقًا بواسطة المستخدم. إذا لم تتم إعادة تعيين مؤقت Watchdog عندما يصل إلى هذه القيمة، فإنه يعيد ضبط وحدة التحكم الدقيقة.

وحدة التحكم الدقيقة، أو MCU، عبارة عن جهاز إلكتروني صغير يدمج وحدة المعالجة المركزية (CPU)، والذاكرة، والأجهزة الطرفية للإدخال / الإخراج، وأحيانًا واجهات الاتصال على شريحة واحدة. وهي مصممة للتحكم وتنفيذ مهام محددة.

الموقت الوكالة الدولية للطاقة ATmega328P، والذي يتم تنفيذه في Arduino UNO، يوفر 10 إعدادات زمنية مختلفة، يحدد كل منها متى سيتجاوز المؤقت وبالتالي يتسبب في إعادة التعيين. الفواصل الزمنية المختلفة هي كما يلي: 16 مللي ثانية، 32 مللي ثانية، 64 مللي ثانية، 0.125 ثانية، 0.25 ثانية، 0.5 ثانية، 1 ثانية، 2 ثانية، 4 ثوان و 8 ثوان، كما سنرى لاحقا في الجدول الذي أدرجه.

إذا كان لا يزال من غير الواضح لك ما يمكنك فعله باستخدام Watchdog Timer Arduino UNO، سوف نرى مثال حتى تتمكن من فهم ذلك بيانيا. في هذا المثال، سوف نستخدم وميض LED بسيط (وميض). تومض مصابيح LED لفترة محددة قبل الدخول إلى حلقة while(). تُستخدم حلقة while() هذه كبديل لنظام الحظر. نظرًا لعدم إعادة ضبط مؤقت Watchdog أثناء وجوده في حلقة while()، فسيؤدي ذلك إلى إعادة تشغيل النظام، وستبدأ مصابيح LED في الوميض مرة أخرى قبل تعطل النظام وإعادة تشغيله. وستستمر هذه الدورة...

الاعتبارات والميزات

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

عندما نستخدم مراقب الاردوينو، فمن الضروري استخدامه سجلات بت لتحديد سلوك الشريحة. تم تفصيل السجلات ذات الصلة ومعناها في ورقة بيانات المتحكم الدقيق الموجودة على لوحة Arduino. ومع ذلك، فإن بيئة تطوير Arduino المتكاملة (IDE) تأتي مع بعض الوظائف ووحدات الماكرو المصممة لتبسيط هذه العملية، والتي يمكن استيرادها عن طريق تضمين المكتبة #يشمل لاستخدام الوكالة الدولية للطاقة من شريحة AVR.

بهذه الطريقة، يمكننا تكوين الوكالة الدولية للطاقة تفعيله باستخدام وظيفة wdt_enable(). تحدد وسيطة هذه الوظيفة الوقت قبل إعادة ضبط اللوحة إذا لم تتم إعادة ضبط المؤقت. أما بالنسبة للقيم التي يمكنك تكوينها في الكود، فأنا أدرجها هنا:

الوقت قبل أن يتم تشغيل الوكالة الدولية للطاقة وسيطة wtd_enable()
مللي 15 WDTO_15MS
مللي 30 WDTO_30MS
مللي 60 WDTO_60MS
مللي 120 WDTO_120MS
مللي 250 WDTO_250MS
مللي 500 WDTO_500MS
1 ق WDTO_1S
2 ق WDTO_2S
4 ق WDTO_4S
8 ق WDTO_8S
لمزيد من المعلومات، يمكنك الرجوع إلى ورقة بيانات Arduino، حيث يمكنك العثور على مزيد من التفاصيل حول المتحكم الدقيق المدمج نفسه، والسجلات التي يمكن استخدامها مع المراقبة، ودبابيس التوصيل، والأجهزة الطرفية، والمواصفات الفنية، والفولتية، واستهلاك الطاقة، وما إلى ذلك.

مثال على استخدام الوكالة الدولية للطاقة في اردوينو

اردوينو IDE ، أنواع البيانات ، البرمجة

وأخيرا، دعونا نرى كيف يتم استخدام الوكالة الدولية للطاقة عمليا مع مثال في Arduino IDE. كما نرى، الأمر بسيط جدًا، يمكنك العثور على أكواد مصدر مختلفة مثل هذه على الإنترنت، لتتمكن من ممارسة الأكواد الخاصة بك وتعديلها وإنشائها لاستخدام الوكالة الدولية للطاقة في مشاريعك. دعنا نرى مثالنا:

#include <avr/wdt.h> // Incluir la biblioteca watchdog (wdt.h)
 
void setup()
{
  wdt_disable(); // Desactivar el watchdog mientras se configura, para que no se resetee
  wdt_enable(WDTO_2S); // Configurar watchdog a dos segundos
}
 
void loop()
{
  wdt_reset(); // Actualizar el watchdog para que no produzca un reinicio
  //Aquí iría el código de tu programa...
}

كما يمكن أن نرى في هذا المثال من رسم تخطيطي لاردوينو، هناك ثلاث وظائف من أبرز لغات البرمجة لإدارة المراقبة، وهي:

  • wdt_disable() لتعطيل المؤقت أثناء تكوين Arduino.
  • wdt_enable(مرة) لتخصيص فاصل زمني للمؤقت وتشغيله، مع تحديد الوقت المقابل كما بينت في الجدول السابق.
  • wdt_reset() لتجديد الفاصل الزمني المخصص وحتى لا يتم إعادة تشغيل البرنامج.

كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.