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

רובוט הימנעות מאוטראסוניק באמצעות Arduino: 7 שלבים
רובוט הימנעות מאוטראסוניק באמצעות Arduino: 7 שלבים

וִידֵאוֹ: רובוט הימנעות מאוטראסוניק באמצעות Arduino: 7 שלבים

וִידֵאוֹ: רובוט הימנעות מאוטראסוניק באמצעות Arduino: 7 שלבים
וִידֵאוֹ: Sensors on Drones 2024, נוֹבֶמבֶּר
Anonim
Image
Image
רובוט הימנעות מאוטראסוניק באמצעות Arduino
רובוט הימנעות מאוטראסוניק באמצעות Arduino

במדריך זה, אראה לך כיצד ליצור מכשול משלך להימנע מרובוט! נשתמש בלוח ה- UNO של Arduino ובחיישן קולי. אם הרובוט מזהה אובייקט שמולו, בעזרת מנוע סרוו קטן, הוא סורק את האזור שמאלה וימינה על מנת למצוא את הדרך הטובה ביותר לפנות. יש לו גם נורית התראה, זמזם להשמעת צליל כאשר אובייקט מזוהה וכפתור לשינוי תפקוד הרובוט (עצור/התקדם קדימה).

קל מאוד להכין אותו!

שלב 1: דברים שצריך לעשות

דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!
דברים שצריך לעשות!

לפרויקט זה תזדקק ל:

  1. Arduino UNO (קנה אותו מ gearbest.com)
  2. קרש לחם מיני (קנה אותו מ gearbest.com)
  3. מודול נהג מנוע L298 (קנה אותו מ gearbest.com)
  4. 2 מנועי DC עם גלגלים חיישן קולי HC-SR04 (קנה אותו מ gearbest.com)
  5. מנוע סרוו מיקרו (קנה אותו מ gearbest.com)
  6. כפתור אדום LED220 אוהם נגד סוללה 9V (עם או בלי שקע חשמל)
  7. 8 מרווחים (זכר-נקבה),
  8. 8 אגוזים ו 8 ברגים תצטרך גם אחד גדול (מתכת)

מהדק וחרוז לייצור הגלגל התומך האחורי.

לבסיס הרובוטים השתמשתי בשאסיס אקרילי מ- Aliexpress. אתה יכול גם להשתמש בחתיכת עץ או מתכת (או שתי פלטות חשמליות).

עלות הפרויקט כולו כ 20 $

כלים: מכונת מקדחה דבק סופר נהג צוות דבק אקדח חם (אופציונלי) כוח:

נשתמש בסוללת 9V להפעלת הרובוט שלנו מכיוון שהוא קטן וזול, אך הוא אינו חזק במיוחד ויהיה ריק לאחר כשעה. שקול אם אתה רוצה להשתמש בסוללה נטענת (מינימום 6V, מקסימום 7V) שהיא תהיה חזקה יותר אך היא תהיה גם יקרה וגדולה יותר מסוללת 9V. הירשם לערוץ YouTube שלנו לחץ כאן

שלב 2: הבנת מושגים

הבנת מושגים
הבנת מושגים
הבנת מושגים
הבנת מושגים
הבנת מושגים
הבנת מושגים

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

חיישן קולי

HC-SR04 הוא מעגל המסוגל למדוד מרחק לאובייקטים עד 4 מטרים באמצעות גלי קולי. הוא שולח פינג (כמו צוללת) ומודד את הזמן (במיקרו שניות) בין שליחה לקבלה של כל דבר בחזרה. הזמן הזה מחולק אז ב- 2 כשהגל נוסע הלוך ושוב. ואז חלקו ב- 29 כדי לקבל מרחק בסנטימטרים (או 74 לאינץ '), מכיוון שהצליל עובר 29.4µs לכל סנטימטר (340 m/s). החיישן מדויק מאוד עם סובלנות של ~ 3 מ מ וקל לשילוב עם Arduino.

חיישן קולי ממשק עם מיקרו -בקר AVR

כל רובוט אוטונומי צריך להיות מכשול להימנע מחיישן מדידת מרחק. זוג משדרי IR או חיישן בגווני אפור יכולים לפעול בקלות לגילוי מכשולים בטווח של 1 ס"מ עד 10 ס"מ. מדדי טווח IR (למשל אלה מחדים) יכולים למדוד מרחק למכשול הקרוב ביותר עם טווח של עד 100 ס"מ. עם זאת, חיישני IR מושפעים מאור השמש וממקורות אור אחרים. למדידי טווח IR יש פחות טווח וגם יקרים עבור מה שהוא עושה. חיישנים אולטרא סאונד (הידועים גם בשם חיישני קרבה אולטראסוניים או סונאר לחנונים) מבצעים את שתי המשימות הללו בעלות סבירה ודיוק יוצא דופן. הטווח הוא בין 3 ס"מ ל 350 ס"מ עם דיוק של ~ 3 מ"מ. אם הוא קושר את אחד החיישנים האולטראסוניים האלה לתוך הרובוט שלנו, הוא יכול לשמש גם כמניעת מכשולים וגם כחיישן מדידת מרחק.

צליל "אולטרא סאונד" מתייחס לכל דבר הנמצא מעל תדרי הצליל הנשמע, וכולל באופן נומינלי כל דבר מעל 20, 000 הרץ או 20 קילוהרץ! חיישנים אולטרסוניים זולים המשמשים לרובוטיקה עובדים בדרך כלל בטווח של 40 קילוהרץ עד 250 קילוהרץ ואילו אלה המשמשים בציוד רפואי עולה עד 10 מגה -הרץ.

שלב 3: יש צורך בכלים

יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
יש צורך בכלים
  1. מולטימטר
  2. לוח לחם
  3. צבת אף מחט
  4. חשפן חוטים
  5. קאטר
  6. אקדח דבק

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

חומרי בנייה

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

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

כלים ידניים

מברגים וצבת מסוגים וגדלים שונים (כולל ערכת הכלים של תכשיטנים: מברגים קטנים הקיימים בדרך כלל בחנויות הדולר) נחוצים. מקדחה (רצוי מכונת קידוח לחורים ישרים) חשובה גם היא. מסור יד לחיתוך חומרי בניין (או נתב) הוא גם נכס חשוב. אם התקציב מאפשר, מסור להקה קטן לשולחן (טווח של 200 $) הוא בהחלט כלי לשקול.

לוח לחם ללא הלחמה

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

סט מברג קטן

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

סט מברג רגיל

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

צבת אף מחט

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

חשפניות/חותכות חוטים

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

שלב 4: תוקף לקידוד AVR

קוקפטים לקידוד AVR
קוקפטים לקידוד AVR

חישוב מהירות הקול ביחס לחיישנים אולטראסוניים

קצת מתמטיקה, אבל אל תפחד. זה פשוט יותר ממה שאתה חושב.

מהירות הקול באוויר היבש בטמפרטורת החדר (~ 20 מעלות צלזיוס) = 343 מטרים/שנייה

כדי שגל הקול יפגע ויעבור הלוך ושוב לאובייקט הסמוך הוא = 343/2 = 171.5 מ '/מכיוון שהטווח המרבי של חיישן אולטרסוני זול אינו עולה על 5 מטרים (הלוך ושוב), יהיה הגיוני יותר שנה את היחידות לסנטימטרים ולמיקרו שניות.

1 מטר = 100 סנטימטר 1 שנייה = 10^6 מיקרו שניות = (s/171.5) x (m/100 ס מ) x ((1x10^6)/s) = (1/171.5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/cm = 58.31 us/cm (עיגול לשתי ספרות כדי להקל על החישובים)לכן הזמן שנדרש לדופק לעבור לאובייקט ולהחזיר סנטימטר אחד הוא 58.31 מיקרו שניות.

הרקע הקטן על מחזורי שעון AVR

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

לדוגמא שלנו, נשתמש בלוח AVR Draco הכולל מיקרו-בקר AVR 8-bit-Atmega328P. כדי לשמור על דברים פשוטים, לא נצליח לשנות את ההגדרות של מיקרו -בקר. לא נגעו בחתיכות נתיכים; ללא קריסטל חיצוני מצורף; אין כאב ראש. בהגדרות היצרן, הוא פועל על מתנד פנימי של 8 מגה -הרץ עם מכשיר מידה מוקדם /8; אם אתה לא מבין את כל זה, זה פשוט אומר שהמיקרו -בקר פועל על מתנד RC פנימי של 1 מגה -הרץ וכל מחזור שעון לוקח 1 מיקרו -שנייה.

1 2 1MHz = של 1000000 מחזורים לשנייה לכן 1s/1000000 = 1/1000000 = 1us

שעוני AVR והמרת מרחק

אנחנו כמעט שם! ברגע שאנו יודעים כיצד להמיר מחזורי שעון AVR למרחק שעליהם גלי הקול, יישום ההיגיון בתוכנית קל.

אנו יודעים שמהירות הצליל הקולי בסביבה האידיאלית היא: 58.31 us/cm

אנו יודעים כי הרזולוציה של מיקרו -בקר AVR היא מחזור 1us/שעון (CLK)

לכן המרחק שעובר הצליל לפי מחזור השעון (CLK) הוא:

1 2 3 = (58.31 us/ cm) x (1us/ clk) = 58.31 מחזורי שעון/ cm או = 1/ 58.31 cm/ clk

אם מספר מחזורי השעון הדרושים לצליל לנסוע והחזרה לאחור ידוע, נוכל לחשב את המרחק בקלות. לדוגמה, אם החיישן לוקח 1000 מחזורי שעון לנסיעה והקפצה לאחור, אז המרחק מחיישן לאובייקט הקרוב ביותר הוא = 1000/58.31 = 17.15 ס מ (בערך)

האם הכל הגיוני עכשיו? לא? תקרא אותו שוב

אם אתה ברור עם כל ההיגיון שהוזכר לעיל, ניישם אותו בתרחיש בעולם האמיתי על ידי חיבור חיישן אולטרסוני HC-SR04 זול ללוח ה- AVR Arduino שלנו.

שלב 5: חיבורי חומרה:

חיבורי חומרה
חיבורי חומרה
חיבורי חומרה
חיבורי חומרה
חיבורי חומרה
חיבורי חומרה
חיבורי חומרה
חיבורי חומרה

לוח Arduino מקל על חיבור כל חיישנים חיצוניים וגם לצפות בתוצאות על LCD. לחישת טווח קולי אנו משתמשים במודול HC-SR04 זול. המודול כולל 4 פינים הניתנים לחיבור ללוח המיקרו -בקר: VCC, TRIG, ECHO ו- GND.

חבר את סיכת VCC ל- 5V ולסיכת GND לקרקע על לוח ה- Arduino.

ניתן לחבר את סיכת TRIG ואת סיכת ECHO לכל סיכות זמינות בלוח. שליחת אות 'גבוה' לכל הפחות של 10us שולחת שמונה גלי קול של 40 קילוהרץ ומשכה את סיכת ההד גבוה. אם הצליל קופץ מעצם סמוך וחוזר, הוא נלכד על ידי קבלת מתמר וסיכת ההד נמשכת 'נמוכה'.

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

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

שלב 6: קוד

קוד הקוד למטה מכיל רק הרחבה "אולטראסוני" לשליטה במנועי DC באמצעות גשר H מהמאמר הקודם. כשהרובוט מזהה מכשול לפניו, הוא מסתובב (מדרגה אקראית) וממשיך להתקדם. ניתן להרחיב את הפונקציונליות הזו בקלות כדי להמשיך ולפנות ולזהות מכשולים בו זמנית - כך שהרובוט לא יסתובב באקראי, אלא יתחיל לנוע קדימה רק כשאין אובייקט.

להסבר קוד עיין בסרטון Youtube המופיע בערוץ.

שלב 7: וידאו

צפו בסרטון לתהליך כולו.

מוּמלָץ: