תוכן עניינים:

זרם נתוני ניטור זרם AC: 9 שלבים (עם תמונות)
זרם נתוני ניטור זרם AC: 9 שלבים (עם תמונות)

וִידֵאוֹ: זרם נתוני ניטור זרם AC: 9 שלבים (עם תמונות)

וִידֵאוֹ: זרם נתוני ניטור זרם AC: 9 שלבים (עם תמונות)
וִידֵאוֹ: Introduction to Amazon Web Services by Leo Zhadanovsky 2024, יולי
Anonim
זרם נתוני ניטור זרם AC
זרם נתוני ניטור זרם AC

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

הפרויקט משתמש ב- Arduino Uno לקריאת חיישנים אנלוגיים באמצעות ממיר אנלוגי לדיגיטלי (ADC) ומתעד את הנתונים עם חותמת זמן בכרטיס SD. יש הרבה תיאוריה וחישוב הכרוכים בעיצוב המעגלים, כך שבמקום להסביר בהחלט הכל, אני רק אראה לך איך לעשות את זה. אם אתה מעוניין לראות את הלהיט המלא אז הודע לי בתגובות ואני אסביר יותר.

הערה:

היו לי הרבה שאלות בנוגע לחישובי RMS True. מכשיר זה משתמש במיישר חצי גל כדי ללכוד את שיא הגל, שאחר כך ניתן להכפיל אותו ב- 0.707 כדי לתת RMS. באופן עקבי זה ייתן רק תוצאה מדויקת עם עומסים ליניאריים (כלומר הזרם הנמדד הוא גל סינוס טהור). אספקה או עומסים שאינם ליניאריים המעניקים צורות גל משולשות, מלבניות או כל צורות גל אחרות שאינן סינוס, לא יתנו חישוב RMS אמיתי. מכשיר זה מודד זרם AC רק שהוא אינו מיועד למדידת מתח, ולכן אינו מחשב או מודד את גורם ההספק. אנא עיין במדריך השני שלי כיצד ליצור מד גורם גורמים בעזרתו ניתן לעשות זאת. אנשים רבים גם אמרו כי צימוד AC ישר עם קו מרכזי של 2.5V עדיף, אולם הדבר מביא סיבוכים מכיוון שהוא כרוך בקצב דיגומים דיגיטליים מהיר מספיק, ממוצע/החלקת נתונים חזקים וכו 'וחוסר הוודאות שמביא זה גבוה בהרבה ממדידה. הערך הגולמי. באופן אישי, אני מעדיף פתרונות חומרה וקוד פשוט ככל האפשר ולכן אני לא מעוניין בשיטה הזו. מבחינת הדיוק אני מאמין שזה הרבה יותר טוב מהאחרון ותראה בהמשך התוצאות שלי יש מקדם רגרסיה קרוב ל -1.0 לאחר הכיול.

שלב 1: רובוטריקים נוכחיים

רובוטריקים נוכחיים
רובוטריקים נוכחיים
רובוטריקים נוכחיים
רובוטריקים נוכחיים

פרויקט זה משתמש בשנאי זרם HMCT103C 5A/5MA. יש לו יחס של 1: 1000 סיבובים כלומר לכל 5A של זרם הזורם דרך המוליך, 5mA יזרום דרך ה- CT. צריך לחבר נגד על פני שני מסופי ה- CT כדי לאפשר למדוד מתח על פניו. בהזדמנות זו השתמשתי בנגד 220 אוהם, לכן באמצעות חוק אוהם V = IR, פלט ה- CT יהיה 1.1 וולט AC, על כל 5mA של זרם CT (או על כל 5A של זרם נמדד). מכשירי ה- CT מולחמו על גבי לוח עם הנגד וכמה חוטי מכשיר לייצור מוליכים מעופפים. סגרתי את ההובלות עם תקעי שקע שמע זכריים 3.5 מ מ.

להלן גליון הנתונים של השנאי הנוכחי

טופס מידע

שלב 2: מיזוג אותות

מיזוג אות
מיזוג אות
מיזוג אות
מיזוג אות

האות מה- CT יהיה חלש ולכן צריך להגביר אותו. לשם כך הלחמתי יחד מעגל מגבר פשוט באמצעות מגבר אופני כפול uA741. במקרה זה הרווח לפיכך מוגדר ל -150 באמצעות הנוסחה Rf / Rin (150k / 1k). עם זאת אות הפלט מהמגבר עדיין AC, הדיודה ביציאה של המגבר האופטי מנתקת את מחזור המחזור השלילי של ה- AC ומעבירה את המתח החיובי לקבל 0.1uF כדי להחליק את הגל לאות DC מקולקל. להלן החלקים המרכיבים את המעגל:

  • V1-הדבר שרירותי בתרשים זה, הוא פשוט מייצג את מתח האות המוזן לתוך הקלט הבלתי הפוך של מגבר ה- op.
  • R1 - זה ידוע כנגד המשוב (Rf) והוא מוגדר ל- 150k
  • R2 - זה נקרא נגד הכניסה (Rin) ומוגדר ל- 1k
  • 741 - זהו המעגל המשולב uA741
  • VCC - מסילת אספקה חיובית +12V
  • VEE - מסילת אספקה שלילית -12V
  • D1 - האם דיודת האות תיקון גל חאף 1N4001
  • C3 - קפקטור זה מחזיק את אות DC לזמן מוגדר

בתמונה 2 ניתן לראות שהיא הורכבה באמצעות Veroboard וחוט נחושת משומר. 4 חורים נקדחו למעגלים של PCB כדי שניתן יהיה לערום אותם (מכיוון שיש שמונה ערוצים צריך שיהיו שמונה מעגלי מגבר בסך הכל.

שלב 3: ספק כוח

ספק כוח
ספק כוח
ספק כוח
ספק כוח
ספק כוח
ספק כוח

אם לא בא לך להכין אותו מאפס, תוכל לקנות את הלוח שהורכב מראש מסין כמו זה שבתמונה למעלה, אך עדיין תזדקק לשנאי 3VA (הורד 240V ל -12V). התמונה עלתה לי בסביבות 2.50 ליש ט

כדי להפעיל את הפרויקט החלטתי להכין אספקת חשמל כפולה 12VDC משלי. זה היה נוח מכיוון שהמגברים הנדרשים +12V, 0V, -12V ו- Arduino Uno יכול לקבל כל אספקה עד 14 VDC. להלן החלקים המרכיבים את המעגל:

  • V1 - זה מייצג את האספקה משקע החשמל 240V 50Hz
  • T1 - זהו שנאי 3VA קטן ששכבתי עליו. חשוב שלשנאי יהיה ברז מרכזי על המשני שיחובר ל- 0V כלומר לקרקע
  • D1 עד D4 - זהו מיישר גשר מלא באמצעות דיודות 1N4007
  • C1 & C2 - קבלים אלקטרוליטיים 35V 2200uF (חייב להיות 35V מכיוון שהפוטנציאל בין חיובי לשלילי יגיע ל 30V)
  • U2 - LM7812, הוא ווסת מתח חיובי של 12V
  • U3 - LM7912, הוא ווסת מתח שלילי 12V (הקפידו לשים לב להבדלי הפינים בין 78xx ו- 79xx IC!)
  • C3 & C4 - 100nF קבלים החלקה 25V אלקטרוליטי
  • C5 & C6 - קבלים דיסק קרמיים 10uF

הלחמתי את הרכיבים על לוח חשמל והצטרפתי למסלולים האנכיים בחוט נחושת חשוף בליבה אחת. תמונה 3 למעלה מציגה את ספק הכוח של ה- DIY שלי, מצטערת שיש הרבה מגשרים בתמונה!

שלב 4: אנלוגי לממירים דיגיטליים

ממירים אנלוגיים לממירים דיגיטליים
ממירים אנלוגיים לממירים דיגיטליים
ממירים אנלוגיים לממירים דיגיטליים
ממירים אנלוגיים לממירים דיגיטליים

ל- Arduino Uno יש כבר ADC מובנה של 10 סיביות, אולם יש רק 6 כניסות אנלוגיות. לכן בחרתי להשתמש בשתי התפרצויות ADC עם ADS1115 16 סיביות. זה מאפשר 2^15 = 32767 סיביות לייצג רמות מתח מ- 0-4.096V (4.096V הוא מתח ההפעלה של הפריצה), המשמעות היא שכל ביט מייצג 0.000125V! כמו כן, מכיוון שהוא משתמש באוטובוס I2C המשמעות היא שניתן לטפל בעד 4 ADC, המאפשר מעקב של עד 16 ערוצים במידת הצורך.

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

שלב 5: מיקרו -בקר

מיקרו -בקר
מיקרו -בקר

כפי שצוין לעיל הבקר שבחרתי היה Arduino Uno, זו הייתה בחירה טובה מכיוון שיש לה הרבה על הסיפון ומובנית בפונקציונליות שאחרת הייתה צריכה להיבנות בנפרד. בנוסף הוא תואם להרבה 'מגנים' שנבנו במיוחד. בהזדמנות זו נדרשתי לשעון בזמן אמת כדי לחותם את כל התוצאות ולכותב כרטיסי SD כדי להקליט את התוצאות לקובץ.csv או.txt. למרבה המזל, למגן רישום הנתונים של Arduino יש שניהם במגן הדוחף התאמה ללוח הארדואינו המקורי ללא הלחמה נוספת. המגן תואם את ספריות כרטיסי ה- RTClib ו- SD כך שאין צורך בקוד מומחה כלשהו.

שלב 6: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

השתמשתי ב- 5 מ מ PVC צפיפות בינונית/נמוכה (המכונה לפעמים קצף) כדי להבריג את רוב הרכיבים שלי ולחתוך אותו לגודל נוח בעזרת סכין מלאכה. כל הרכיבים נבנו באופן מודולרי לאב -הטיפוס מכיוון שהוא מאפשר הסרה של חלקים בודדים אם דברים משתבשים, אולם הוא לא יעיל או מסודר כמו PCB חרוט (עבודה נוספת) המשמעות היא גם הרבה חוטי מגשר בין הרכיבים.

שלב 7: העלאת קוד

העלה את הקוד ל- Arduino, או קבל את הקוד ממאגר Github שלי

github.com/smooth-jamie/datalogger.git

שלב 8: כיול

כִּיוּל
כִּיוּל
כִּיוּל
כִּיוּל
כִּיוּל
כִּיוּל

תיאורטית הזרם הנמדד יהיה תוצאה של מספר דברים יחד:

אמפר נמדד = (((a *0.45)/150)/(1.1/5000))/1000 כאשר 'a' הוא מתח האות מהמגבר

0.45 הוא ערך ה- RMS של ה- Vout של מעגל המגבר, 150 הוא רווח ה- amp-amp (Rf / Rin = 150k / 1k), 1.1 הוא פלט מתח בקנה מידה מלא של ה- CT כאשר נמדד אמפר הוא 5A, 5000 הוא פשוט 5A ב mA, ו -1000 היא כמות הסיבובים בשנאי. ניתן לפשט זאת כך:

אמפר נמדד = (b * 9.216) / 5406555 כאשר b הוא הערך המדווח ל- ADC

נוסחה זו נבדקה באמצעות ה- ADC של 10 סיביות Arduino וההבדל בין ערכי מולטימטר לערכים שנוצרו על ידי Arduino נצפה ב -11% שזו סטייה בלתי מקובלת. השיטה המועדפת עלי לכיול היא רישום ערך ADC לעומת זרם על מולטימטר בגיליון אלקטרוני וזימון פולינום מסדר שלישי. מכאן ניתן להשתמש בנוסחה המעוקבת כדי לתת תוצאות טובות יותר בחישוב הזרם הנמדד:

(ax^3) + (bx^2) + (cx^1) + d

המקדמים a, b, c ו- d מחושבים ב- Excel מתוך טבלת נתונים פשוטה, x הוא ערך ה- ADC שלך.

כדי לקבל את הנתונים השתמשתי בנגד משתנה 1K קרמיקה (ראוסטאט) ובשנאי 12V כדי להוריד את מתח החשמל מ 240V, מה שיתן לי ליצור מקור זרם משתנה מ -13mA ל- 100mA. ככל שנאספו נקודות נתונים יותר טוב, עם זאת הייתי מציע לאסוף 10 נקודות נתונים כדי להשיג מגמה מדויקת. תבנית האקסל המצורפת תחשב עבורך את המקדמים, אז רק צריך להזין אותם בקוד הארדואינו

בשורה 69 של הקוד תראה היכן להזין את המקדמים

float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521))));

שהיא זהה לנוסחה בגיליון 1 של קובץ האקסל:

y = 7E-13x3-4E-08x2 + 0.004x + 0.663

כאשר x = adc0 של כל הערוץ שאתה מכייל

שלב 9: סיים

סיים
סיים
סיים
סיים
סיים
סיים
סיים
סיים

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

עבודה נוספת

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

עדכון 2016-12-18

הוספתי כעת LCD בגודל 16x2 באמצעות "תרמיל" I2C כדי לפקח על ארבעת הערוצים הראשונים, אוסיף עוד אחד כדי לעקוב אחר ארבעת האחרונים כשיגיע דרך הפוסט.

נקודות זכות

פרויקט זה התאפשר על ידי כל מחברי הספריות ששימשו בשרטוט Arduino שלי כולל ספריית DS3231, ספריית Adafruit ADS1015 וספריית Arduino SD

מוּמלָץ: