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

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

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

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

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

אז, כפי שאנו יכולים לראות, הזרוע הרובוטית עושה הרבה פונקציות שימושיותויכול לשמש כלי אידיאלי ללימוד תהליכים שונים. עם זאת, יצירת זרוע רובוטית מאפס היא א משימה קשה. הרבה יותר קל להרכיב יד מחלקים של ערכה מוכנה. OWI מוכר מספיק סטים טוביםזרועות מניפולטור, אותן ניתן לרכוש ממפיצים רבים מכשירים אלקטרוניים(ראה רשימת חלקים בסוף פרק זה). באמצעות הממשק, תוכל לחבר את הזרוע הרובוטית המורכבת ליציאת המדפסת של המחשב העובד שלך. כמחשב עבודה, אתה יכול להשתמש בסדרת PC IBM או מחשב תואם התומך ב-DOS או ב-Windows 95/98.

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

גם תכנות של שרשרת פעולות אוטומטיות אינו מהווה עבודה מיוחדת. ראשית, לחץ על מקש התוכנית כדי להיכנס למצב התוכנית. במוד זה, היד מתפקדת בדיוק באותו אופן כפי שתואר לעיל, אך בנוסף, כל פונקציה ומשך הזמן שלה מתועדים בקובץ סקריפט. קובץ סקריפט יכול להכיל עד 99 פונקציות שונות, כולל הפסקות. ניתן להפעיל את קובץ הסקריפט עצמו 99 פעמים. הקלטת קבצי סקריפט שונים מאפשרת לך להתנסות ברצף של פעולות אוטומטיות הנשלט על ידי מחשב ו"להחיות" את היד. העבודה עם התוכנית תחת Windows 95/98 מתוארת בפירוט רב יותר להלן. תוכנית Windows כלולה בערכת ממשק הזרוע הרובוטית או ניתנת להורדה בחינם מהאינטרנט בכתובת http://www.imagesco.com.

נוֹסָף עַל תוכנית Windowsניתן לשלוט בזרוע באמצעות BASIC או QBASIC. התוכנית ברמת ה-DOS נמצאת על גבי תקליטונים הכלולים בערכת הממשק. עם זאת, תוכנת ה-DOS מאפשרת שליטה רק במצב אינטראקטיבי באמצעות המקלדת (ראה תדפיס של תוכנית ה-BASIC באחד התקליטון). התוכנית ברמת DOS אינה מאפשרת לך ליצור קבצי סקריפט. עם זאת, אם יש לך ניסיון בתכנות ב-BASIC, אזי ניתן לתכנת את רצף התנועות של זרוע המניפולטור בדומה לפעולה של קובץ סקריפט בשימוש בתוכנית תחת Windows. ניתן לחזור על רצף התנועות, כפי שנעשה ברובוטים "הנפשים" רבים.

זרוע רובוטית

לזרוע המניפולטור (ראה איור 15.1) שלוש דרגות של חופש תנועה. מפרק המרפק יכול לנוע אנכית למעלה ולמטה בקשת של כ-135 מעלות. "מפרק" הכתף מזיז את האחיזה קדימה ואחורה בקשת של כ-120°. הזרוע יכולה להסתובב עם כיוון השעון או נגד כיוון השעון על הבסיס בזווית של כ-350 מעלות. תפס היד של הרובוט יכול לאחוז ולהחזיק חפצים בקוטר של עד 5 ס"מ ולסובב סביב מפרק כף היד ב-340 מעלות בקירוב.

אוֹרֶז. 15.1. תרשים קינמטי של תנועות וסיבובים של הזרוע הרובוטית


OWI Robotic Arm Trainer השתמש בחמישה מנועים מיניאטוריים כדי להזיז את הזרוע. זֶרֶם יָשָׁר. המנועים מספקים שליטה על הזרוע באמצעות חוטים. שליטה "חוטית" זו פירושה שכל פונקציה של תנועת הרובוט (כלומר פעולת המנוע המתאים) נשלטת על ידי חוטים נפרדים (אספקת מתח). כל אחד מחמשת מנועי ה-DC שולט בתנועת זרוע שונה. שליטה באמצעות חוט מאפשרת לך ליצור יחידת בקר יד המגיבה ישירות לאותות חשמליים. זה מפשט את העיצוב של ממשק זרוע הרובוט שמתחבר ליציאת המדפסת.

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

הערכה לייצור זרוע רובוט ומרכיביה מוצגים באיורים 15.2 ו-15.3.


אוֹרֶז. 15.2. ערכה להכנת זרוע רובוטית



אוֹרֶז. 15.3. תיבת הילוכים לפני ההרכבה

עקרון שליטה מוטורית

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


אוֹרֶז. 15.4. בדוק את דיאגרמת המכשיר

עיצוב ממשק מחשב

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


אוֹרֶז. 15.5. תרשים סכמטיממשק PC



אוֹרֶז. 15.6. פריסה של חלקי ממשק מחשב


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

עצה כללית: לאחר הלחמת החלק אל מוליכים של המעגל המודפס, יש צורך להסיר מובילים ארוכים מדי מצד ההדפסה. זה מאוד נוח לעקוב אחר רצף מסוים בעת התקנת חלקים. ראשית, התקן את הנגדים של 100 קילו אוהם (בצבע הטבעת: חום, שחור, צהוב, זהב או כסף), המסומנים R1-R10. לאחר מכן, הרכב את 5 הדיודות D1-D5, וודא שהפס השחור על הדיודות נמצא מול מחבר DB25, כפי שמוצג על ידי הקווים הלבנים המסומנים בצד ההרכבה של ה-PCB. לאחר מכן, התקן נגדים של 15k אוהם (בצבע חום, ירוק, כתום, זהב או כסף) המסומנים R11 ו-R13. בעמדה R12, הלחמו נורית LED אדומה ללוח. אנודת ה-LED מתאימה לחור מתחת ל-R12, המסומן בסימן +. לאחר מכן הרכיבו את שקעי ה-14 וה-20 פינים מתחת ל-ICs U1 ו-U2. הרכיבו והלחמו את המחבר הזוויתי DB25. אל תנסה להכניס את פיני המחבר ללוח בכוח מוגזם. הדבר דורש דיוק רב. במידת הצורך, נדנד בעדינות את המחבר, והיזהר לא לכופף את רגלי הפינים. חברו את מתג ההחלקה ואת ווסת המתח 7805 חתכו ארבע פיסות חוט באורך הנדרש והלחמו לחלק העליון של המתג. עקוב אחר פריסת החוט כפי שמוצג בתמונה. הכנס והלחמי את הטרנזיסטורים TIP 120 ו- TIP 125 לבסוף, הלחמו את מחבר הבסיס עם שמונה פינים ואת כבל החיבור בגודל 75 מ"מ. הבסיס מותקן כך שהמובילים הארוכים ביותר פונים כלפי מעלה. הכנס שני ICs - 74LS373 ו-74LS164 - לשקעים המתאימים. ודא שהמיקום של מפתח ה-IC על מכסה ה-IC תואם למפתח המסומן בקווים לבנים על ה-PCB. אולי שמתם לב שנותר מקום על הלוח לחלקים נוספים. מיקום זה מיועד למתאם הרשת. באיור. איור 15.7 מציג צילום של הממשק המוגמר מצד ההתקנה.


אוֹרֶז. 15.7. הרכבת ממשק מחשב. מבט מלמעלה

איך הממשק עובד

לזרוע הרובוטית חמישה מנועי DC. בהתאם לכך, נצטרך 10 אפיקי קלט/פלט כדי לשלוט בכל מנוע, כולל כיוון הסיבוב. היציאה המקבילה (מדפסת) של מחשב IBM ומכונות תואמות מכילה רק שמונה אפיקי קלט/פלט. כדי להגדיל את מספר אוטובוסים בקרה, ממשק זרוע הרובוט משתמש ב-74LS164 IC, שהוא ממיר טורי-למקביל (SIPO). על ידי שימוש בשני אפיקי יציאה מקבילים בלבד, D0 ו-D1, ששולחים קוד סידורי ל-IC, נוכל לקבל שמונה אוטובוסים נוספים של I/O. כאמור, ניתן ליצור שמונה אוטובוסים I/O, אך ממשק זה משתמש בחמישה מהם.

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

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

לאחר שידור חבילת מידע טורית ל-IC 74LS164, אות הפעלה נשלח ל-IC 74LS373 מהפין D2 של היציאה המקבילה. זה מאפשר לך להעביר מידע כבר בקוד מקביל מהכניסה של ה-IC 74LS174 לאוטובוסי המוצא שלו. מצב אפיקי המוצא נשלט בהתאם על ידי הטרנזיסטורים TIP 120, אשר, בתורם, שולטים בפונקציות של זרוע המניפולטור. התהליך חוזר על עצמו בכל פעם צוות חדשעל יד המניפולטור. אוטובוסים של יציאות מקבילות D3-D7 מניעות ישירות טרנזיסטורי TIP 125.

חיבור הממשק לזרוע המניפולטור

הזרוע הרובוטית מופעלת על ידי ספק כוח 6V המורכב מארבעה תאי D הממוקמים בבסיס המבנה. ממשק המחשב מופעל גם על ידי מקור 6 V זה. ספק הכוח הוא דו קוטבי ומייצר ±3 V. מתח מסופק לממשק באמצעות מחבר מולקס בעל שמונה פינים המחובר לבסיס ההנעה.

חבר את הממשק לזרוע באמצעות כבל מולקס 75 מ"מ בעל שמונה מוליכים. כבל Molex מתחבר למחבר הממוקם בבסיס ההנעה (ראה איור 15.8). בדוק שהמחבר מוכנס בצורה נכונה ובטוחה. לחיבור לוח הממשק למחשב השתמש בכבל DB25 באורך 180 ס"מ הכלול בערכה. קצה אחד של הכבל מתחבר ליציאת המדפסת. הקצה השני מתחבר למחבר DB25 בלוח הממשק.


אוֹרֶז. 15.8. חיבור ממשק המחשב לזרוע הרובוטית


ברוב המקרים, מדפסת מחוברת בדרך כלל ליציאת המדפסת. כדי למנוע את הטרחה של חיבור וניתוק מחברים בכל פעם שאתה רוצה להשתמש במצביע, כדאי לרכוש בלוק מתג אוטובוס מדפסת A/B דו-מצבי (DB25). חבר את מחבר ממשק המצביע לקלט A ואת המדפסת לקלט B. כעת תוכל להשתמש במתג כדי לחבר את המחשב למדפסת או לממשק.

התקנת התוכנית תחת Windows 95

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

עבודה עם התוכנית תחת Windows 95

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

לחץ פעמיים על סמל התמונות בתפריט ההתחלה כדי להפעיל את התוכנית. חלון התוכנית מוצג באיור. 15.9. כאשר התוכנית פועלת, הנורית האדומה בלוח הממשק אמורה להבהב. פֶּתֶק:אין צורך להפעיל את הממשק כדי שהנורית תתחיל להבהב. המהירות שבה הנורית מהבהבת נקבעת על פי מהירות המעבד של המחשב שלך. הבהוב LED עשוי להיראות עמום מאוד; כדי להבחין בכך, ייתכן שיהיה עליך לעמעם את האור בחדר ולחבוש את הידיים כדי לראות את ה-LED. אם הנורית לא מהבהבת, ייתכן שהתוכנית ניגשת לכתובת היציאה השגויה (יציאת LPT). כדי להעביר את הממשק לכתובת יציאה אחרת (יציאת LPT), עבור אל תיבת אפשרויות יציאת המדפסת הממוקמת בצד ימין הפינה העליונהמָסָך. בחר באפשרות אחרת. התקנה נכונהכתובת היציאה תגרום לנורית להבהב.


אוֹרֶז. 15.9. צילום מסך של תוכנית ממשק המחשב עבור Windows


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

יצירת קובץ סקריפט

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

"החייאה" של חפצים

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

מגבלות יישום

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

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

מציאת עמדת הבית

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

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

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

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

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

מערכת בקרת ממשק ידנית

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


אוֹרֶז. 15.10. חיבור שליטה ידני

תוכנת בקרת מקלדת DOS

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

בשליטה קולית של זרוע המניפולטור, נעשה שימוש בערכת זיהוי דיבור (SRR), שתוארה בפרק. 7. בפרק זה ניצור ממשק המחבר את ה-URR עם זרוע המניפולטור. ממשק זה מוצע גם כערכה על ידי Images SI, Inc.

דיאגרמת הממשק של ה-URR מוצגת באיור. 15.11. הממשק משתמש במיקרו-בקר 16F84. התוכנית עבור המיקרו-בקר נראית כך:


'תוכנית ממשק URR

סמל PortA = 5

סמל TRISA = 133

סמל PortB = 6

סמל TRISB = 134

אם bit4 = 0 אז הפעל 'אם כתיבה לטריגר מותרת, קרא את הסכימה

צריך להתחיל 'חזרה'

הפסקה 500 'המתן 0.5 שניות

Peek PortB, B0 'קרא קוד BCD

אם bit5 = 1 אז שלח 'קוד פלט

צריך להתחיל 'חזור

הצצה PortA, b0 'קריאת יציאה A

אם bit4 = 1 אז אחת עשרה 'האם המספר 11?

לתקוע PortB, b0 'קוד פלט

צריך להתחיל 'חזור

אם bit0 = 0 אז עשר

צריך להתחיל 'חזור

צריך להתחיל 'חזור



אוֹרֶז. 15.11. תוכנית של בקר URR עבור הזרוע הרובוטית


את עדכון התוכנית עבור 16F84 ניתן להוריד בחינם מ- http://www.imagesco.com

תכנות ממשק URR

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

טבלה 15.1

רשימת חלקי ממשק מחשב

(5) טרנזיסטור NPN TIP120

(5) טרנזיסטור PNP TIP 125

(1) ממיר קוד IC 74164

(1) IC 74LS373 שמונה מפתחות

(1) LED אדום

(5) דיודה 1N914

(1) שקע מולקס 8 פינים

(1) כבל מולקס 8 ליבות באורך 75 מ"מ

(1) מתג DIP

(1) מחבר זוויתי DB25

(1) כבל DB 25 1.8 מ' עם שני מחברים מסוג M.

(1) לוח מעגלים מודפסים

(3) נגד 15 קילו אוהם, 0.25 וואט


כל החלקים הרשומים כלולים בערכה.

רשימת חלקי ממשק דיבור

(5) טרנזיסטור NPN TIP 120

(5) טרנזיסטור PNP TIP 125

(1) שער IC 4011 NOR

(1) IC 4049 – 6 חוצצים

(1) מגבר תפעולי IC 741

(1) נגד 5.6 קילו אוהם, 0.25 וואט

(1) נגד 15 קילו אוהם, 0.25 וואט

(1) כותרת מולקס 8 פינים

(1) כבל מולקס 8 ליבות, אורך 75 מ"מ

(10) נגד 100 קילו אוהם, 0.25 ואט

(1) נגד 4.7 קילו אוהם, 0.25 ואט

(1) ווסת מתח IC 7805

(1) IC מיקרו-בקר PIC 16F84

(1) גביש 4.0 מגה-הרץ

ערכת ממשק זרוע מניפולטור

ערכה להכנת זרוע מניפולטור מבית OWI

ממשק זיהוי דיבור לזרוע רובוטית

סט מכשיר לזיהוי דיבור


ניתן להזמין חלקים מ:

Images, SI, Inc.

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

עוזר מס' 1 – מניפולטור רובוטי

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

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

איך עובד רובוט תעשייתי?

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

רובוטים תעשייתיים יכולים להיות 4 צירים (המשמשים להנחה ואריזה) ו-6 צירים (לסוגי עבודה אחרים). בנוסף, רובוטים שונים בהתאם לדרגת החופש: מ-2 עד 6. ככל שהוא גבוה יותר, כך המניפולטור משחזר בצורה מדויקת יותר את תנועת יד אדם: סיבוב, תנועה, דחיסה/שחרור, הטיה וכו'.
עקרון הפעולה של המכשיר תלוי בו תוֹכנָהוציוד, ואם בתחילת התפתחותו המטרה העיקרית הייתה שחרור העובדים מכבד ו מסוכן למראהעבודה, כיום מגוון המשימות שבוצעו גדל באופן משמעותי.

השימוש בעוזרים רובוטיים מאפשר לך להתמודד עם מספר משימות בו זמנית:

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

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

סוגי מניפולטורים רובוטיים תעשייתיים

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

בניגוד לסטריאוטיפ הקיים לגבי העלות הגבוהה של טכנולוגיה רובוטית, כולם, אפילו מפעל קטן, יוכלו לרכוש מנגנון כזה. מניפולטורים רובוטיים אוניברסליים קטנים בעלי כושר עומס קטן (עד 5 ק"ג) מבית ABB ו-FANUC יעלו בין 2 ל-4 אלף דולר.
למרות הקומפקטיות של המכשירים, הם מסוגלים להגביר את מהירות העבודה ואיכות עיבוד המוצר. לכל רובוט תיכתב תוכנה ייחודית המתאמת במדויק את פעולת היחידה.

דגמים מיוחדים במיוחד

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

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

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

מניפולטורים רובוטיים תעשייתיים של קוקה נחשבים למובילים בתחום זה. עלות בין 5 ל-300 אלף דולר (בהתאם ליכולת הטעינה והפונקציות).

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

היצרנים ABB, KUKA ו-Epson מציעים שימוש במכשירי הרמה עומסים כבדיםבמשקל של יותר מ-1 טון והובלה מהמחסן לאתר הטעינה.

יצרני מניפולטורים רובוטים תעשייתיים

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

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

Rozum Robotics (בלארוס). מומחי החברה פיתחו את המניפולטור הרובוטי התעשייתי PULSE, אשר בולט בקלילות ובנוחות השימוש שלו. המכשיר מתאים להרכבה, אריזה, הדבקה וסידור מחדש של חלקים. מחיר הרובוט הוא בסביבות 500 דולר.

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

מבט על החלק הפנימי של כף היד של הרובוט דמוי האדם RKP-RH101-3D. כף ידו של הרובוט דמוי האדם מהודקת ב-50%. (ראה איור 2).

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

זהו, באופן כללי, העיצוב של המניפולטור RKP-RH101-3D. באשר למורכבות המשימות שרובוט מסוים, המצויד במניפולטורים שונים המחליפים את ידיו, יכול לפתור, הן תלויות במידה רבה במורכבות ובשלמות של מכשיר הבקרה.
נהוג לדבר על שלושה דורות של רובוטים: תעשייתי, אדפטיבי ורובוטים עם בינה מלאכותית. אבל לא משנה איזה סוג של רובוט מתוכנן, הוא לא יכול להסתדר בלי ידיים של מניפולטור לביצוע משימות שונות. קישורי המניפולטור זזים זה לזה ויכולים לבצע תנועות סיבוביות ותרגום. לפעמים, במקום פשוט לתפוס חפץ מרובוטים תעשייתיים, החוליה האחרונה של המניפולטור (היד שלו) היא סוג של כלי עבודה, למשל, מקדחה, מַפתֵחַ בְּרָגִים, מרסס צבע או לפיד ריתוך. לרובוטים דמויי אדם עשויים להיות גם מכשירים מיניאטוריים נוספים בקצות האצבעות של המניפולטורים בצורת היד שלהם, למשל לקידוח, חריטה או ציור.

תצוגה כללית של רובוט הקרב האנושי על סרוו עם הידיים RKP-RH101-3D (ראה איור 3).


קֶשֶׁר:

אם הרכבת את חלקי המניפולטור בהתאם להוראות, תוכל להתחיל בהרכבה מעגל אלקטרוני. אנו מציעים לחבר את סרוו המניפולטור ל-Arduino UNO באמצעות Trerma-Power Shield, ולשלוט בסרוו באמצעות פוטנציומטרים של Trema.

  • סיבוב הכפתור של הפוטנציומטר הראשון של Trema יסובב את הבסיס.
  • סיבוב הכפתור של הפוטנציומטר השני של Trema יסובב את הזרוע השמאלית.
  • סיבוב כפתור הפוטנציומטר השלישי של Trema יסובב את הזרוע הימנית.
  • סיבוב כפתור הפוטנציומטר הרביעי של Trema תניע את האוחז.

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

קוד תוכנית:

אם תפעיל כוח לפני הכיול, המניפולטור עלול להתחיל לנוע בצורה לא מתאימה! השלם תחילה את כל שלבי הכיול.

#לִכלוֹל // חבר את ספריית Servo לעבודה עם סרוו Servo servo1; //הכריז על אובייקט servo1 לעבוד עם כונן הסרוו הבסיסי Servo servo2; //הכריז על אובייקט servo2 לעבוד עם סרוו הכתף השמאלית Servo servo3; //הכריז על אובייקט servo3 לעבוד עם סרוו זרוע ימין Servo servo4; //הכרז על אובייקט servo4 לעבוד עם סרוו לכידת int valR1, valR2, valR3, valR4; //הכרז על משתנים לאחסון ערכי פוטנציומטר //הקצה פינים: const uint8_t pinR1 = A2; // קבע את הקבוע ממספר הפלט של פוטנציומטר הבקרה. base const uint8_t pinR2 = A3; // קבע את הקבוע ממספר הפלט של פוטנציומטר הבקרה. כתף שמאל const uint8_t pinR3 = A4; // קבע את הקבוע ממספר הפלט של פוטנציומטר הבקרה. כתף ימין const uint8_t pinR4 = A5; // קבע את הקבוע ממספר הפלט של פוטנציומטר הבקרה. לכידת const uint8_t pinS1 = 10; // הגדר את הקבוע עם מספר הפין של כונן הסרוו הבסיסי const uint8_t pinS2 = 9; // הגדר את הקבוע עם מספר הפין של כונן הסרוו של הזרוע השמאלית const uint8_t pinS3 = 8; // הגדר את הקבוע עם מספר הפין של כונן הסרוו של הזרוע הימנית const uint8_t pinS4 = 7; // הגדר קבוע עם מספר הפין של כונן סרוו לכידת void setup())( // קוד פונקציית ההתקנה מבוצע פעם אחת: Serial.begin(9600); // התחל העברת נתונים לצג היציאה הטורית servo1.attach (pinS1); // הקצה את שרת האובייקט של כונן סרוו 1 סרוו2.הקצא את השליטה של ​​כונן סרוו 2 לאובייקט סרוו 2. // הקצה את השליטה של ​​סרוו 2; כונן 3 לאובייקט servo3 servo4.attach(pinS4); , 0, 1024, 10, 170; servo1.write(valR1); 0, 1024, 80, 170; // שליטה על הכתף השמאלית את הזוויות המצוינות בשורה זו: יתכן שיהיה צורך לשנות (כיול) 80 ו-170 ) valR3=map(analogRead(pinR3), 0, 1024, 60, 170 ); // שלוט בכתף ​​ימין את הזוויות המצוינות בשורה זו: ייתכן שיהיה צורך לשנות (כיול) את הזוויות המצוינות ב-60 ו-170 valR4=map(analogRead(pinR4), 0, 1024, 40, 70); servo4.write(valR4); // שליטה בלכידת הזוויות המצוינות בשורה זו: 40 ו-70 ייתכן שיהיה צורך לשנות (כיול) Serial.println((String) "A1 = "+valR1+",\t A2 = "+valR2+",\t A3 = "+valR3+ ", \t A4 = "+valR4); // הצג את הפינות על הצג)

כִּיוּל:

לפני שתתחיל לעבוד עם המניפולטור, אתה צריך לכייל אותו!

    כיול מורכב מציון הערכים הקיצוניים של זווית הסיבוב עבור כל סרוו, כך שהחלקים לא יפריעו לתנועות שלהם.
  • נתק את כל הסרוו מה-Trema-Power Shield, העלה את הסקיצה וחבר חשמל.
  • פתח את צג היציאה הטורית.
  • הצג יציג את זוויות הסיבוב של כל סרוו (במעלות).
  • חבר את הסרוו הראשון (השולט בסיבוב הבסיס) לפין D10.
  • סיבוב הכפתור של הפוטנציומטר הראשון של Trema (סיכה A2) יסובב את הסרוו הראשון (פין D10), והצג ישנה את הזווית הנוכחית של סרוו זה (ערך: A1 = ...). המיקומים הקיצוניים של הסרוו הראשון יהיו בטווח שבין 10 ל-170 מעלות (כפי שנכתב בשורה הראשונה של קוד הלולאה). ניתן לשנות טווח זה על ידי החלפת הערכים של שני הארגומנטים האחרונים של הפונקציה map() בשורה הראשונה של קוד הלולאה בחדשים. לדוגמה, החלפת 170 ב-180 תגדיל את המיקום הקיצוני של הסרוו בכיוון נתון. ועל ידי החלפת 10 ב-20, תפחית את המיקום הקיצוני השני של אותו סרוו.
  • אם החלפת את הערכים, עליך להעלות מחדש את הסקיצה. כעת הסרוו יסתובב בתוך המגבלות החדשות שצוינו על ידך.
  • חבר את הסרוו השני (השולט בסיבוב הזרוע השמאלית) לפין D9.
  • סיבוב הכפתור של הפוטנציומטר השני של Trema (סיכה A3) תסובב את הסרוו השני (פין D9), והצג ישנה את הזווית הנוכחית של סרוו זה (ערך: A2 = ...). המיקומים הקיצוניים של הסרוו השני יהיו בטווח שבין 80 ל-170 מעלות (כפי שנכתב בשורה השנייה של סקיצת הלולאה). טווח זה משתנה באותו אופן כמו עבור הסרוו הראשון.
  • אם החלפת את הערכים, עליך להעלות מחדש את הסקיצה.
  • חבר את הסרוו השלישי (ששולט בסיבוב הזרוע הימנית) לפין D8. ולכייל אותו באותו אופן.
  • חבר את הסרוו הרביעי (השולט על התפסן) לפין D7. ולכייל אותו באותו אופן.

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

אנו יוצרים מניפולטור רובוטי באמצעות מד טווח ומיישמים תאורה אחורית.

נחתוך את הבסיס מאקריליק. אנו משתמשים בכונני סרוו כמנועים.

תיאור כללי של פרויקט המניפולטור הרובוטי

הפרויקט משתמש ב-6 מנועי סרוו. לחלק המכני נעשה שימוש באקריליק בעובי 2 מ"מ. הבסיס מכדור דיסקו היה שימושי כחצובה (אחד המנועים מותקן בפנים). כמו כן, נעשה שימוש בחיישן מרחק קולי ובנורית LED של 10 מ"מ.

לוח כוח Arduino משמש לשליטה על הרובוט. מקור הכוח עצמו הוא ספק הכוח של המחשב.

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

מרכיבים עיקריים לפרויקט המניפולטור

בואו נתחיל בפיתוח. תצטרך:

  • 6 מנועי סרוו (השתמשתי בשני דגמים mg946, 2 mg995, 2 futuba s3003 (לmg995/mg946 יש מאפיינים טובים יותר מ-futuba s3003, אבל האחרונים הרבה יותר זולים);
  • אקריליק בעובי 2 מילימטרים (וחתיכה קטנה בעובי 4 מ"מ);
  • חיישן מרחק קולי hc-sr04;
  • נוריות 10 מ"מ (צבע - לפי שיקול דעתך);
  • חצובה (המשמשת כבסיס);
  • אחיזת אלומיניום (עולה כ-10-15 דולר).

כדי לשלוט:

  • לוח Arduino Uno (בשימוש בפרויקט לוח תוצרת בית, שדומה לחלוטין לארדואינו);
  • לוח חשמל (תצטרך להכין אותו בעצמך, נחזור לנושא זה מאוחר יותר, זה דורש תשומת לב מיוחדת);
  • ספק כוח (במקרה זה, אספקת חשמל למחשב משמש);
  • מחשב לתכנות המניפולטור שלך (אם אתה משתמש ב- Arduino לתכנות, אז ב- Arduino IDE)

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

הרכבה מכנית

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

אורך החלק הראשון כ-19 ס"מ; השני - בערך 17.5; אורך החוליה הקדמית הוא כ-5.5 ס"מ בחרו את המידות הנותרות בהתאם למידות הפרויקט שלכם. באופן עקרוני, הגדלים של הצמתים הנותרים אינם כל כך חשובים.

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

להתקנת החיישן האולטראסוני נעשה שימוש באקריליק בעובי 2 מ"מ. אתה יכול להתקין LED ממש למטה.

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

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

לאחר הרכבת החלק המכני, נוכל לעבור ל"מוח" של המניפולטור שלנו.

אחיזת מניפולטור

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

אז מה בדיוק צריך לעשות.

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

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

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

אתה יכול לחבר את כונן הסרוו ללוח Arduino ולבדוק את הפונקציונליות של הגריפר.

שים לב שבעיות תפעול האוחז עלולות להתרחש אם הברגים/הברגים מהודקים יתר על המידה.

הוספת תאורה למצביע

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

מקומות להתקנת LED תלויים ביצירתיות ובדמיון שלך.

תרשים חשמלי

אתה יכול להשתמש בפוטנציומטר של 100 קילו אוהם במקום נגד R1 כדי להתאים את הבהירות באופן ידני. נגדים של 118 אוהם שימשו כהתנגדות R2.

רשימת הרכיבים העיקריים שהיו בשימוש:

  • R1 - נגד 100 קילו אוהם
  • R2 - נגד 118 אוהם
  • טרנזיסטור bc547
  • Photoresistor
  • 7 נורות לד
  • מֶתֶג
  • חיבור ללוח Arduino

לוח ארדואינו שימש כמיקרו-בקר. ספק הכוח ממחשב אישי שימש כספק כוח. על ידי חיבור המולטימטר לכבלים האדומים והשחורים, תראה 5 וולט (המשמשים למנועי הסרוו וחיישן המרחק האולטראסוני). צהוב ושחור יתנו לך 12 וולט (לארדואינו). אנו מייצרים 5 מחברים עבור מנועי הסרוו, במקביל אנו מחברים את החיוביים ל-5 V, ואת השליליים לאדמה. אותו דבר עם חיישן המרחק.

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

בנוסף, הותקן מחוון LED מתח על לוח החשמל. זה קל ליישום. בנוסף נעשה שימוש נגד 100 אוהם בין 5V לאדמה.

ה-LED של 10 מ"מ על הרובוט מחובר גם לארדואינו. נגד של 100 אוהם עובר מפין 13 לרגל החיובית של הנורית. שלילי - לקרקע. אתה יכול להשבית את זה בתוכנית.

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

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

שימו לב שהמחברים מהסרוו מחוברים ליציאות PWM של הארדואינו. ליד כל סיכה כזו על הלוח יש סֵמֶל~. ניתן לחבר חיישן מרחק קולי לפינים 6, 7. ניתן לחבר LED לפין 13 ולהארקה. אלה כל הפינים שאנחנו צריכים.

עכשיו אנחנו יכולים לעבור לתכנות Arduino.

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

תרשים החיווט מראה שנוספו פוטנציומטרים לשליטה בסרוו. פוטנציומטרים הם אופציונליים, אבל הקוד שלמעלה לא יעבוד בלעדיהם. ניתן לחבר פוטנציומטרים לפינים 0,1,2,3 ו-4.

תכנות והשקה ראשונה

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

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

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

תוכנית בקרה והסברים עליה

// כוננים נשלטים באמצעות נגדים משתנים - פוטנציומטרים.

int potpin = 0; // פין אנלוגי לחיבור פוטנציומטר

int val; // משתנה לקריאת נתונים מהפין האנלוגי

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

pinMode(led, OUTPUT);

( //servo 1 פין אנלוגי 0

val = analogRead(potpin); // קורא את ערך הפוטנציומטר (ערך בין 0 ל-1023)

// משנה את הערך המתקבל לשימוש עם סרוו (מקבל ערך בטווח שבין 0 ל-180)

myservo1.write(val); // מביא את הסרוו למיקום בהתאם לערך המחושב

delay(15); // ממתין עד שמנוע הסרוו יגיע למיקום שצוין

val = analogRead(potpin1); // סרוו 2 על פין 1 אנלוגי

val = map(val, 0, 1023, 0, 179);

myservo2.write(val);

val = analogRead(potpin2); // סרוו 3 על פין 2 אנלוגי

val = map(val, 0, 1023, 0, 179);

myservo3.write(val);

val = analogRead(potpin3); // סרוו 4 על פין 3 אנלוגי

val = map(val, 0, 1023, 0, 179);

myservo4.write(val);

val = analogRead(potpin4); //serva 5 על פין 4 אנלוגי

val = map(val, 0, 1023, 0, 179);

myservo5.write(val);

שרטוט באמצעות חיישן מרחק קולי

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

הסברים בסיסיים של הקוד מוצגים להלן

#define trigPin 7

קטע הקוד הבא:

הקצינו שמות לכל 5 האותות (עבור 6 כוננים) (יכול להיות כל דבר)

הַבָּא:

Serial.begin(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(led, OUTPUT);

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

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

void position1())(

digitalWrite(led, HIGH);

myservo2.writeMicroseconds(1300);

myservo4.writeMicroseconds(800);

myservo5.writeMicroseconds(1000);

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

אחרי זה:

void position2())(

digitalWrite(led,LOW);

myservo2.writeMicroseconds(1200);

myservo3.writeMicroseconds(1300);

myservo4.writeMicroseconds(1400);

myservo5.writeMicroseconds(2200);

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

משך ארוך, מרחק;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

מרחק = (משך/2) / 29.1;

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

אחרי זה:

אם (מרחק<= 30) {

אם (מרחק< 10) {

myservo5.writeMicroseconds(2200); //תופס פתוח

myservo5.writeMicroseconds(1000); //סגור את החוטף

כעת ניתן להוסיף תנועות חדשות על סמך המרחק שנמדד על ידי החיישן האולטראסוני.

אם (מרחק<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

מיקום1(); //בעצם הזרוע תסתדר מה שתציין בין הסוגריים ( )

else( // אם המרחק גדול מ-30 ס"מ, עבור למיקום 2

position()2 // בדומה לשורה הקודמת

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

שורות קוד אחרונות

if (מרחק > 30 || מרחק<= 0){

Serial.println("מחוץ לטווח"); //פלט הודעה במוניטור הטורי שחרגנו מהטווח שצוין

Serial.print(distance);

Serial.println("cm"); //מרחק בסנטימטרים

delay(500); //עיכוב 0.5 שניות

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

זה הכל. תהנה, שדרג את המניפולטורים שלך, שתף רעיונות ותוצאות!