يحتوي هذا المستودع على الكود المصدري لوحدة تحكم طاقة WiFi.
يتكون الجهاز من (يمكن استبدال معظم المكونات بسهولة وبعضها زائد عن الحد بالنسبة لتطبيقات التيار المنخفض):
صندوق باتريس يشكل غلافًا جيدًا.
كن حذرًا إذا طلبت ACS712 من Banggood.com، فقد تم تسليم مستشعرات 20A الخاصة بي مع أطراف طرفية مصنفة لـ 10A فقط.
يجب اختيار R1 وR2 لتقليل خرج 5V لـ ACS712 إلى نطاق 3.3V الذي يمكن قراءته بواسطة المدخلات التناظرية لـ M0 (على سبيل المثال، يجب أن يكون R1 ضعف قيمة R2 تقريبًا).
تمت كتابته باستخدام Arduino باستخدام مكتبات Wifi101 وArduinoJson. يجب إضافة Wifi SSID وكلمة المرور إلى Secrets.h. يجب تحديث serverAddress
port
إلى عنوان الخادم.
يجمع القراءات من وحدات التحكم ويخزنها في قاعدة بيانات MySQL. يوفر أيضًا REST API للعميل.
للبدء:
.env
وقم بتعيين MYSQL_USERNAME
و MYSQL_PASSWORD
و MYSQL_DB
.npm install
npm run dev
controllers
لتعيين عامل التحويل. يتم ضرب عامل التحويل بالقيمة التي تقرأها وحدة التحكم لإعطاء القراءة بالمللي أمبير. أعد تشغيل الخادم بعد ضبط تغيير قاعدة البيانات لجعل الخادم يقرأ التغييرات.على سبيل المثال، إذا كان استخدام 20A ACS712 1A للتيار ينتج عنه 100 مللي فولت من الإخراج.
إذا كان R1 هو 10kΩ و R2 هو 20kΩ، فهذا يترجم إلى خرج 67mV ( 20/(20+10)*100
) من مقسم الجهد.
الإدخال إلى M0 هو 12 بت لذا يتراوح من 0 - 4095 لـ 0 - 3.3 فولت.
وبالتالي يمكن حساب عامل التحويل على النحو التالي:
c = 3.3 / S * (R1 + R2) / R2 / 4096 * 1000
حيث S
هي حساسية ACS712 بالفولت لكل أمبير.
في هذا المثال:
c = 3.3 / 0.1 * (10 + 20) / 20 / 4096 * 1000
c = 12.85
يستخدم REST API الخاص بالخادم لتعيين الجداول الزمنية وإظهار استخدام الطاقة.
للبدء:
npm install
npm run serve