מטען סולארי Arduino - PV MPPT: 6 שלבים (עם תמונות)
מטען סולארי Arduino - PV MPPT: 6 שלבים (עם תמונות)
Anonim
Image
Image
ממיר באק
ממיר באק

קיימים בשוק בקרי טעינה רבים. בקרי טעינה זולים רגילים אינם יעילים לשימוש בהספק מרבי מפאנלים סולאריים. אלה היעילים, הם יקרים מאוד.

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

אם אתה אוהב את המאמץ שלי מאשר אנא הצביע על ההוראות האלה.

שלב 1: מהו MPPT ומדוע אנו זקוקים לו?

הפאנלים הסולאריים שלנו מטומטמים ולא חכמים להבין את תנאי הסוללה. נניח שיש לנו פאנל סולארי של 12 וולט/100 וואט והוא ייתן תפוקה בין 18 V-21 V תלוי בייצור, אך הסוללות מדורגות למתח נומינלי של 12 וולט, בתנאי הטעינה המלאים הן יהיו 13.6 וולט ויהיו 11.0 וולט במלואן פְּרִיקָה. עכשיו נניח שהסוללות שלנו בטעינה של 13V, הלוחות נותנים 18V, 5.5A ב 100% יעילות עבודה (לא ניתן לקבל 100% אבל אפשר להניח). לבקרים רגילים יש ווסת מתח PWM המוריד את המתח ל -13.6, אך אין עליה בזרם. הוא מספק הגנה רק מפני טעינת יתר וזרם דליפה ללוחות במהלך הלילות.

אז יש לנו 13.6v*5.5A = 74.8 וואט.

אנו משחררים כ- 25 וואט.

כדי להיתקל בבעיה זו השתמשתי בממיר smps buck. לממירים מסוג זה יש יעילות של מעל 90%.

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

כדי לפתור בעיה זו משתמשים באלגוריתמים של MPPT. MPPT (Maximum Power Point Tracking) כפי שהשם מרמז על אלגוריתם זה עוקב אחר הכוח המרבי הזמין מלוחות ומשנה את פרמטרי הפלט כדי לקיים את המצב.

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

שלב 2: כיצד פועל MPPT?

אני לא הולך לדון בזה בפירוט. אז אם אתה רוצה להבין את זה עיין בקישור הזה -מהו MPPT?

בפרויקט זה עקבתי אחר מאפייני קלט V-I וגם פלט V-I. על ידי הכפלת קלט V-I ופלט V-I נוכל לקבל את הכוח בוואט.

נניח שיש לנו 17 V, 5 A כלומר 17x5 = 85 וואט בכל עת של היום. במקביל התפוקה שלנו היא 13 V, 6A כלומר 13x6 = 78 וואט.

כעת MPPT יגדיל או יקטין את מתח המוצא על ידי השוואה לכוח הכניסה/פלט הקודם.

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

שלב 3: יישום MPPT ב- Arduino

זהו המוח של המטען הזה. להלן קוד Arduino להסדרת הפלט והטמעת MPPT בבלוק קוד אחד.

// Iout = זרם פלט

// Vout = מתח יציאה

// Vin = מתח כניסה

// Pin = כוח הכניסה, Pin_previous = הספק הכניסה האחרון

// Vout_last = מתח המוצא האחרון, Vout_sense = מתח המוצא הנוכחי

void regulate (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) || (PinVout_last)))

{

אם (duty_cycle> 0)

{

duty_cycle -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

אחרת אם ((VoutVout_last) || (פאי

{

אם (duty_cycle <240)

{duty_cycle+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = הצמד;

Vin_last = Vin;

Vout_last = Vout;

}

שלב 4: ממיר באק

השתמשתי ב- mosfet ערוץ N כדי ליצור ממיר דולר. בדרך כלל אנשים בוחרים mosfet ערוצי P עבור מיתוג צד גבוה ואם הם בוחרים mosfet ערוצי N לאותה מטרה מאשר יידרש מנהל התקן IC או כריתת קשירת אתחול.

אבל שיניתי את ה- Ckt ממיר דולר כדי שיהיה לו מיתוג צד נמוך באמצעות Mosfet של ערוץ N. אני משתמש בערוץ N מכיוון שהם בעלות נמוכה, דירוגי הספק גבוהים ופיזור הספק נמוך יותר. פרויקט זה משתמש ב- IRFz44n ברמת ההיגיון mosfet, כך שניתן להניע אותו ישירות באמצעות סיכת PWM של arduino.

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

כפי שאתה יכול לראות ב- ckt לעיל, הנחתי את מתח mosfet -ve, ובכך השתמשתי +12v מהפאנל כקרקע. תצורה זו מאפשרת לי להשתמש בממיר NF-channel for buck עם מינימום רכיבים.

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

חיברתי את Arduino במסופי קלט סולאריים והשתמשתי בקו -ve שלו כקרקע עבור arduino. אנו יכולים בקלות למדוד את קלט הכניסה בנקודה זו באמצעות מחלק מתח ckt לפי הדרישה שלנו. אך איננו יכולים למדוד את מתח המוצא כל כך בקלות מכיוון שאין לנו בסיס משותף.

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

Vout_sense_temp = Vout_sense_temp*0.92+float (raw_vout)*volt_factor*0.08; // למדוד volatge על פני gnd קלט ופלט gnd.

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // לשנות את ההבדל במתח בין שני יסודות למתח המוצא..

למדידות זרם השתמשתי במודולי חישת זרם ACS-712. הם מופעלים על ידי arduino ומחוברים ל- gnd קלט.

טיימרים פנימיים משתנים כדי להשיג PWM של 62.5 Khz בפין D6. המשמש להנעת המוספט. דיודה חוסמת פלט תידרש לספק דליפה הפוכה והגנה על קוטביות הפוכה באמצעות דיודת שוטקי בדירוג הנוכחי הרצוי למטרה זו. ערך המשרן תלוי בדרישות זרם התדרים והפלט. אתה יכול להשתמש במחשבוני ממיר זמינים מקוונים או להשתמש בעומס 100uH 5A-10A. לעולם אל תחרוג מזרם הפלט המרבי של המשרן ב -80%-90%.

שלב 5: מגע סופי -

Image
Image

תוכל גם להוסיף תכונות נוספות למטען שלך. כמו שלי יש LCD גם להציג את הפרמטרים ו 2 מתגים לקחת קלט מהמשתמש.

אעדכן את הקוד הסופי ואשלים דיאגרמת ckt בקרוב מאוד.

שלב 6: עדכון:- תרשים מעגל בפועל, בום וקוד

תחרות אורות 2017
תחרות אורות 2017

עדכון:-

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