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

הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI ללא מחרוזות: 10 שלבים (עם תמונות)
הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI ללא מחרוזות: 10 שלבים (עם תמונות)

וִידֵאוֹ: הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI ללא מחרוזות: 10 שלבים (עם תמונות)

וִידֵאוֹ: הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI ללא מחרוזות: 10 שלבים (עם תמונות)
וִידֵאוֹ: הרב יגאל כהן | השלך על ה' את כל הצרות שלך! - שיעור חובה!!! 2024, נוֹבֶמבֶּר
Anonim
Image
Image
חלקים
חלקים

הרעיון:

ישנם לפחות 4 פרויקטים נוספים ב- Instructables.com (נכון ל -13 במאי 2015) סביב שינוי או שליטה על הזרוע הרובוטית של OWI. לא מפתיע, מכיוון שזו ערכה רובוטית כל כך נהדרת וזולה לשחק איתה. פרויקט זה דומה ברוחו (כלומר, שליטה בזרוע הרובוטית עם ארדואינו), אך שונה בגישה. [וִידֵאוֹ]

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

נשמע פשוט.

מה שהוא בסופו של דבר הוא פרויקט בן שלושה חלקים:

  1. כפפה מצוידת במספיק חיישנים לשליטה על LED ו -5 מנועים
  2. מכשיר משדר מבוסס Arduino Nano לקבל פקודות שליטה מהכפפה ולשלוח אותו באופן אלחוטי למכשיר בקר הזרוע.
  3. מקלט אלחוטי מבוסס Arduino Uno והתקן בקרת מנועים המחוברים לזרוע הרובוטית OWI

מאפיינים

  1. תמיכה בכל 5 דרגות החופש (DOF) ובמנורת LED
  2. כפתור אדום גדול - לעצור באופן מיידי את המנועים על הזרוע ולמנוע נזק
  3. עיצוב מודולרי נייד

למשתמשי מובייל: "סרטון הפרסום" של הפרויקט הזה נמצא כאן ב- YouTube.

שלב 1: חלקים

כְּפָפָה:

תצטרך את הדברים הבאים כדי לבנות בקר כפפות:

  1. כפפת Stretch Stitched Isotoner Smartouch (או דומה) - ב- Amazon.com
  2. חיישן Spectra Symboflex 2.2 אינץ ' - על Amazon.com
  3. GY -521 6DOF MPU6050 מודול גירוסקופ 3 צירים + מד תאוצה - ב- Fasttech.com
  4. 2X5 BOX HEADER STRAIGHT - באתר Phoenixent.com
  5. 2X5 IDC SOCKET -RECEPTACLE - באתר Phoenixent.com
  6. כבל סרט שטוח 10 מוליכים.050 אינץ ' - באתר Phoenixent.com
  7. 2 x 5 מ"מ נוריות - ירוק וצהוב
  8. 2 x כפתורים קטנים
  9. נגדים, חוטים, מחט, חוט שחור, אקדח דבק, אקדח הלחמה, הלחמה וכו '.

תיבת רצועה לשידור:

  1. לוח Arduino תואם Nano v3.0 ATmega328P -20AU - ב- Fasttech.com
  2. משדר אלחוטי nRF24L01+ 2.4GHz תואם Arduino - ב- Amazon.com
  3. Gymboss WRISTBAND - ב- Amazon.com
  4. מארז מחזיק סוללות 9V עם מתג הפעלה/כיבוי של עופרת חוט - ב- Amazon.com
  5. 2X5 BOX HEADER STRAIGHT - באתר Phoenixent.com
  6. סוללה 9v
  7. קבל 47uF (50v)
  8. נגדים, חוטים, אקדח דבק, אקדח הלחמה, הלחמה וכו '.

קופסת בקרת זרוע OWI רובוטית:

  1. לוח פיתוח תואם Uno R3 Rev3 תואם Arduino - ב- Fasttech.com
  2. ערכת אב טיפוס מגן DIY עבור Arduino (או דומה) - ב- Amazon.com
  3. משדר אלחוטי nRF24L01+ 2.4GHz תואם Arduino - ב- Amazon.com
  4. 3 x L293D 16 פינים משולב מעגל מנהל התקן מנוע IC - ב- Fasttech.com
  5. 1 x SN74HC595 74HC595 8 סיביות משמרות עם 3-מצב פנקס רשימות DIP16-ב- Amazon.com
  6. קבל 47uF (50v)
  7. קופסה לארדואינו - ב- Amazon.com
  8. מתג הדלק / כבה
  9. 2 כפתורי 13 מ"מ (כיפה אחת אדומה ואחת ירוקה)
  10. 2 x 2X7 BOX HEADER STRAIGHT - זהה לעיל ב- Phoenixent.com
  11. כבל סרט שטוח שטוח 14 מוליך.050 אינץ ' - אותו הדבר כפי שמוצג למעלה ב- Phoenixent.com
  12. סוללה 9V + מחבר קליפ
  13. נגדים, חוטים, אקדח דבק, אקדח הלחמה, הלחמה וכו '.

… וכמובן:

OWI Robotic Arm Edge - זרוע רובוט - OWI -535 - ב- Adafruit.com

שלב 2: פרוטוטייפ

פרוטוטייפ
פרוטוטייפ
פרוטוטייפ
פרוטוטייפ

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

פרויקט זה משתמש בכמה פיסות חומרה מאתגרות:

nRF24L01

לקח לי זמן לגרום לשני nRF24 לדבר אחד עם השני. כנראה שלא ננו, או אונו מספקים מספיק כוח 3.3v מיוצב כדי שהמודולים יעבדו בעקביות. פתרון במקרה שלי היה קבל 47uF לרוחב סיכות החשמל בשני המודולים nRF24. ישנן גם כמה מוזרויות בשימוש בספריית RF24 במצבי IRQ ולא IRQ, ולכן אני ממליץ ללמוד את הדוגמאות ממש בזהירות.

כמה משאבים מעולים:

nRF24L01 דף מוצר IC משדר RF 2.4 GHz במהירות נמוכה במיוחד

דף ספריית נהגים RF24

רק חיפוש בגוגל nRF24 + arduino יפיק הרבה קישורים. כדאי לחקור

מרשם משמרות 74HC595

לא מפתיע שהייתי צריך לשלוט על 5 מנועים, LED, שני כפתורים ומודול אלחוטי, נגמרו לי הסיכות ב- Uno מהר יחסית. הדרך הידועה "להרחיב" את מספר הסיכות שלך היא להשתמש במרשם משמרות. מכיוון ש- nRF24 כבר משתמש בממשק SPI, החלטתי להשתמש ב- SPI גם לתכנות רישום משמרות (למהירות ולשמירת סיכות) במקום פונקציית shiftout (). להפתעתי זה עבד כמו קסם מהפעם הראשונה. אתה יכול לבדוק את זה בהקצאת הסיכות ובשרטוטים.

לוחות לחם ומגשרים הם החברים שלך.

שלב 3: כפפה

כְּפָפָה
כְּפָפָה
כְּפָפָה
כְּפָפָה
כְּפָפָה
כְּפָפָה
כְּפָפָה
כְּפָפָה

ל- OWI רובוטי ARM יש 6 פריטים לשליטה (OWI רובוט Arm Edge Edge)

  1. LED הממוקם על ה- GRIPPER של המכשיר
  2. גריפ
  3. פרק יד
  4. מרפק - הוא החלק בזרוע הרובוטית המחובר ל- WRIST
  5. SHOULDER הוא החלק של הזרוע הרובוטית המחוברת ל- BASE
  6. בסיס

הכפפה מיועדת לשלוט ב- LED של זרוע רובוטית ובכל 5 המנועים (דרגות חופש).

יש לי חיישנים בודדים המסומנים בתמונות וכן תיאור להלן:

  1. ה- GRIPPER נשלט על ידי הכפתורים הממוקמים על האצבע האמצעית והורודים. הגריפר נסגר על ידי לחיצה על האצבע והאצבע האמצעית יחד. הגריפר נפתח על ידי לחיצה על הטבעת והורוד יחד.
  2. ה- WRIST נשלט על ידי הנגד הגמיש במאתר האינדקס. סלסול האצבע באמצע הדרך גורם לפרק כף היד לרדת, ולסלסול אותו כל הדרך גורם לפרק כף היד לעלות. החזקת האצבע המוחזקת עוצרת את פרק כף היד.
  3. ELBOW נשלט על ידי מד תאוצה - הטיית כף היד כלפי מעלה ומטה מזיזה את המרפק למעלה ולמטה בהתאמה
  4. ה- SHOULDER נשלט על ידי מד תאוצה - הטיית כף יד ימינה ושמאלה (אך לא הפוך!) מזיזה את הכתף כלפי מעלה ומטה בהתאמה.
  5. ה- BASE נשלט גם כן על ידי מד התאוצה, בדומה לכף היד המוטפת ימינה ושמאלה כל הדרך הפוך (כף היד כלפי מעלה) מזיזה את הבסיס ימינה ושמאלה בהתאמה.
  6. נורית ה- LED על הלוחץ מופעלת/כבויה על ידי לחיצה על שני כפתורי הבקרה של האחיזה יחד.

כל תגובות הלחצנים מתעכבות ברבע שנייה כדי להימנע מהתרגשות.

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

שתי נוריות LED בתיבת החיבור הן:

  1. ירוק - הפעלה
  2. צהוב - מהבהב כאשר הנתונים מועברים לתיבת בקרת הזרועות.

שלב 4: תיבת משדר

תיבת משדר
תיבת משדר
תיבת משדר
תיבת משדר
תיבת משדר
תיבת משדר

תיבת המשדר היא בעצם ארדואינו ננו, מודול אלחוטי nRF24, מחבר תיל גמיש ו -3 נגדים: 2 נגדים נפתחים של 10 קאוהם לכפתורי הבקרה של האחיזה בכפפה, ונגד מתח 20 קאוהם לחיישן הגמיש השולט על פרק כף היד.

הכל מולחם יחד על לוח ורו. שים לב כי nRF24 "תלוי" מעל ננו. חששתי שזה עלול לגרום להפרעות, אבל זה עובד.

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

עיין בשלב הקצאת הסיכות להוראות הלחמה

שלב 5: תיבת בקרת זרוע

תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע
תיבת בקרת זרוע

תיבת בקרת זרועות מבוססת על Arduino Uno. הוא מקבל פקודות מהכפפה באופן אלחוטי באמצעות מודול nRF24, ושולט על זרוע הרובוטוק OWI באמצעות 3 שבבי דרייבר L293D.

מכיוון שכמעט כל סיכות ה- Uno נוצלו, יש הרבה חוטים בתוך הקופסה - היא בקושי נסגרת!

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

חיבור ל- OWI

החיבור לזרוע הרובוטית מתבצע באמצעות כותרת 14 שורות כפולות (לפי התמונה למעלה) באמצעות כבל שטוח בן 14 חוטים.

  • חיבורי LED הם לקרקע משותפת (-) ולסיכת arduino A0 באמצעות נגד 220 אוהם
  • כל חוטי המנוע מחוברים לסיכות L293D 3/6, או 11/14 (+/- בהתאמה). כל L293D תומך בשני מנועים, ומכאן שני זוגות סיכות.
  • קווי החשמל של OWI הם סיכות השמאלי ביותר (+6 וולט) והימני ביותר (GND) של מחבר 7 הפינים בחלק האחורי של החלק העליון הצהוב. (אתה יכול לראות את החוטים מחוברים לתמונה למעלה). שני אלה מחוברים לסיכות 8 (+) ו -4, 5, 12, 13 (GND) בכל שלושת L293D.

אנא ראה את שאר הקצאת הסיכות בשלב הבא

שלב 6: הקצאת PIN

הקצאת PIN
הקצאת PIN
הקצאת PIN
הקצאת PIN
הקצאת PIN
הקצאת PIN

ננו:

  • שבב 3.3v - 3.3v עד nRF24L01 (סיכה 2)
  • 5v - 5v ללוח מד תאוצה, כפתורים, חיישן גמיש
  • a0 - כניסת נגד גמישה
  • a1 - בקרת LED צהובה "קומס"
  • a4 - SDA למד תאוצה
  • a5 - SCL עד מד תאוצה
  • d02 - סיכת הפסקה של שבב nRF24L01 (סיכה 8)
  • d03 - קלט כפתור אחיזה פתוח
  • d04 - סגור קלט כפתור אחיזה
  • d09 - פין SPI CSN לשבב nRF24L01 (סיכה 4)
  • d10 - פין SPI CS לשבב nRF24L01 (סיכה 3)
  • d11 - שבב SPI MOSI עד nRF24L01 (סיכה 6)
  • d12 - שבב SPI MISO עד nRF24L01 (סיכה 7)
  • d13 - שבב SPI SCK עד nRF24L01 (סיכה 5)
  • וין - 9v +
  • GND - בסיס משותף

