فهرست مطالب:

بازوی رباتیک کنترل شده توسط آردوینو و رایانه شخصی: 10 مرحله
بازوی رباتیک کنترل شده توسط آردوینو و رایانه شخصی: 10 مرحله

تصویری: بازوی رباتیک کنترل شده توسط آردوینو و رایانه شخصی: 10 مرحله

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

بازوهای رباتیک به طور گسترده ای در صنعت استفاده می شود. چه برای عملیات مونتاژ باشد ،

جوشکاری یا حتی یکی برای اتصال در ISS (ایستگاه فضایی بین المللی) استفاده می شود ، آنها به انسانها در کار کمک می کنند یا به طور کامل جایگزین انسان می شوند. بازویی که من ساختم نمای کوچکتری از بازوی روباتیک است که قرار است برای حرکت اجسام استفاده شود. این دستگاه توسط arduino pro mini کنترل می شود که قبلاً کتابخانه ای برای کنترل سرویس ها دارد. سروها توسط PWM (مدولاسیون عرض پالس) کنترل می شوند که برنامه نویسی آن سخت نیست اما این کتابخانه کار را آسان تر می کند. کاربر می تواند آن سروها را با پتانسیومترهایی که به عنوان تقسیم کننده ولتاژ عمل می کنند یا از طریق برنامه روی رایانه شخصی که از 4 لغزنده برای کنترل موتورهای سروو استفاده می کند ، کنترل کند.

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

مرحله 1: نظریه پشت پروژه

نظریه پشت پروژه
نظریه پشت پروژه

آردوینو از این نظر عالی است که کتابخانه رایگان برای کار با آن ارائه می دهد. برای این پروژه از کتابخانه Servo.h استفاده کردم که کنترل سرویس ها را بسیار ساده تر می کند.

سرو موتور توسط PWM -Pulse Width Modulation- کنترل می شود ، به این معنی که برای کنترل سروو باید پالس های ولتاژ کوتاه ایجاد کنید. سروو می تواند طول این سیگنال را رمزگشایی کرده و به موقعیت معین بچرخد. و این جایی است که من از کتابخانه ای که قبلاً ذکر شده استفاده کردم. من مجبور نبودم طول سیگنال را به تنهایی محاسبه کنم ، اما از توابع کتابخانه که پارامتر آنها را در درجه ارسال می کنم و سیگنال می دهد ، استفاده کردم.

برای کنترل سرووها از پتانسیومترهایی استفاده کردم که به عنوان تقسیم کننده ولتاژ عمل می کنند. بردهای آردوینو دارای چندین مبدل آنالوگ/دیجیتال هستند که من برای پروژه استفاده کردم. اساساً آردوینو بر روی پین وسط پتانسیومتر ولتاژ را کنترل می کند و اگر به یک طرف ولتاژ بچرخد 0 ولت (مقدار = 0) و در طرف دیگر 5 ولت (مقدار = 1023) است. سپس این مقدار از محدوده 0 - 1023 تا 0 - 180 مقیاس می یابد و سپس به عملکردی که قبلاً ذکر شد منتقل می شود.

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

مرحله 2: طراحی PCB

طراحی PCB
طراحی PCB
طراحی PCB
طراحی PCB
طراحی PCB
طراحی PCB

من 2 PCB طراحی کردم - یکی برای کنترل اصلی که در آن آردوینو و پین برای سروها و در دیگری پتانسیومتر است. دلیل 2 PCB این است که من می خواستم بازوی روباتیک را از فاصله ایمن کنترل کنم. هر دو مدار با کابل به طول معین متصل می شوند - در مورد من 80 سانتی متر.

برای منبع تغذیه ، آداپتور خارجی را انتخاب کردم زیرا سرووهایی که استفاده می کردم بسیار بیشتر از آردوینو می توانند برق مصرف کنند. همانطور که می بینید خازن هایی وجود دارد که من هنوز به آنها اشاره نکرده ام. آنها خازن هایی هستند که برای فیلتراسیون استفاده می شوند. همانطور که می دانید ، سرو موتور با ضربه های کوتاه کنترل می شود. این تکانه ها می توانند باعث افت ولتاژ منبع تغذیه شوند و پتانسیومترهایی که قبلاً دامنه آنها بین 0 تا 5 ولت بود ، برد کمتری دارند. این بدان معناست که ولتاژ پین میانی تغییر می کند و آردوینو این مقدار را بدست می آورد و موقعیت سروو موتور را تغییر می دهد. این می تواند برای همیشه ادامه پیدا کند و باعث نوسانات ناخواسته می شود که می تواند توسط برخی از خازن ها موازی با منبع تغذیه حذف شود.

مرحله 3: ساخت PCB

ساخت PCB
ساخت PCB
ساخت PCB
ساخت PCB
ساخت PCB
ساخت PCB

برای ساخت PCB به شما پیشنهاد می کنم این مطلب را بخوانید.

من از Iron روی روش کاغذ براق استفاده کردم و بسیار عالی عمل کرد.

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

مرحله 4: طراحی بازو

طراحی بازو
طراحی بازو
طراحی بازو
طراحی بازو
طراحی بازو
طراحی بازو

این به هیچ وجه سخت ترین قسمت ساخت این پروژه نبود.

تنظیمات کامل از 8 قسمت ساخته شده است که 4 قطعه متحرک نیستند - جعبه پتانسیومترها و پایه ای که آردوینو در آن قرار دارد - و چهار قسمت دیگر خود بازو هستند. من وارد جزئیات زیادی نمی شوم مگر اینکه طراحی آن بسیار بصری و به نوعی ساده است. این دستگاه متناسب با PCB و سرویس های سفارشی من طراحی شده است که در لیست قطعات قرار خواهم داد.

مرحله 5: چاپ قطعات

چاپ قطعات
چاپ قطعات
چاپ قطعات
چاپ قطعات
چاپ قطعات
چاپ قطعات

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

مرحله 6: همه چیز را با هم ترکیب کنید

همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم

در این مرحله همانطور که از عنوان عنوان می شود همه را با هم جمع کردم.

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

در مرحله بعد من کابل روبان تخت برای اتصال هر دو تخته ساختم.

در جعبه اصلی سیم ها را از پین VCC اتصال به سوئیچ و سپس به Vcc تخته و از GND تخته به GND کانکتور لحیم کردم. سپس کانکتور را در جای خود و تخته روی ستون ها چسباندم. اتصال دهنده درست داخل سوراخ قرار می گیرد ، بنابراین نیازی به چسب حرارتی نیست.

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

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

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

و به عنوان آخرین مرحله مقداری نوار را در پایین جعبه ها قرار دادم ، زیرا در غیر این صورت آنها کشویی می شوند.

مرحله 7: برنامه نویسی آردوینو

برنامه نویسی آردوینو
برنامه نویسی آردوینو
برنامه نویسی آردوینو
برنامه نویسی آردوینو
برنامه نویسی آردوینو
برنامه نویسی آردوینو

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

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

در مرحله بعد void setup وجود دارد که در آن پین های servos مشخص می شوند.

سپس حلقه void وجود دارد - بخشی از برنامه که بی نهایت حلقه می شود. در این قسمت برنامه مقدار مقیاس های پتانسیومتر را گرفته و خروجی را وارد می کند. اما یک مشکل وجود دارد که مقدار پتانسیومتر کمی افزایش می یابد ، بنابراین من نیاز به افزودن فیلتری دارم که به طور متوسط 5 مقدار آخر را ایجاد می کند و سپس خروجی می گذارد. این از تزلزل ناخواسته جلوگیری می کند.

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

به منظور درک کامل کد ، پیشنهاد می کنم از وب سایت های رسمی arduino دیدن کنید.

مرحله 8: برنامه نویسی در پایتون

برنامه نویسی در پایتون
برنامه نویسی در پایتون
برنامه نویسی در پایتون
برنامه نویسی در پایتون
برنامه نویسی در پایتون
برنامه نویسی در پایتون

این بخش از این پروژه ضروری نیست ، اما من فکر می کنم که ارزش بیشتری به این پروژه می بخشد.

پایتون تعداد زیادی کتابخانه را ارائه می دهد که استفاده از آنها رایگان است اما در این پروژه من فقط از tkinter و سریال استفاده می کنم. Tkinter برای رابط کاربری گرافیکی (Graphical User Interface) و سریال همانطور که از نامش مشخص است برای ارتباط سریال استفاده می شود.

این کد رابط کاربری گرافیکی را با 4 لغزنده ایجاد می کند که حداقل مقدار آن 0 و حداکثر 180 است. ممکن است برای شما اشاره شود که درجه است و هر نوار لغزنده برای کنترل یک سروو برنامه ریزی شده است. این برنامه نسبتاً ساده است - مقدار را می گیرد و آن را به arduino ارسال می کند. اما نحوه ارسال آن جالب است. اگر مقدار سروو اول را به 123 درجه تغییر دهید ، مقدار آردوینو 1123 ارسال می شود. اولین شماره از هر عدد ارسال شده نشان می دهد که کدام سروو در حال کنترل است. آردوینو دارای کدی است که می تواند این را رمزگشایی کرده و سرووی مناسب را حرکت دهد.

مرحله نهم: فهرست قطعات

لیست قطعات
لیست قطعات
  • آردوینو پرو مینی 1 عدد
  • سروو FS5106B 1 عدد
  • Servo Futaba S3003 2 عدد
  • هدر پین 2x5 1 قطعه
  • هدر پین 1x3 6 قطعه
  • خازن 220uF 3 عدد
  • Micro Servo FS90 1 قطعه
  • اتصال AWP-10 2 قطعه
  • اتصال FC681492 1 قطعه
  • سوئیچ P-B100G1 1 قطعه
  • سوکت 2x14 1 عدد
  • TTL-232R-5v-مبدل 1 قطعه
  • پتانسیومتر B200K 4 قطعه
  • و پیچ ، لنت و مهره های دیگر

مرحله دهم: اندیشه های نهایی

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

توصیه شده: