فهرست مطالب:

دست خود را برای کنترل بازوی روباتیک OWI تکان دهید بدون سیم متصل: 10 مرحله (همراه با تصاویر)
دست خود را برای کنترل بازوی روباتیک OWI تکان دهید بدون سیم متصل: 10 مرحله (همراه با تصاویر)

تصویری: دست خود را برای کنترل بازوی روباتیک OWI تکان دهید بدون سیم متصل: 10 مرحله (همراه با تصاویر)

تصویری: دست خود را برای کنترل بازوی روباتیک OWI تکان دهید بدون سیم متصل: 10 مرحله (همراه با تصاویر)
تصویری: (دوربین مخفی) صحنه هایی که اگرضبط دوربین نمیشد کسی آنرا باور نمی کرد!! 2024, نوامبر
Anonim
Image
Image
قطعات
قطعات

ایده:

حداقل 4 پروژه دیگر در Instructables.com (از 13 مه 2015) در مورد اصلاح یا کنترل بازوی روباتیک OWI وجود دارد. تعجب آور نیست ، زیرا این یک کیت روباتیک بسیار ارزان و ارزان برای بازی است. این پروژه از نظر روح مشابه است (یعنی کنترل بازوی روباتیک با آردوینو) ، اما در رویکرد متفاوت است. [ویدیو]

ایده این است که بتوانیم بازوی روباتیک را به صورت بی سیم با استفاده از حرکات کنترل کنیم. همچنین ، من سعی کردم تغییرات بازوی Robotic را به حداقل برسانم ، بنابراین هنوز می توان از آن با کنترلر اصلی استفاده کرد.

ساده به نظر می رسد.

آنچه در نهایت به پایان رسید یک پروژه سه قسمتی است:

  1. دستکش مجهز به سنسورهای کافی برای کنترل LED و 5 موتور
  2. یک دستگاه فرستنده مبتنی بر آردوینو برای پذیرفتن فرمان های کنترل از دستکش و ارسال آن به صورت بی سیم به دستگاه کنترل کننده بازو
  3. گیرنده بی سیم مبتنی بر Arduino و دستگاه کنترل موتور متصل به بازوی روباتیک OWI

امکانات

  1. پشتیبانی از هر 5 درجه آزادی (DOF) و LED
  2. دکمه قرمز بزرگ - برای جلوگیری از آسیب دیدن موتورهای روی بازو بلافاصله
  3. طراحی ماژولار قابل حمل

برای کاربران تلفن همراه: "فیلم تبلیغاتی" این پروژه در YouTube در اینجا وجود دارد.

مرحله 1: قطعات

دستکش:

برای ساخت کنترل کننده دستکش به موارد زیر نیاز دارید:

  1. دستکش دوخت Isotoner Smartouch Tech Stretch Stitch (یا مشابه آن) - در Amazon.com
  2. Spectra Symboflex Sensor 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. FLAT RIBBON CABLE 10 Conductor.050 "Pitch - در Phoenixent.com
  7. LED های 2 * 5 میلی متر - سبز و زرد
  8. 2 عدد دکمه کوچک
  9. مقاومت ، سیم ، سوزن ، نخ سیاه ، تفنگ چسب ، تفنگ لحیم کاری ، لحیم کاری و غیره.

جعبه حمل و نقل:

  1. Arduino Compatible Nano v3.0 ATmega328P -20AU Board - در Fasttech.com
  2. nRF24L01+ 2.4GHz Wireless Transceiver Arduino سازگار - در Amazon.com
  3. Gymboss WRISTBAND - در Amazon.com
  4. جعبه جعبه نگهدارنده باتری 9 ولت با سوئیچ سیم/روشن/خاموش سیم - در Amazon.com
  5. 2X5 BOX HEADER STRAIGHT - در Phoenixent.com
  6. باتری 9 ولت
  7. خازن 47uF (50v)
  8. مقاومت ، سیم ، تفنگ چسب ، تفنگ لحیم کاری ، لحیم کاری و غیره.

جعبه کنترل OWI ROBOTIC ARM:

  1. تابلوی توسعه Uno R3 Rev3 سازگار با آردوینو - در Fasttech.com
  2. Prototype Shield DIY KIT برای Arduino (یا مشابه) - در Amazon.com
  3. nRF24L01+ 2.4GHz Wireless Transceiver Arduino سازگار - در Amazon.com
  4. 3 x L293D 16 پین درایور مدار موتور IC یکپارچه - در Fasttech.com
  5. 1 x SN74HC595 74HC595 8-Shift ثبت نام با رجیسترهای خروجی 3 حالته DIP16-در Amazon.com
  6. خازن 47uF (50v)
  7. جعبه برای آردوینو - در Amazon.com
  8. کلید روشن/خاموش
  9. 2 دکمه 13 میلی متری (یک کلاه قرمز و یک کلاه سبز)
  10. 2 x 2X7 BOX HEADER STRAIGHT - همانند موارد فوق در Phoenixent.com
  11. FLAT RIBBON CABLE 14 Conductor.050 "Pitch - مشابه موارد فوق در Phoenixent.com
  12. باتری 9 ولت + اتصال دهنده کلیپ
  13. مقاومت ، سیم ، تفنگ چسب ، تفنگ لحیم کاری ، لحیم کاری و غیره.

… و البته:

OWI Robotic Arm Edge - بازوی ربات - OWI -535 - در Adafruit.com

مرحله 2: نمونه سازی

نمونه سازی
نمونه سازی
نمونه سازی
نمونه سازی

من به شدت پیشنهاد می کنم که قبل از لحیم کاری همه اجزاء با یکدیگر ، نمونه اولیه هر یک از دستگاه های کنترل کننده را ایجاد کنید.

این پروژه از چند سخت افزار چالش برانگیز استفاده می کند:

nRF24L01

مدتی طول کشید تا بتوانم این دو nRF24 را با یکدیگر صحبت کنم. ظاهراً نه نانو و نه اونو به اندازه کافی قدرت 3.3 ولت تثبیت شده را برای ماژول ها به طور مداوم کار نمی کنند. راه حل در مورد من یک خازن 47uF در پین های قدرت در هر دو ماژول nRF24 بود. همچنین چند نکته با استفاده از کتابخانه RF24 در حالت IRQ و غیر IRQ وجود دارد ، بنابراین توصیه می کنم نمونه ها را با دقت مطالعه کنید.

چند منبع عالی:

nRF24L01 فرستنده گیرنده RF قدرت بسیار پایین 2.4GHz صفحه محصول

صفحه کتابخانه راننده RF24

فقط با جستجوی nRF24 + arduino پیوندهای زیادی ایجاد می شود. ارزش تحقیق دارد

74HC595 SHIFT REGISTER

جای تعجب نیست که مجبور به کنترل 5 موتور ، یک LED ، دو دکمه و یک ماژول بی سیم هستم که نسبتاً سریع پین های Uno را تمام کردم. روش شناخته شده برای "افزایش" تعداد پین ها استفاده از یک shift shift است. از آنجا که nRF24 قبلاً از رابط SPI استفاده می کرد ، تصمیم گرفتم از SPI برای برنامه نویسی shift shift (برای سرعت و ذخیره پین) به جای تابع () shiftout () استفاده کنم. در کمال تعجب من از همان ابتدا مانند جذابیت عمل کرد. می توانید آن را در تعیین پین و در طرح ها بررسی کنید.

تخته نان و سیم های جامپر دوستان شما هستند.

مرحله 3: GLOVE

دستکش
دستکش
دستکش
دستکش
دستکش
دستکش
دستکش
دستکش

OWI Robotic ARM دارای 6 مورد برای کنترل است (تصویر OWI Robotic Arm Edge Picture)

  1. یک LED که روی GRIPPER دستگاه قرار دارد
  2. یک آبجو
  3. یک مچ دست
  4. ELBOW - قسمتی از بازوی رباتیک است که به WRIST متصل است
  5. SHOULDER قسمتی از بازوی رباتیک است که به BASE متصل شده است
  6. تحقیر نمودن

این دستکش برای کنترل LED Robotic Arm و هر 5 موتور (درجه آزادی) طراحی شده است.

من دارای سنسورهای جداگانه ای هستم که روی تصاویر مشخص شده است و همچنین شرح زیر:

  1. GRIPPER توسط دکمه های واقع در انگشت وسط و صورتی رنگ کنترل می شود. گریپر با فشار دادن انگشتان اشاره و وسط به هم بسته می شود. گریپر با فشار دادن حلقه و صورتی به هم باز می شود.
  2. WRIST توسط مقاومت انعطاف پذیر در نمایاب کنترل می شود. پیچاندن انگشت به نیمی از راه باعث می شود مچ دست پایین بیاید و پیچ خوردن آن تا انتها باعث بالا رفتن مچ می شود. صاف نگه داشتن انگشت اشاره مچ دست را متوقف می کند.
  3. آرنج با شتاب سنج کنترل می شود - کج شدن کف دست به بالا و پایین آرنج را به ترتیب بالا و پایین می برد
  4. SHOULDER توسط شتاب سنج کنترل می شود - کج شدن کف دست به راست و چپ (هر چند وارونه نباشد!) شانه را به ترتیب بالا و پایین حرکت می دهد
  5. BASE توسط شتاب سنج نیز کنترل می شود ، مانند کف دست کج به راست و چپ تا انتها وارونه (کف دست رو به بالا) پایه را به ترتیب به راست و چپ حرکت می دهد
  6. LED روی گیره با فشار دادن هر دو دکمه کنترل گیربکس به هم روشن یا خاموش می شود.

همه پاسخ های دکمه برای جلوگیری از تکان خوردن 1/4 ثانیه به تأخیر می افتد.

مونتاژ دستکش نیاز به لحیم کاری و دوخت زیاد دارد. اساساً فقط 2 دکمه ، مقاومت انعطاف پذیر ، ماژول Accel/Gyro را به پارچه دستکش وصل کرده و سیم ها را به جعبه کانکتور متصل می کند.

دو LED در جعبه اتصال عبارتند از:

  1. سبز - روشن است
  2. YELLOW - وقتی اطلاعات به جعبه کنترل بازو منتقل می شود چشمک می زند.

مرحله 4: جعبه انتقال دهنده

جعبه انتقال دهنده
جعبه انتقال دهنده
جعبه انتقال دهنده
جعبه انتقال دهنده
جعبه انتقال دهنده
جعبه انتقال دهنده

جعبه فرستنده در اصل Arduino Nano ، ماژول بی سیم nRF24 ، اتصال سیم انعطاف پذیر و 3 مقاومت است: 2 مقاومت 10 کیلو اهم پایین برای دکمه های کنترل گیرنده روی دستکش و یک مقاومت تقسیم ولتاژ 20 کیلو اهم برای سنسور انعطاف پذیر که مچ دست را کنترل می کند.

همه چیز با هم روی تخته ورو لحیم می شود. توجه داشته باشید که nRF24 روی نانو "آویزان" است. من نگران بودم که این ممکن است باعث تداخل شود ، اما کار می کند.

استفاده از باتری 9 ولت قسمت بند را کمی حجیم می کند ، اما من نمی خواستم با باتری های LiPo درگیر شوم. شاید بعدا.

لطفاً برای تعیین دستورالعمل لحیم کاری ، مرحله تعیین پین را مشاهده کنید

مرحله 5: ARM CONTROL BOX

جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM
جعبه کنترل ARM

جعبه کنترل بازو بر اساس Arduino Uno است. این فرمان از دستکش به صورت بی سیم از طریق ماژول nRF24 دریافت می کند و بازوی OWI Robotoc را از طریق 3 تراشه درایور L293D کنترل می کند.

از آنجا که تقریباً از همه پین های Uno استفاده می شد ، سیم های زیادی داخل جعبه وجود دارد - به سختی بسته می شود!

طبق طراحی ، جعبه در حالت OFF (مانند یک دکمه توقف مجدد فشار داده می شود) شروع می شود و به اپراتور زمان می دهد تا دستکش را بپوشد و آماده شود. پس از آماده شدن ، اپراتور دکمه سبز را فشار می دهد و اتصال بین دستکش و جعبه کنترل باید بلافاصله برقرار شود (همانطور که توسط LED زرد روی دستکش و LED قرمز روی جعبه کنترل نشان داده شده است).

اتصال به OWI

اتصال به بازوی رباتیک از طریق هدر ردیف 14 پین (مطابق تصویر بالا) از طریق کابل تخت 14 سیم انجام می شود.

  • اتصالات LED به پایه مشترک (-) و arduino pin A0 از طریق مقاومت 220 اهم است
  • تمام سیم های موتور به پین های L293D 3/6 یا 11/14 (به ترتیب +/-) متصل می شوند. هر L293D از 2 موتور ، از این رو دو جفت پین پشتیبانی می کند.
  • خطوط برق OWI سمت چپ (+6v) و راست ترین (GND) پین های کانکتور 7 پین در پشت بالای زرد هستند. (سیمهای وصل شده را در تصویر بالا مشاهده می کنید). این دو به پایه های 8 (+) و 4 ، 5 ، 12 ، 13 (GND) در هر سه L293D متصل هستند.

لطفاً در مرحله بعد بقیه تعیین پین را مشاهده کنید

مرحله 6: تخصیص پین

تخصیص پین
تخصیص پین
تخصیص پین
تخصیص پین
تخصیص پین
تخصیص پین

نانو:

  • 3.3v - 3.3v به تراشه nRF24L01 (پین 2)
  • 5v - 5v به برد شتاب سنج ، دکمه ها ، حسگر انعطاف پذیر
  • a0 - ورودی مقاومت انعطاف پذیر
  • a1 - کنترل LED "comms" زرد رنگ
  • a4 - SDA به شتاب سنج
  • a5 - SCL به شتاب سنج
  • d02 - nRF24L01 تراشه پین وقفه (پین 8)
  • d03 - ورودی دکمه گیرنده را باز کنید
  • d04 - بستن ورودی دکمه گیرنده
  • d09 - پین CSI SPI به تراشه nRF24L01 (پین 4)
  • d10 - پین CSI SPI به تراشه nRF24L01 (پین 3)
  • d11 - تراشه SPI MOSI به nRF24L01 (پین 6)
  • d12 - تراشه SPI MISO به nRF24L01 (پین 7)
  • d13 - SPI SCK به تراشه nRF24L01 (پین 5)
  • Vin - 9v +
  • GND - زمینه مشترک

UNO:

  • 3.3v - 3.3v به تراشه nRF24L01 (پین 2)
  • 5 ولت - 5 ولت به دکمه ها
  • Vin - 9v +
  • GND - زمینه مشترک
  • a0 - LED مچ دست +
  • a1 - پین SPI SS برای Shift Register Select - برای پین 12 در Shift Register
  • a2 - ورودی دکمه RED
  • a3 - ورودی دکمه سبز
  • a4 - جهت پایه راست - پین 15 در L293D
  • a5 - comms led
  • d02 - nRF24L01 ورودی IRQ (پین 8)
  • d03 - پین 1 یا 9 سروو (pwm) پایه را در L293D فعال کنید
  • d04 - جهت پایه سمت چپ - پین 10 در L293D مربوطه
  • d05 - پین 1 یا 9 سروو شانه (pwm) را در L293D فعال کنید
  • d06 - پین 1 یا 9 آرنج سروو (pwm) را در L293D فعال کنید
  • d07 - پین SPI CSN به تراشه nRF24L01 (پین 4)
  • d08 - پین SPI CS به تراشه nRF24L01 (پین 3)
  • d09 - پین 1 یا 9 مچ سروو (pwm) مچ دست را در L293D فعال کنید
  • d10 - پین 1 یا 9 گیربکس سروو (pwm) را در L293D فعال کنید
  • d11 - SPI MOSI به تراشه nRF24L01 (پین 6) و پین 14 در Shift Register
  • d12 - تراشه SPI MISO به nRF24L01 (پین 7)
  • d13 - SPI SCK به تراشه nRF24L01 (پین 5) و پین 11 در Shift Register

SHIFT REGISTER و 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: ارتباط

ارتباط
ارتباط

دستکش 10 بار در ثانیه یا هر زمان که سیگنالی از یکی از سنسورها دریافت می شود ، 2 بایت داده را به جعبه کنترل ارسال می کند.

2 بایت برای 6 کنترل کافی است زیرا ما فقط باید ارسال کنیم:

  • روشن/خاموش برای LED (1 بیت) - من در واقع از 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 ثانیه برای ارتباطات فعال شده است. در صورت وقوع تایم ، همه موتورها مانند یک دکمه RED فشرده می شوند.

مرحله 8: طرح ها و موارد دیگر…

طرح ها و موارد دیگر…
طرح ها و موارد دیگر…

دستکش

طرح دستکش از کتابخانه های زیر استفاده می کند:

  • DirectIO - در Github موجود است
  • I2Cdev - در Github موجود است
  • سیم - بخشی از Arduino IDE
  • MPU6050 - در Github موجود است
  • SPI - بخشی از Arduino IDE
  • RF24 - در Github موجود است

و سه کتابخانه که توسط من ایجاد شده است:

  • AvgFilter - در دسترس Github
  • DhpFilter - در Github موجود است
  • TaskScheduler - در Github موجود است

طرح دستکش در اینجا موجود است: طرح دستکش v1.3

جعبه کنترل ARM

طرح بازو از کتابخانه های زیر استفاده می کند:

  • DirectIO - در Github موجود است
  • PinChangeInt - در Github موجود است
  • SPI - بخشی از Arduino IDE
  • RF24 - در Github موجود است

و کتابخانه ای که توسط من ایجاد شده است:

TaskScheduler - در Github موجود است

طرح بازو در اینجا موجود است: Arm Sketch v1.3

برگه های داده برای سخت افزار مورد استفاده

  • 74HC595 shift shift - برگه اطلاعات
  • درایور موتور L293D - برگه اطلاعات
  • ماژول بی سیم nRF24 - برگه اطلاعات
  • ماژول شتاب سنج/ژیروسکوپ MPU6050 - برگه اطلاعات

31 مه 2015 به روز رسانی:

نسخه جدیدی از طرح های جعبه کنترل دستکش و بازو در اینجا موجود است: Glove and Arm Sketches v1.5

آنها همچنین در github در اینجا قرار دارند.

تغییرات

  • دو بایت دیگر به ساختار ارتباطی ارسال کرد تا سرعت موتور درخواستی برای موتورهای مچ ، آرنج ، شانه و پایه را به عنوان مقدار 5 بیت (0.. 31) از دستکش متناسب با زاویه حرکت کنترل ارسال کند (به پایین مراجعه کنید). Arm Control Box مقادیر [0.. 31] را به مقادیر PWM مربوطه برای هر یک از موتورها ترسیم می کند. این امر باعث کنترل تدریجی سرعت توسط اپراتور و دستیابی دقیق تر به بازو می شود.
  • مجموعه جدید حرکات:

1. LED: دکمه های کنترل LED - دکمه انگشت وسط - روشن ، دکمه انگشت صورتی - خاموش

2. GRIPPER: کنترل نوار قابل انعطاف Gripper - انگشت نیمه خم - انگشت باز ، کاملا خم - بستن

3. مچ دست: مچ با كج كردن كف دست از حالت كاملاً افقي بالا و پايين به ترتيب كنترل مي شود. شیب بیشتر سرعت بیشتری را ایجاد می کند

4. ARM: بازو با کج کردن کف دست از حالت کاملا افقی به چپ و راست کنترل می شود. شیب بیشتر سرعت بیشتری را ایجاد می کند

5. SHOULDER: شانه با چرخاندن کف دست راست و چپ از کف دست راست به بالا کنترل می شود. نخل در امتداد محور آرنج می چرخد (همانطور که دست شما را تکان می دهد)

6. BASE: پایه همانند شانه کنترل می شود و کف دست مستقیماً به سمت پایین است.

مرحله 9: دیگر چه؟

چه چیز دیگری؟
چه چیز دیگری؟

تصور در کار

طبق معمول در چنین سیستم هایی ، می توان آنها را طوری برنامه ریزی کرد که کارهای بیشتری انجام دهند.

به عنوان مثال ، طراحی فعلی دارای قابلیت های اضافی است ، که با ریموت استاندارد امکان پذیر نیست:

  • افزایش تدریجی سرعت: هر حرکت حرکتی با حداقل سرعت از پیش تعیین شده شروع می شود ، که به تدریج هر 1 ثانیه افزایش می یابد تا حداکثر سرعت حاصل شود. این امکان کنترل دقیقتر هر یک از موتورها (به ویژه مچ دست و گیره) را می دهد
  • لغو سریعتر حرکت: هنگامی که فرمان توقف موتور توسط Arm Arm دریافت می شود ، موتور را برای 50 میلی ثانیه معکوس می کند ، بنابراین حرکت را "شکسته" می کند و امکان کنترل دقیق تر را فراهم می کند.

چه چیز دیگری؟

شاید بتوان حرکات کنترلی دقیق تری را پیاده کرد. یا می توان از حرکات همزمان برای کنترل های دقیق استفاده کرد. آیا بازو می تواند رقص کند؟

اگر ایده ای دارید که چگونه دستکش را دوباره برنامه ریزی کنید ، یا نسخه ای از طرح دارید که می خواهید من آن را آزمایش کنم - لطفاً به من اطلاع دهید: [email protected]

مرحله 10: *** ما برنده شدیم !!! ***

*** ما بردیم !!! ***
*** ما بردیم !!! ***

این پروژه برنده جایزه اول در مسابقه Coded Creations تحت حمایت مایکروسافت شد.

آن را بررسی کنید! وو-هو !!!

خلاقیت های کدگذاری شده
خلاقیت های کدگذاری شده
خلاقیت های کدگذاری شده
خلاقیت های کدگذاری شده

جایزه دوم در آثار رمزگذاری شده

توصیه شده: