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

זרוע רובוטית ארדואינו: 5 שלבים
זרוע רובוטית ארדואינו: 5 שלבים

וִידֵאוֹ: זרוע רובוטית ארדואינו: 5 שלבים

וִידֵאוֹ: זרוע רובוטית ארדואינו: 5 שלבים
וִידֵאוֹ: How to Build Your Own Robotic Arm with Arduino Braccio #arduino #electronics #electrician #robot #ai 2024, נוֹבֶמבֶּר
Anonim
Image
Image
זרוע רובוטית ארדואינו
זרוע רובוטית ארדואינו
זרוע רובוטית ארדואינו
זרוע רובוטית ארדואינו

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

הפרויקט הזה עוסק בזרוע רובוטית, עם 4 כוננים ואחיזה. עם תקציב נמוך למדי: המבנה נחתך על ידי חבר, 4 סרוו היו 30 €, 2 הג'ויסטיקים 4 €, בורג ברגים וכו 'בפחות מ 10 € וכל השאר (ארדואינו, חוטים, סרוו אחיזה וכו'.) כבר נכלל בערכת ההתחלה שלי. בסך הכל 40-45 € שהם בערך 45-50 דולר אמריקאי (אותו המחיר של ערכת לי-זרוע, אבל היי, היה כיף לבנות אותו לבד (ולבלגן משהו מדי פעם) ואינו פועל לפי הוראות כמו מכונה).

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

שלב 1: תכנון והרכבה:

ראשית הייתי צריך מבנה: זה בהחלט היה החלק הארוך ביותר. מכיוון שלא רציתי להעתיק ולהדביק את הפרויקט ממישהו אחר, לקחתי פרויקט כנקודת התייחסות ואני (ועוד כמה חברים מיומנים שבאמת הצילו אותי) התחיל לשנות אותו בהתאם לצרכים שלנו (סרווונים שונים עם מומנט שונה, משקל ומידות וכו '). הייתי צריך לבנות את זה כמה פעמים, כל אחד מהם מצאתי משהו לא בסדר, והיינו צריכים לחזור על כמה חלקים ולנסות שוב. צירפתי את קובץ ה- dxf למקרה שתרצה להשתמש בו. לאחר מכן נאלצתי לקנות את האלקטרוניקה.: רוב החלקים היו סטנדרטיים, החלק הקשה היה לבחור בסרווואים. חישבתי את המומנט הנדרש עם כלל האצבע, בהמשך ניסיתי חישוב מדויק יותר וגיליתי שאולי הגזמתי אותו מעט. כנראה 6 ק"ג/ס"מ היו מספיקים עבור הסרוו השני (מהבסיס), ושלי מספק 9-11 ק"ג/ס"מ. ובכן, זה נותן לי קצת בטיחות והזדמנות להעמיס עד 2 ק"ג עומס (וזה בלתי אפשרי, אבל אני אוהב שאני יכול לעשות את זה מבחינה טכנית). יכולתי גם לקנות סרוו שונים, עם הפחתת מומנט תוך התרחקות מהבסיס, אך רכישת סרוו זהים מאותו ספק הייתה ללא ספק האפשרות הזולה ביותר. אספקת חשמל: הארדואינו בהחלט לא הספיק לשרווסים, מכיוון שכל mg995 שואב 350mA ו- microservo 9g מושך 100mA, בסך הכל 350*4 +100 = 1500mA. אז הצילתי מטען (6V 1.5A) והלחמתי אליו שני חוטי מגשר. (אם חלק מכם אולי יזדקקו להנחיות אמיתיות, פשוט שאלו בתגובות, ואעשה כמיטב יכולתי ליצור שלב אחר שלב. מדריך) רשימת חומרים:- מבנה- בורג M5x7cm x5, ברגים m5 x15 (בסיס)- בורג M3x16mm x18*- בורג M3x20mm x13*- ברגים M3 x40*- בורג M3x8cm x3- מהדק (אחרת זה ייפול)- 3 דיבלים- Arduino (או משהו אחר כדי לשלוט בו, הוא חייב להיות בעל 5 PWM לפחות)- משהו לספק 5-6V ולפחות 1.5A- 3x ג'ויסטיקים דמויי ps2- 4x TowerPro mg995 servos- 1x TowerPro 9g microservo (לאחיזה) - הרבה חוטי מגשר - קרש קרשים*(השתמשתי בברגים וברגים כדי להרכיב ולהתפרק במהירות, אחרת תוכל להחליף את כולם בברגי עבודות עץ)

שלב 2: קוד:

הרעיון הוא לשלוט בכל סרוו באחד משני הצירים של ג'ויסטיק דמוי ps2. נראה היה שלכל ג'ויסטיק יש "ערכי מנוחה" שונים (הערך בין 0-1023 כשהוא דומם) הן לציר y והן לציר x. הייתה בעיה, מכיוון שההבדל היה כמעט קטן (לאחד היה האפס ב- y ב -623) ורציתי להשתמש בפונקציית המפה כדי להמיר 0-1023 למעלות. אך פונקציית המפה חושבת שערך המנוחה הוא 1023/2. מה שהביא לכל סרוו שזז ברגע שאני מפעיל את הארדואינו, לא טוב. הצלחתי לעקוף זאת על ידי מציאת ידני את ההבדל בין ערך הקריאה לכל ערך מנוחה שונה (שחישבתי בנפרד עבור כל ג'ויסטיק), ואז כדי הפוך את הקוד לקצר וחכם יותר, גרמתי לו לקרוא את ערכי שאר בפונקציית ההתקנה ולשמור אותם בכמה משתנים. האלגוריתם החדש מסתמך על המרת התוספת במעלות, אך רציתי כמות נמוכה מאוד של מעלות עבור התוספת שלי, אז הייתי צריך לחלק אותו במשך קבוע: ניסיתי הרבה ערכים, עד שהגעתי ל -200 הסופי (אני יכול להוסיף פוטנציומטר כדי לשנות ערך זה באופן ידני לערך הרצוי). שאר הקוד די סטנדרטי אני מניח, למרות שזה עשוי להיות אלגנטי יותר לשים את חישוב התוספת בפונקציה נפרדת.

שלב 3: אלקטרוניקה:

מכשירי חשמל
מכשירי חשמל

החיווט זהה לתמונה או בקובץ הטירוף: אות סרוווס לפינים: 5-6-9-10-11 וציר הג'ויסטיק לסיכות אנלוגיות: A0-A1-A2-A3-A4 הבעיה העיקרית שנתקלתי בה היה שהג'ויסטיקים היו חייבים להיות מסופקים על ידי הארדואינו, לא על ידי המטען שאני משתמש בו עבור השרווטים. אחרת הסרוו פשוט היה משתגע כשהוא נע באקראי הלוך ושוב. אני חושב שזה יכול להיות כי אם אספק להם את המטען, הארדואינו לא יוכל לדעת בדיוק את ההבדל הפוטנציאלי כשאני מזיז אותם, אבל אז שוב: אני חדש מאוד בתחום האלקטרוניקה אז זה רק ניחוש. חיבור הקרקע של הארדואינו וקרקע המטען דרך לוח הלחם סייע במניעת תנועות אקראיות ובלתי צפויות, מסיבה דומה לאספקת הג'ויסטיקים אני מניח.

שלב 4: שיפור נכון לעכשיו:

כרגע הולך ומשתפר
כרגע הולך ומשתפר

מכיוון שכל ג'ויסטיק יכול לשלוט על 2 סרוו (1 לכל ציר), אני צריך 3 סרוו לשליטה על כל הזרוע, אך למרבה המזל יש לי רק 2 אגודלים. אז חשבתי שבמקום לשלוט על כל סרוו, אוכל לשלוט רק במיקום xyz של אחיז ופתח-סגור את האחיזה, בסך הכל 4 צירים, 2 ג'ויסטיקים ו -2 אגודלים! גיליתי שהבעיה ידועה בכינוי היפוך קינמטיקה, גיליתי שהכל כמעט קל. הרעיון הוא לכתוב (משוואות לא ליניאריות) כדי למצוא את המצב של כל אפקטור (זוויות לסרוווס) בהתחשב במיקום הסופי. העליתי נייר בכתב יד עם המשוואות, וכרגע אני עובד על קוד חדש כדי להשתמש בהן. זה לא אמור להיות קשה מדי, אני בעצם צריך לקרוא את הג'ויסטיקים, להשתמש בקריאות שלהם כדי לשנות את קואורדינטות ה- xyz של האחיזה, ואז לתת אותם למשוואות שלי, לחשב את זוויות הסרוווס ולכתוב אותן.

שלב 5: שיפורים עתידיים:

אז, אני די מרוצה מהתוצאה של זה ובהתחשב בכך שאני חדש לגמרי בתחום האלקטרוניקה שלא פוצץ משהו או את עצמי כבר היה ניצחון עצום. כפי שאמרתי בהתחלה, כל רעיון לשיפורים עתידיים, הן תוכנה והן תוכנה חומרה, היא יותר ממוזמן! עד כה חשבתי על: 1. הפוטנציומטר לשינוי "הרגישות" של הג'ויסטיקים.2. קוד חדש שיגרום לו "להקליט" כמה תנועות ולעשות אותן שוב (אולי מהר וקצר יותר מהקלט האנושי) 3. סוג של קלט חזותי/מרחק/קול ויכולת להשיג אובייקטים מבלי שמישהו ישתמש בג'ויסטיקס 4. היכולת לצייר דמויות גיאומטריות יש רעיון אחר? אנא אל תהסס להגיב עם כל הצעה. תודה

מוּמלָץ: