- מהו SPWM (אפנון רוחב דופק סינוסי)?
- איך עובד מהפך ה- SPWM
- רכיבים נדרשים לבניית מהפך SPWM
- בניית מעגלי מהפך SPWM
- תוכנית Arduino עבור מהפך SPWM
- בדיקת מעגל המהפך TL494 PWM
לעתים קרובות יש צורך במעגלי מהפך במקום שאי אפשר להשיג אספקת AC מהרשת. מעגל מהפך משמש להמרת כוח זרם זרם זרם זרם זרם חילופין וניתן לחלק אותו לשני סוגים שהם ממירי גל סינוס טהור או ממירים של גל מרובע שונה. ממירי גל סינוס טהורים אלה הם יקרים מאוד, כאשר ממירי הגל המרובעים ששונו זולים. למידע נוסף על סוגים שונים של מהפך כאן.
במאמר קודם, הראיתי לך כיצד לא ליצור מהפך גלי מרובע שונה על ידי טיפול בבעיות הקשורות אליו. אז במאמר זה, אני אעשה מהפך גלי סינוס טהור פשוט באמצעות ארדואינו, ואסביר את עקרון העבודה של המעגל.
אם אתה מבצע מעגל זה, שים לב כי במעגל זה אין משוב, ללא הגנת זרם יתר, ללא הגנה מפני קצר חשמלי וללא הגנה על טמפרטורה. מכאן שמעגל זה נבנה ומודגם למטרות חינוכיות בלבד, וממש לא מומלץ לבנות ולהשתמש במעגל מסוג זה למכשירים מסחריים. עם זאת תוכל להוסיף אותם למעגל שלך במידת הצורך, מעגלי ההגנה הנפוצים כמו
הגנת מתח יתר, הגנת זרם יתר, הגנת קוטביות הפוכה, הגנת מעגל קצר, בקר החלפה חמה וכו '.
התראה: אם אתה מייצר מעגל מסוג זה, אנא הקפד בזהירות לגבי קפיצי מתח ומתח גבוהים הנוצרים על ידי אות המיתוג לכניסה.
מהו SPWM (אפנון רוחב דופק סינוסי)?
כפי שהשם מרמז, SPWM מייצג S inusoidal P ulse W idth M odulation. כפי שאתה אולי כבר יודע, אות PWM הוא אות שבו אנו יכולים לשנות את תדירות הדופק, כמו גם את זמן הפעולה ואת זמן ההפסקה, המכונה גם מחזור החובה. אם אתה רוצה ללמוד עוד על PWM, אתה יכול לקרוא את זה כאן. לכן, על ידי שינוי מחזור החובה, אנו משנים את המתח הממוצע של הדופק. התמונה למטה מראה ש-
אם ניקח בחשבון אות PWM שמתחלף בין 0 - 5 וולט שמחזור העבודה שלו הוא 100%, נקבל מתח יציאה ממוצע של 5 וולט, שוב אם ניקח בחשבון את אותו האות עם מחזור חובה של 50%, נקבל לקבל את מתח המוצא של 2.5 וולט, ולמחזור החובה של 25%, זה חצי מזה. זה מסכם את העיקרון הבסיסי של אות ה- PWM, ואנחנו יכולים לעבור להבנת העיקרון הבסיסי של אות ה- SPWM.
מתח סינוס הוא בעיקר מתח אנלוגיה אשר המשנה שלה בעוצמה לאורך זמן, ואנחנו יכולים לשכפל התנהגות זו של גל הסינוס על ידי כל זמן משתנה מחזור העבודה של גל PWM, זה שמתחת מופעים בתמונה.
אם תסתכל על הסכימה למטה, הוא יראה שיש קבל מחובר ביציאת השנאי. קבלו זה אחראי מחליק את אות AC מן תדר הספק.
אות הכניסה המשומש יטען ויפטר את הקבל בהתאם לאות הכניסה והעומס. מכיוון שהשתמשנו באות SPWM בתדירות גבוהה מאוד, יהיה לו מחזור חובה קטן מאוד שהוא כמו 1%, מחזור חובה זה של 1% יטען מעט את הקבל, מחזור החובה הבא הוא 5%, זה יטען שוב הקבל קצת יותר, בעקבות הדופק יהיה מחזור עבודה של 10% והקבל יטען קצת יותר, אנו נפעיל את האות עד שנגיע למחזור עבודה של 100% ומשם, נחזור למטה ל -1%. זה ייצור עקומה חלקה מאוד כמו גל סינוס בפלט. לכן, על ידי מתן ערכים מתאימים של מחזור החובה בקלט, יהיה לנו גל סינוסי מאוד בפלט.
איך עובד מהפך ה- SPWM
המופעים בתמונה למעלה הראשי סעיף הנהיגה של מהפך SPWM, וכפי שניתן לראות, השתמשנו בשני טרנזיסטורי MOSFET N-ערוץ ב תצורה חצי גשר לנהוג השנאי של מעגל זה, כדי להפחית רעש מיתוג רצויים ולהגן על MOSFET, השתמשנו בדיודות 1N5819 במקביל ל- MOSFET. כדי להפחית את הדוקרנים המזיקים שנוצרים בקטע השער, השתמשנו בנגדי 4.7 אוהם במקביל לדיודות 1N4148. לבסוף, טרנזיסטורים 140 BD139 ו BD מוגדרים א-למשוך לדחוף תצורהכדי להניע את השער של ה- MOSFET, מכיוון ש- MOSFET זה בעל קיבול שער גבוה מאוד ודורש מינימום 10V בבסיס כדי להפעיל אותו כראוי. למידע נוסף על העבודה של מגברי Push-Pull כאן.
כדי להבין טוב יותר את עקרון העבודה של המעגל, צמצמנו אותו לנקודה שבה החלק הזה של ה- MOSFET פועל. כאשר MOSFET הוא על הזרם, זורם ראשון באמצעות השנאי ולאחר מכן מקבל מקורקע ידי MOSFET, ולכן שטף מגנטי יהיה גם מושרה בכיוון שבו שהזרם זורם, ואת הליבה של השנאי תעבור את השטף המגנטי בסיבוב המשני, ונקבל את מחצית המחזור החיובי של האות הסינוסי בפינה.
במחזור הבא החלק התחתון של המעגל נמצא בחלקו העליון של המעגל כבוי ולכן הסרתי את החלק העליון, כעת הזרם זורם בכיוון ההפוך ומייצר שטף מגנטי בכיוון זה ובכך הופך כיוון השטף המגנטי בליבה. למידע נוסף על העבודה של MOSFET כאן.
כעת, כולנו יודעים ששנאי עובד על ידי שינויים בשטף מגנטי. לכן, הפעלת וכיבוי של שני ה- MOSFET, אחד הפוך לאחרים ועשייה זו 50 פעמים בשנייה, תיצור שטף מגנטי נע ומתנדנד בתוך ליבת השנאי והשטף המגנטי המשתנה יגרום למתח בסליל המשני כ אנו יודעים לפי חוק הפאראדיי. כך עובד המהפך הבסיסי.
מעגל המהפך השלם של SPWM המשמש בפרויקט זה מופיע להלן.
רכיבים נדרשים לבניית מהפך SPWM
לא |
חלקים |
סוּג |
כַּמוּת |
1 |
Atmega328P |
IC |
1 |
2 |
IRFZ44N |
מוספט |
2 |
3 |
BD139 |
טרָנזִיסטוֹר |
2 |
4 |
BD140 |
טרָנזִיסטוֹר |
2 |
5 |
22pF |
קַבָּל |
2 |
6 |
10K, 1% |
נַגָד |
1 |
7 |
16 מגה-הרץ |
גָבִישׁ |
1 |
8 |
0.1uF |
קַבָּל |
3 |
9 |
4.7R |
נַגָד |
2 |
10 |
1N4148 |
דיודה |
2 |
11 |
LM7805 |
ווסת מתח |
1 |
12 |
200uF, 16V |
קַבָּל |
1 |
13 |
47uF, 16V |
קַבָּל |
1 |
14 |
2.2uF, 400V |
קַבָּל |
1 |
בניית מעגלי מהפך SPWM
לצורך הדגמה זו, המעגל בנוי על Veroboard, בעזרת הסכימה, ביציאת השנאי, כמות עצומה של זרם תזרום דרך החיבור, כך שקופצי החיבור צריכים להיות עבים ככל האפשר.
תוכנית Arduino עבור מהפך SPWM
לפני שנתחיל להבין את הקוד, בואו נבהיר את היסודות. מעקרון העבודה שלעיל למדת כיצד יראה אות ה- PWM ביציאה, כעת נותרה השאלה כיצד אנו יכולים ליצור גל משתנה כל כך בסיכות הפלט של הארדואינו.
כדי ליצור את אות ה- PWM המשתנה, נשתמש בטיימר 16 סיביות 1 עם הגדרת prescaler של 1, מה שייתן לנו 1600/16000000 = 0.1ms זמן לכל ספירה אם ניקח בחשבון חצי מחזור יחיד של גל סינוס., שמתאים בדיוק פי 100 בתוך מחזור של הגל. במילים פשוטות, נוכל לדגום את גל הסינוס שלנו פי 200.
לאחר מכן עלינו לחלק את גל הסינוס שלנו ל 200 חתיכות ולחשב את ערכיהם בקורלציה של המשרעת. לאחר מכן עלינו להמיר ערכים אלה לערכי מונה טיימר על ידי הכפלתו עם מגבלת המונה. לבסוף, עלינו להכניס את הערכים הללו לטבלת בדיקה כדי להזין אותו לדלפק ונקבל את גל הסינוס שלנו.
כדי להפוך את הדברים לפשוטים יותר, אני משתמש בקוד SPWM כתוב מאוד מ- GitHub שנעשה על ידי קורט האטן.
הקוד הוא פשוט מאוד, אנו מתחילים את התוכנית שלנו על ידי הוספת קבצי הכותרת הנדרשים
# כלול # כלול
לאחר מכן, יש לנו שתי טבלאות בדיקה מהן אנו מקבלים את ערכי מונה הטיימר.
int lookUp1 = {50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1058, 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1587, 1593, 1597, 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1233, 1200, 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 446, 398, 349, 300, 250, 201, 151, 100, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0}; int lookUp2 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1058, 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1587, 1593, 1597, 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1233, 1200, 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 446, 398, 349, 300, 250,201, 151, 100, 50, 0};
לאחר מכן, בסעיף ההתקנה , אנו מאותחלים את רישומי בקרת מונה הטיימר כדי שיהיו ברורים בכל אחד מהם. לקבלת מידע נוסף, עליך לעבור על גליון הנתונים של ה- atmega328 IC.
TCCR1A = 0b10100010; / * 10 ברורים בהתאמה, מוגדרים כ- BOTTOM עבור compA. 10 ברורים בהתאמה, מוגדרים כ- BOTTOM עבור compB. 00 10 WGM1 1: 0 לצורת גל 15. * / TCCR1B = 0b00011001; / * 000 11 WGM1 3: 2 לצורת גל 15. 001 אין סולם מראש על השיש. * / TIMSK1 = 0b00000001; / * 0000000 הפעלת הפסקת דגל 1 TOV1. * /
לאחר מכן אנו מאתחלים את רישום לכידת הקלט עם ערך מוגדר מראש של 16000 מכיוון שזה יעזור לנו ליצור 200 דוגמאות בדיוק.
ICR1 = 1600; // תקופה לקריסטל 16 מגה-הרץ, לתדר מיתוג של 100 קילו-הרץ ל -200 חלוקות משנה לכל מחזור גלי סינוס 50 הרץ.
לאחר מכן אנו מאפשרים הפרעות גלובליות על ידי קריאה לפונקציה, sei ();
לבסוף, הגדרנו את סיכה 9 ו -10 של Arduino כפלט
DDRB = 0b00000110; // הגדר את PB1 ו- PB2 כפלטים.
זה מסיים את סוף פונקציית ההתקנה.
קטע הלולאה של הקוד נשאר ריק מכיוון שהוא תוכנית מונעת הפסקת מונה טיימר.
לולאה בטלה () {; /*לעשות כלום…. לָנֶצַח!*/}
לאחר מכן, הגדרנו את וקטור הצפת הטיימר 1, פונקציית ההפרעה הזו מקבלת שיחה ברגע שהטיימר 1 עולה על גדותיו ויוצר הפרעה.
ISR (TIMER1_OVF_vect) {
לאחר מכן, אנו מכריזים על כמה משתנים מקומיים כמשתנים סטטיים והתחלנו להזין את הערכים ללכידה ולהשוות נגד.
סטטי int num; טריג char char; // שנה מחזור חובה בכל תקופה. OCR1A = lookUp1; OCR1B = lookUp2;
לבסוף, אנו מגדילים מראש את הדלפק כדי להזין את הערכים הבאים ללכידה ולהשוות נגדים, מה שמסמן את סוף הקוד הזה.
אם (++ num> = 200) {// מספר לפני תוספת אז בדוק שהוא מתחת ל 200. num = 0; // אפס מספר. trig = trig ^ 0b00000001; digitalWrite (13, trig); }
בדיקת מעגל המהפך TL494 PWM
על מנת לבדוק את המעגל נעשה שימוש בהתקנה הבאה.
- סוללת עופרת חומצה 12V.
- שנאי שיש בו ברז 6-0-6 וברז 12-0-12
- נורת ליבון 100W כעומס
- מודד Meco 108B + TRMS
- מודד Meco 450B + TRMS
אות פלט מארדואינו:
לאחר שהעליתי את הקוד. מדדתי את אות ה- SPWM המוצא משני הפינים של הארדואינו שנראה כמו התמונה למטה,
אם אנו מתקרבים מעט אנו יכולים לראות את מחזור החובה המשתנה ללא הרף של גל ה- PWM.
לאחר מכן, התמונה למטה מציגה את אות הפלט מהשנאי.
מעגל מהפך SPWM במצב אידיאלי:
כפי שניתן לראות מהתמונה לעיל, מעגל זה שואב סביב 13W תוך כדי אידיאלי
מתח יציאה ללא עומס:
מתח היציאה של מעגל המהפך מוצג לעיל, זהו המתח שיוצא ביציאה ללא שום עומס.
צריכת חשמל קלט:
התמונה שלעיל מציגה את עוצמת הקלט אשר צורכת כאשר מתחבר עומס 40W.
צריכת חשמל תפוקה:
התמונה לעיל מציגה את עוצמת המוצא הנצרכת על ידי מעגל זה, (העומס הוא נורת ליבון 40W)
בכך אנו מסכמים את חלק הבדיקה במעגל. אתה יכול לבדוק את הסרטון למטה להפגנה. אני מקווה שאהבת את המאמר הזה ולמדת קצת על SPWM וטכניקות היישום שלו. המשיכו לקרוא, המשיכו ללמוד, המשיכו לבנות ואני אראה אתכם בפרויקט הבא.