- דרכי פעולה במנוע צעד
- יצירת ממשק משתמש גרפי של MATLAB לשליטה במנוע צעד
- קוד MATLAB לשליטה על מנוע צעד עם Arduino
- חומר נדרש
- תרשים מעגל
- מנוע צעד שליטה עם MATLAB
מנועי צעד הם מנוע DC ללא מברשות המסתובב בשלבים נפרדים, והם הבחירה הטובה ביותר ליישומי בקרת תנועה מדויקים רבים. כמו כן, מנועי צעד טובים למיקום, בקרת מהירות ויישומים הדורשים מומנט גבוה במהירות נמוכה.
בהדרכות קודמות של MATLAB, הסברנו כי כיצד להשתמש ב- MATLAB לשליטה במנוע DC, מנוע סרוו ומכשירי חשמל ביתיים. היום נלמד כיצד לשלוט על מנוע צעד באמצעות MATALB וארדואינו. אם אתה לא חדש ב- MATLAB, מומלץ להתחיל עם תוכנית LED מהבהבת פשוטה עם MATLAB.
דרכי פעולה במנוע צעד
לפני שתתחיל לקודד עבור מנוע צעד אתה צריך להבין את המושג עובד או מסתובב של מנוע צעד. מכיוון שהסטטור של מצב הצעד בנוי מזוגות סלילים שונים, כל זוג סלילים יכול להתרגש בשיטות רבות ושונות, דבר המאפשר להניע את המצבים במצבים רבים ושונים. להלן הסיווגים הרחבים
מצב צעד מלא
במצב עירור שלב מלא נוכל להשיג סיבוב מלא של 360 מעלות עם מספר מינימלי של סיבובים (צעדים). אך זה מוביל להפחתת אינרציה וגם הסיבוב לא יהיה חלק. ישנם עוד שני סיווגים בהתרגשות שלבים מלאים, הם דורכים עליית מדרגה שלב שלב ושני שלב שלב.
1. דריכת שלב אחת או דריכת גלים: במצב זה רק מסוף (שלב) אחד של המנוע יופעל בכל זמן נתון. זה מכיל פחות צעדים ולכן יכול להשיג סיבוב מלא של 360 מעלות. מכיוון שמספר הצעדים פחות הזרם הנצרך בשיטה זו הוא גם נמוך מאוד. הטבלה הבאה מציגה את רצף דריכת הגלים עבור מנוע צעד 4 פאזי
שלב | שלב 1 (כחול) | שלב 2 (ורוד) | שלב 3 (צהוב) | שלב 4 (כתום) |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
2. דריכה דו-שלבית: כפי שהשם קובע בשיטה זו שני שלבים יהיו אחד. יש לו מספר שלבים זהה לזו של דריכת הגל, אך מכיוון ששני סלילים מפעילים אנרגיה בכל פעם זה יכול לספק מומנט ומהירות טובים יותר בהשוואה לשיטה הקודמת. אם כי צד אחד למטה הוא ששיטה זו גם צורכת יותר כוח.
שלב |
שלב 1 (כחול) |
שלב 2 (ורוד) |
שלב 3 (צהוב) |
שלב 4 (כתום) |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
מצב חצי צעד
מצב חצי הצעד הוא השילוב של מצבי שלב אחד ושני שלב. שילוב זה יעזור לנו להתגבר על החיסרון הנ"ל של שני המצבים.
כפי שאולי ניחשתם נכון מכיוון שאנחנו משלבים את שתי השיטות נצטרך לבצע 8 שלבים בשיטה זו כדי לקבל סיבוב מלא. רצף המיתוג של מנוע צעד 4 שלבים המוצג להלן
שלב |
שלב 1 (כחול) |
שלב 2 (ורוד) |
שלב 3 (צהוב) |
שלב 4 (כתום) |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
לפיכך, זו בחירתך לתכנת את מנוע הצעד שלך בכל מצב שהוא, אך אני מעדיף דריכה דו-שלבית במצב צעד מלא. מכיוון ששיטה זו מספקת מהירות מהירה יותר מאשר שיטת הפאזה האחת ובהשוואה למצב חצי החלק הקידוד נמוך יותר בגלל פחות צעדים בשיטה דו-פאזית.
למידע נוסף על מנועי צעד ומצביו כאן
יצירת ממשק משתמש גרפי של MATLAB לשליטה במנוע צעד
אז אנחנו צריכים לבנות GUI (ממשק משתמש גרפי) כדי לשלוט על מנוע צעד. להפעלת ה- GUI, הקלד את הפקודה למטה בחלון הפקודה
להנחות
ייפתח חלון קופץ ואז בחר ממשק משתמש חדש ריק כמוצג בתמונה למטה,
בחר כעת שני כפתורי החלפה לסיבוב המנוע הצדי עם כיוון השעון ונגד כיוון השעון, כפי שמוצג להלן,
כדי לשנות את גודל או לשנות את צורת הכפתור, פשוט לחץ עליו ותוכל לגרור את פינות הכפתור. על ידי לחיצה כפולה על לחצן ההחלפה תוכלו לשנות את הצבע, המחרוזת והתג של אותו כפתור מסוים. התאמנו שני לחצנים כפי שמוצג בתמונה למטה.
אתה יכול להתאים אישית את הכפתורים לפי בחירתך. כעת כשאתה שומר את זה, נוצר קוד בחלון העורך של MATLAB. כדי לקודד את Arduino שלך לביצוע כל משימה שקשורה לפרויקט שלך, אתה תמיד צריך לערוך את הקוד שנוצר. אז למטה ערכנו את קוד MATLAB. תוכל ללמוד עוד על חלון פקודה, חלון עורך וכו 'במדריך תחילת העבודה עם MATLAB.
קוד MATLAB לשליטה על מנוע צעד עם Arduino
קוד MATLAB מלא, לשליטה במנוע צעד, ניתן בסוף פרויקט זה. יתר על כן אנו כוללים את קובץ ה- GUI (.fig) ואת קובץ הקוד (.m) כאן להורדה (לחץ לחיצה ימנית על הקישור ואז בחר 'שמור קישור כ…')), באמצעותו תוכל להתאים אישית את הכפתורים בהתאם לדרישתך.. להלן כמה שינויים שעשינו לסיבוב מנוע הצעד עם כיוון השעון ונגד כיוון השעון באמצעות שני כפתורי מתג.
העתק והדבק את הקוד שלהלן בשורה מס '. 74 כדי לוודא שהארדואינו מדבר עם MATLAB בכל פעם שאתה מריץ את קובץ ה- m.
נקה הכל; גלובלי a; a = ארדואינו ();
כשתגלול מטה, תראה שיש שתי פונקציות שנוצרו עבור שני הכפתורים בממשק המשתמש. כעת כתוב את הקוד בשתי הפונקציות בהתאם למשימה שברצונך לבצע בלחיצה.
בשנת בכיוון השעון פונקציה של כפתור, להעתיק ולהדביק את הקוד מתחת לפני סוף הפונקציה כדי לסובב את המנוע בכיוון השעון. לסיבוב רציף של מנוע הצעד בכיוון השעון, אנו משתמשים תוך כדי לולאה על מנת לחזור על שני השלבים המדרגים שלב מלא בכיוון השעון.
בעוד get (hObject, 'Value') גלובלי a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); הפסקה (0.0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); הפסקה (0.0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); הפסקה (0.0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); הפסקה (0.0002); סוֹף
כעת בתפקוד הלחצן נגד כיוון השעון , הדבק את הקוד שלמטה בפונקציה כדי לסובב את המנוע נגד כיוון השעון. לסיבוב רציף של מנוע הצעד בכיוון נגד כיוון השעון, אנו משתמשים תוך כדי לולאה על מנת לחזור על שני הצעדים המדרגתיים בשלב שלב בכיוון נגד כיוון השעון.
בעוד get (hObject, 'Value') גלובלי a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); הפסקה (0.0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); הפסקה (0.0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); הפסקה (0.0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); הפסקה (0.0002); סוֹף
חומר נדרש
- מחשב נייד מותקן של MATLAB (העדפה: גרסאות R2016a ומעלה)
- ארדואינו UNO
- מנוע צעד (28BYJ-48, 5VDC)
- ULN2003 - נהג מנוע צעד
תרשים מעגל
מנוע צעד שליטה עם MATLAB
לאחר התקנת החומרה על פי דיאגרמת המעגל, פשוט לחץ על כפתור ההפעלה כדי להפעיל את הקוד הערוך בקובץ.m
MATLAB עשויה לקחת מספר שניות להגיב, אל תלחץ על כפתורי GUI כלשהם עד ש MATLAB מציג הודעה תפוסה בצד התחתון של הפינה השמאלית, כמוצג להלן,
כאשר הכל מוכן, לחץ על כפתור השעון או נגד כיוון השעון כדי לסובב את המנוע. כאשר אנו משתמשים בכפתור ההחלפה, מנוע הצעד ינוע ברציפות בכיוון השעון עד שנלחץ שוב על הכפתור. באופן דומה, על ידי לחיצה על כפתור ההחלפה נגד כיוון השעון, המנוע מתחיל להסתובב בכיוון השעון עד שנלחץ שוב על הכפתור.