UNO:

  • שבב 3.3v - 3.3v עד nRF24L01 (סיכה 2)
  • 5v - 5v לכפתורים
  • וין - 9v +
  • GND - בסיס משותף
  • a0 - LED פרק כף היד +
  • a1 - סיכת SPI SS לרישום משמרות בחר - להצמד 12 לרשום משמרות
  • a2 - קלט כפתור אדום
  • a3 - קלט כפתור ירוק
  • a4 - בסיס כיוון ימינה - סיכה 15 על L293D
  • a5 - comms led
  • d02 - כניסת IRQ nRF24L01 (סיכה 8)
  • d03 - הפעל סיכת סרוו בסיס (pwm) 1 או 9 על L293D
  • d04 - בסיס כיוון שמאל - סיכה 10 על L293D בהתאמה
  • d05 - אפשר סיכת סרוו כתף (pwm) 1 או 9 על L293D
  • d06 - הפעל סרוו מרפק (pwm) סיכה 1 או 9 על L293D
  • d07 - פין SPI CSN לשבב nRF24L01 (סיכה 4)
  • d08 - פין SPI CS לשבב nRF24L01 (סיכה 3)
  • d09 - הפעל את סרוו פרק היד (pwm) סיכה 1 או 9 על L293D
  • d10 - אפשר סיכת סרוו אחיזה (pwm) 1 או 9 על L293D
  • d11 - שבב SPI MOSI עד nRF24L01 (סיכה 6) וסיכה 14 במרשם המשמרות
  • d12 - שבב SPI MISO עד nRF24L01 (סיכה 7)
  • d13 - שבב SPI SCK עד nRF24L01 (סיכה 5) וסיכה 11 במרשם המשמרות

רישום משמרות ו- L293Ds:

  • סיכה QA (15) של 74HC595 לסיכה 2 של L293D #1
  • סיכה QB (1) של 74HC595 לסיכה 7 של L293D #1
  • סיכה QC (2) של 74HC595 לסיכה 10 של L293D #1
  • סיכה QD (3) של 74HC595 לסיכה 15 של L293D #1
  • סיכה QE (4) של 74HC595 לסיכה 2 של L293D #2
  • סיכה QF (5) של 74HC595 לסיכה 7 של L293D #2
  • סיכה QG (6) של 74HC595 לסיכה 10 של L293D #2
  • סיכה QH (7) של 74HC595 לסיכה 15 של L293D #2

שלב 7: תקשורת

תִקשׁוֹרֶת
תִקשׁוֹרֶת

כפפה שולחת 2 בתים של נתונים לתיבת הבקרה 10 פעמים בשנייה או בכל פעם שמתקבל אות מאחד החיישנים.

2 בייטים מספיקים ל -6 פקדים מכיוון שעלינו לשלוח רק:

  • ON/OFF עבור LED (1 bit) - למעשה השתמשתי ב -2 סיביות כדי להיות עקבי עם המנועים, אבל אחד מספיק
  • כבוי/ימינה/שמאל ל -5 מנועים: 2 ביט כל אחד = 10 סיביות

סה כ 11 או 12 סיביות מספיקות.

קודי כיוון:

  • כבוי: 00
  • מימין: 01
  • שמאל: 10

מילת השליטה נראית כך (בצורה חכמה):

בת 2 ---------------- בת 1 ----------------

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 LED-- M5-- M4-- M3-- M2-- M1--

  • M1 - תפס
  • M2 - פרק כף היד
  • M3 - מרפק
  • M4 - כתף
  • M5 - בסיס

ניתן להזין את בית 1 ישירות לרשומות המשמרות מכיוון שהוא שולט בימין/שמאל של מנועים 1 עד 4.

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

שלב 8: סקיצות ועוד …

סקצ'ס ועוד …
סקצ'ס ועוד …

כְּפָפָה

מערכון הכפפות משתמש בספריות הבאות:

  • DirectIO - זמין ב- Github
  • I2Cdev - זמין ב- Github
  • Wire - חלק מ- Arduino IDE
  • MPU6050 - זמין ב- Github
  • SPI - חלק מ- Arduino IDE
  • RF24 - זמין ב- Github

ושלוש ספריות שפותחו על ידי:

  • AvgFilter - זמין ב- Github
  • DhpFilter - זמין ב- Github
  • TaskScheduler - זמין ב- Github

סקיצת כפפות זמינה כאן: כפפת סקיצה v1.3

תיבת בקרת זרוע

סקיצת זרוע משתמשת בספריות הבאות:

  • DirectIO - זמין ב- Github
  • PinChangeInt - זמין ב- Github
  • SPI - חלק מ- Arduino IDE
  • RF24 - זמין ב- Github

וספרייה שפותחה על ידי:

TaskScheduler - זמין ב- Github

סקיצת זרוע זמינה כאן: Arm Sketch v1.3

גליונות נתונים עבור חומרה בשימוש

  • רשום משמרות 74HC595 - גליון נתונים
  • נהג מנוע L293D - גליון נתונים
  • מודול אלחוטי nRF24 - גליון נתונים
  • מודול תאוצה/גירוסקופ MPU6050 - דף נתונים

31 במאי, 2015 עדכון:

גרסה חדשה של רישומי כפפות וזרועות בקרת זרועות זמינה כאן: סקיצות כפפות וזרועות v1.5

הם גם ממוקמים כאן ב- github.

שינויים

  • נוספו שני בתים נוספים למבנה התקשורת לשליחת מהירות המנוע המבוקשת עבור מנועי היד, המרפק, הכתף והבסיס כערך 5 ביט (0.. 31) מהכפפה ביחס לזווית תנועת הבקרה (ראה להלן). Arm Control Box ממפה ערכים [0.. 31] לערכי PWM בהתאמה לכל אחד מהמנועים. זה מאפשר בקרת מהירות הדרגתית על ידי המפעיל וטיפול ידני מדויק יותר.
  • מערך מחוות חדש:

1. LED: כפתורי שליטה ב- LED - כפתור האצבע האמצעית - ON, כפתור אצבע הזרת - OFF

2. GRIPPER: פקדי רצועה גמישים Gripper - אצבע כפופה למחצה - פתוח, אצבע כפופה לגמרי - CLOSE

3. פרק כף היד: פרק כף היד נשלט על ידי הטיית כף היד ממיקום אופקי לחלוטין למעלה ולמטה בהתאמה. יותר הטיה מייצרת יותר מהירות

4. זרוע: הזרוע נשלטת על ידי הטיית כף היד ממיקום אופקי לחלוטין שמאל וימין. יותר הטיה מייצרת יותר מהירות

5. כתף: הכתף נשלטת על ידי סיבוב כף היד ימינה ושמאלה מכף היד כפופה כלפי מעלה. כף היד מסתובבת לאורך ציר המרפק (כמו מנופף ביד)

6. בסיס: הבסיס נשלט באותו אופן כמו הכתף כשהכף מכוונת ישר כלפי מטה.

שלב 9: מה עוד?

מה עוד?
מה עוד?

דמיון בעבודה

כרגיל במערכות כאלה, ניתן לתכנת אותן לבצע הרבה יותר.

לדוגמה, העיצוב הנוכחי כבר כולל יכולות נוספות, שאינן אפשריות עם השלט הסטנדרטי:

  • עליית מהירות הדרגתית: כל תנועה מוטורית מתחילה במהירות מינימלית מוגדרת מראש, המוגברת בהדרגה כל שניה אחת עד להשגת מהירות מרבית. זה מאפשר שליטה מדויקת יותר של כל אחד מהמנועים (במיוחד פרק כף היד והאוחז)
  • ביטול תנועה מהיר יותר: כאשר הפקודה מתקבלת על ידי תיבת הזרוע לעצור מנוע, היא הופכת לרגע את המנוע למשך כ -50 אלפיות השנייה, ובכך "שוברת" את התנועה ומאפשרת שליטה מדויקת יותר.

מה עוד?

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

אם יש לך רעיון כיצד לתכנת את הכפפה מחדש, או שיש לך גרסה של סקיצה שאתה רוצה שאבדוק - אנא יידע אותי: [email protected]

שלב 10: *** זכינו !!! ***

*** ניצחנו !!! ***
*** ניצחנו !!! ***

פרויקט זה זכה בפרס הראשון בתחרות היצירות המקודדות בחסות מיקרוסופט.

תבדוק את זה! וו-הו !!!

יצירות מקודדות
יצירות מקודדות
יצירות מקודדות
יצירות מקודדות

פרס שני ביצירות המקודדות

מוּמלָץ: