תוכן עניינים:

לוח לוח לכיתה של Arduino Line Follower Wallrides: 8 שלבים (עם תמונות)
לוח לוח לכיתה של Arduino Line Follower Wallrides: 8 שלבים (עם תמונות)

וִידֵאוֹ: לוח לוח לכיתה של Arduino Line Follower Wallrides: 8 שלבים (עם תמונות)

וִידֵאוֹ: לוח לוח לכיתה של Arduino Line Follower Wallrides: 8 שלבים (עם תמונות)
וִידֵאוֹ: Lesson 10: Conditional Statement in Arduino and Using Array | SunFounder Robojax 2024, נוֹבֶמבֶּר
Anonim
Image
Image

לעקוב אחרי הקו בשטח משעמם מדי!

ניסינו להסתכל על זווית אחרת על עוקבי הקו ולהביא אותם למטוס אחר - ללוח הלוח של בית הספר.

תראה מה יצא מזה!

שלב 1: מה אתה צריך?

איך להרכיב? הרכבת מארז
איך להרכיב? הרכבת מארז

עבור רובוט מירוץ אחד:

מֵכָנִיקָה:

1 x מארז רובוט miniQ 2WD; זוהי פלטפורמה רב תפקודית ליצירת רובוטים דו גלגליים פשוטים

מנוע 2 x 6V מיקרו עם יחס הפחתה של 1: 150; מנועי הילוכים הכלולים בפלטפורמת הרובוט miniQ הם בעלי יחס העברה של 1:50 ומהירים מדי. צריך להחליף אותם במנועים חזקים יותר למשל עם יחס ההילוכים 1: 150 ומעלה. ככל שיחס ההילוכים גבוה יותר הרובוט נוסע על הלוח האיטי יותר אך הסיכוי שהגלגלים יחליקו קטן יותר

4 x מגנט ניאודימיום; אתה צריך מגנטים קטנים בעובי 3 מ"מ בקוטר 12 מ"מ (לבעלי צורה עגולה) או עם הצד 12 מ"מ (לבעלי צורה מרובעת). כמו כן, למגנטים צריך להיות חור לבורג המכונה עם ראש שקוע בדרך כלל עבור ה- M3. לפעמים היצרנים מציינים את חוזק צימוד המגנטים. זה צריך להיות בטווח של 2 ק"ג עד 2.4 ק"ג

מכשירי חשמל:

1 x ארדואינו UNO; מחשב הלוח. פלטפורמת האב טיפוס הפופולרית ביותר

1 x מודול אוקטולינר; עיניים ופנסים של בוט המרוצים שלך. אוקטולינר הוא חיישן קו מגניב המורכב משמונה חיישני אינפרא אדום נפרדים הנשלטים באמצעות ממשק I2C

1 x מגן מנוע; כמעט כל מודול מתאים לך. השתמשתי באנלוגי זה המבוסס על שבב L298p

1 x סוללת LiPo 7.4V בתא; זה יכול לתת זרם גדול שמנועים צריכים כדי להתגבר על משיכת המגנטים. לסוללת הדו תאים יש מתח בטווח של 7.4V עד 8.4V. זה מספיק למנועי 6V ולווסת המתח המובנה בלוח ה- Arduino. ניתן לבחור כל קיבולת. ככל שהסוללה מרווחת, כך הרובוט נוסע זמן רב יותר אך שים לב שסוללה מרווחת מדי יכולה להיות כבדה. הקיבולת בטווח של 800mAh עד 1300mAh היא אופטימלית

שונות:

4 x חוט זכר-נקבה;

4 x מרווח M3 או סטנדרט זכר-נקבה באורך 10 מ"מ;

3 x מרווח M3 או סטנדרט זכר-נקבה באורך 25 מ"מ או יותר;

4 x בורג ראש שטוח שטוח M3x8;

1 x בורג ניילון M3;

1 x אגוז משושה ניילון M3;

כל ברגים M3 ואומים משושה

לכיתה:

לוח מגנטי תלוי על הקיר;

סמני לוח מגנטיים שחורים עבים;

מטען סוללות LiPo מיוחד או מטענים מרובים אם אתה רוצה לייצר רובוטים רבים ולהטעין אותם בנפרד

שלב 2: כיצד להרכיב? הרכבת מארז

בהתחלה, עליך להרכיב פלטפורמת שלדה של miniQ החלפת מנועים מראש מהערכה עם מנועים חזקים יותר עם יחס ההילוכים 1: 150. אל תשכח להלחם את החוטים למגעי המנועים!

שלב 3: כיצד להרכיב? התקן מגנטים

איך להרכיב? התקן מגנטים
איך להרכיב? התקן מגנטים

התקן את המגנטים על פלטפורמת miniQ. השתמש בברגים M3x10, ברגים שטוחים M3x8 או M3x6 שטוחים ואומים M3. חורי ההתקנה הנדרשים מוצגים בתמונה.

זה חשוב!

אורך ההפרעות צריך להיות בדיוק 10 מ מ. לאחר התקנת המגנטים, בדוק את הפלטפורמה בלוח הלוח. כל ארבעת המגנטים צריכים להיות צמודים ללוח המגנטי וצמיגי הגומי בגלגלי פלטפורמת miniQ צריכים להיות טעונים מראש ולספק חיכוך כלשהו עם משטח הלוח.

העבר את הרובוט באופן ידני על פני הלוח. במהלך הנסיעה, המגנטים לא צריכים לרדת מהקרש. אם מגנט כלשהו יורד זה אומר שצמיגי הגומי בגלגלים נטענים באופן מקסימלי. במקרה זה, הגדל את מרחק 10 מ"מ של כל ההפרעות ב -1 או 2 מ"מ על ידי הוספת זוג מכונות כביסה M3 ונסה שוב.

שלב 4: כיצד להרכיב? הוסף אלקטרוניקה

איך להרכיב? הוסף אלקטרוניקה
איך להרכיב? הוסף אלקטרוניקה

הרכיבו את לוח UNO של Arduino על הרציף באמצעות עמידות M3x25, ברגי M3 ואומים M3. אין להשתמש בהפרעות קצרות, השאר מעט מקום מתחת ללוח Arduino לחוטים ולסוללה.

התקן את מגן המנוע בלוח UNO של Arduino.

התקן את מודול Octoliner. לחץ אותו על הרציף בעזרת בורג ואומי M3 מניילון.

זה חשוב!

אין להשתמש במרכזי מתכת להרכיב האוקטולינר. כמה חורי הרכבה בלוח הפריצה מולחמים ומשמשים כסיכות IO. כדי למנוע קצר חשמלי, השתמש באטב פלסטיק, למשל ניילון.

שלב 5: כיצד להרכיב? תִיוּל

איך להרכיב? תִיוּל
איך להרכיב? תִיוּל

קשר את כל הרכיבים האלקטרוניים כפי שמוצג בתרשים. מודול אוקטולינר מחובר באמצעות 4 חוטים (GND, 5V, SDA, SCL) ל- UND Arduino. חבר מנועים למגן המנוע. סוללת LiPo מקושרת לרפידות המגע של ספק הכוח החיצוני במגן המנוע כמו גם לסיכת VIN בלוח ה- Arduino. במקום להשתמש בסיכת VIN, תוכל להשתמש בתקע החשמל בגודל 5.5 מ"מ על 2.1 מ"מ שעל הלוח.

זה חשוב!

בעת שימוש במגן המנוע אין צורך בחוטים. שני ערוצי מנוע נשלטים על ידי 4 סיכות. 2 סיכות PWM אחראיות למהירות הסיבוב ואילו 2 סיכות DIR לכיוון הסיבוב. בדרך כלל, הם כבר מקושרים עם סיכות לוח Arduino ספציפיות ומספרי האינדקס שלהם עשויים להשתנות בהתאם ליצרן המגן. לדוגמה, עבור מגן המנוע שלי, המספרים הם D4 D5 (DIR ו- PWM לערוץ הראשון) ו- D7 D6 (DIR ו- PWM לערוץ השני). עבור המגן המקורי של Arduino Motor, מספרי הפינים תואמים D12 D3 (DIR ו- PWM לערוץ הראשון) ו- D13 D11 (DIR ו- PWM לערוץ השני).

זה חשוב!

לסוללות הובי LiPo אין לוח הגנה על קוטביות הפוכה! קיצור מקרי של המגעים החיוביים והשליליים יגרום לכישלון קבוע של הסוללה או לשריפה.

שלב 6: כיצד לתכנת? XOD

אפילו יותר פשוט להכין תוכנית לרובוט מירוצים כזה מאשר להרכיב אותו.

בכל הפרויקטים שלי אני משתמש בסביבת התכנות החזותית XOD המאפשרת לי ליצור תוכניות ארדואינו באופן גרפי מבלי לכתוב קוד. סביבה זו אידיאלית לאב טיפוס מהיר של מכשירים או למידת אלגוריתמים של תכנות. עקוב אחר דף האינטרנט של תיעוד XOD למידע נוסף.

כדי לתכנת רובוט זה, עליך להוסיף רק ספרייה אחת אמפרקה/אוקטולינר לסביבת העבודה שלך ב- XOD. זה הכרחי לעבודה עם חיישן קו שמונה ערוצים.

שלב 7: כיצד לתכנת? תיקון

איך לתכנת? תיקון
איך לתכנת? תיקון

התוכנית מבוססת על העיקרון של פעולת בקר PID. אם אתה רוצה לדעת מהו בקר ה- PID וכיצד הוא פועל תוכל לקרוא מאמר נוסף בנושא זה.

תסתכל על התיקון עם תוכנית הרובוט. בואו לראות אילו צמתים קיימים בו וכיצד הכל עובד.

קו אוקטולינר

זהו צומת התחלה מהירה מספריית ה- XOD של אמפרקה/אוקטולינר המייצג את מודול האוקטולינר העוקב אחר הקו. הוא מוציא את "ערך מעקב הקווים" הנמצא בטווח של -1 עד 1. ערך 0 מראה שהקו נמצא במיקום המרכזי ביחס לחיישני האינפרא אדום בלוח האוקטולינר (בין CH3 ל- CH4). ערך -1 מתאים למיקום השמאלי הקיצוני (CH0) ואילו 1 לימין הקיצוני (CH1). צומת בעת אתחול מאתחל את חיישני האופקטופולר ומגדיר את פרמטרי הבהירות והרגישות המוגדרים כברירת מחדל. הכניסות לצומת זה הן כתובת I2C של המכשיר (ADDR ללוח האוקטולינר הוא 0x1A) וקצב עדכון ערך מעקב הקו (UPD), הגדרתי אותו רציף.

ערכי מעקב הקווים מוזנים ישירות לצומת בקר ה- pid.

בקר pid

צומת זה מיישם את העבודה של בקר ה- PID ב- XOD. ערך המטרה (TARG) עבורו הוא 0. זהו המצב כאשר הקו נמצא בדיוק במרכז מתחת לרובוט. אם ערך מעקב הקווים הוא 0, בקר ה- PID מתאפס באמצעות סיכת RST. אם ערך מעקב הקווים שונה מ- 0, בקר ה- PID ממיר אותו באמצעות מקדמי Kp, Ki, Kd לערכי מהירות המנוע. ערכי המקדמים נבחרו בניסוי ושווים ל- 1, 0.2 ו- 0.5, בהתאמה. קצב העדכונים (UPD) של בקר ה- PID מוגדר רציף.

הערך המעובד של בקר PID מופחת מה -1 ומוסיף ל- 1. זה נעשה כדי לסנכרן מנועים, לגרום להם להסתובב בכיוונים מנוגדים כאשר הקו הולך לאיבוד. הערך 1 בצמתים אלה מייצג את המהירות המרבית של המנועים. אתה יכול להפחית את המהירות על ידי הזנת הערך הנמוך יותר.

מנוע h-bridge-dc

כמה צמתים אלה אחראים לשליטה במנועי רובוט שמאל וימין. כאן קבע את ערכי הסיכה PWM ו- DIR שדרכם מגן המנוע שלך פועל.

הבזק את התיקון ונסה את בוט המירוצים שלך. אם אתה פועל בדיוק לפי הוראות ההרכבה, אינך צריך לשנות את התיקון או להתאים את בקר ה- PID. ההגדרות שצוין הן אופטימליות למדי.

את התוכנית המוגמרת ניתן למצוא בקרב אנשי הספרייה/מרוצי לוח-לבן

שלב 8: חלון ראווה וטיפים

מוּמלָץ: