آردوینو آردوینو Arduino Uno رباتیک پروژه های آردوینو

آموزش ساخت ربات بازو MeArm بر پایه آردوینو و سرو موتور

me-arm-robot-with-arduino-and-servo-motor-digispark
نوشته شده توسط علی فلاحی

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

 


درباره ربات بازو MeArm


MeArm یک ربات بازو برپایه آردوینو و بسیار خوش سایز طراحی شده است. بسته به خلاقیت کاربر، می‌توان از سخت افزارهای متعددی برای ساخت آن استفاده نمود. نوعی ورق چوبی MDF با ضخامت در حدود ۳ میلی متر وجود دارند. اکثر پروژه‌های رباتیکی را روی این ورق سبک و مقاوم پیاده می‌کنیم. بنابراین در ساخت ربات بازو MeArm از همین جنس استفاده کردیم. سپس از یک آردوینو Uno R3 و ۴ عدد سروو موتور sg90 ربات بازو MeArm را مونتاژ کردیم. قطعات ربات بازو MeArm توسط تکنولوژی برش لیزر آماده شده‌اند. پس از آن به کمک ۲ عدد جوی استیک ربات بازو را کنترل می‌کنیم. به هنگام تهیه ربات بازو MeArm دو صفحه لیزر شما تحویل خواهید گرفت. مانند تصاویری که در ادامه این آموزش مشاهده خواهید کرد. ابتدا قطعات هر شیت را باید جدا کرده و پس از بررسی آن‌ها را مانند پازل مونتاژ کنیم. تا در نهایت یک ربات بازو مانند ویدیو بالا داشته باشیم.

 


قطعات ربات بازو MeArm


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

شماتیک طرح مونتاژ ربات بازو MeArm - دیجی اسپارک

 

 


سرو موتور ربات بازو MeArm


همانطور که پیش‌تر توضیح دادم. بازو MeArm با استفاده از ۴ عدد سرو موتور کوچک فرمان می‌گیرد. در این مدل ما از سرو موتور SG90 که یک مدل ارزان، کوچک، کم جریان و با دنده پلاستیکی است، استفاده کردیم. در بسته بندی هر سروو موتور Servo Motor تعدادی قطعه پلاستیکی برای انتقال حرکت از شفت وجود دارد. در بسته سرو موتور SG90 تعداد ۳ عدد پیچ کوچک وجود دارد. دو پیچ بزرگتر و شبیه به هم برای اتصال مبدل‌های شافت سرو به بدنه ربات بازو MeArm هستند. یک پیچ کوچکتر برای اتصال شفت به بازوهای پلاستیکی سرو موتر به کار می‌رود. به تصویر زیر دقت کنید.

شفت های سروو موتور Servo Motor

 

 


قطعات ربات بازو MeArm


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

بدنه اصلی ربات بازو MeArm - دیجی اسپارک

 

قطعات اصلی در ربات بازو MeArm - دیجی اسپارک

 

دیواره ربات بازوی me arm با سرو موتور - دیجی اسپارک

 

بدنه اصلی ربات بازو MeArm از جنس MDF - دیجی اسپارک

 

قطعات گریپر ربات بازو MeArm

 

 


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


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

بازوی سمت راست me arm

 

سروو موتور دیواره سمت راست را به همراه قطعات بازوی آن ، بر روی دیواره نصب کنید.

یازوی مونتاژ شده me arm سمت راست

 

قطعات ۸، ۹ و ۱۰ را به شکلی که قطعه ۱۰ در وسط قرار بگیرد، مطابق تصویر زیر ببندید.

مونتاژ بازوی رباتیک me arm

 

قطعه شماره ۷ که دیواره جلویی ربات بازو MeArm می‌باشد؛ را به دیواره سمت راست نصب کنید.

مونتاژ بازوی رباتیک me arm

 

بازوی سروو موتور دیواره سمت راست را به بالای قطعه ۱۰ به طوری که یک واشر و یکی از قطعات شماره ۱۷ بین آن ها قرار بگیرد وصل کنید. به تصویر زیر دقت کنید.

مونتاژ بازوی رباتیک me arm

 


مونتاژ شاسی ربات بازو MeArm


پس از اینکه قطعات اصلی بدنه را مونتاژ کردید. نوبت به شاسی ربات بازو می‌رسد. شاسی همان بخش انتهایی ربات می‌باشد. شاسی هم روی یک سرو موتور به صورت مجزا متصل می‌شود. کف و دیواره پشتی را در شیارهای خوذ قرار دهید. سپس پیچ و مهره دیواره پشتی را ببندید. توجه داشته باشید که قطعه شماره ۸ در شیارهای مربوط به خود قرار گرفته باشد.

مونتاژ بازوی رباتیک me arm

 

دیواره سمت راست شاسی ربات بازو را نصب کنید. توجه داشته باشید که قطعه شماره ۷ در بین بازو سرو موتور سمت راست و قطعه شماره ۱۰ قرار می‌گیرد. سپس توسط پیچ و مهره در جای خود ثابت خواهد شد.

مونتاژ بازوی رباتیک me arm

 

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

مونتاژ بازوی رباتیک me arm

 

 


گریپر ربات بازو MeArm


تا این مرحله بخش شاسی و بدنه ربات بازو MeArm تکمیل شدند. بخش سوم ربات و مهم‌ترین بخش آن گریپر یا همان فک ربات می‌باشد. جهت مونتاژ گریپر GRIPPER تعداد ۱۰ عدد قطعه نیاز است. این قطعات را در بخش اول آموزش جدا کردیم. ابتدا سروو موتور را درون قطعه ۲۱ قرار دهید. قطعات ۲۲ و ۲۳ را در کنار سروو موتور، در شیار خود گذاشته و سپس قطعه شماره ۲۴ را در زیر آن دو قطعه قرار دهید. سپس پیچ‌های قسمت انتهایی را با رعایت فشار مناسب به پیچ‌ها و بدنه ببندید.

مونتاژ بازوی رباتیک me arm

 

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

مونتاژ بازوی رباتیک me arm

 

قطعه ۲۶ را از مرکز، بر روی پیچ ۱۲ میلی‌متری که در محور قطعه ۲۸ قرار داده بودید ببندید. سپس سوراخ باقی مانده را بر روی گیره با یک پیچ کوتاه به بخش جلویی گریپر ربات بازو MeArm متصل کنید. شفت سروو موتور را مطابق تصویر بر روی قطعه ۳۰ ببندید. سپس قطعه ۲۹ را به مجموعه اضافه کنید. شفت را بر روی سروو موتور ببندید به طوری که موقعیت گیره در بازترین حالت، آخرین حد حرکت سروو موتور باشد. به تصویر زیر دقت کنید.

گریپر greeper بازوی رباتیک me arm

 

مونتاژ گریپر بازوی رباتیک me arm

 

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

 

 


وسایل مورد نیاز


ربات بازو MeArm از جنس MDF

سرو موتور servo motor

برد آردوینو Arduino

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

 

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

علی فلاحی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۰ دیدگاه

  • سلام ببخشید چطور میتونم این کیت رو تهیه کنم . بنده یک برد آردوینو و ۲ عدد سروو موتور دارم و نیاز به این کیت و دو عدد سروو موتور دارم .
    ممنون میشم راهنماییم کنید .

    • سلام
      در خصوص تهیه این محصول می توانید از لینکی که تا چند روز آیده به محصول اضافه خواهد شد، ربات بازوی meArm را تهیه کنید.

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

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

  • سلام دوست عزیز.من کد زیر رو نوشتم و خطای expected primary-expression before ‘=’ token رودارم و دلیلش رو متوجه نمیشم

    <include <Servo.h#
    int redpin=3;
    int greenpin=5;
    int bluepin=6;
    int position = 0;
    Servo myflower;
    void setup()
    {
    ( pinMode(redpin,OUTPUT;
    ( pinMode(greenpin,OUTPUT;
    (pinMode(bluepin,OUTPUT;
    ( myflower.attach(9;
    }

    void loop()
    {

    ( for (position = 0 ; position = 0; position – = 1
    {
    (myflower.write(position;
    ( setcolor(255,255,255;
    ( delay(50;
    }
    }

    (void setcolor(int red,int green,int blue
    {
    (analogWrite(redpin,red;
    (analogWrite(greenpin,green;
    (analogWrite(bluepin,blue;
    }

    • با سلام
      یک ; در کدها جا انداخته شده است. با کلیک بر روی ارور خطی که نیاز به ; دارد را نمایش میدهد.

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

    • با سلام
      برای این منظور انتخاب‌ها و طرح‌های مختلفی وجود دارند. البته بخش مکانیکی و ترکیب آن با موتورهاست که بازو رباتیک را تشکیل میدهد. از اینرو بایستی در این زمینه‌ها تحقیقات کنید.

  • سلام یک بازو میخوام که بصورت انالوگ یبار کار رو باهاش انجام بدم بعد خودش همون کار رو انجام بده یا اینکه بعدش با کد بتونم مقدار جابجای و سرعت جابجا شدنش رو تغییر بدم
    (میخوام سر بازو یه سیم لاکی باشه و این سیم رو فقط چند سانت در جهت افقی جلو ببره و برگرده عقب سرجاش)

  • سلام وقتتون بخیر ببخشید فیلم با توضیحات کامل اسمبل کردن اردیو کارت و سرو موتور و پیچ هارو کجا میتونم ببینم .اخه این فیلمی که گذاشتید واضح نیست که چطور اسمبل میکنه

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

  • سلام. در کار با این ربات بازو به چند نکته برخوردم که در متن به هیچ وجه اشاره نشده
    ۱٫ در مونتاژ بدنه هیچ نیازی به واشر نیست و به اشتباه نیاز به واشر داشتن قید شده است
    ۲٫ قبل از مونتاژ در هر مرحله باید سروو موتور ها چک بشن که مثلا صفرشو کجاست. در حقیقت قبل مونتاژ باید موتورها کالیبره باشن نه بعدش
    ۳٫ چرخدنده های گریپر باید با هم درگیر باشن و کالیبره کردن سروو موتور در این مورد بسیار حیاتی تر هست
    اگر این کارها رو بکنیم وقتی از طرف چنگک روبرو نگاه کنیم موتور راست و چپ هست
    کار موتور راست تنظیم اندازه بازو در عرض هست مثلا از یه جا جلوتر و عقب تر میشه. محدوده ش بین ۰ تا ۱۸۰ هست
    کار موتور چپ تنظیم ارتفاع بازو هست. با توجه به مکانیزم این ربات بازو محدوده از ۰ تا حدودای ۹۰ هست و تا ۱۸۰ نمیتونه بره چون جا نداره
    کار موتورهای بیس و گریپر هم که مشخصه
    اول کار کالیبره کنید تا بعدا مجبور نشید بازم بازش کنید
    ممنون از دیجی اسپارک

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

  • سلام
    اخه چ وضع آموزشه ۱ دونه عکس کامل گذاشتی اونم نا واضح همش ادم باید ازمایش خطا کنه و وسیله هم خراب میشه
    خیلی آموزش ساخت و بستنش ضعیف بود متاسفانه

    • با سلام
      کاربر گرامی این آموزش در حدود ۲۰ عدد عکس مختلف دارد. حتی فیلم مونتاژ هم در آموزش قرار دارد. لطفا کم لطفی نکنید و با حوصله و دقت کافی نسبت به مونتاژ کردن قطعات اقدام کنید.

    • با سلام
      برای اینکار نیاز به دانش کدنویسی در محیط آردوینو خواهید داشت.

  • سلام و وقت بخیر. برای کسی که این ربات رو خریده و میخواهد سر هم کند فالو کردن فیلم آموزشی با اون سرعت بسیار کار مشکلی هست. واقعا به نظرتون بهتر نبود که یا فیلم رو بدون سرعت بارگذاری کنید یا آموزش تصویری بهتری ارائه می شد برای سرهم کردن کل ربات؟ ممنون