מנוע סרוו עובד על עיקרון אפנון רוחב הדופק (PWM) וזווית הסיבוב שלו נשלטת על ידי משך הדופק המופעל על סיכת הבקרה שלו. כאן במדריך זה נשלוט על מנוע סרוו עם מיקרו-בקר ATtiny13 בטכניקת PWM. אז לפני שנמשיך נלמד תחילה על PWM, סרוו מנוע וכיצד לתכנת ATtiny13 עם לוח Arduino.
אפנון רוחב הדופק (PWM)
אפנון רוחב הדופק (PWM) מוגדר כשיטה להפקת אות אנלוגי באמצעות מקור דיגיטלי. אות PWM מורכב משני רכיבים עיקריים - מחזור חובה ותדירות. רכיבים אלה מגדירים את התנהגותו. מחזור עבודה מתאר את משך הזמן שהאות נמצא במצב גבוה. זה מסומן כאחוז מהזמן הכולל שנדרש להשלמת מחזור אחד.
מחזור עבודה = הפעל זמן / (הפעל זמן + כיבוי זמן)
התדר מגדיר כמה מהר ה- PWM משלים מחזור וכמה מהר האות עובר בין מצבים גבוהים ונמוכים. תדר של 100 הרץ פירושו 100 מחזורים לשנייה. על ידי הפעלת וכיבוי של אות דיגיטלי בקצב מהיר ועם מחזור חובה מסוים, הפלט יראה כמו אות אנלוגי במתח קבוע. אחד היתרונות החזקים של PWM הוא שאובדן הכוח מינימלי מאוד.
כל מנועי הסרוו עובדים ישירות עם אספקת + 5 וולט, אך עלינו להיות זהירים בכמות הזרם שהמנוע היה צורך. אם אנו משתמשים ביותר משני מנועי סרוו, יש לתכנן מגן סרוו מתאים.
לפני שתחבר סרוו ל- Attiny13, תוכל לבדוק את הסרוו שלך בעזרת מעגל בודק מנועי סרוו זה. כאן יש לנו ממשק מנוע סרוו למיקרו-בקרים רבים:
- ממשק מנוע סרוו עם ARM7-LPC2148
- מנוע סרוו ממשק עם MSP430G2
- שליטה על מספר מנועי סרוו עם Arduino
- ממשק מנוע סרוו עם PIC מיקרו-בקר באמצעות MPLAB ו- XC8
- בקרת מנוע סרוו עם פטל פי
- בקרת מנוע סרוו עם Arduino Due
- מנוע סרוו מממשק עם מיקרו בקר AVR Atmega16
תכנות ATtiny13 באמצעות Arduino
ניתן לתכנת את Attiny13 באמצעות Arduino Uno או כל לוח Arduino אחר. חבר את Attiny13 ל- Arduino Uno כפי שמוצג באיור למטה.
- Arduino 5V - פין ATtiny13 8
- ארדואינו GND - סיכה ATtiny13 4
- סיכה ארדואינו 13 - סיכה ATtiny13 7
- סיכה ארדואינו 12 - סיכה ATtiny13 6
- סיכה ארדואינו 11 - סיכה ATtiny13 5
- סיכה ארדואינו 10 - סיכה ATtiny13 1
Arduino מוגדר כמתכנת לתכנת ATtiny13. זה נעשה על ידי העלאת רישום ArduinoISP לארדואינו. סקיצה זו של ארדואינו זמינה בדוגמאות בארדוינו IDE. פתח את ה- Arduino IDE ועבור לקבצים> דוגמאות> ArduinoISP .
עכשיו התוכנית עבור ArduinoISP תופיע. העלה את התוכנית ל- Arduino Uno.
Arduino Uno מוכן כעת לתכנת Attiny13. אבל עלינו להגדיר את Attiny על ידי התקנת קבצי הליבה שלו. לשם כך עבור אל קובץ >> העדפות ב- Arduino IDE
ואז יופיע חלון חדש. וב"כתובות ה- URL של מנהל לוח נוסף "הוסף את הקישור שלהלן ולחץ על" אישור ".
“Https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json”
עכשיו ב- Arduino IDE שלך עבור אל כלים >> לוח >> מנהל לוחות
ואז יופיע חלון אחר שבו בתיבת החיפוש הקלד 'Attiny' ואז תקבל "DIY ATtiny" ואז לחץ על כפתור 'התקן' (כבר התקנתי אותו, לכן כפתור ההתקנה בצבע אפור)
כדי להתחיל בתכנות ATtiny 13, עלינו לצרוב אליו את Bootloader. לשם כך, עבור אל כלים> לוח> ATtiny13.
כעת עבור אל כלים> גרסת מעבד ובדוק אם נבחרה הגרסה הנכונה של ATtiny. בחר ATtiny13 או ATtiny13a בהתאם לשבב שלך.
לאחר מכן לחץ על כפתור צרי אתחול בתחתית תפריט הכלים.
לאחר שריפת מטען האתחול, ATtiny מוכן כעת לתכנות. עכשיו אתה יכול להעלות את התוכנית שלך.
רכיבים נדרשים
- מיקרו-בקר ATtiny13
- מנוע סרוו
- פוטנציומטר
- + סוללה 5V
- ארדואינו IDE
- חוטי חיבור
תרשים מעגלים ועבודה
תרשים מעגלים לשליטה על מנוע סרוו באמצעות סיר עם ATtiny13 מוצג להלן.
להלן הקשרים
- חבר את סיכת בקרת מנוע הסרו לסיכה 5 של ATtiny13
- חבר את הקרקע של מנוע הסרוו לסיכה 4 של ATtiny13
- חבר VCC של מנוע סרוו לסיכה 8 של ATtiny13
- חבר את הסיכה האמצעית של הפוטנציומטר לסיכה 7 של ATtiny13
- חבר את הסיכות הראשונות והשלישיות של פוטנציומטר ל- VCC ו- GND.
- חבר את הסוללה החיובית של + 5V לסיכה 8 של ATtiny13
- חבר את השלילי של + 5V סוללה לסיכה 4 של ATtiny13
פוטנציומטר מחובר לסיכה 7 (PB2) של ה- ATtiny13 וחוט הבקרה של מנוע הסרוו מחובר לסיכה 5 (PB0).
כאן נקרא ערך הפוטנציומטר והוא מומר לערך שבין 0 ל -180. ואז ערך זווית זה מומר למיקרו-שניות ודופק ניתן לסיכת הבקרה של מנוע סרוו עם עיכוב המיקרו-שניות המחושב. כעת מנוע הסרוו יסתובב בהתאם לערך הפוטנציומטר כפי שהודגם בסרטון המופיע להלן.