- מנוע צעדים
- סיבוב מנוע צעד עם ARM7-LPC2148
- רכיבים נדרשים
- מנוע צעד (28BYJ-48)
- נהג מנוע צעד ULN2003
- תרשים מעגל
- תכנות ARM7-LPC2148 עבור מנוע צעד
בעולם האוטומציה של ימינו מנוע צעד ומנוע סרוו הם שני מנועים הנפוצים ביותר במערכות משובצות. שניהם משמשים במכונות אוטומציה שונות כמו זרועות רובוטיות, מכונות CNC, מצלמות וכו '. במדריך זה נראה כיצד לממשק מנוע צעד עם ARM7-LPC2148 וכיצד לשלוט על מהירותו. אם אתה לא חדש ב- ARM7 התחל בלמידה על ARM7-LPC2148 וכלי התכנות שלה.
מנוע צעדים
מנוע צעד הוא מנוע DC ללא מברשות, שניתן לסובב אותו בזוויות קטנות, זוויות אלה נקראות צעדים. אנו יכולים לסובב את מנוע הצעד צעד אחר צעד על ידי מתן פעימות דיגיטליות לסיכות שלו. מנועי צעד זולים ובעיצוב מחוספס. ניתן לשלוט על מהירות המנוע על ידי שינוי תדר הפולסים הדיגיטליים.
ישנם שני סוגים של מנועי צעד זמין בהתאם לסוג של הסטטור מתפתל: חד קוטבי ועל דו קוטבית. כאן אנו משתמשים במנוע צעד UNIPOLAR שהוא מנוע הצעד הנפוץ ביותר . כדי לסובב את מנוע הצעד עלינו להמריץ את סלילי מנוע הצעד ברצף. בהתבסס על פעולת הסיבוב הם מסווגים לשני מצבים:
- מצב צעד מלא: (רצף 4 שלבים)
- שלב חד פעמי על דריכה (WAVE STEPPING)
- דו שלבי על דריכה
- מצב חצי צעד (רצף בן 8 שלבים)
למידע נוסף על מנוע צעד ופעולתו, עקוב אחר הקישור.
סיבוב מנוע צעד עם ARM7-LPC2148
כאן נשתמש בצעד מלא: שלב אחד פועל או מצב דריכה גל כדי לסובב את מנוע הצעד עם ARM7-LPC2148
בשיטה זו נמריץ סליל אחד בלבד (סיכה אחת של LPC2148) בכל פעם. כלומר אם הסליל הראשון A יופעל לזמן קצר, הציר ישנה את מיקומו ואז סליל B יופעל לאותו זמן והציר ישנה שוב את מיקומו. אותו דבר כמו זה, סליל C ואז סליל D ממריץ כדי להמשיך את הפיר. זה גורם לפיר המנוע צעד להסתובב צעד אחר צעד על ידי הפעלת סליל אחד בכל פעם.
בשיטה זו אנו מסובבים את הציר צעד אחר צעד על ידי הפעלת סליל ברצף. זה נקרא ארבעה רצפי צעדים, שכן זה לוקח ארבעה צעדים.
ניתן לסובב את מנוע צעד בשיטת HALF STEP (שיטת 8 רצפים) על פי הערכים המפורטים להלן.
שלב |
סליל א |
סליל ב |
סליל ג |
סליל ד |
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 |
רכיבים נדרשים
חוּמרָה:
- ARM7-LPC2148
- ULN2003 נהג מנוע IC
- נורית - 4
- מנוע צעד (28BYJ-48)
- לוח זמנים
- חיבור חוטים
תוֹכנָה:
- Keil uVision5
- כלי קסם פלזיק
מנוע צעד (28BYJ-48)
מנוע צעד 28BYJ-48 כבר מוצג בתמונה לעיל. זהו מנוע צעד חד קוטבי הדורש אספקה של 5 וולט. המנוע כולל סידור חד-קוטבי של 4 סלילים וכל סליל מדורג ל -5 וולט ולכן קל יחסית לשלוט בו עם כל בקרי מיקרו כמו Arduino, Raspberry Pi, STM32, ARM וכו '.
אבל אנחנו צריכים IC של כונן מנוע כמו ULN2003 כדי להניע אותו, מכיוון שמנועי צעד צורכים זרם גבוה והוא עלול לפגוע במיקרו-בקרים.
המפרט של 28BYJ-48 מסופק בגיליון הנתונים להלן:
בדוק גם ממשק עם מנוע צעד עם מיקרו-בקרים אחרים:
- מנוע צעד משולב עם Arduino Uno
- בקרת מנוע צעד עם פטל פי
- ממשק מנוע צעד עם מיקרו-בקר 8051
- ממשק מנוע צעד עם מיקרו-בקר PIC
- מנוע צעד משולב עם MSP430G2
ניתן לשלוט על מנוע צעד גם ללא כל מיקרו-בקר, עיין במעגל נהג מנוע צעד זה.
נהג מנוע צעד ULN2003
רוב מנועי הצעד יפעלו רק בעזרת מודול נהג. הסיבה לכך היא שמודול הבקר (במקרה שלנו LPC2148) לא יוכל לספק מספיק זרם מפסי הקלט / פלט שלו להפעלת המנוע. אז נשתמש במודול חיצוני כמו מודול ULN2003 כמניע מנוע צעד.
בפרויקט זה נשתמש ב- IC של נהג המנוע ULN2003. תרשים סיכות של IC ניתן להלן:
סיכות (IN1 עד IN7) הן סיכות קלט לחיבור יציאת מיקרו-בקרה ו- OUT1 ל- OUT7 הן סיכות יציאה המתאימות לחיבור קלט מנועי צעד. COM ניתן מתח מקור חיובי הנדרש למכשירי פלט ולמקור קלט חשמל חיצוני.
תרשים מעגל
תרשים מעגלים לממשק מנוע צעד עם ARM-7 LPC2148 מוצג להלן
ARM7-LPC2148 עם ULN2003 מנוע נהג IC
סיכות GPIO של LPC2148 (P0.7 עד P0.10) נחשבות כסיכות פלט המחוברות עם סיכות קלט (IN1-IN4) של IC ULN2003.
LPC2148 סיכות |
סיכות של ULN2003 IC |
P0.7 |
IN1 |
P0.8 |
IN2 |
P0.9 |
IN3 |
עמ '10 |
IN4 |
5V |
COM |
GND |
GND |
חיבורים של ULN2003 IC עם מנוע צעד (28BYJ-48)
סיכות הפלט (OUT1-OUT4) של ULN2003 IC מחוברות לסיכות מנועי הצעד (כחול, ורוד, צהוב וכתום).
סיכות IC ULN2003 |
סיכות של מנוע צעד |
OUT1 |
כָּחוֹל |
OUT2 |
וָרוֹד |
OUT3 |
צהוב |
OUT4 |
תפוז |
COM |
אדום (+ 5 וולט) |
נוריות עם IN1 עד IN4 של ULN2003
ארבעה פינים של נוריות LED (LED1, LED2, LED4, LED 4) מחוברים עם הפינים IN1, IN2, IN3 ו- IN4 של ULN2003 בהתאמה וקתודה של נוריות הנורות מחוברות ל- GND שזה כדי לציין את הפולסים מה- LPC2148. אנו יכולים לציין את דפוס הפולסים הניתנים. התבנית מוצגת בסרטון ההדגמה שצורף בסוף.
תכנות ARM7-LPC2148 עבור מנוע צעד
כדי לתכנת ARM7-LPC2148 אנו זקוקים לכלי uVision & Flash Magic. אנו משתמשים בכבל USB לתכנות ARM7 Stick באמצעות יציאת מיקרו USB. אנו כותבים קוד באמצעות Keil ויוצרים קובץ hex ואז קובץ HEX מהבהב למקל ARM7 באמצעות Flash Magic. למידע נוסף אודות התקנת keil uVision ו- Flash Magic וכיצד להשתמש בהן עקבו אחר הקישור תחילת העבודה עם ARM7 LPC2148 Microcontroller ותכנתו באמצעות Keil uVision.
הקוד השלם לשליטה במנוע צעד עם ARM 7 ניתן בסוף הדרכה זו, כאן אנו מסבירים כמה חלקים ממנו.
1. לשימוש בשיטת FULL STEP-ONE PHASE ON עלינו לכלול את הפקודה למטה. אז אנו משתמשים בשורה הבאה בתוכנית
לא חתומה עם כיוון השעון = {0x1,0x2,0x4,0x8}; // פקודות לסיבוב עם כיוון השעון ללא סימן נגד כיוון השעון = {0x8,0x4,0x2,0x1}; // פקודות לסיבוב נגד כיוון השעון
2. השורות הבאות משמשות לאתחול סיכות ה- PORT0 כפלט ולהגדרתן ל- LOW
PINSEL0 = 0x00000000; // הגדרת סיכות PORT0 IO0DIR - = 0x00000780; // הגדרת סיכות P0.7, P0.8, P0.9, P0.10 כ- OUTPUT IO0CLR = 0x00000780; // הגדרת P0.7, P0.8, P0.9, P0.10 פינים OUTPUT כ LOW
3. סט הסיכות PORT (P0.7 כדי P0.10) HIGH פי כיוון השעון פקודות באמצעות זה עבור לולאה עם עיכוב
עבור (int j = 0; j
אותו הדבר עבור ווייז נגד השעון
עבור (int z = 0; z
4. שנה את זמן העיכוב כדי לשנות את מהירות הסיבוב של מנוע הצעד
עיכוב (0x10000); // שנה ערך זה כדי לשנות את מהירות הסיבוב (0x10000) -מהירות מלאה (0x50000) -הוא איטי (0x90000) -הוא איטי מקודם. אז על ידי הגברת העיכוב אנו מורידים את מהירות הסיבוב.
5. ניתן לשנות את מספר הצעדים לסיבוב שלם אחד באמצעות הקוד שלהלן
int no_of_steps = 550; // שנה ערך זה למספר הצעדים הנדרש של סיבוב (550 נותן סיבוב שלם אחד)
עבור המנוע הצעד שלי קיבלתי 550 מדרגות לסיבוב מלא ו -225 לחצי סיבוב. אז שנה את זה בהתאם לדרישות שלך.
6. פונקציה זו משמשת ליצירת זמן עיכוב.
עיכוב חלל (ערך int לא חתום) // פונקציה ליצירת עיכוב { int uns int; עבור (z = 0; z
הקוד השלם עם סרטון הדגמה מופיע להלן.