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

فهرست مطالب

ویژگی های درایور استپر موتور A4988

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

  • گام کامل این درایور 200 گام (هر گام 1.8 درجه) به ازای هر چرخش می‌باشد.
  • جریان مجاز پیوسته عبوری به ازای هر فاز بدون خنک سازی : 1 آمپر
  • ماکزیمم جریان به ازای هر فاز با خنک سازی : 2 آمپر
  • ولتاژ موتور : 8 تا 35 ولت
  • حداقل بازه پالس پین STEP بایستی 1us باشد.
  • محافظت در برابر جریان بیش از حد
نکته

تعداد گام‌های آن از گام کامل تا گام 1/16 می‌باشد.

دیتاشیت آی سی A4988 را می توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) درایور استپر موتور A4988

‌ این درایور دارای پایه‌هایی به شرح زیر است:

پایه های تغذیه:

  • VDD: ولتاژ تغذیه ماژول – 3 تا 5.5 ولت
  • GND: زمین
  • VMOT: ولتاژ تغذیه موتور – 8 تا 35 ولت
نکته

برای محافظت درایور از جرقه‌های ولتاژ VMOT، می‌توانید از خازن استفاده کنید.

پایه های سیم‌پیچی موتور:

  • 1A: پایه اول کویل 1 موتور
  • 2A: پایه دوم کویل 1 موتور
  • 1B: پایه اول کویل 2 موتور
  • 2B: پایه دوم کویل 2 موتور

پایه های کنترل حرکت موتور:

  • DIR: سیگنال دیجیتال برای کنترل جهت حرکت موتور
  • STEP: سیگنال دیجیتال برای کنترل گام های چرخش
  • SLP: این سیگنال برای زمانی که از موتور ها استفاده‌ای نمی‌شود، کاربرد دارد – Active-Low
  • RST: سیگنال ریست – Active-Low
  • EN: با فعال شدن این سیگنال، خروجی‌های درایور غیرفعال می‌شوند.

پایه های انتخاب دقت گام:

  • MS1: پایه اول دقت گام
  • MS2: پایه دوم دقت گام
  • MS3: پایه سوم دقت گام

با تغییرات این سه پایه، می‌توان تغییرات گام را از گام کامل تا گام 1/16 تغییر داد. جدول زیر بیانگر چگونگی این تغییرات می‌باشد:

پین اوت (Pinout) درایور A4988 در شکل آمده‌است.

لوازمی که به آن احتیاج دارید

Hardware Components

آردوینو UNO R3 × 1
درایور استپر موتور A4988 × 1
استپر موتور 1.7 آمپر NEMA 17HS1910 × 1
سیم جامپر نری-مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE
Note

دقت کنید برای راه‌اندازی این موتور توسط درایور A4988 به منبع تغذیه (آداپتور، باتری و ….) بالاتر از 8 ولت نیاز دارید. منبع تغذیه در لیست فوق ذکر نشده است. خودتان یکی از انواع آن را تهیه کنید.

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

گام اول: سیم بندی

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

نکته

پایه SLP و RST به یکدیگر متصل شده‌اند.

گام دوم: محدودسازی جریان

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

Current Limit = VRef * 2

ابتدا سر مثبت مولتی‌متر را به پتانسیومتر و سر منفی مولتی‌متر را به GND متصب کنید. ولتاژی که اندازه‌گیری شده است، همان VRef می‌باشد. با ضرب آن در عدد 2، محدودیت جریان مشخص می‌شود. در ادامه نیز با توجه به دیتاشیت، جریان کویل‌ها 70% جریان محدود شده می‌باشد:

Winding Current = Current Limit * 0.7

گام سوم : کد

کد زیر را روی آردوینو خود آپلود کنید.

    /*
  A4988-Reprap-Stepper-Driver
  made on 29 Nov 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
*/ #define DIR 6 #define STEP 5 void setup(){ pinMode(DIR,OUTPUT); // Set DIR pin as output pinMode(STEP,OUTPUT); // Set STEP pin as output } void loop(){ digitalWrite(DIR,HIGH); // Set the direction of the stepper motor to HIGH (clockwise) // Rotate the stepper motor 100 steps clockwise for(int x=0; x<100; x++){ digitalWrite(STEP,HIGH); // Send a high pulse to the STEP pin delayMicroseconds(500); // Wait for a short duration digitalWrite(STEP,LOW); // Send a low pulse to the STEP pin delayMicroseconds(500); // Wait for a short duration } delay(1000); // Pause for 1 second digitalWrite(DIR,LOW); // Set the direction of the stepper motor to LOW (counter-clockwise) // Rotate the stepper motor 100 steps counter-clockwise for(int x=0; x<100; x++){ digitalWrite(STEP,HIGH); // Send a high pulse to the STEP pin delayMicroseconds(500); // Wait for a short duration digitalWrite(STEP,LOW); // Send a low pulse to the STEP pin delayMicroseconds(500); // Wait for a short duration } delay(1000); // Pause for 1 second }

ابتدا پایه 5 و 6 را به عنوان پایه های STEP و DIR تعریف می‌کنیم. در ادامه با یک برنامه ساده توسط حلقه for، موتور نیم‌دور در جهت ساعتگرد و نیم‌دور نیز در جهت پادساعتگرد می‌چرخد.  

آموزش های مشابه

Comments (5)

  • Rezaiyan Reply

    سلام
    کدنویسی برای ماژول درایور tb6560 نیز چه تفاوت های دارد

    جولای 11, 2021 at 10:43 ق.ظ
    • مهران ملکی Reply

      سلام،
      تفاوت اصلی که بین درایور tb6560 و a4988 وجود داره اینه که تو درایور tb6560 نیازی ندارید که حتما با کمک یک مولتی‌متر محدودسازی جریان رو انجام بدید و این کار به کمک میکروسوییچ روی ماژول درایور به راحتی انجام میشه. تفاوت اصلیشون در استفاده با آردوینو هم به طور اجمالی این هست که به جای 2 پین، برای استفاده درایور tb6560 نیاز هست که از 3 پین آردوینو کمک گرفته بشه. برای شناخت بهتر استفاده از ماژول درایور tb6560 و استفاده اون با آردوینو میتونید از لینک زیر هم کمک بگیرید:
      “https://www.youtube.com/watch?v=g-xnanD7vUs”

      جولای 11, 2021 at 12:19 ب.ظ
  • بیژن جمشیدی Reply

    سلام میشه کدنویسی هارو توضیح بدین ک هر خط مربوط ب چی هست و ترتیب ب چ صورته

    ژوئن 24, 2023 at 5:25 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      کد کامنت گذاری شد.

      ژوئن 24, 2023 at 10:15 ق.ظ
  • Ali hoseini Reply

    ممنون از سایت خوبتون لطف کنید و شبیه سازی پروتئوس رو قرار بدید

    ژوئن 25, 2023 at 6:04 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.