فهرست مطالب:

بازوی رباتیک کنترل شده آردوینو W/ 6 درجه آزادی: 5 مرحله (همراه با تصاویر)
بازوی رباتیک کنترل شده آردوینو W/ 6 درجه آزادی: 5 مرحله (همراه با تصاویر)

تصویری: بازوی رباتیک کنترل شده آردوینو W/ 6 درجه آزادی: 5 مرحله (همراه با تصاویر)

تصویری: بازوی رباتیک کنترل شده آردوینو W/ 6 درجه آزادی: 5 مرحله (همراه با تصاویر)
تصویری: استفاده از ربات صنعتی برای جابجایی | ربات کار | بازوی رباتیک پالتایزر 2024, جولای
Anonim
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد
آردوینو بازوی روباتیک W/ 6 درجه آزادی را کنترل کرد

من عضو یک گروه رباتیک هستم و هر سال گروه ما در نمایشگاه Mini-Maker Faire شرکت می کند. با شروع سال 2014 ، تصمیم گرفتم برای رویداد هر سال یک پروژه جدید بسازم. در آن زمان ، من حدود یک ماه قبل از رویداد فرصت داشتم که چیزی را جمع کنم و هیچ ایده ای نداشتم که می خواستم چه کار کنم.

یکی از همکاران خود پیوندی را برای "ساخت بازوی روباتیک منبع باز جالب" ارسال کرد که مورد علاقه من بود. این برنامه ها فقط یک بازو بدون کنترل یا کنترل کننده بودند. با توجه به محدودیت های زمانی ، به نظر می رسید که نقطه شروع خوبی است. تنها مشکل این بود که من واقعاً هیچ ابزاری برای شروع نداشتم.

با کمک برخی از اعضای گروه ، من توانستم قطعات اکریلیک را برش داده و برای من ارسال کنم و همچنین دو قسمت چاپ سه بعدی که در زیر نشان داده شده است. همراه با سفارشات سخت افزاری یک شبه و چندین سفر به فروشگاه سخت افزار محلی ، یک پروژه کاری را شب قبل از رویداد تکمیل کردم!

همانطور که معمولاً اتفاق می افتد ، داستان بیشتر و چندین تجسم در ساختمان وجود دارد که به آنچه در زیر می بینید متراکم شده است. اگر به داستان پشت علاقه دارید ، می توانید موارد بیشتری را در اینجا پیدا کنید:

مرحله 1: آنچه شما نیاز دارید - سخت افزار و الکترونیک

آنچه شما نیاز دارید - سخت افزار و الکترونیک
آنچه شما نیاز دارید - سخت افزار و الکترونیک
آنچه شما نیاز دارید - سخت افزار و الکترونیک
آنچه شما نیاز دارید - سخت افزار و الکترونیک

طراح پروژه اصلی در اروپا زندگی می کرد و متعاقباً از اندازه گیری های متریک و مواد رایج در آنجا استفاده کرد. به عنوان مثال تخته پرس که برای بدنه استفاده می کرد دارای استاندارد 5 میلی متر ضخامت بود. مواد مشابه در اینجا در ایالات متحده 1/8 اینچ است که حدود 3.7 میلی متر ضخامت دارد. این باعث ایجاد شکاف در دهانه هایی شد که در ابتدا برای پرس طراحی شده بودند. به جای اصلاح نقشه ها ، من به سادگی از چسب گوریل برای محکم کردن این اتصالات استفاده کردم.

او همچنین از پیچ و مهره های رزوه دار M3 استفاده کرد که در فروشگاه سخت افزار محلی شما در ایالات متحده استاندارد نیستند. به جای تبدیل این موارد به گزینه های موجود محلی ، من سخت افزار را به صورت آنلاین سفارش دادم ، همانطور که در لیست قطعات من در زیر نشان داده شده است.

  • 22 - M3 0.5 0.5 23 23 میلی متر استندبو
  • 15 - فاصله دهنده M3 x 15 میلی متر
  • 40 - پیچ M3
  • M3 آجیل شش گوش
  • پیچ M3 25 میلیمتری
  • 1 - بهار
  • نوار چسب دو طرفه 3/4 اینچ
  • 5 - SG 5010 TowerPro Servo
  • 1 - SG92R TowerPro مینی سروو
  • 1 - SG90 TowerPro مینی سروو
  • هدر 2.54 میلیمتری تک ردیف پین مستقیم
  • 1 - تخته نان نصف
  • 1 - سیمهای بلوز زنانه یا مردانه "Extension" - 40 6 6 اینچ
  • ورق اکریلیک آبی رنگ 1 - 12 "x 24" یا قطعات برش لیزری از ارائه دهنده خدمات مورد علاقه خود
  • 2 - فاصله 3 میلی متر در 20 میلی متر + 4 میلی متر در 5 میلی متر بلبرینگ مشترک چاپ سه بعدی (به پایین مراجعه کنید)
  • 1 - صفحه کنترل *توجه داشته باشید در بخش سیم کشی
  • 1 - LED RGB (سه رنگ) 10 میلی متری LED
  • 1 - آردوینو اونو
  • 1 - LCD استاندارد 16x2 + اضافی - سفید روی آبی
  • 1 - کوله پشتی LCD از نوع i2c / SPI
  • 1-Adafruit 16-channel 12-bit PWM/Servo Driver
  • 1 - MCP3008 - ADC 8 کانالی 10 بیتی با رابط SPI
  • 3 - JoyStick Breakout Module Sensor *توجه داشته باشید در بخش سیم کشی
  • جک بشکه DC
  • آداپتور AC به DC
  • کابلهای Servo Extension - طولهای متنوع

تقریباً تمام قطعات این بازو از اکریلیک 1/8 اینچ برش خورده است ، با این حال ، دو فاصله گیر بلبرینگ مشترک نیاز به چاپ دارند. همچنین ، طراحی اولیه باعث شده بود که دو پایه فاصله دهنده مفصل به ارتفاع 7 میلی متر تا محور بلبرینگ برسد. وقتی مونتاژ بازوی بالایی را شروع کردم ، به سرعت مشخص شد که این ارتفاع ها به دلیل ارتفاع سروهای TowerPro بسیار بلند هستند. من مجبور بودم یاتاقان های مفصلی جدیدی با پایه ای به ارتفاع 3 میلی متر بسازم ، که به هر حال ، هنوز کمی بلند اما قابل کنترل بود. شما می خواهید قد نسبی سرووها را در نظر بگیرید و فاصله بین دو بازوی پایین را در نظر بگیرید:

ارتفاع سرو + شاخ سرو + بلبرینگ مفصل + نوار دو طرفه = 47mm +/- 3mm.

مرحله 2: مونتاژ بازوها

مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها
مونتاژ بازوها

قبل از شروع ، مطمئن شوید که همه سرویس های خود را در مرکز قرار داده اید! اگر در هر زمان در حین ساخت و ساز ، اگر موقعیت سروو را به صورت دستی جابجا می کنید ، قبل از محکم کردن آن روی قاب ، باید آن را تازه کنید. این امر به ویژه در مورد سروهای شانه ای که همیشه نیاز به هماهنگی دارند ، اهمیت دارد.

  1. سرووی پایه را با استفاده از پیچ M3 25 میلیمتری و مهره های شش گوش به صفحه بالایی وصل کنید. توجه نکنید: ممکن است بخواهید روی نخ ها را محکم ببندید تا شل شدن مهره ها در حین استفاده به حداقل برسد.

  2. اگر از لیست قطعاتی که در بالا دارم استفاده می کنید ، در مرحله بعد می خواهید 5 فاصله دهنده پایه را با نخ 2 در هر کدام از استندهای M3 x 0.5 x 23mm به هم وصل کنید و سپس آنها را با مهره های شش گوش به صفحه پایه بالا وصل کنید.
  3. صفحه پایه پایینی را با 5 پیچ M3 به استندها وصل کنید.
  4. صفحه شانه را با استفاده از چسب ایمن اکریلیک به دو صفحه نصب سروو وصل کنید. من اینجا از چسب گوریل استفاده کردم. توجه: هر یک از دو صفحه سروو دارای سوراخی در پشت هستند که اجازه می دهد فاصله دهنده تقویت کننده را به هم متصل کند. مطمئن شوید که سوراخ ها مرتب شده اند!* در حالی که چسب را در دست دارید ، پیش بروید و صفحه نصب مچ را با صفحه اصلی گریپر وصل کنید.* در صورت تمایل ، می توانید صفحه سروو مچ را به دو صفحه مفصل مچ نیز بچسبانید. من این انتخاب را در عوض انجام ندادم تا این موارد را بهم پیوسته به هم متصل کنم ، همانطور که در زیر توضیح داده شده است.
  5. مجموعه شانه ای که اکنون بهبود یافته است را به سرووی پایه وصل کنید. من از عریض ترین شاخ همراه با سروو که شاخ نصب شش ساقه بود استفاده کردم.
  6. افزودن چارچوب بازو به سر شانه ها می تواند مشکل باشد. پیشنهاد می کنم قبل از ادامه ، شاخ ها را به قاب های بازوی پایین محکم کنید. توجه: قبل از چسباندن سرویس ها به قاب ، حتماً سرویس های خود را برای مجموعه شانه در مرکز قرار دهید. این دو سروو باید هماهنگ حرکت کنند و در صورت عدم همخوانی حداقل باعث ایجاد سرو سرو صدا می شود و در صورت عدم تناسب کافی می تواند به قاب یا سروها آسیب برساند. * هر یک از سروهای شانه ای به جای عبور سرووها از روی صفحات ، براکت خود را در پشت صفحات نصب نصب می کنند - این به شما این امکان را می دهد که بوق را به زاویه ای روی محور سروو فشار دهید و پیچ را محکم کنید. هنوز سروو را به صفحه نصب محکم نکنید. * بعد ، سروو داخلی را اضافه کرده و بازو را سوار کنید
  7. قاب جلو بازو و سرووها را با فشار دادن سرووها در فواصل بازوها و سپس قرار دادن فاصله بین هر دو صفحه بالایی بازو جمع کرده و با پیچ M3 محکم کنید.
  8. نوار چسب دو طرفه را به پشت اسپیسر مفصل آرنج اضافه کنید و قسمت اضافی آن را کوتاه کنید.
  9. فاصله دهنده را به پایین سروو وصل کنید که به عنوان محرک آرنج عمل می کند.

  10. مجموعه بالای بازو را به قاب مجموعه بازوی پایین بکشید و پیچ های سرو سرو را محکم کنید.
  11. بین دو صفحه بازوی پایین ، تقابل های تقویتی را اضافه کنید. من برای کاهش وزن از دو به جای هر چهار استفاده کردم.
  12. نوار چسب دو طرفه را به پشت اسپیسر مفصل مچ بالا اضافه کنید و قسمت اضافی آن را کوتاه کنید.
  13. فاصله دهنده را به پایین سروو وصل کنید که به عنوان محرک مچ عمل می کند.
  14. صفحه مچ دست خارجی را به شاخ سروو مچ وصل کنید و با پیچ شاخ محکم کنید.
  15. صفحه سروو مچ را با دو صفحه مفصل مچ دست و ایستاده جمع کنید.
  16. سروو مچ دست را روی صفحه سروو با صفحه گیره سروو محکم کنید.
  17. قبل از اتصال گریپر به آن شاخ به دلیل مسدود شدن سوراخ سوراخ ، باید شاخ مچ را به سروو محکم کنید.
  18. قبل از اتصال شاخ سرو گریپر به سروو ، قطعات چنگک را برای تناسب جمع کنید. این به شما اجازه می دهد تا در مرحله قبل بوق را خراب کنید.
  19. شاخ چنگک را به سرووی آن وصل کرده و پیچ های نگهدارنده اتصالات گیره را محکم کنید. توجه: این مهره ها و پیچ ها را به طور کامل سفت نکنید زیرا آنها باید شل شوند تا گیره حرکت کند.

مرحله 3: سیم کشی و کنترل پنل

سیم کشی و کنترل پنل
سیم کشی و کنترل پنل
سیم کشی و کنترل پنل
سیم کشی و کنترل پنل
سیم کشی و کنترل پنل
سیم کشی و کنترل پنل

من این پروژه را به عنوان بستر توسعه ایده هایی که برای پروژه آموزشی بعدی دارم ، ایجاد کردم. بنابراین ، اکثر اتصالات من اتصالات ساده dupont هستند. تنها لحیم کاری که انجام دادم مربوط به MCP3008 بود. اگر می توانید یک تخته شکست برای این کامپوننت پیدا کنید ، باید بتوانید این لحیم بازو را به صورت رایگان بسازید.

3 گروه از اجزاء وجود دارد:

  1. ورودی ها - این موارد اطلاعات را از کاربر می گیرند و از جوی استیک ها و mcp3008 ADC تشکیل شده است.
  2. خروجی ها - این موارد داده ها را با نمایش وضعیت به کاربر یا به روز رسانی سرویس ها با داده های موقعیت به جهان منتقل می کنند. این موارد عبارتند از صفحه LCD ، کوله پشتی LCD ، LED RGB ، برد راننده Servo و در نهایت سرویس ها.
  3. پردازش - آردوینو آخرین گروه را جمع آوری می کند که داده ها را از ورودی ها دریافت کرده و بر اساس دستورالعمل کد ، داده ها را به خروجی ها منتقل می کند.

شماتیک Fritzing در بالا اتصالات پین را برای همه اجزا توضیح می دهد.

ورودی ها

ما با ورودی ها شروع می کنیم. جوی استیک ها دستگاه های آنالوگ هستند - به این معنی که آنها یک ولتاژ متغیر را به عنوان ورودی در آردوینو ارائه می دهند. هر یک از سه جوی استیک دارای دو خروجی آنالوگ برای X و Y (بالا ، پایین ، چپ راست) است که در مجموع 6 ورودی به آردوینو دارد. در حالی که Arduino Uno دارای 6 ورودی آنالوگ در دسترس است ، ما باید از دو پین برای ارتباط I2C به صفحه و سروو کنترلر استفاده کنیم.

به همین دلیل ، من مبدل آنالوگ به دیجیتال MCP3008 (ADC) را وارد کردم. این تراشه حداکثر 8 ورودی آنالوگ را دریافت کرده و آنها را از طریق پین های ارتباطی SPI آردوینو به سیگنال دیجیتال به شرح زیر تبدیل می کند:

  • پین های MCP 1-6> خروجی های متغیر جوی استیک های انگشت شست
  • پینهای MCP 7 و 8> بدون اتصال
  • MCP Pin 9 (DGND)> Ground
  • MCP Pin 10 (CS/SHDN)> Uno Pin 12
  • MCP Pin 11 (DIN)> Uno Pin 11
  • MCP Pin 12 (DOUT)> Uno Pin 10
  • MCP Pin 13 (CLK)> Uno Pin 9
  • MCP Pin 14 (AGND)> Ground
  • MCP پین 15 و 16> +5V

اتصالات جوی استیک در شماتیک فقط برای مثال نشان داده شده است. بسته به اینکه جوی استیک ها خریداری می شوند و چگونه نصب می شوند ، ممکن است اتصالات شما با اتصالات من متفاوت باشد. مارک های مختلف جوی استیک ممکن است دارای پینت متفاوتی باشند و همچنین ممکن است X و Y را متفاوت متمرکز کنند. آنچه مهم است درک این است که هر ورودی در ADC نشان دهنده چه چیزی است. هر پین روابط زیر را در کد من نشان می دهد:

  • پین 1 - پایگاه - داده های آنالوگ روی این پین ، پایین ترین سرووی روبات را می چرخاند
  • پین 2 - شانه - داده های آنالوگ روی این پین دو سروو را در بالای سرووی اصلی می چرخاند
  • پین 3 - آرنج - داده های آنالوگ روی این پین ، سرووی بعدی را از سروهای شانه به سمت بالا می چرخاند
  • پین 4 - مچ دست UP/DN - داده های آنالوگ روی این پین ، سروو مچ دست را می چرخاند و مجموعه گریپر را بالا و پایین می کند
  • پین 5 - گریپر - داده های آنالوگ روی این پین گریپر را باز و بسته می کند
  • پین 6 - چرخاندن مچ دست - داده های آنالوگ روی این پین گریپر را می چرخاند

توجه: هنگام خرید و نصب جوی استیک های انگشت شست که در لیست قطعات ذکر شده است ، به خاطر داشته باشید که جهت ماژول ها ممکن است با من متفاوت باشد ، بنابراین خروجی های x و y را برای اتصال مناسب به ADC آزمایش کنید. همچنین ، اگر از کنترل پنل چاپ سه بعدی من استفاده می کنید ، ممکن است سوراخ های نصب از من خارج شود.

خروجی ها

Adafruit PWM/Servo Controller این پروژه را بسیار ساده می کند. فقط Servos را به هدرهای سروو متصل کنید و تمام اتصالات برق و سیگنال کنترل می شوند. مگر اینکه سرووهایی با سیم های اضافی طولانی پیدا کنید ، می خواهید مجموعه ای از افزونه های کابل سروو در طول های مختلف دریافت کنید تا همه کابل های سروو به برد کنترل شما برسد.

سرووها به شرح زیر متصل می شوند:

  • موقعیت 0 - سروو پایه
  • موقعیت 1 - سروو شانه (Servo Y Cable)
  • موقعیت 2 - سرو آرنج
  • موقعیت 3 - مچ دست 1 سروو
  • موقعیت 4 - Gripper Servo
  • موقعیت 5 - مچ دست 2 سروو

علاوه بر این ، VCC و V + هر دو به +5 ولت و GND به Ground متصل هستند.

نکته 1: یک نکته بزرگ در اینجا: ولتاژ منبع تغذیه کل پروژه از طریق بلوک ترمینال برق روی برد کنترل سروو وارد می شود. پین V+ روی سروو کنترلر در واقع برق را از بلوک ترمینال به بقیه مدار تأمین می کند. اگر می خواهید Uno خود را برنامه ریزی کنید ، توصیه می کنم قبل از اتصال Uno به رایانه خود ، پین V+ را جدا کنید ، زیرا برداشت فعلی از سرویس ها می تواند به پورت USB شما آسیب برساند.

نکته 2: من برای تغذیه پروژه از آداپتور دیواری 6 ولت AC به DC استفاده می کنم. من یک آداپتور را توصیه می کنم که می تواند حداقل 4 آمپر جریان داشته باشد تا وقتی یک یا چند سروو متصل می شوند ، افزایش ناگهانی جریان سیستم شما را قهوه ای نکرده و آردوینو را تنظیم مجدد نکند.

صفحه LCD 16X2 به کوله پشتی Adafruit LCD متصل است تا از رابط کاربری I2C که قبلاً توسط سروو کنترلر استفاده می شود ، استفاده کند. SCL روی سروو کنترلر و CLK روی کوله پشتی هر دو به Uno به پین A5 متصل می شوند. به همین ترتیب ، SDA روی سروو کنترلر و DAT روی کوله پشتی هر دو به Uno به پین A4 متصل می شوند. علاوه بر این ، 5 ولت به +5 ولت و GND به زمین متصل است. LAT روی کوله پشتی به هیچ چیزی متصل نیست.

در نهایت ، LED RGB به پایه های 7 (RED) ، 6 (سبز) و 5 (آبی) در Uno متصل است. پایه زمین LED از طریق مقاومت 330 اهم به زمین متصل می شود.

در حال پردازش

آخرین و مهمترین نکته این است که بقیه اتصالات آردوینو که در بالا ذکر نشده است به شرح زیر است: پین 5V به +5 ولت و GND به Ground متصل است.

در تنظیمات خود ، من از ریل های جانبی تخته نان برای اتصال همه خطوط برق و زمین و پین های I2C برای همه دستگاه ها استفاده کردم.

مرحله 4: کد

کد
کد

همانطور که قبلاً گفته شد ، من در اصل این پروژه را به عنوان نمایشی برای Maker Faire محلی خود ساختم. من قصد داشتم که برای بچه ها و بزرگسالان چیزی باشد که در غرفه ما بازی کنند. همانطور که معلوم شد ، بسیار محبوب تر از آن چیزی بود که من تصور می کردم - آنقدر که بچه ها بر سر آن دعوا کردند. بنابراین ، وقتی زمان بازنویسی فرا رسید ، من "حالت نمایشی" را که محدودیت زمانی را پیاده سازی می کند ، وارد کردم.

بازو در آنجا منتظر است تا کسی جوی استیک را حرکت دهد و وقتی این کار را کرد ، یک تایمر 60 ثانیه ای را شروع می کند. در پایان 60 ثانیه ، دریافت ورودی از کاربر و "استراحت" را به مدت 15 ثانیه متوقف می کند. محدوده توجه کوتاه همان چیزی که هستند ، این دوره استراحت اختلاف زمان چوب را تا حد زیادی کاهش داد.

عملیات اولیه

کد ذکر شده در بخش مرجع زیر بسیار ساده است. یک آرایه 6 مفصل را با حداقل ، حداکثر میزان ، موقعیت خانه و موقعیت فعلی ردیابی می کند. هنگامی که بازو روشن می شود ، عملکرد راه اندازی کتابخانه های مورد نیاز برای مکالمه با MCP3008 ، کوله پشتی LCD (و متعاقباً صفحه نمایش) را مشخص می کند و پین های LED را مشخص می کند. از آنجا یک سیستم اساسی را بررسی می کند و به خانه بازو ادامه می دهد. عملکرد خانه با گریپر شروع می شود و تا پایه ادامه می یابد به طوری که احتمال اتصال در شرایط عادی را به حداقل می رساند. اگر بازو کاملاً کشیده شده باشد ، بهتر است قبل از تغذیه بازو به صورت دستی در آن قرار بگیرید. از آنجا که سروهای عمومی بازخورد موقعیت خود را ارائه نمی دهند ، باید هر یک را در نقطه ای از پیش تعیین شده قرار دهیم و میزان حرکت هر کدام را پیگیری کنیم.

حلقه اصلی ابتدا در حالت انتظار شروع می شود - به دنبال جوی استیک هایی باشید که از موقعیت مرکزی خود دور شوند. هنگامی که این اتفاق می افتد ، حلقه اصلی حالت ها را به حالت شمارش معکوس تغییر می دهد. همانطور که کاربر هر جوی استیک را حرکت می دهد ، موقعیت نسبی جوی استیک از مرکز به موقعیت شناخته شده فعلی افزوده یا از آن کاسته می شود و سرووی مناسب را به روز می کند. هنگامی که سروو در یک جهت به حد مجاز خود رسید ، جوی استیک متوقف می شود. برای حرکت مجدد ، کاربر باید جوی استیک را در جهت دیگری حرکت دهد. این یک محدودیت نرم افزاری است که بر سرویس ها صرف نظر از توقف سخت افزاری آنها اعمال می شود. این ویژگی به شما امکان می دهد در صورت نیاز حرکات بازو را در یک منطقه عملیاتی مشخص نگه دارید. اگر جوی استیک به مرکز رها شود ، حرکت متوقف می شود.

این کد فقط یک نقطه شروع کلی است. می توانید حالت های دلخواه خود را به دلخواه اضافه کنید. یکی از مثالها ممکن است حالت اجرای مداوم بدون تایمر باشد یا دکمه های جوی استیک را به عنوان ورودی اضافه کرده و حالت ضبط/پخش را بنویسید.

مرحله 5: پیوندها و منابع

منابع بازو

  • پست الهام بخش این پروژه
  • پست های وبلاگ طراحان اصلی بازوی Robotic خودم دستگیره های کوچک سروو و بازوی روباتیک تکمیل شده بازوی روباتیک و وسایل الکترونیکی
  • بازوی Thingiverse
  • مینی سرو گریپر Thingiverse

کتابخانه های نرم افزاری

  • منابع Adafruit PWM/Servo Controller
  • کتابخانه MCP3008
  • برگه اطلاعات MCP3008

کنترل پنل و کد

  • طراحی Tinkercad از پانلی که من ساخته ام
  • مخزن کد فعلی

توصیه شده: