فهرست مطالب:

RoboGlove: 12 مرحله (همراه با تصاویر)
RoboGlove: 12 مرحله (همراه با تصاویر)

تصویری: RoboGlove: 12 مرحله (همراه با تصاویر)

تصویری: RoboGlove: 12 مرحله (همراه با تصاویر)
تصویری: Самый эпатажный волейболист в мире - Эрвин Нгапет // Нападай как PRO #14 2024, جولای
Anonim
RoboGlove
RoboGlove

ما گروهی از دانشجویان ULB ، Université Libre de Bruxelles هستیم. پروژه ما شامل توسعه یک دستکش ربات است که می تواند نیروی چنگ زدن را برای کمک به افراد در چنگ زدن به چیزها ایجاد کند.

دستکش

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

طراحی

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

ما روی هر انگشت یک گنبد بالا با PLA چاپ می کنیم: این قسمت پایانه ای است که سیم ها باید به آن متصل شوند و باید از حسگر فشاری که در داخل آن ثابت شده محافظت کند. سنسور فشار با چسب حرارتی بین قسمت انتهایی PLA و دستکش چسبانده شده است.

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

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

مرحله 1: لیست خرید

لیست خرید
لیست خرید
لیست خرید
لیست خرید
لیست خرید
لیست خرید

دستکش و سیم:

1 دستکش موجود (باید قابل دوخت باشد)

شلوار جین قدیمی یا پارچه سفت دیگر

سیم های نایلونی

لوله پلی اتیلن با چگالی کم (قطر: 4 میلی متر ضخامت: 1 میلی متر)

الکترونیک:

آردوینو اونو

1 باتری 9V + 9V نگهدارنده باتری

1 کلید الکترونیکی

1 تخته ورود

3 موتور سروو (1 عدد در انگشت)

3 ملخ (همراه با سرووها)

4 باتری AA + 4 AA نگهدارنده باتری

3 سنسور فشار (1 عدد در هر انگشت)

3 مقاومت 330 اهم (1 در هر انگشت)

6 سیم برق (2 عدد در هر سنسور)

پیچ ، مهره و اتصالات:

4 M3 10 میلی متر طول (برای تعمیر آردوینو)

2 M2.5 طول 12 میلی متر (برای تعمیر نگهدارنده باتری 9 ولت)

6 مهره مربوطه

6 M2 10 میلی متر طول (2 بار در هر سروو برای ثابت کردن چرخ ها در سروو)

12 بند کابل کوچک (برای تعمیر صفحات و سوئیچ)

7 بند کابل بزرگ (2 عدد در هر موتور و 1 عدد برای نگهدارنده 4 باتری AA)

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

چاپگر سه بعدی (Ultimaker 2)

مواد برای دوخت

تپانچه چسب داغ

اختیاری: برش لیزری

مرحله 2: ساختار پوشیدنی را آماده کنید

ساختار پوشیدنی را آماده کنید
ساختار پوشیدنی را آماده کنید

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

هدف این است که یک ساختار پوشیدنی انعطاف پذیر داشته باشیم.

ساختار باید از یک دستکش معمولی پشمی قوی تر باشد زیرا باید دوخته شود.

ما به یک سازه پوشیدنی در اطراف مچ نیاز داریم تا منبع تغذیه و محرک ها را نگه دارد و به ثبات نیاز داریم ، بنابراین ما با بستن نوارهای Velcro (نوارهای چسبنده خودکار) بر روی مچ شلوار ، بستن را تنظیم کردیم.

چند چوب چوبی در داخل آن دوخته شد تا شلوار جین سفت شود.

مرحله 3: قسمتهای عملکردی را آماده کنید

قسمتهای عملکردی را آماده کنید
قسمتهای عملکردی را آماده کنید

قطعات سفت و سخت از طریق چاپ سه بعدی در PLA از فایل های.stl در توضیحات قابل درک است:

حلقه انگشت x5 (با مقیاس های مختلف: مقیاس 1x 100٪ ، مقیاس 2x 110٪ ، مقیاس 2x 120٪) ؛

Finger Extremity x3 (با مقیاس های مختلف: مقیاس 1x 100٪ ، مقیاس 1x 110٪ ، مقیاس 1x 120٪) ؛

چرخ برای موتور x3

برای قسمت های انگشت ، مقیاس های متفاوتی به دلیل اندازه متفاوت هر انگشت و هر فالانکس مورد نیاز است.

مرحله 4: سنسورها را به موارد اضافی ثابت کنید

سنسورها را به افراط وصل کنید
سنسورها را به افراط وصل کنید

سنسورهای فشار ابتدا به سیم های کابل لحیم می شوند.

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

مرحله 5: قطعات چاپ شده سه بعدی را روی دستکش ثابت کنید

قطعات چاپ شده سه بعدی را روی دستکش ثابت کنید
قطعات چاپ شده سه بعدی را روی دستکش ثابت کنید

تمام قسمتهای سفت و سخت (انتها ، حلقه ها) باید به دستکش دوخته شوند تا ثابت شوند.

برای قرار دادن درست حلقه ها ، ابتدا دستکش را بپوشید و سعی کنید حلقه ها را یکی در هر فالانکس بگذارید ، بدون اینکه در حین بسته شدن دست به آنها دست بزنید. به طور تقریبی ، حلقه های روی صفحه 5 میلی متر بالاتر از پایه انگشت و 17 تا 20 میلی متر بالاتر از حلقه اول ثابت می شوند. در مورد انگشت وسط ، حلقه اول تقریباً 8 تا 10 میلی متر بالاتر از پایه انگشت و حلقه دوم حدود 20 میلی متر بالاتر از انگشت اول است. از نظر انگشت شست ، دقت مورد نیاز بسیار کم است ، زیرا خطر ایجاد تداخل با حلقه های دیگر را ندارد ، بنابراین سعی کنید آن را روی دستکش فرسوده قرار دهید ، جایی که ترجیح می دهید دستکش را روی دستکش بکشید. حلقه کنید تا بتوانید آن را بدوزید.

در مورد دوخت ، هیچ تکنیک یا توانایی خاصی مورد نیاز نیست. با یک سوزن ، نخ دوخت به دور حلقه ها می رود و از سطح دستکش عبور می کند. یک مرحله 3-4 میلی متری بین دو سوراخ در دستکش از قبل ثابت کننده کافی است ، نیازی به دوخت بسیار متراکم نیست.

تکنیک مشابهی برای تثبیت اندامها نیز به کار می رود: بالای اندام حفره دار است تا سوزن به راحتی عبور کند ، بنابراین فقط اشکال متقاطع بالای انگشت باید به دستکش دوخته شود.

سپس راهنماهای پلی اتیلن نیز باید با رعایت سه معیار ثابت شوند:

انتهای دیستال (رو به انگشت) باید در جهت انگشت باشد تا از اصطکاک زیاد با سیم نایلونی که داخل آن قرار می گیرد جلوگیری شود

انتهای انتهایی باید به اندازه ای باشد که مانع بسته شدن دست نشود (حدود 3 سانتی متر پایین تر از پایه انگشت به اندازه کافی خوب است ، 4 تا 5 سانتی متر برای انگشت شست)

لوله ها باید تا حد ممکن از یکدیگر عبور کنند تا حجم کل دستکش و تحرک هر لوله کاهش یابد

آنها با دوختن آنها روی دستکش و مچ ، با همان تکنیک بالا ثابت می شوند.

برای جلوگیری از خطر سر خوردن از طریق دوخت ، چند چسب بین لوله ها و دستکش ها اضافه شده است.

مرحله 6: چرخ ها را برای سروها آماده کنید

چرخ ها را برای سروها آماده کنید
چرخ ها را برای سروها آماده کنید

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

هنگامی که چرخ ها چاپ می شوند ، باید آنها را با پیچ (پیچ M2 ، 10 میلی متر) به پروانه های سروو ثابت کنیم. از آنجا که سوراخ پروانه ها با پیچاندن M2 کوچکتر از 2 میلی متر قطر هستند ، نیازی به مهره نیست.

3 پروانه را می توان روی هر سروو قرار داد.

مرحله 7: موتورها را به بازو ثابت کنید

موتورها را به بازو ثابت کنید
موتورها را به بازو ثابت کنید

این مرحله شامل اتصال موتورها به بازو است. به منظور انجام این کار ، ما مجبور شدیم پلاک کمکی PLA را برای دریافت پشتیبانی چاپ کنیم.

در واقع موتورها نمی توانند مستقیماً روی بازو ثابت شوند ، زیرا چرخ های مورد نیاز برای کشیدن سیم ها می توانند در حین حرکت به دلیل دستکش مسدود شوند. بنابراین ما یک پلاک PLA با ابعاد 120x150x5 میلی متر به صورت سه بعدی چاپ کردیم.

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

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

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

مرحله 8: کد روی آردوینو

کد در آردوینو
کد در آردوینو

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

ما می توانیم کد را به سه قسمت تقسیم کنیم:

سنسورهای اولیه:

اول از همه ما سه متغیر صحیح را راه اندازی کردیم: خواندن 1 ، خواندن 2 ، قرائت 3 برای هر سنسور. سنسورها در ورودی های آنالوگ A0 ، A2 ، A4 قرار داده شده اند. هر متغیر برای خواندن به صورت زیر تنظیم شده است:

  • خواندن 1 جایی که مقدار خوانده شده در ورودی A0 نوشته شده است ،
  • read2 جایی که مقدار خوانده شده در ورودی A2 نوشته شده است ،
  • read3 که مقدار خوانده شده در ورودی A4 در آن نوشته شده است

دو آستانه با انگشت مربوط به دو موقعیت فعال سازی سرووها ثابت می شود. این آستانه ها برای هر انگشت متفاوت است زیرا نیروی اعمال شده برای هر انگشت یکسان نیست و حساسیت سه سنسور دقیقاً یکسان نیست.

موتورهای اولیه:

سه متغیر char (save1 ، save2 ، save3) ، یک عدد برای هر موتور در 0. مقداردهی می شود. سپس در تنظیمات ، پین هایی را که به ترتیب موتورها را وصل می کنیم مشخص کردیم: پایه 9 ، پایه 6 و پایه 3 برای servo1 ، servo2 ، servo3 ؛ همه با مقدار 0 مقداردهی می شوند

سپس سرووها از طریق دستور servo.write () فعال می شوند که قادر است زاویه دریافتی را به عنوان ورودی روی سروو ثابت کند. همچنین با آزمایشات و خطاها دو زاویه خوب ، که برای خم شدن انگشت در دو حالت متناظر با یک چسبندگی کوچک و یک چسبندگی بزرگ لازم بود ، پیدا شد.

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

ارتباط بین سنسورها و موتورها:

انتخاب save1 ، save2 ، save3 و reading1 ، reading2 ، reading3 به لحیم کاری بستگی دارد. اما برای هر انگشت ، سنسور و موتور مربوطه باید دارای یک شماره باشند.

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

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

این کار برای هر موتور انجام می شود.

سپس برای جلوگیری از آزمایش مکرر مقادیر سنسورها ، تأخیر 1000 میلی ثانیه ای را اضافه کردیم. اگر مقدار بسیار کمی از تاخیر اعمال شود ، خطر باز شدن مستقیم دست بعد از بستن آن در صورت اعمال نیرو در مدت زمان طولانی تر از زمان تاخیر وجود دارد.

تمام مراحل یک سنسور در نمودار جریان در بالا ارائه شده است.

کل کد

#شامل سرو سرو 1 ؛ سرو سرو 2؛ سرو سرو 3؛ int خواندن 1؛ int خواندن 2؛ int خواندن 3؛ char save1 = 0؛ // سروو از حالت 0 شروع می شود ، حالت خواب char save2 = 0؛ char save3 = 0؛ void setup (void) {Serial.begin (9600)؛ servo2.attach (9)؛ // سروو در پین دیجیتال 9 servo2.write (160)؛ // نقطه اولیه برای servo1.attach (6) ؛ // سروو در پین دیجیتال 6 servo1.write (0)؛ // نقطه اولیه برای servo3.attach (3) ؛ // سروو در پین دیجیتال 3 servo3.write (0)؛ // نقطه اولیه برای سروو

}

حلقه خالی (خالی) {reading1 = analogRead (A0)؛ // متصل به آنالوگ 0 خواندن 2 = analogRead (A2) ؛ // متصل به آنالوگ 2 خواندن 3 = analogRead (A4) ؛ // متصل به آنالوگ 4

// if (reading2> = 0) {Serial.print ("مقدار حسگر =")؛ // مثال فرمان مورد استفاده برای کالیبراسیون آستانه های اولین سنسور

// Serial.println (خواندن 2) ؛ } // else {Serial.print ("مقدار حسگر =")؛ Serial.println (0)؛ }

if (خواندن 1> 100 و save1 == 0) {// اگر سنسور دارای مقدار زیادی باشد و در حالت خواب نباشد save1 = 2 ؛ } // اگر وضعیت (خواندن 1> 30 و ذخیره 1 == 0) {// اگر سنسور دارای مقدار متوسط است و در حالت خواب نیست ذخیره کنید 1 = 1 ؛ } // اگر به حالت 1 دیگر رسید (خواندن 1> 0) {// اگر مقدار صفر نباشد و هیچ یک از شرایط قبلی درست نباشد save1 = 0؛} // به حالت خواب بروید

if (save1 == 0) {servo1.write (160) ؛ } // else if (save1 == 1) {servo1.write (120)؛ } // زاویه متوسط کشش else {servo1.write (90)؛ } // حداکثر زاویه کشش

if (خواندن 2> 10 و save2 == 0) {// مشابه سروو 1 ذخیره 2 = 2 ؛ } else if (خواندن 2> 5 و save2 == 0) {save2 = 1؛ } else if (خواندن 2> 0) {save2 = 0؛}

if (save2 == 0) {servo2.write (0)؛ } else if (save2 == 1) {servo2.write (40)؛ } else {servo2.write (60)؛ }

if (خواندن 3> 30 و save3 == 0) {// مشابه سروو 1 ذخیره 3 = 2 ؛ } else if (خواندن 3> 10 و save3 == 0) {save3 = 1؛ } else if (خواندن 3> 0) {save3 = 0؛}

if (save3 == 0) {servo3.write (0)؛ } else if (save3 == 1) {servo3.write (40)؛ } else {servo3.write (70)؛ } تاخیر (1000) ؛ } // یک لحظه صبر کن

مرحله 9: Arduino ، Batteries و Veroboard را به بازو ثابت کنید

Arduino ، Batteries و Veroboard را به بازو ثابت کنید
Arduino ، Batteries و Veroboard را به بازو ثابت کنید
Arduino ، Batteries و Veroboard را به بازو ثابت کنید
Arduino ، Batteries و Veroboard را به بازو ثابت کنید

صفحه دیگری در PLA چاپ شد تا بتواند نگهدارنده باتری و آردوینو را تعمیر کند.

ابعاد صفحه: 100x145x5mm.

چهار سوراخ برای پیچاندن آردوینو و دو سوراخ برای پیچاندن نگهدارنده باتری 9 ولت وجود دارد. یک سوراخ در نگهدارنده باتری 6 ولت و در صفحه برای استفاده از کراوات کابل برای اتصال آنها به یکدیگر ایجاد شده است. مقداری چسب برای اطمینان از تثبیت این نگهدارنده اضافه شد. سوئیچ با دو اتصال کوچک کابل ثابت می شود.

همچنین از چهار سوراخ برای ثابت کردن صفحه روی شلوار جین با استفاده از بندهای کابل استفاده شده است.

تخته ورود مانند یک سپر روی آردوینو قرار می گیرد.

مرحله 10: دستگاه الکترونیک را وصل کنید

الکترونیک را وصل کنید
الکترونیک را وصل کنید

همانطور که در طرح بالا گزارش شده است ، مدار روی وروبرد لحیم می شود.

Arduino دارای یک باتری 9V به عنوان منبع تغذیه است و یک سوئیچ بین آنها متصل است تا بتواند Arduino را خاموش کند. برای سروو موتور که به جریان زیاد نیاز دارد ، یک باتری 6V لازم است و پین سوم سرووها در پین های 3 ، 6 و 9 برای کنترل آنها با PWM.

هر سنسور از طرفی با ولتاژ 5 ولت آردوینو و از طرف دیگر با مقاومت 330 اهم متصل به زمین و پایه های A0 ، A2 و A4 برای اندازه گیری کشش متصل می شوند.

مرحله 11: سیمهای نایلونی را اضافه کنید

سیمهای نایلونی را اضافه کنید
سیمهای نایلونی را اضافه کنید

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

آنها بر روی چرخ ها با یک گره از دو سوراخ کوچک موجود در فایل های.stl و با چسب حرارتی برای تثبیت بیشتر ثابت می شوند.

مرحله 12: لذت ببرید

همانطور که انتظار می رفت کار می کند.

در اولین ضربه انگشت را خم می کند و در انگشت دوم آن را آزاد می کند. هنگام خم شدن انگشتان نیازی به نیرو نیست.

با این وجود سه مشکل باقی مانده است:

- ما باید مراقب باشیم که یک ضربه کوتاهتر از 1 ثانیه برای فعال کردن سروو ایجاد کنیم ، در غیر این صورت سیمها بلافاصله پس از کشیدن آزاد می شوند ، همانطور که در مرحله 8 در مورد کد آردوینو توضیح داده شده است.

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

- اگر بار سنگینی بر روی انگشت باشد ، سنسور همیشه ارزش زیادی دارد و بنابراین سروو به طور مداوم می چرخد.

توصیه شده: