- מהו מנוע סרוו?
- ממשקי מנועי סרוו למיקרו-בקרים:
- תכנות מנוע סרוו עם מיקרו-בקר PICF877A PIC:
- תרשים מעגל:
- סימולציה והתקנת חומרה:
זוהי ההדרכה ה -11 שלנו בנושא למידת PIC מיקרו-בקרים באמצעות MPLAB ו- XC8. במדריך זה נלמד כיצד לשלוט על מנוע סרוו באמצעות מיקרו-בקר PIC. אם כבר עבדת עם מנועי סרוו תוכל לדלג על המחצית הראשונה של הדרכה זו, אך אם אתה חדש במנוע סרוו עצמו, המשך לקרוא.
עד כה, סקרנו הדרכות בסיסיות רבות כמו LED מהבהב עם PIC, טיימרים ב- PIC, ממשק LCD, ממשק 7 קטעים, ADC באמצעות PIC וכו '. אם אתה מתחיל מוחלט, אנא בקר ברשימה המלאה של מדריכי PIC כאן ו תתחיל ללמוד.
במדריך הקודם שלנו למדנו כיצד ליצור אותות PWM באמצעות מיקרו-בקר PIC, האותות נוצרו על סמך הערך שנקרא מהפוטנציומטר. אם הבנתם את כל התוכניות, מזל טוב שכבר קידדתם עבור מנוע סרוו. כן, מנועי סרוו מגיבים לאותות ה- PWM (אותם אנו יוצרים באמצעות טיימרים כאן) נלמד מדוע ואיך במדריך זה. אנו מדמים ונבנה את הגדרת החומרה לפרויקט זה ותוכלו למצוא את הסרטון המפורט בסוף הדרכה זו.
מהו מנוע סרוו?
מנוע סרוו הוא סוג של מפעיל (מעגלי לרוב) המאפשר שליטה בזווית. ישנם סוגים רבים של מנועי סרוו זמינים, אך במדריך זה נתרכז במנועי סרוו התחביב המוצגים להלן.
סרובי תחביבים פופולריים מכיוון שהם השיטה הזולה לבקרת תנועה. הם מספקים פתרון מדף עבור מרבית צרכי ה- R / C והחובב הרובוטי. הם גם מבטלים את הצורך בעיצוב מותאם אישית של מערכת בקרה לכל יישום.
לרוב מנועי סרוו התחביב יש מלאך סיבובי של 0-180 מעלות, אך ניתן גם להשיג מנוע סרוו 360 מעלות אם אתם מעוניינים בכך. הדרכה זו משתמשת במנוע סרוו 0 - 180 °. ישנם שני סוגים של מנועי סרוו המבוססים על ההילוך, האחד הוא מנוע סרוו הילוכים מפלסטיק והשני מנוע סרוו גיר מתכת. נעשה שימוש בציוד מתכת במקומות בהם המנוע נתון לבלאי רב יותר, אך הוא גובה מחיר גבוה בלבד.
מנועי סרוו מדורגים בק"ג / ס"מ (ק"ג לסנטימטר) רוב מנועי הסרובי התחביבים מדורגים ב -3 ק"ג / ס"מ או 6 ק"ג / ס"מ או 12 ק"ג / ס"מ. ק"ג / ס"מ זה אומר לך כמה משקל מנוע הסרוו יכול להרים במרחק מסוים. לדוגמא: מנוע סרוו של 6 ק"ג / ס"מ אמור להיות מסוגל להרים 6 ק"ג אם העומס תלוי במרחק של 1 ס"מ מציר המנועים, ככל שהמרחק גדול יותר כך יכולת הנשיאה במשקל תהיה פחותה. למד כאן את היסודות של מנוע סרוו.
ממשקי מנועי סרוו למיקרו-בקרים:
ממשקי מנועי סרוו לתחביב עם MCU קל מאוד. סרוו יש שלושה חוטים שיוצאים מהם. מתוכם שניים ישמשו לאספקה (חיובי ושלילי) ואחד ישמש עבור האות שיש לשלוח מה- MCU. במדריך זה נשתמש במנוע סרוו הילוך מתכתי MG995 המשמש לרוב למכוניות RC בוטים אנושיים וכו '. התמונה של MG995 מוצגת להלן:
קידוד הצבעים של מנוע הסרוו עשוי להיות שונה ולכן בדוק את גיליון הנתונים המתאים לך.
כל מנועי הסרוו פועלים ישירות עם מסילות האספקה + 5 וולט שלך, אך עלינו להיות זהירים בכמות הזרם שהמנוע היה צורך, אם אתה מתכנן להשתמש ביותר משני מנועי סרוו יש לתכנן מגן סרוו מתאים. במדריך זה פשוט נשתמש במנוע סרוו אחד כדי להראות כיצד לתכנת את PIC MCU שלנו לשליטה במנוע. בדוק את הקישורים הבאים כדי להתממשק למנוע סרוו עם מיקרו-בקר אחר:
- ממשק מנוע סרוו עם מיקרו-בקר 8051
- בקרת מנוע סרוו באמצעות Arduino
- מדריך למנועי סרוו פטל פי
- מנוע סרוו עם מיקרו בקר AVR
תכנות מנוע סרוו עם מיקרו-בקר PICF877A PIC:
לפני שנוכל להתחיל לתכנת עבור מנוע סרוו עלינו לדעת איזה סוג של אות נשלח לשליטה במנוע סרוו. עלינו לתכנת את ה- MCU לשליחת אותות PWM לחוט האות של מנוע הסרוו. בתוך מנוע הסרוו יש מעגל בקרה הקורא את מחזור החובה של אות ה- PWM ומציב את פיר מנועי הסרוו במקום המתאים, כפי שמוצג בתמונה למטה.
כל מנוע סרוו פועל על תדרי PWM שונים (התדירות הנפוצה ביותר היא 50HZ המשמשת במדריך זה), לכן קבל את גליון הנתונים של המנוע שלך כדי לבדוק באיזו תקופת PWM עובד מנוע הסרוו שלך.
הפרטים על אות ה- PWM למגדל פרו MG995 שלנו מוצגים להלן.
מכאן אנו יכולים להסיק כי המנוע שלנו עובד עם תקופת PWM של 20ms (50Hz). אז יש לכוון את תדר אות ה- PWM שלנו ל 50 הרץ. תדירות ה- PWM שקבענו בהדרכה הקודמת שלנו הייתה 5 KHz, השימוש בו לא יעזור לנו כאן.
אבל, יש לנו כאן בעיה. ה- PIC16F877A אינו יכול ליצור אותות PWM בתדר נמוך באמצעות מודול CCP. על פי גליון הנתונים הערך הנמוך ביותר האפשרי שניתן להגדיר עבור תדר PWM הוא 1.2 קילוהרץ. אז עלינו להפיל את הרעיון להשתמש במודול CCP ולמצוא דרך ליצור אותות PWM משלנו.
לפיכך, במדריך זה נשתמש במודול הטיימר להפקת אותות PWM בתדר 50 הרץ ונשנה את מחזור החובה שלהם כדי לשלוט במלאך מנוע הסרוו. אם אתה חדש בתחום טיימרים או ADC עם PIC אנא חזור למדריך זה, כי אני אדלג על רוב הדברים מכיוון שכבר כיסינו אותם שם.
אנו מאתחלים את מודול הטיימר שלנו עם מחוון של 32 וגורמים לו לעלות על כל שימוש. על פי גיליון הנתונים שלנו PWM צריכה להיות תקופה של 20ms בלבד. כך שזמן הזמן והחופש שלנו יחד צריך להיות שווה בדיוק ל 20 ms.
OPTION_REG = 0b00000100; // Timer0 עם freq חיצוני ו 32 כ prescaler TMR0 = 251; // טען את ערך הזמן עבור 1us עיכוב ערך יכול להיות בין 0-256 רק TMR0IE = 1; // אפשר סיבית הפסקת טיימר ברישום PIE1 GIE = 1; // אפשר הפרעה גלובלית PEIE = 1; // אפשר את ההפרעה ההיקפית
אז בתוך פונקציית השגרה ההפסקתית שלנו, אנו מפעילים את הסיכה RB0 למשך הזמן הנקוב ומכבים אותו למשך זמן ההקמה (20ms - on_time). ניתן לציין את ערך הזמן בזמן באמצעות הפוטנציומטר ומודול ה- ADC. ההפרעה מוצגת להלן.
oid interrupt timer_isr () {if (TMR0IF == 1) // טיימר עלה על גדותיו {TMR0 = 252; / * טען את ערך הטיימר, (הערה: ה- Timervalue הוא 101 במקום 100 מכיוון שה- TImer0 זקוק לשני מחזורי הדרכה כדי להתחיל בהגדלת TMR0 * / TMR0IF = 0; // Clear timer interrupt count count ++;} if (count> = on_time) { RB0 = 1; // משלימים את הערך להבהוב של נוריות ה- LED} if (count> = (on_time + (200 on-time))) {RB0 = 0; count = 0;}}
בתוך לולאת הזמן שלנו אנו פשוט קוראים את הערך של פוטנציומטר באמצעות מודול ADC ומעדכנים את זמן ה- PWM באמצעות ערך הקריאה.
בעוד (1) {pot_value = (ADC_Read (4)) * 0.039; on_time = (170-pot_value); }
בדרך זו יצרנו אות PWM מי התקופה היא 20ms ויש לו מחזור חובה משתנה שניתן להגדיר באמצעות פוטנציומטר. הקוד השלם ניתן להלן בסעיף הקוד.
עכשיו, בואו נאמת את הפלט באמצעות הדמיית פרוטוס ונמשיך לחומרה שלנו.
תרשים מעגל:
אם כבר נתקלת במדריך ה- PWM אז הסכימות של הדרכה זו יהיו זהות, למעט אנו נוסיף מנוע סרוו במקום נורת ה- LED.
סימולציה והתקנת חומרה:
בעזרת הדמיית פרוטאוס אנו יכולים לאמת את אות ה- PWM באמצעות אוסצילוסקופ ולבדוק גם את המלאך המסתובב של מנוע הסרוו. כמה תמונות של הסימולציה מוצגות למטה, שם ניתן להבחין במלאך המסתובב של מנוע הסרוואי ובמחזור החובה של PWM כדי לשנות אותו בהתבסס על הפוטנציומטר. בדוק עוד את הסרטון המלא, של סיבוב ב- PWM שונה, בסוף.
כפי שאנו רואים המלאך של סיבוב הסרוו משתנה בהתבסס על ערך הפוטנציומטר. עכשיו בואו נמשיך להתקנת החומרה שלנו.
בהתקנת החומרה זה עתה הסרנו את לוח ה- LED והוספנו את מנוע הסרוו כפי שמוצג בתרשימים לעיל.
החומרה מוצגת בתמונה למטה:
הוידאו שלמטה מראה כיצד מנוע סרוו מגיב העמדות השונות של פוטנציומטר.
זהו זה!! יש לנו להתממשק מנוע סרוו עם מיקרו PIC, עכשיו אתה יכול להשתמש ביצירתיות שלכם ולגלות יישומים עבור זה. יש שם הרבה פרויקטים המשתמשים במנוע סרוו.