راه اندازی موتور پله ای (استپر) [Stepper] با استفاده از آردوینو

برد آردوینو و استپر

موتورهای پله­ ای در دسته موتورهای بین موتورهای دی سی معمولی و سرو موتورها قرار می­گیرندو از مزیت­های شناخته شده آن­ها می­توان به قرار گیری در موقعیت مطلوب می­باشد و به صورت گام در زمان راه­اندازی می­شود. این موتور در سیستم­ هایی همچون پرینترهای سه بعدی (۳D printer)، پلاترها ( Plotter) و سی ان سی ها (CNC) و غیره کاربرد دارد.  در این­جا قصد داریم  با نحوه راه­ اندازی این موتورهای با استفاده از برد آردوینو آشنا شویم.

learn_arduino_overviewrobotmakers-ir

قطعات مورد نیاز:

  • موتور استپر

learn_arduino_stepperrobotmakers-ir

  • آی سی L293D

807-01robotmakers-ir

  • بردبورد

learn_arduino_breadboard_half_webrobotmakers-ir

  • آردوینو

learn_arduino_uno_r3_webrobotmakers-ir

  • سیم برد

learn_arduino_jumpers_webrobotmakers-ir

شماتیک نحوه اتصال

شماتیک نحوه اتصال سیم ها به آی سی L293D در شکل زیر به سادگی نشان داده شده است.

l293drobotmakers-ir

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

arduino_curcuitrobotmakers-ir

 

کد آردینو:

بعد از آنکه برنامه زیر را در آردوینو خود آپلود کردید مسیر Tools>> Serial Monitor را دنبال نمایید. در این محیط مقدار گام برای مثال ۵۰۰ را وارد نمایید و گزینه send را بزنید. متوجه خواهید شد که موتور به مقدار ۵۰۰ گام به سمت جلو حرکت می­نماید. حال اگر مقدار ۵۰۰- را وارد نمایید، موتور به همین تعداد گام (پله) به سمت عقب برخواهد گشت.

همانطور که در برنامه مشخص شده است، ابتدا باید کتابخانه مربز به موتور استپر را فراخوانی نمایید. سپس متغییرهای pin1 تا pin4 تعریف شده­اند. برای مشخص کردن این پین­­ها یه عنوان پین­های متصل به آردینو از دستور زیر استفاده شده است

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

حلقه loop بسیار ساده می­باشد. این حلقه منتظر خواهد بود تا دستور از Serial Monitor  فرستاده شود تا این دستور را به مقداری int دبگر با استفاده از parseInt بنماید. سپس به موتور دستور داده خواهد شد که به تعداد گام وارد شده دوران نماید.

نکته: دقت کنید که با توجه به موتور  استفاده شده، مقدار سرعت در دستور motor.setSpeed را افزایش دهید. متوجه خواهید شد که بعد از مقدار خاصی موتور دیگر دوران نمی­کند. زیرا موتور قادر نیست بالاتر از سرعت وارده دوران نماید.

شاید این مطالب را هم دوست داشته باشید

5 پاسخ

  1. شایان می‌گه:

    سلام خسته نباشید…لطف میکنید بفرمایید مدل استپر موتور استفاده شده چیست ؟ با تشکر

  2. ali می‌گه:

    سلام من استپر nema 23استفاده کردم برنامه رو که اپلود میکنم استپر با قدرت خیلی کمی میچرخه
    اگه با دست بگیریش وایمیسه
    بنظرتون چرا؟

  3. امیرحسین می‌گه:

    سلام، خواستم ببینم اگه بخواییم سرعت استپر موتور رو متغییر قرار بدیم و به صورت دستی با دکمه ولومی تغییر بدیم
    برنامه چگونه خواهد بود؟
    فک کنم باید به صورت آنالوگ متصل بشه؟!!!!

  4. مهرداد می‌گه:

    سلام خسته نباشید
    آقا خیلی عالی بود دمتون گرم
    بدون وارد کردن سریال هم میشه موتور رو چرخوند به صورت دائم ؟

    • محمود حسن پور دهنوی محمود حسن پور دهنوی می‌گه:

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


CLOSE
CLOSE