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

وحدة قياس الطاقة في Arduino DIY: 9 خطوات (بالصور)
وحدة قياس الطاقة في Arduino DIY: 9 خطوات (بالصور)

فيديو: وحدة قياس الطاقة في Arduino DIY: 9 خطوات (بالصور)

فيديو: وحدة قياس الطاقة في Arduino DIY: 9 خطوات (بالصور)
فيديو: أردوينو للمبتدئين - (27) مشروع جهاز استشعار درجة الحرارة والرطوبة 2024, يوليو
Anonim
وحدة قياس الطاقة ذاتية الصنع للاردوينو
وحدة قياس الطاقة ذاتية الصنع للاردوينو
وحدة قياس الطاقة ذاتية الصنع لاردوينو
وحدة قياس الطاقة ذاتية الصنع لاردوينو
وحدة قياس الطاقة ذاتية الصنع لاردوينو
وحدة قياس الطاقة ذاتية الصنع لاردوينو

مرحبا بالجميع ، أتمنى أن تكون بخير! في هذا الدليل ، سأوضح لك كيف صنعت وحدة مقياس الطاقة / Wattmeter هذه للاستخدام مع لوحة Arduino. يمكن لمقياس الطاقة هذا حساب الطاقة المستهلكة بواسطة حمل التيار المستمر. إلى جانب الطاقة ، يمكن أن تعطينا هذه الوحدة أيضًا قراءات دقيقة للجهد والتيار. يمكنه بسهولة قياس الفولتية المنخفضة (حوالي 2 فولت) والتيارات المنخفضة ، حتى 50 مللي أمبير مع خطأ لا يزيد عن 20 مللي أمبير. تعتمد الدقة على اختيار المكونات بناءً على متطلباتك.

اللوازم

  • IC LM358 مزدوج OP-AMP
  • 8 دبوس IC قاعدة
  • مقاوم التحويلة (8.6 مللي أوم في حالتي)
  • المقاومات: 100 كيلو ، 10 كيلو ، 2.2 كيلو ، 1 كيلو (1/2 واط)
  • المكثفات: مكثفات سيراميك 3 * 0.1 فائق التوهج
  • Veroboard أو لوحة الصفر
  • محطات المسمار
  • لحام الحديد ولحام
  • Arduino Uno أو أي لوحة أخرى متوافقة
  • شاشة OLED
  • توصيل أسلاك الخبز

الخطوة الأولى: جمع المكونات المطلوبة

جمع المكونات المطلوبة
جمع المكونات المطلوبة

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

يعتمد اختيار المكونات وقيمتها على نوع التطبيق ونطاق القوة التي تريد قياسها.

الخطوة 2: مبدأ العمل

مبدأ العمل
مبدأ العمل
مبدأ العمل
مبدأ العمل
مبدأ العمل
مبدأ العمل
مبدأ العمل
مبدأ العمل

يعتمد عمل وحدة الطاقة على مفهومين لنظرية الدائرة والكهرباء الأساسية: مفهوم مقسم الجهد لقياس جهد الدخل وقانون أوم لحساب التيار المتدفق عبر الدائرة. نحن نستخدم مقاومًا تحويلية لإنشاء انخفاض جهد صغير جدًا عبره. يتناسب انخفاض الجهد هذا مع كمية التيار المتدفق عبر التحويلة. يمكن استخدام هذا الجهد الصغير عند تضخيمه بواسطة مضخم تشغيلي كمدخل لمتحكم دقيق يمكن برمجته ليعطينا القيمة الحالية. يتم استخدام مضخم التشغيل كمضخم غير مقلوب حيث يتم تحديد الكسب بواسطة قيم التغذية الراجعة المقاوم R2 و R1. يتيح لنا استخدام التكوين غير العكسي الحصول على أرضية مشتركة كمرجع قياس. لهذا ، يتم قياس التيار على الجانب المنخفض من الدائرة. بالنسبة لتطبيقي ، اخترت مكسبًا قدره 46 باستخدام المقاوم 100K و 2.2K كشبكة ردود الفعل. يتم قياس الجهد باستخدام دائرة مقسم الجهد التي تقسم جهد الدخل بما يتناسب مع شبكة المقاوم المستخدمة.

يمكن إدخال كل من القيمة الحالية من OP-Amp وقيمة الجهد من شبكة المقسم في مدخلين تناظريين من Arduino حتى نتمكن من حساب الطاقة التي يستهلكها الحمل.

الخطوة الثالثة: التقريب بين الأجزاء

اجتمع الاجزاء
اجتمع الاجزاء
اجتمع الاجزاء
اجتمع الاجزاء
اجتمع الاجزاء
اجتمع الاجزاء

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

الخطوة 4: إضافة الأجزاء لشبكة تحسس الجهد

إضافة أجزاء لشبكة تحسس الجهد
إضافة أجزاء لشبكة تحسس الجهد
إضافة أجزاء لشبكة تحسس الجهد
إضافة أجزاء لشبكة تحسس الجهد
إضافة أجزاء لشبكة تحسس الجهد
إضافة أجزاء لشبكة تحسس الجهد

بالنسبة لاستشعار جهد الدخل ، أستخدم شبكة مقسم جهد من 10K و 1K. أضفت أيضًا مكثف 0.1 uF عبر المقاوم 1K لتنعيم الفولتية. شبكة استشعار الجهد ملحومة بالقرب من طرف الإدخال

الخطوة 5: إضافة الأجزاء لشبكة Current Sense

إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense
إضافة أجزاء لشبكة Current Sense

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

الخطوة السادسة: استكمال التوصيلات المتبقية والانتهاء من البناء

استكمال التوصيلات المتبقية والانتهاء من البناء
استكمال التوصيلات المتبقية والانتهاء من البناء
استكمال التوصيلات المتبقية والانتهاء من البناء
استكمال التوصيلات المتبقية والانتهاء من البناء
استكمال التوصيلات المتبقية والانتهاء من البناء
استكمال التوصيلات المتبقية والانتهاء من البناء

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

الخطوة 7: توصيل الوحدة مع Arduino

توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو
توصيل الوحدة بالاردوينو

مع اكتمال الوحدة ، حان الوقت الآن لتوصيلها بـ Arduino وتشغيلها. لمعرفة القيم ، استخدمت شاشة OLED تستخدم بروتوكول I2C للتواصل مع اردوينو. المعلمات المعروضة على الشاشة هي Voltage و Current و Power.

الخطوة 8: رمز المشروع ومخطط الدائرة

كود المشروع ومخطط الدائرة
كود المشروع ومخطط الدائرة

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

#يشمل

#يشمل

#يشمل

#يشمل

# تعريف شاشة OLED_RESET 4 Adafruit_SSD1306 (OLED_RESET) ؛

تعويم val = 0 ؛

تيار تعويم = 0 ؛

الجهد العائم = 0 ؛

قوة تعويم = 0 ؛

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

pinMode (A0، INPUT) ؛

pinMode (A1 ، INPUT) ؛

display.begin (SSD1306_SWITCHCAPVCC ، 0x3C) ؛ // التهيئة باستخدام I2C addr 0x3C (لعرض 128 × 32).

تأخير (2000) ؛

// مسح المخزن المؤقت.

display.clearDisplay () ،

display.setTextSize (1) ،

display.setCursor (0، 0)؛

display.setTextColor (WHITE) ،

Serial.begin (9600) ؛ // لرؤية القيم على الشاشة التسلسلية

}

حلقة فارغة() {

// أخذ المتوسط لقراءات مستقرة

لـ (int i = 0 ؛ i <20 ؛ i ++) {

التيار = الحالي + القراءة التناظرية (A0) ؛

الجهد = الجهد + القراءة التناظرية (A1) ؛ }

التيار = (الحالي / 20) ؛ التيار = الحالي * 0.0123 * 5.0 ؛ // قيمة المعايرة ، تتغير حسب المكونات المستخدمة

الجهد = (الجهد / 20) ؛ الجهد = الجهد * 0.0508 * 5.0 ؛ // قيمة المعايرة ، تتغير حسب المكونات المستخدمة

الطاقة = الجهد * التيار ؛

// طباعة القيم على الشاشة التسلسلية

Serial.print (الجهد) ؛

Serial.print ("") ؛

Serial.print (الحالي) ؛

Serial.print ("") ؛

Serial.println (قوة) ؛

// طباعة القيم على شاشة OLED

display.setCursor (0، 0)؛

display.print ("Voltage:") ؛

عرض الطباعة (الجهد) ؛

display.println ("V") ؛

display.setCursor (0 ، 10) ؛

display.print ("Current:") ؛

عرض الطباعة (الحالية) ؛

display.println ("A") ؛

display.setCursor (0 ، 20) ؛

display.print ("الطاقة:") ؛

عرض الطباعة (الطاقة) ؛

display.println ("W") ؛

display.display () ،

تأخير (500) ؛ // معدل التحديث المحدد من خلال التأخير

display.clearDisplay () ،

}

موصى به: