תוכן עניינים:
- שלב 1: דרושים רכיבים
- שלב 2: תרשים סכמטי
- שלב 3: הבנת המעגל
- שלב 4: חישוב תדר ומתח
- שלב 5: קוד ארדואינו
- שלב 6: מסקנה
וִידֵאוֹ: מדידת תדר ומתח של ספק כוח באמצעות Arduino: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
מבוא:
מטרת הפרויקט היא למדוד את תדירות האספקה והמתח, שהם בין 220 ל 240 וולט ל 50 הרץ כאן בהודו. השתמשתי בארדואינו ללכידת אות וחישוב תדר ומתח, תוכל להשתמש בכל מיקרו -בקר או לוח אחר שיש לך. המעגל דורש קומץ רכיבים ומדויק למדי לכל מטרה מעשית.
שלב 1: דרושים רכיבים
- ארדואינו אונו
- IC LM358
- שנאי הורדה (220V עד 12V)
-
קבלים:
- 0.1uF
- 2 x 1uF
-
נגדים:
- 3 x 1 קאוהם
- 2 x 100 קאוהם
- 1.5 קאוהם
- 3.3 קאוהם
- 6.8 קאוהם
- 3 x 1N4148 דיודה
- לוח לחם וחוט מגשר (אופציונלי)
שלב 2: תרשים סכמטי
במעגל הנ ל, השנאי הראשי מחובר לרשת החשמל והראשוני מחובר למעגל המדידה שלנו
שלב 3: הבנת המעגל
על פי הפונקציונליות, ניתן לחלק מעגל זה לארבעה חלקים:
ת: מעגל גלאי מעבר האפס
מעגל זה יוצר דופק מרובע של 5V בכל פעם שגלע הסינוס עובר מחיובי לשלילי. הנגד R1 בשילוב D1 ו- D2 מגביל את תנופת מתח הכניסה בצומת הדיודה ל -0.6V עד +5.6V (בהנחה שמתח קדימה של דיודה יהיה 0.6V). יתר על כן, אתה יכול להגדיל את טווח מתח הכניסה של המעגל על ידי הגדלת הערך של R1.
הנגד R2 ו- R3 יוצרים מחלק מתח כדי להגביל את תנופת המתח השלילי ל -0.24 וולט מכיוון שהמתח במצב משותף קלט של LM358 מוגבל ל -0.3 וולט.
הנגד R4, R5, הקבל C1 וה- amp-amp (המשמש כאן כמשווה) יוצרים את מעגל השמיט טריגר שבו הנגד R4 ו- R5 מגדירים את ההיסטריה בכניסה +49.5mV מעל פני הקרקע. הפלט של טריגר השמיט מוזן ל- PIN2 של Arduino לעיבוד נוסף.
ב: בידוד ומתח לרדת
כפי שהשם מרמז חלק זה מבודד ומוריד את המתח לכ- 12Vrms. המתח המורד מוזר עוד יותר למעגל המכשור.
C: מעגל גלאי שיא
מעגל זה קובע את מתח השיא המרבי של אות הכניסה. מחלק הנגד R6 ו- R7 מפחית את מתח הכניסה בגורם 0.23 (12Vrms מופחת ל -2.76Vrms). הדיודה D3 מנהלת רק את מחזור המחזור החיובי של האות. המתח על פני C2 עולה עד ערך השיא של האות המתוקן, המוזן לסיכה אנלוגית Arduino A0 כדי לחשב עוד את המתח.
בנוסף, תוכל להחליף מעגל זה במעגל גלאי שיא מדויק כמו אלה שהוזכרו כאן. אך למטרות ההדגמה שלי, המעגל הנ ל יספיק.
D: Arduino
בחלק זה, הארדואינו לוכד את הפולסים המרובעים שנוצרים על ידי מעגל השמיט טריגר וקורא את המתח האנלוגי ממעגל גלאי השיא. הנתונים מעובדים עוד יותר כדי לקבוע את פרק הזמן (ומכאן התדירות) של הדופק המרובע (השווה לאדם זמן אספקת AC) והמתח של האספקה.
שלב 4: חישוב תדר ומתח
חישוב התדירות:
בעזרת Arduino, אנו יכולים למדוד את פרק הזמן T של האות. פולסי הגל המרובע מגלאי מעבר האפס מוזנים לפין 2, משם נוכל למדוד את פרק הזמן של כל דופק. אנו יכולים להשתמש בטיימר הפנימי של Arduino (במיוחד טיימר 1) כדי לחשב את פרק הזמן בין שני קצוות עולים של הדופק המרובע בעזרת הפרעות. הטיימר עולה ב- 1 לכל מחזור שעון (ללא מחליק מראש = 1) והערך מאוחסן ברשם TCNT1. מכאן שהשעון של 16 מגה -הרץ מגדיל את המונה ב -16 בכל מיקרו -שנייה. באופן דומה עבור prescaler = 8 הטיימר עולה עם 2 בכל מיקרו שניות. מכאן פרק הזמן בין שני קצה עולה
T = (ערך TCNT1) / הזמן הנדרש לכל ספירה
היכן, הזמן שנלקח לכל ספירה = מכשיר קנה מראש / (מהירות שעון Arduino (16MHz)
לפיכך, תדר f = 1 / T = (מהירות שעון Arduino (16MHz) / (ערך מכשיר טילטון * TCNT!)
מכאן שמהירות הטיימר (הרץ) ניתנת על ידי = (מהירות השעון של ארדואינו (16 מגה -הרץ)) / מכשיר טעינה מראש
ותדירות האות ניתנת על ידי = (מהירות שעון Arduino
בהתאם לכך, אנו יכולים לחשב את התדר f מהיחס f = 1/T.
חישוב המתח:
ל- ADC המשולב של Arduino יש רזולוציה של 10 סיביות (ערכים אפשריים = 2^10 = 1024), המחזירים ערכים בטווח של 0-1023. כדי לחשב את המתח האנלוגי המתאים V עלינו להשתמש ביחס הבא
V = (קריאת ADC) * 5/1023
כדי לחשב את מתח האספקה Vs (rms) עלינו לקחת בחשבון את יחס השנאי, מחלק הנגד R6R7 ומעגל גלאי השיא. אנו יכולים פשוט להרכיב את הגורמים/יחס השונים כ:
יחס שנאי = 12/230 = 0.052
מחלק הנגד = R7/(R6 + R7) = 0.23
מעגל גלאי בשיא = 1.414
Vs (rms) = V/(1.414*0.052*0.23) = (ADC קריאה)*0.289
יש לציין כי ערך זה רחוק מהערך בפועל, בעיקר בשל טעות ביחס השנאי בפועל וירידת המתח קדימה של הדיודה. אחת הדרכים לעקוף זאת היא לקבוע את הגורם לאחר הרכבת המעגל. כלומר על ידי מדידת מתח האספקה והמתח על פני הקבל C2 בנפרד עם מולטימטר, ואז חישוב Vs (rms) כדלקמן:
Vs (rms) = ((מתח אספקה *5)/(מתח על פני C2 *1023)) *(קריאת ADC)
במקרה שלי, Vs (rms) = 0.33*(קריאת ADC)
שלב 5: קוד ארדואינו
#הגדר volt_in A0 // סיכת קריאה של מתח אנלוגי
uint16_t t_period נדיף; uint16_t ADC_value = 0; צף וולט, freq; void isr () {t_period = TCNT1; // אחסן ערך TCNT1 ב- t_period TCNT1 = 0; // איפוס טיימר 1 ADC_value = analogRead (volt_in); // קרא מתח אנלוגי} float get_freq () {uint16_t טיימר = t_period; אם (טיימר == 0) החזר 0; // כדי להימנע מחידה באפס אחרת החזר 16000000.0/((8UL*טיימר); // תדירות ניתנת על ידי f = clk_freq/(prescaler*timeperiod)} הגדרת חלל () {TCCR1A = 0; TCCR1B = bit (CS11); // הגדר את מכשיר ההנעה מראש ל- 8 TCNT1 = 0; // אפס ערך TIMER1 TIMSK1 = bit (TOIE1); // הפעל את Timer1 הצפת EIFR | = bit (INTF0); // נקה את הדגל INT0 interrupt Serial.begin (9600); } לולאת חלל () {attachInterrupt (0, isr, RISING); // לאפשר עיכוב חיצוני (INT0) (1000); detachInterrupt (0); freq = get_freq (); volt = ADC_value*0.33; Buf מחרוזת; buf += מחרוזת (תדירות, 3); buf += F ("Hz / t"); buf += מחרוזת (וולט); buf += F ("וולט"); Serial.println (buf); }
שלב 6: מסקנה
אתה יכול להרכיב את המעגל בלוח לחם ולשנות את הקוד ולהוסיף כרטיס SD לאחסון הנתונים, אותם ניתן לנתח מאוחר יותר. דוגמה אחת כזו היא שאתה יכול לנתח את המתח והתדר בשעות השיא.
המעגל שהרכבתי בלוח הלחם השתמש ב- LM324 (quad opamp) במקום ב- LM358 (opamp כפול) מכיוון שלא היה לי את ה- IC באותו הרגע והנעילה בפריסה ארצית עקב מגיפת COVID-19 הקשתה עלי להשיג IC חדש. עם זאת, זה לא ישפיע על פעולת המעגל.
אל תהסס להגיב למטה על כל הצעה ושאילתה.
מוּמלָץ:
DIY AC/ DC Hack "ספק" RD6006 ספק כוח ומארז S06A W/ S-400-60 PSU לבנה ושדרוג קלט DC: 9 שלבים
DIY AC/ DC Hack "ספק" RD6006 אספקת חשמל ומארז S06A W/ S-400-60 PSU בניין וכניסת DC משודרגת: פרויקט זה הוא יותר בניית RD6006 בסיסית באמצעות מארז S06A ואספקת חשמל S-400-60 . אבל אני באמת רוצה לבחור בין חיבור סוללה לניידות או להפסקת חשמל. אז גם פרצתי או שיניתי את המארז כדי לקבל DC in או סוללה
ספק כוח ATX חשמלי לספסל כוח: 7 שלבים (עם תמונות)
ספק כוח ATX סמוי לאספקת ספסל: יש צורך באספקת כוח ספסל בעבודה עם אלקטרוניקה, אך ספק כוח מעבדה זמין באופן מסחרי יכול להיות יקר מאוד עבור כל מתחיל ורוצה לחקור וללמוד אלקטרוניקה. אבל יש חלופה זולה ואמינה. על ידי להעביר
מודול כוח IoT: הוספת תכונת מדידת כוח IoT לבקר הטעינה הסולרית שלי: 19 שלבים (עם תמונות)
מודול כוח IoT: הוספת תכונת מדידת כוח IoT לבקר הטעינה הסולרית שלי: שלום לכולם, אני מקווה שכולכם נהדרים! במדריך זה אני הולך להראות לך כיצד הכנתי מודול מדידת כוח IoT המחשב את כמות הכוח שנוצר על ידי הפאנלים הסולאריים שלי, המנוצל על ידי בקר הטעינה הסולרית שלי
כיצד להפוך ספק כוח מתכוונן לספסל מתוך ספק כוח ישן למחשב: 6 שלבים (עם תמונות)
כיצד להכין ספק כוח מתכוונן מספקית מחשב ישנה: יש לי ספק כוח ישן של מחשב PC, אז החלטתי להכין מתוכו ספק כוח מתכוונן. בדוק מעגל חשמלי או פרויקטים שונים. אז תמיד נהדר שיש מתכוונן
המרת ספק כוח ATX לתוך ספק כוח רגיל !: 9 שלבים (עם תמונות)
המרת ספק כוח ATX לספק כוח רגיל של DC !: קשה למצוא אספקת חשמל DC ויקר. עם תכונות שפחות או פחות מפגיעות את מה שאתה צריך. במדריך זה אראה לך כיצד להמיר ספק כוח של מחשב לאספקת חשמל DC רגילה עם 12, 5 ו -3.3 וולט