כל מה שאתם צריכים לדעת על שימוש במנועים בהתבסס על בקרי ארדואינו במדריך אחד מפורט
זהו החלק השני בסדרת Arduino 101 אשר הולך להכיל את כל מה שקשור במנועים בשילוב עם Arduino, למי שלא עקב, מומלץ להסתכל בחלק הקודם אשר דן בכל עניין הקמת סביבת פיתוח ל-Arduino ולמי שלגמרי חדש בעסק ישנו את מדריך Arduino מ-א' ועד ת' אשר מסביר (כמעט) את כל מה שצריך לדעת בשביל לקבל בסיס טוב להתחלה.
כמו שכבר כתבתי למעלה, מנועים הם אכן חלק בלתי נפרד מעולם הרובוטיקה והם מאפשרים לנו בעצם לגשר בין עולם הקוד לעולם המכני. אז מה זה בעצם "מנוע"? למה הוא מסתובב? ואיך זה בכלל עובד? יצאנו לבדוק.
על מנת שתהיה תזוזה מכאנית בעקבות פעילות חשמלית, מופעל האפקט האלקטרו-מכני, תהליך אשר מועבר זרם בחוט ארוך (מאוד) המלופף סביב ליבה מתכתית ועל ידי כך נוצרת אנרגיה מגנטית-מכאנית. כלי זה נקרא אלקטרו-מגנט. כל עניין ההנעה החשמלית מושתת על עיקרון זה וחשוב להבין אותו לפני שממשיכים ללמוד על
מנועים (להבנה קצת יותר יסודית ניתן לקרוא את הערך הזה מויקיפדיה).
עכשיו כשהבנו מה זה אלקטרו-מגנט נמשיך להגדרה של מנוע. מנוע מורכב משני חלקים, החלק הראשון הסטטור (מלשון סטטי – לא זז) ואכן מדובר בחלק החיצוני של המנוע אשר נשאר במקום. הסטטור מכיל לרוב שני מגנטים/ אלקטרו-מגנטיים והחלק השני הינו הרוטור, ליבת המנוע, הרוטור הוא בעצם אלקטרו- מגנט אשר בעקבות שינוי קוטביות זז לצידיו השונים של הסטטור. בהמשך נראה מנועים שאינם עומדים בהגדרה המדויקת של המונח המקורי אך לכל מנוע יש רוטור וסטטור, חלקם בסדר הפוך (לדוגמה שהרוטור הוא בעצם מסביב לסטטור) וכן הלאה.
מתחילים לעבוד – מנוע DC
מנועי DC או "מנועי זרם ישר" הינם ללא ספק המנועים הפשוטים והבסיסיים ביותר, מכילים כשני קטבים חשמליים בלבד (פלוס ומינוס) מה שהופך אותו לפשוטים להפליא. מבחינת יתרונות וחסרונות, למנועי DC אין מאפיינים מסוימים אשר הופכים אותם לעדיפים על פני פתרונות אחרים מלבד פשטות השימוש בו, ניתן למצוא אותם כיום בעיקר בתור מנועי רטט (פלאפונים וכו). החיסרון הגדול שלהם הוא שהם אינם "חכמים". כלומר, אין למשתמש דרך לקבל מידע ישירות על הנתונים המכאניים שלהם (מהירות נתונה, זווית נוכחית וכו..).
עם זאת, אפשר להשתמש בחיישנים מסוימים אשר כן יתנו פידבק כזה. אבל בסופו של דבר, אם אתה רוצה בפרויקט מעבר למנוע שפשוט מסתובב, כנראה שכדי לחקור על מנועים אחרים קודם (כמו שיש בהמשך המדריך).
עכשיו כשהבנו איך המנוע פעל נעבור להדגמה קטנה. בשביל לבנות את המעגלת נעזר ברכיבים הבאים:
- מנוע DC 5V (ניתן לפרק מצעצוע ישן, למשל)
- צ'יפ מסוג L293
- מטריצה (Breadboard)
- חוטים לחיווט העסק
- מקור מתח (שנאי 12V/סוללה 9V)
ראשית, נחווט את המעגל לפי התרשים למעלה (קיים גם קישור המכיל את כל הקבצים והתרשימים בסוף המדריך), שימו לב שמאוד חשוב לחבר את הסוללה/שנאי אחרת המנוע לא יקבל מספיק זרם וכל המעגל לא יעבוד. אחרי זה נעלה את הקוד הבא ללוח:
int motor1Pin2 = 12; // pin 7 on L293D conected to arduino 12 degital pin int motor1Pin1 = 11; // pin 2 on L293D conected to arduino 11 degital pin int enablePin = 10; // pin 1 on L293D conected to arduino 10 degital pin void setup() { pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT); digitalWrite(enablePin, HIGH); } void loop() { digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low digitalWrite(motor1Pin2, HIGH); // set pin 7 on L293D high delay(1000); // the motor turn right for 1 secend (1000ms = 1s) digitalWrite(motor1Pin1, HIGH); // set pin 2 on L293D high digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D low delay(1000); // the motor turn left for 1 secend digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D low delay(1000); // the motor stop for 1 secend }ניתן לראות כי ה-L293 מחובר ל-Arduino על ידי שלשה פינים דיגיטליים, פין אחד הוא ה-Enable של הצ'יפ. כלומר, כל עוד הוא לא מכוון על 1 לוגי (HIGH) אז הצ'יפ לא יפעל, אין כל חשיבות לתכונה הזאת במדריך זה אז ניתן גם לחבר אותו ל-5V באותה המידה. בנוסף ישנם עוד שני פינים שמשויכים ישירות למנוע ולפי המצב שלהם נקבע כיוון סיבוב המנוע. כפי שניתן לראות בקוד, כאשר פין 7 עובד על 1 לוגי ופין 2 עובד על 0 לוגי, המנוע מסתובב לכיוון מסוים (תלוי בחיווט המנוע לצ'יפ) וכאשר פין 7 על 0 לוגי ופין 2 על 1 לוגי המנוע מחליף כיוון. לבסוף, כאשר גם פין 7 וגם פין 2 עובדים על 0 לוגי, המנוע עוצר. עוד אודות ההפעלה של הצ'יפ, ניתן להציץ במפרט שלו שנמצא ברשימת הרכיבים למעלה.
הוספת מידע על מנועים יותר רציניים ?
אשמח לקרוא על מנועים יותר רצינים עם הרבה יותר הספק, יותר על איך בוחרים איזה מנוע מתאים לפרוייקט שלי, חישוב מומנט ובחירת תמסורת.
LM293 זה חתיכת ***
מדובר בדרייבר מיושן שמבוסס על טרנזיסטורים ביפולריים. זה אומר 2 דברים:
אם מפל מתח מקסימלי של כמעט 3 וולט על הדרייבר עצמו, כל מנוע שמכבד את עצמו יגרום לבזבוז אנרגיה רציני על הגשר עצמו, שיתחמם מאד.
2. שילוב של דרייבר כזה במעגל שמבוסס על סוללה זה בזבוז משווע של הכח של הסוללה.
האלטרנטיבה היא דרייבר שמבוסס על טרנזיסטורי FET עם התנגדות שנמדדת במילי-אוהמים , כלומר מפל מתח בסדרי גודל של מיליוולטים על כל אמפר של זרם.
לדוגמא http://www.pololu.com/catalog/product/2135
לדרייבר הזה יש התנגדות כוללת של 0.3 אוהם כלומר הוא יבזבז 0.3V בזרם של 1A.