جدول المحتويات:

لوّح بيدك للتحكم في الذراع الآلية OWI بدون قيود: 10 خطوات (بالصور)
لوّح بيدك للتحكم في الذراع الآلية OWI بدون قيود: 10 خطوات (بالصور)

فيديو: لوّح بيدك للتحكم في الذراع الآلية OWI بدون قيود: 10 خطوات (بالصور)

فيديو: لوّح بيدك للتحكم في الذراع الآلية OWI بدون قيود: 10 خطوات (بالصور)
فيديو: أعلى مستوى وصلتوا في البرمجة 2024, شهر نوفمبر
Anonim
Image
Image
القطع
القطع

الفكرة:

هناك ما لا يقل عن 4 مشاريع أخرى على Instructables.com (اعتبارًا من 13 مايو 2015) حول تعديل أو التحكم في OWI Robotic Arm. ليس من المستغرب ، لأنها مجموعة روبوتية رائعة وغير مكلفة للعب بها. هذا المشروع مشابه من حيث الروح (أي التحكم في الذراع الآلية باستخدام Arduino) ، ولكنه مختلف في النهج. [فيديو]

الفكرة هي أن تكون قادرًا على التحكم في الذراع الآلية لاسلكيًا باستخدام الإيماءات. أيضًا ، حاولت تقليل تعديلات الذراع الآلية إلى الحد الأدنى ، بحيث لا يزال من الممكن استخدامها مع وحدة التحكم الأصلية.

يبدو بسيطا.

ما انتهى به الأمر هو مشروع من ثلاثة أجزاء:

  1. قفاز مزود بأجهزة استشعار كافية للتحكم في LED و 5 محركات
  2. جهاز إرسال يعتمد على Arduino Nano لقبول أوامر التحكم من القفاز وإرسالها لاسلكيًا إلى جهاز التحكم في الذراع
  3. جهاز استقبال لاسلكي قائم على Arduino Uno وجهاز تحكم في المحرك متصل بـ OWI Robotic Arm

الميزات

  1. دعم لجميع درجات الحرية الخمس (DOF) والصمام
  2. زر أحمر كبير - لإيقاف المحركات على الذراع فورًا لمنع التلف
  3. تصميم معياري محمول

لمستخدمي الهاتف المحمول: "الفيديو الترويجي" لهذا المشروع موجود على موقع يوتيوب هنا.

الخطوة 1: الأجزاء

قفاز:

ستحتاج إلى ما يلي لإنشاء وحدة تحكم بالقفازات:

  1. قفاز Isotoner Smartouch Tech Stretch Stitched Glove (أو ما شابه) - على 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. كابل الشريط المسطح 10 موصل الملعب.050 بوصة - على Phoenixent.com
  7. عدد 2 مصابيح LED مقاس 5 مم - أخضر وأصفر
  8. 2 × أزرار صغيرة
  9. المقاومات ، الأسلاك ، الإبرة ، الخيط الأسود ، مسدس الغراء ، مسدس اللحام ، اللحام ، إلخ.

صندوق ناقل الحركة:

  1. اردوينو متوافق مع نانو v3.0 ATmega328P-20AU Board - على Fasttech.com
  2. متوافق مع جهاز الإرسال والاستقبال اللاسلكي nRF24L01 + 2.4 جيجا هرتز Arduino - على Amazon.com
  3. Gymboss WRISTBAND - على Amazon.com
  4. علبة صندوق حامل البطارية 9 فولت مع مفتاح تشغيل / إيقاف سلك الرصاص - على Amazon.com
  5. 2X5 BOX HEADER STRAIGHT - على Phoenixent.com
  6. بطارية 9 فولت
  7. مكثف 47 فائق التوهج (50 فولت)
  8. المقاومات ، الأسلاك ، مسدس الغراء ، مسدس اللحام ، اللحام ، إلخ.

صندوق تحكم الذراع الروبوتي OWI:

  1. مجلس التنمية المتوافق مع Arduino Uno R3 Rev3 - على Fasttech.com
  2. Prototype Shield DIY KIT لـ Arduino (أو ما شابه) - على Amazon.com
  3. متوافق مع جهاز الإرسال والاستقبال اللاسلكي nRF24L01 + 2.4 جيجا هرتز Arduino - على Amazon.com
  4. 3 x L293D 16-pin Integrated Circuit IC Motor Driver - على Fasttech.com
  5. 1 × SN74HC595 74HC595 تسجيل تحول 8 بت مع سجلات إخراج 3 حالات DIP16 - على Amazon.com
  6. مكثف 47 فائق التوهج (50 فولت)
  7. Box for Arduino - على Amazon.com
  8. مفتاح تشغيل / إيقاف
  9. 2 × أزرار 13 مم (أحدهما أحمر وأحد أغطية خضراء)
  10. 2 × 2X7 BOX HEADER STRAIGHT - كما هو مذكور أعلاه على Phoenixent.com
  11. كابل الشريط المسطح 14 موصل الملعب.050 بوصة - كما هو مذكور أعلاه على Phoenixent.com
  12. بطارية 9 فولت + موصل مشبك
  13. المقاومات ، الأسلاك ، مسدس الغراء ، مسدس اللحام ، اللحام ، إلخ.

… وبالطبع:

OWI Robotic Arm Edge - ذراع الروبوت - OWI-535 - على Adafruit.com

الخطوة 2: النماذج

التمثيل
التمثيل
التمثيل
التمثيل

أقترح بشدة عمل نماذج أولية لكل جهاز من أجهزة التحكم قبل لحام جميع المكونات معًا.

يستخدم هذا المشروع بعض القطع الصعبة من الأجهزة:

nRF24L01

استغرق مني بعض الوقت لجعل اثنين من nRF24 يتحدث مع بعضهما البعض. على ما يبدو ، لا يوفر Nano ولا Uno ما يكفي من طاقة 3.3 فولت المستقرة للوحدات النمطية للعمل باستمرار. كان الحل في حالتي هو مكثف 47 فائق التوهج عبر دبابيس الطاقة في كل من وحدات nRF24. هناك أيضًا بعض المراوغات في استخدام مكتبة RF24 في أوضاع IRQ وغير IRQ ، لذلك أوصي بدراسة الأمثلة بعناية.

زوجان من الموارد الرائعة:

nRF24L01 الطاقة المنخفضة للغاية 2.4 جيجا هرتز جهاز الإرسال والاستقبال RF صفحة المنتج

صفحة مكتبة برنامج تشغيل RF24

فقط googling nRF24 + arduino سينتج الكثير من الروابط. الأمر يستحق البحث

74HC595 التحول التسجيل

ليس من المستغرب أن أضطر إلى التحكم في 5 محركات ، ومصباح LED ، وزرين ووحدة لاسلكية نفدت من المسامير في Uno بسرعة نسبيًا. الطريقة المعروفة جيدًا "لتمديد" عدد الدبوس هي استخدام سجل الإزاحة. نظرًا لأن nRF24 كان يستخدم بالفعل واجهة SPI ، فقد قررت استخدام SPI لبرمجة سجل التحويل أيضًا (للسرعة وحفظ الدبابيس) بدلاً من وظيفة shift (). لدهشتي ، عملت مثل السحر من المرة الأولى. يمكنك التحقق من ذلك في مهمة الدبوس وفي الرسومات.

أسلاك اللوح والطائر هم أصدقاؤك.

الخطوة الثالثة: القفازات

قفاز
قفاز
قفاز
قفاز
قفاز
قفاز
قفاز
قفاز

يحتوي OWI Robotic ARM على 6 عناصر للتحكم (صورة حافة الذراع الروبوتية OWI)

  1. مصباح LED موجود على GRIPPER بالجهاز
  2. القاذف
  3. معصم
  4. الكوع - هو جزء من الذراع الآلية المتصلة بالمعصم
  5. الكتف هو جزء من الذراع الآلية المتصلة بالقاعدة
  6. قاعدة

القفاز مصمم للتحكم في مؤشر LED للذراع الروبوتية وجميع المحركات الخمسة (درجات الحرية).

لدي مستشعرات فردية مميزة على الصور بالإضافة إلى الوصف أدناه:

  1. يتم التحكم في GRIPPER بواسطة الأزرار الموجودة في الإصبع الأوسط والخنصر. يتم إغلاق القابض بالضغط على السبابة والأصابع الوسطى معًا. يتم فتح القابض بالضغط على الحلقة والخنصر معًا.
  2. يتم التحكم في WRIST بواسطة المقاوم المرن في مكتشف الفهرس. ثني الإصبع في منتصف الطريق يجعل الرسغ ينخفض ، ولفه على طول الطريق يجعل المعصم يرتفع. إبقاء السبابة مستقيمة يوقف الرسغ.
  3. يتم التحكم في الكوع بواسطة مقياس التسارع - إمالة راحة اليد لأعلى ولأسفل تعمل على تحريك الكوع لأعلى ولأسفل على التوالي
  4. يتم التحكم في الكتف بواسطة مقياس التسارع - إمالة راحة اليد إلى اليمين واليسار (وليس رأسًا على عقب!) يحرك الكتف لأعلى ولأسفل على التوالي
  5. يتم التحكم في BASE أيضًا عن طريق مقياس التسارع ، على غرار راحة اليد المائلة للكتف إلى اليمين واليسار على طول الطريق رأسًا على عقب (راحة اليد لأعلى) يحرك القاعدة يمينًا ويسارًا على التوالي
  6. يتم تشغيل / إيقاف تشغيل مؤشر LED الموجود على القابض عن طريق الضغط على زري التحكم في القابض معًا.

يتم تأخير جميع استجابات الأزرار بمقدار 1/4 من الثانية لتجنب الاهتزازات.

يتطلب تجميع القفاز بعض اللحام والكثير من الخياطة. في الأساس ، يتم فقط توصيل زرين ، المقاوم المرن ، وحدة Accel / Gyro بنسيج القفاز وأسلاك التوجيه بصندوق الموصل.

مصباحان LED على صندوق التوصيل هما:

  1. أخضر - تشغيل
  2. أصفر - يومض عند نقل البيانات إلى صندوق التحكم بالذراع.

الخطوة 4: صندوق الإرسال

صندوق الإرسال
صندوق الإرسال
صندوق الإرسال
صندوق الإرسال
صندوق الإرسال
صندوق الإرسال

صندوق الإرسال هو بشكل أساسي Arduino Nano ، وحدة لاسلكية nRF24 ، موصل سلكي مرن و 3 مقاومات: مقاومات منسدلة 10 كيلو أوم لأزرار التحكم في القابض على القفاز ، وقسم الجهد 20 كيلو أوم المقاوم للمستشعر المرن الذي يتحكم في المعصم.

كل شيء ملحوم معًا على لوح فيرو. لاحظ أن nRF24 "معلق" فوق Nano. كنت قلقة من أن هذا قد يسبب تدخلًا ، لكنه يعمل.

استخدام بطارية 9 فولت يجعل جزء الحزام ضخمًا بعض الشيء ، لكنني لم أرغب في العبث ببطاريات LiPo. ربما في وقت لاحق.

يرجى الاطلاع على خطوة تعيين الدبوس للحصول على إرشادات اللحام

الخطوة 5: صندوق تحكم الذراع

صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع
صندوق تحكم الذراع

صندوق التحكم في الذراع يعتمد على Arduino Uno. يتلقى أوامر من القفاز لاسلكيًا عبر وحدة nRF24 ، ويتحكم في ذراع OWI Robotoc عبر 3 شرائح سائق L293D.

نظرًا لاستخدام جميع دبابيس Uno تقريبًا ، يوجد الكثير من الأسلاك داخل الصندوق - بالكاد تغلق!

حسب التصميم ، يبدأ الصندوق في وضع إيقاف التشغيل (كما لو تم الضغط على زر التوقف الأحمر) ، مما يمنح المشغل وقتًا لارتداء القفاز والاستعداد. بمجرد أن يصبح جاهزًا ، يضغط المشغل على الزر الأخضر ، ويجب إنشاء الاتصال بين القفازات وصندوق التحكم على الفور (كما هو موضح بواسطة مؤشر LED الأصفر على القفاز ومصباح LED الأحمر في صندوق التحكم).

الاتصال بـ OWI

يتم التوصيل بالذراع الآلي من خلال رأس صف مزدوج 14 دبوس (وفقًا للصورة أعلاه) عبر 14 سلكًا كبلًا مسطحًا.

  • توصيلات LED بأرضية مشتركة (-) ودبوس اردوينو A0 عبر 220 أوم المقاوم
  • جميع أسلاك المحرك موصولة بدبابيس L293D 3/6 أو 11/14 (+/- على التوالي). يدعم كل L293D محركين ، وبالتالي زوجان من المسامير.
  • تقع خطوط الطاقة OWI في أقصى اليسار (+ 6 فولت) وأقصى اليمين (GND) من الموصل ذي 7 سنون في الجزء الخلفي من الجزء العلوي الأصفر. (يمكنك رؤية الأسلاك موصولة في الصورة أعلاه). هذان الرقمان متصلان بالدبابيس 8 (+) و 4 ، 5 ، 12 ، 13 (GND) على جميع L293Ds الثلاثة.

يرجى الاطلاع على بقية تعيين رقم التعريف الشخصي في الخطوة التالية

الخطوة 6: تعيين رقم التعريف الشخصي

تعيين رقم التعريف الشخصي
تعيين رقم التعريف الشخصي
تعيين رقم التعريف الشخصي
تعيين رقم التعريف الشخصي
تعيين رقم التعريف الشخصي
تعيين رقم التعريف الشخصي

نانو:

  • 3.3 فولت - 3.3 فولت إلى شريحة nRF24L01 (دبوس 2)
  • 5 فولت - 5 فولت إلى لوحة مقياس التسارع ، أزرار ، مستشعر مرن
  • a0 - إدخال المقاوم المرن
  • A1 - تحكم LED أصفر "comms"
  • 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.3 فولت - 3.3 فولت إلى شريحة nRF24L01 (دبوس 2)
  • 5 فولت - 5 فولت على الأزرار
  • فين - 9v +
  • GND - أرضية مشتركة
  • a0 - مؤشر LED للمعصم +
  • a1 - دبوس SPI SS لـ Shift Register حدد - للدبوس 12 في Shift Register
  • a2 - إدخال الزر الأحمر
  • a3 - إدخال الزر الأخضر
  • a4 - قاعدة الاتجاه اليمنى - دبوس 15 على L293D
  • a5 - قاد الاتصالات
  • d02 - إدخال nRF24L01 IRQ (دبوس 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 - تمكين معصم المعصم دبوس 1 أو 9 على L293D
  • D10 - تمكين أجهزة القابض (pwm) دبوس 1 أو 9 على L293D
  • d11 - SPI MOSI to nRF24L01 chip (pin 6) and pin 14 on Shift Register
  • d12 - شريحة SPI MISO إلى nRF24L01 (دبوس 7)
  • d13 - SPI SCK إلى رقاقة nRF24L01 (الطرف 5) والدبوس 11 في 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: التواصل

الاتصالات
الاتصالات

يرسل Glove 2 بايت من البيانات إلى صندوق التحكم 10 مرات في الثانية أو عند تلقي إشارة من أحد أجهزة الاستشعار.

2 بايت كافية لـ 6 عناصر تحكم لأننا نحتاج فقط إلى إرسال:

  • ON / OFF لـ LED (1 بت) - لقد استخدمت بالفعل 2 بت لتكون متسقة مع المحركات ، لكن واحدة كافية
  • إيقاف / يمين / يسار لـ 5 محركات: 2 بت لكل منهما = 10 بتات

يكفي 11 أو 12 بت.

رموز الاتجاه:

  • إيقاف: 00
  • اليمين: 01
  • اليسار: ١٠

تبدو كلمة التحكم على هذا النحو (قليلاً):

بايت 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: الرسومات والمزيد …

الرسومات والمزيد …
الرسومات والمزيد …

قفاز

يستخدم Glove Sketch المكتبات التالية:

  • DirectIO - متوفر على Github
  • I2Cdev - متوفر على جيثب
  • السلك - جزء من Arduino IDE
  • MPU6050 - متوفر على جيثب
  • SPI - جزء من Arduino IDE
  • RF24 - متوفر على جيثب

وثلاث مكتبات قمت بتطويرها:

  • AvgFilter - متاح من Github
  • DhpFilter - متوفر على جيثب
  • TaskScheduler - متاح على جيثب

رسم القفازات متاح هنا: Glove Sketch v1.3

صندوق تحكم الذراع

يستخدم Arm Sketch المكتبات التالية:

  • DirectIO - متوفر على Github
  • PinChangeInt - متاح على جيثب
  • SPI - جزء من Arduino IDE
  • RF24 - متوفر على جيثب

ومكتبة قمت بتطويرها:

TaskScheduler - متاح على جيثب

رسم الذراع متاح هنا: Arm Sketch v1.3

أوراق البيانات للأجهزة المستخدمة

  • 74HC595 سجل التحول - ورقة البيانات
  • سائق المحرك L293D - ورقة البيانات
  • الوحدة اللاسلكية nRF24 - ورقة البيانات
  • MPU6050 مقياس التسارع / وحدة الجيروسكوب - ورقة البيانات

تاريخ 31 مايو 2015:

يتوفر إصدار جديد من رسومات صندوق التحكم بالقفازات والذراع هنا: رسومات القفازات والذراع الإصدار 1.5

كما أنها تقع على جيثب هنا.

التغييرات

  • تمت إضافة وحدتي بايت أخرى إلى بنية الاتصال لإرسال سرعة المحرك المطلوبة لمحركات المعصم والكوع والكتف والقاعدة كقيمة 5 بت (0.. 31) من القفاز بما يتناسب مع زاوية إيماءة التحكم (انظر أدناه). يقوم Arm Control Box بتعيين القيم [0.. 31] لقيم PWM الخاصة بكل محرك من المحركات. يتيح ذلك للمشغل التحكم التدريجي في السرعة ، والمزيد من الدقة في التعامل مع الذراع.
  • مجموعة جديدة من الإيماءات:

1. LED: أزرار التحكم LED - زر الإصبع الأوسط - تشغيل ، زر إصبع الخنصر - إيقاف التشغيل

2. القابض: شريط مرن يتحكم في القابض - إصبع نصف مثني - افتح ، إصبع مثني بالكامل - أغلق

3. المعصم: يتم التحكم في المعصم عن طريق إمالة راحة اليد من الوضع الأفقي بالكامل لأعلى ولأسفل على التوالي. يؤدي المزيد من الإمالة إلى زيادة السرعة

4. الذراع: يتم التحكم في الذراع عن طريق إمالة راحة اليد من الوضع الأفقي الكامل إلى اليسار واليمين. يؤدي المزيد من الإمالة إلى زيادة السرعة

5. الكتف: يتم التحكم في الكتف عن طريق تدوير راحة اليد إلى اليمين واليسار من راحة اليد التي تشير إلى وضع مستقيم للأعلى. يدور الكف على طول محور الكوع (كما يلوح بيدك)

6. القاعدة: يتم التحكم في القاعدة بنفس طريقة التحكم في الكتف مع توجيه راحة اليد لأسفل بشكل مستقيم.

الخطوة 9: ماذا أيضًا؟

ماذا بعد؟
ماذا بعد؟

الخيال في العمل

كالعادة مع مثل هذه الأنظمة ، يمكن برمجتها للقيام بالمزيد.

على سبيل المثال ، يشتمل التصميم الحالي بالفعل على قدرات إضافية ، وهذا غير ممكن مع جهاز التحكم عن بُعد القياسي:

  • زيادة السرعة التدريجية: تبدأ كل حركة للمحرك بسرعة دنيا محددة مسبقًا ، والتي تزداد تدريجيًا كل ثانية واحدة حتى يتم الوصول إلى السرعة القصوى. يتيح ذلك تحكمًا أكثر دقة في كل محرك (خاصة الرسغ والمقبض)
  • إلغاء أسرع للحركة: عندما يستقبل صندوق الذراع الأمر لإيقاف المحرك ، فإنه يقوم بعكس المحرك لحظيًا لحوالي 50 مللي ثانية ، وبالتالي "يكسر" الحركة ، ويسمح بتحكم أكثر دقة.

ماذا بعد؟

ربما يمكن تنفيذ إيماءات تحكم أكثر تفصيلاً. أو يمكن استخدام الإيماءات المتزامنة للتحكم الدقيق. هل تستطيع الذراع أن ترقص؟

إذا كانت لديك فكرة عن كيفية إعادة برمجة القفاز ، أو لديك نسخة من رسم تريد مني اختباره - فيرجى إبلاغي بذلك: [email protected]

الخطوة 10: *** فزنا !!! ***

*** نحن فزنا !!! ***
*** نحن فزنا !!! ***

فاز هذا المشروع بالجائزة الأولى في مسابقة Coded Creations التي ترعاها شركة Microsoft.

تحقق من ذلك! WOO-HOO !!!

إبداعات مشفرة
إبداعات مشفرة
إبداعات مشفرة
إبداعات مشفرة

الجائزة الثانية في الابداعات المشفرة

موصى به: