למה לבנות כוח מיקרו-בקר מבוסס?

חשבונות אנרגיה ביתי ממשיכים לעלות, ולהבין בדיוק היכן חשמל נצרך הוא הצעד הראשון לצמצום הפסולת. לפקחי אנרגיה מסחריים עולים לעתים קרובות מאות דולרים, וחוסר גמישות לממשק עם מערכות אוטומציה ביתיות מותאמות אישית. מד כוח מבוסס מיקרובקר מציע אלטרנטיבה בעלות נמוכה כי אתה יכול להתאים לצרכים הספציפיים שלך.על ידי מדידה, זרם, חישוב כוח אמיתי, מכשירים אלה מספקים תובנות שימושיות המסייעות עומס, לזהות טרנדים מדויקים, או עיצוב, דרך טרנדים מדויקים, דרך טרנדים, דרך חישובים, עיצוב, או טרנדים מדויקים, דרך טרנדים, או טרנדים, דרך טרנדים, או טרנדים מדויקים, דרך חישוביים, טרנדים, דרך טרנדים, טרנדים מדויקים, דרך חישוביים, טרנדים, או טרנדים, טרנדים מדויקים, דרך טרנדים מדויקים, דרך סוללת כוח אמיתי, דרך חישוביים, סוללת כוח אמיתי, סוללת כוח אמיתי, סוללת כוח, באמצעות חישוביים, באמצעות חישוביים, באמצעות חישוביים, טרנדים, טרנדים, טרנדים, או טרנדים, באמצעות חישוביים, באמצעות חישוביים, טרנדים, סוללת כוח אמיתי, טרנדים, סוללת כוח אמיתי, סוללת כוח

מקור: What You Need and Why

כל מד חשמל מכווץ על כמה מרכיבים קריטיים.בחירת חלקי איכות משפיעה ישירות על דיוק, בטיחות וקלות השימוש.למטה אנחנו שוברים כל אלמנט, דנים באפשרויות משותפות ומסבירים כיצד הם עובדים יחד.

מיקרובקר (MCU) - המוח

הדגימות מיקרובקר הן אותות אנלוגיים, מבצעים חישובים, ומטפלות בתקשורת.עבור ניטור אנרגיה ביתי, ESP32 הוא בחירה חזקה כי הוא משלב Wi-Fi ו- Bluetooth, פועל על 3.3V, ומציע עיבוד כפול-core.אם אתה מעדיף פשטות, Arduino Uno (5V Logic) עובד טוב עבור prototyping אבל דורש מגן חיצוני עבור מפרט קישוריות.

וולטנס סנטינג

(הדגשה של מתח ראשי (בדרך כלל 110–240 VAC) היא האתגר הראשון.לחבר ישירות את ה- ADC של המיקרובקר יהיה מסוכן ובלתי חוקי.הגישה הבטוחה ביותר משתמשת ב-FLT:0potential Transformer3.3FLT:1 או FLT:2precision StressrFLT 3 לאחר בידוד של שיטה נפוצה ל-230Vse).

המונחים:

במדידת הנוכחית, ההופכים הנוכחיים של ה-SCT-core (CTs) אידיאליים משום שהם מדגימים סביב חוט חי ללא הפרעה בשירות. משפחת SCT-013 היא פופולרית: התפוקה של 30A/1V AC 0-1V AC ביחס לזרם הנוכחי, אשר ADC יכול לקרוא לאחר הטיות של DC-A (ה-Hatc-אפקטים של ACS712 או A758 מציעים מדידה DC/AC במרביתמרבי ב-C מקסימום C, אך דורשות סטנדרטיות עבור קומפקטיות סטנדרטיות סטנדרטיות עבור ה-C (C) אך ורק עבור ה-C).

סטיות אנליסטים-to-Digital Conversion (ADC)

ה-microcontroller של ADC הוא מספיק עבור מטרים בסיסיים, אבל ההחלטה המוגבלת שלו (10 ביטים על Arduino, 12 סיביות על ESP32) ו רצפת רעש יכולה להציג שגיאות. עבור דיוק גבוה יותר, לשקול ADC חיצוני כגון MCP3208 (12-bit, SPI) או ADS11 (16 סיביות, I2C). ADS15 הוא פופולרי במיוחד כי הוא מציע אותות נמוכים (מות) כדי לדחות את הרעש הנוכחי נמוך ל-256.

תגית: Connectivity

תצוגה מקומית (OLED 128×64, TFT או Character LCD) מראה כוח בזמן אמת בוואט, קילוואט-שעה, ועלות. לגישה מרחוק, WiFi (ESP32 מובנה-in) או מודול חיצוני ESP-01 מאפשר לך לדחוף נתונים ל- MQTT, ThingsBoard, או שרת אינטרנט פשוט.

עיצוב ושיקולי בטיחות

לפני ש-PCB משלב כל דבר, עיצוב המעגל על הנייר.המתח ונתיבי המדידה הנוכחיים חייבים להיות מבודדים לחלוטין אחד מהשני ומצד MCU נמוך, להשתמש באספקת 5V או 3.3V מוסדרת הנגזרת מתאים קיר קטן, לא מן עיקרי ההפיכה אל ראשי תיבות צריך להיות סגור בקופסה מבודדת ומדורגת עבור המתח הצפוי והנוכחי:0.

מעגל טיפוסי של מטר חד-פעמי:

  • (FLT:0) ערוץ Voltage:FLT:1ir Step-down Transformer (למשל, 9V AC פלט) , ניתוק מתח כדי להפחית 1V שיא DC offset (Vcc /2) מסנן RC (100 ⁇ /10 מיקרוF) ADC קלט.
  • (FLT:0Current Channel: FLT:1 CT (למשל, SCT-013 עם התנגדות בנטל מובנה) DC offset (Vcc/2) RC filter RC קלט.
  • (FLT:0) Power Supply:035) 5V או 3.3V מוסדר מבנק כוח USB או מתאם ייעודי.אל תמשוך כוח מחוג המדידה.

הוסף רצף 10k ⁇ כדי להתאים את ה- DC בדיוק עד מחצית ההתייחסות ADC.זה מבטיח גלפור AC הוא מרוכז המיקרובקר יכול לקרוא הן נקודות חיוביות ושליליות.

תוכנה: Sampling, RMS Calculation, and Power Computation

הקושחה חייבת לדגום את שני הערוצים באופן סינכרוני, לייחס ערכי RMS אמיתיים (לעומסים שאינם sinusoidal כמו החלפת אספקת חשמל), ולייצר כוח פעיל, כוח גלוי וגורם כוח. להלן הוא הסבר מורחב של האלגוריתם.

אסטרטגיה

עבור 50 / 60 הרץ ראשי, מדגם לפחות 64 נקודות מחזור (למשל, 3840 דגימות / שנייה עבור 60 הרץ) כדי ללכוד הרמוניות עד 15.שיעור מדגם גבוה יותר (2-4 kHz) משפר את הדיוק. השתמש בפסק זמן או FLT: 0 פונקציה כדי לשמור על מרווחים עקביים.

חישוב וולטאז' ו- RMS נוכחי

השתמש בנוסחה הבאה לכל ערוץ:

sum_squared = 0;
for (int i = 0; i < N; i++) {
 read = analogRead(pin);
 // Remove DC offset
 sample = read - DC_OFFSET;
 sum_squared += sample * sample;
}
rms = sqrt(sum_squared / N) * (ADC_VREF / ADC_RESOLUTION) * SCALE_FACTOR;

ה-ADC ממיר את הקריאה של ADC (הערך הדיגיטלי של Rw) בחזרה ל-Vates או amps. Determine זה ניסיוני: להאכיל הפניה ידועה (למשל, 10V AC) ולהתאים את הגורם עד קריאת RMS מתאים לרב מטר אמיתי.

כוח רגיעה

כוח אפוי (S= V rms × I rms) הוא פשוט, אבל כוח פעיל (P) דורש ריבוי מיידי ומינוף:

sum_active = 0;
for (int i = 0; i < N; i++) {
 v = (analogRead(V_PIN) - V_OFFSET) * V_SCALE;
 i = (analogRead(I_PIN) - I_OFFSET) * I_SCALE;
 sum_active += v * i;
}
active_power = sum_active / N;

גורם כוח = כוח פעיל עוצמה / גלויה power. for only Resistanceive לטעון, PF ⁇ 1.0; עבור עומסים אינדוקטיביים (אופנועים), PF טיפות מתחת 1.0, ומדידה אמיתית של כוח פעיל חיונית עבור חיוב מדויק.

אנרגיה (kWh)

כדי לעקוב אחר צריכת האנרגיה, לשלב כוח פעיל לאורך זמן:

uint32_t lastMillis = 0;
float energy_Wh = 0;
void loop() {
 if (millis() - lastMillis >= 1000) { // every second
 float power_watts = compute_active_power();
 energy_Wh += power_watts * (1.0 / 3600.0);
 lastMillis = millis();
 }
}

לאחסן את הערך המצטבר בזיכרון EEPROM או RTC כך שהוא שורד אובדן חשמל.עבור מטר שלם, לצפות לערכים בטווח של 500-2000 Wh לשעה בהתאם לשימוש.

קלבריון: הסוד ל- Trustworthy Data

ללא קלברציה, הקריאה שלך יכולה להיות כבויה ב 10-20% או יותר.התהליך כולל שלושה שלבים:

  • (ב) [15] ,0) ,Zero calibration:FLT:1 ללא עומס, קרא את ה- DC s ההתחלה לכל ערוץ ולהתאים את קבוע הקושחה עד שה-RMS קורא קרוב ל- אפס ככל האפשר (בדרך אגב וlt;0.1 W).
  • (FLT:0)Gain calibration for Stress:cioFLT:1) החל מתח יציב ידוע (למשל, מתאם AC 12V נמדד עם רבמטר) ולהתאים את הגורם לקצב המתח עד לתאים מטר.
  • (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

להקליט את קבועות ההנצחה הסופי בקוד המקור או לאחסן אותם בזיכרון לא רצוני, כך שתוכל לנקן עדין מבלי לקרוע מחדש את הקושחה.

קידוד וויזואליזציה

מספרים רול על צג סדרתי אינם ידידותיים למשתמש. הוסף תצוגה מקומית כדי להציג כוח בזמן אמת, אנרגיה יומית, ומחיר מוערך. עבור ניטור מרחוק, לשלוח נתונים באמצעות WiFi לפלטפורמות כמו EmonCMS, ThingsBoard, או מותאם אישית Nde-RED. ESP32 עושה את הטריוויאלי הזה - רק להתחבר לרשת הבית שלך ולפרסם את JSON מעל MQTT. אם אתה מעדיף פתרון עצמי, טקסט פשוט, טקסט גרף HTML.

עבור לטווח ארוך, מודול כרטיס SD כותב קבצי CSV.זה שימושי כאשר WiFi הוא אמין או לניתוח לא מקוון.לוודא שהכרטיס מעוצב כראוי וספריית SD ממוחזרת בבטחה כדי למנוע שחיתות קבצים.

יותר משלב אחד: שלוש-שלב ופוליפז מערכות

בתים עם כוח שלוש נקודות (מקור באירופה ובתי ארה"ב גדולים יותר) דורשים שלושה מתח ושלוש ערוצים נוכחיים.You יכול להשתמש MCU עם מספיק קלטות אנלוגיות (למשל, ESP32 יש שני ADCs מרובים עד 16 pins, אבל עלייה אנלוגית כאשר משתמשים בערוצים מרובים). גישה טובה יותר היא להשתמש בשתיים או יותר MCUs תקשורת באמצעות I2C או סדרתי, או מספר עצום של רמות חיצוניות כמו Cvx באופן עצמאי.

זמן סינכרון

עבור כוח פעיל מדויק בשלב, הדגימה את כל המתח ואת זוגות נוכחיים בהתפרצות יחידה (עם מיקרו-שניות) כדי לשמר את מערכות היחסים של שלב.אם אתה מדגם ערוצים באופן שווה (כמו עם מספרxer), הזמן שskew יציג שגיאה שלב שעולה עם תדרים גבוהים יותר. ADCs עם מדגם זה-and-hold (כמו AD7606) פותר את זה אך עלות מעשית היא סביב מדגם אפס-שלב של כל גל עבור כל גל.

תכונות מתקדמות כדי לתקן את המרחץ שלך

לאחר שמד כוח בסיסי עובד, שקול להוסיף שיפורים אלה:

  • (ב) ,0) תיקון גורם אזהרה: 1 בינואר אם PF טיפות מתחת 0.8, דגל המשתמש כדי לחקור עומסים תגובתיים אפשריים.
  • (FLT:0) זיהוי משוער: FLT:1 על ידי ניתוח חתימות הרמוניות (באמצעות FFT), אתה יכול להבחין בין מקרר, מיקרוגל ומכונת כביסה.זהו אזור מחקר פעיל אבל ניתן לעשות עם ESP32 מספיק RAM.
  • (FLT:0) דור ניטור דור הזחל: 1FLT הוסף מהפך שני הנוכחי על קו ההזנת הסולארי (Bydirectional CT) למדידת יצוא/ספורט.
  • (ב) ,0) ,א-קלייברציה: (ב) השתמש בממסר כדי לעבור בהתנגדות ידועה להגדרה עצמית במהלך תקופות של idle.
  • (ב) ,0) ,בכוח: כפלה: [13] ,"ה'"ד: "העברה של מדינה מוצקה לניתוק עומסים כאשר הצריכה עולה על סף (למשל, כדי למנוע ניתוק).

השוואה עם פיקוחי אנרגיה מסחריים

מוצרים מסחריים כמו החוש, אממפוריה Vue, או Shelly EM מציעים יישומים מלוטשים, אינטגרציה בענן ובטיחות ממוקדת UL.עם זאת, הם לנעול אותך לתוך מערכת אקולוגית קניינית ולעתים קרובות דורשים מנוי חודשי עבור נתונים היסטוריים. A מד נותן לך בעלות מלאה על נתונים, ללא עלויות חוזרות ונשנות, ואת היכולת לממשק עם כל תקן בית חכם (בית, OpenHAB).

משאבים וקריאה נוספת

לקבלת הבנה עמוקה יותר, להתייעץ עם המשאבים הבאים:

  • (FLT:0) OpenEnergyMonitor DocumentationationofLT:1) - מדריכים מקיף על חיידקי CT, מתאם AC-AC ו calibration.
  • (FLT:0) Adafruit INA219 TutorialearFLT:1) - שימוש ב חיישן I2C הנוכחי / הטיפוח עבור יישומים DC כוח נמוך.
  • (ב) [ה]הופנה מהדף Power Measurement Guide: 1] – הרקע התיאורטי למדידת כוח AC וטעויות.

Bringing It All Together: A Practical Build Checklist

כדי לעזור לך להתחיל, הנה בדיקה של צעד אחר צעד עבור חד-phase, ESP32 מבוסס מטר:

  1. רכיבי בחר וסדר: ESP32 DevKitC, SCT-013-000 (100A/50mA), 230V-to-9V AC הופך, 1k ⁇ ו- 10k ⁇ מתנגדים, 10μF / 25V capacitors, perfboard, Complex.
  2. הרכיב את המתח ואת מעגלי הדיבידנד הנוכחיים על לוח לחם ראשון.מבחן עם רבמטר כדי לאמת את ה- DC offset הוא בדיוק Vcc/2.
  3. כתוב סקיצה פשוטה שמדפסת ערכי ADC גולמיים, החל מתח AC ידוע (באמצעות המיר) ולוודא את צורת הגלום על משטח סדרתי.
  4. יישום חישוב RMS עם ממוצע של מעל 50 מחזורים.השוואה קריאה ל multimeter.
  5. הוסף חיישן נוכחי וחזר על calibration. Test עם 100W bulb (צריך לקרוא) -0.43A על 230V).
  6. שלב מתח וחלוק נוכחי לתוך לולאה אחת.למלא כוח פעיל. לבדוק עם עומס התנגדות (כוח פעיל ⁇ כוח ברור).
  7. הוסף חיבור Wi-Fi ו- MQTT פרסום. השתמש בכלי כמו MQTT Explorer כדי לאמת את זרימת הנתונים.
  8. עיצוב ו- 3D-print מקרה המבטיח זרימת אוויר ומונע מגע מקרי עם ראשי תיבות של wiring. Install Final version בפאנל ההפסקה (עם פריצה עיקרית).
  9. הפעל את הממטר למשך 24 שעות ולהשוות אנרגיה יומית הכוללת את הצעת השירות שלך כדי לאשר דיוק בתוך 2 עד 75%.

בניית מד חשמל מבוסס מיקרובקר היא פרויקט מתגמל המספק יתרונות מעשיים מיידיים.עם תכנון קפדני ו calibration, הצג הביתי שלך יספק שנים של נתונים אנרגיה אמינה, עוזר לך להפחית את הפסולת לחסוך כסף.