מנוע צעד הוא מנוע שתוכנן במיוחד אשר מסתובב בשלבים. מהירות מנוע צעד תלויה בקצב האות החשמלי המופעל עליו. דפוסים שונים יכולים לשלוט בכיוון וסוג הסיבוב של מנוע הצעד. בעיקר שני סוגים של מנועי צעד זמינים, קוטבי ו Bipolar. חד קוטבי קל יותר לתפעול, שליטה וגם קל יותר להשיג. כאן במדריך זה אנו מממשקים את מנוע הצעד עם המיקרו-בקר PIC16F877A.
אנו משתמשים במנוע צעד 28BYJ-48 לפרויקט זה שהוא זול וזמין. זהו מנוע צעד חד-קוטבי DC 5V. אנו משתמשים גם במודול זמין עם מנוע זה אשר מורכב מ- IC מנוע צעד צעד ULN2003. ULN2003 הוא מערך זוג של דרלינגטון, אשר שימושי להפעלת מנוע זה, מכיוון שמיקרו-בקר PIC לא יכול היה לספק מספיק זרם בכדי לנהוג. ULN2003A מסוגל להניע 500mA עומס עם 600mA של זרם שיא.
מנוע צעדים:
בואו נראה את המפרט של מנוע הצעד 28BYJ-48 מגליון הנתונים.
כיצד לסובב מנוע צעד:
אם נראה את גליון הנתונים נראה את הצמד.
בתוך המנוע ישנם שני סלילים עם הברגה מרכזית. חוט אדום הוא המשותף לשניהם אשר יחובר ב- VCC או 5V.
4 חוטים אחרים ורודים, אדומים, צהובים וכחולים ישלוטו בסיבוב בהתאם לאות החשמלי. כמו כן, בהתאם לתנועה, ניתן לשלוט במנוע זה באמצעות 3 שלבים. מצב כונן מלא, במצב נסיעה של חצי ו מצב כונן Wave.
שלושה מצבי נהיגה של מנוע צעד:
כונן מלא: אם שני אלקטרומגנטים סטטוריים מופעלים בכל פעם, המנוע יפעל במומנט מלא המכונה מצב רצף כונן מלא.
שלב |
כָּחוֹל |
וָרוֹד |
צהוב |
תפוז |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
חצי נסיעה: כאשר לחלופין שלב אחד ושני מופעלים, המנוע יפעל במצב חצי נסיעה. הוא משמש להגברת הרזולוציה הזוויתית. החיסרון הוא פחות מומנט המיוצר בתנועה זו.
שלב |
כָּחוֹל |
וָרוֹד |
צהוב |
תפוז |
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 |
כונן גל: במצב זה מופעל אלקטרומגנט סטטור אחד. להלן 4 שלבים זהים למצב כונן מלא. הוא צורך צריכת חשמל נמוכה עם מומנט נמוך.
שלב |
כָּחוֹל |
וָרוֹד |
צהוב |
תפוז |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
בעבר ממשקנו את מנוע הצעד עם מיקרו-בקרים אחרים:
ניתן לשלוט על מנוע צעד גם ללא כל מיקרו-בקר, עיין במעגל נהג מנוע צעד זה.
נהג מנוע צעד ULN2003:
בואו נבין את לוח הפריצה המורכב מ- ULN2003 IC. חשוב להבין את הסיכה.
צהוב החלק משמש לחיבור מנוע, The החלק האדום הוא מראה מגשר, חשוב למקם את המגשר כפי שהוא יאפשר הגנת דיודה חסרת דאגות עבור מנוע . קלט ורוד הוא עבור חיבור המיקרו-בקר.
נסובב את המנוע במצב כונן מלא בכיוון השעון ושוב נסתובב עם מצב כונן גל בכיוון נגד כיוון השעון. בדקו את סרטון ההדגמה בסוף.
רכיבים נדרשים
- Pic16F877A
- ערכת תכנות
- קרש לחם
- 20Mhz קריסטל
- קבלים דיסק 33pF - 2 יחידות
- נגד 4.7k
- חוטי ברג וסיכות
- לוח פריצה ULN2003A יחד עם מנוע הצעד 28BYJ-48.
- חוטים נוספים לחיבור
- יחידת ספק כוח 5V או מתאם קיר עם דירוג 500mA
תרשים מעגל והסבר
בתרשים המעגל, בצד שמאל PIC16F877A מוצג ובצד ימין חיבור ULN2003A. ULN2003 וחלק המנוע Stepper נמצא בתוך לוח הפריצה.
החיבור מלוח הפריצה ליחידת המיקרו-בקר יהיה-
A. IN1 => Pin33
B. IN2 => Pin34
ג IN3 => Pin35
D. IN4 => Pin36
חיברתי את כל הרכיבים והחומרה שלך לסיבוב מנוע צעד עם מיקרו-בקר PIC מוכנה.
אם אתה לא חדש במיקרו-בקר PIC, עקוב אחר ההדרכות שלנו למיקרו-בקר PIC המציין את תחילת העבודה עם מיקרו-בקר PIC.
הסבר קוד
הקוד המלא עבור נהג מנוע צעד מבוסס PIC זה ניתן בסוף הדרכה זו עם סרטון הדגמה. כמו תמיד ראשית, עלינו להגדיר את סיביות התצורה במיקרו-בקר pic ואז להתחיל עם פונקציה ראשית בטלה .
אלה הם פקודות המאקרו עבור סיביות תצורה של יחידת המיקרו-בקר וקבצי כותרת הספרייה.
#define _XTAL_FREQ 200000000 // תדר קריסטל, משמש בעיכוב #define מהירות 1 // טווח מהירות 10 עד 1 10 = הנמוך ביותר, 1 = הגבוה ביותר # הגדר צעדים 250 // כמה צעד זה ייקח # הגדר עם כיוון השעון 0 // כיוון השעון מאקרו # הגדר נגד כיוון השעון 1 // מאקרו לכיוון נגד כיוון השעון
בשורה הראשונה הגדרנו תדר גבישים הדרוש לשגרת העיכוב. פקודות מאקרו אחרות משמשות להגדרת אפשרויות הקשורות למשתמש.
אם אתה רואה את הקוד, יש שלוש פונקציות שהוגדרו להנעת המנוע בשלושה מצבים בכיוון השעון ולא נגד כיוון השעון. להלן שלושת הפונקציות:
1. בטל מלא_כונן (כיוון תו)
2. בטל half_drive (כיוון char)
3. חלל wave_drive (כיוון char)
בדוק את ההגדרות של פונקציות אלה בקוד השלם המופיע להלן:
כעת, בפונקציה ראשית מבוטלת , אנו מניעים את המנוע בכיוון השעון באמצעות מצב כונן מלא בהתאם לצעדים ולאחר עיכוב של כמה שניות אנו שוב מסובבים את המנוע נגד כיוון השעון באמצעות מצב כונן גל.
בטל ראשי (בטל) { system_init (); בעוד (1) { / * כונן את המנוע במצב כונן מלא בכיוון השעון * / עבור (int i = 0; i
כך נוכל לסובב את מנוע הצעד בעזרת מיקרו-בקר PIC. מנועי צעד מאוד שימושיים במכונות CNC, רובוטיקה ויישומים משובצים אחרים.