آموزش راه اندازی استپر موتور 5 ولت 28BYJ-48 با آردوینو

فهرست مطالب

ویژگی‌های استپر موتور 5 ولت 28BYJ-48

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

استپر موتور 5 ولت 28BYJ-48 یکی از این موتورهاست. این موتور از 4 سیم‌پیچ ثابت تشکیل شده است و دارای یک گیربکس کاهنده 1/64 می‌باشد. این موتور دارای 5 سیم می‌باشد. سیم قرمز به منبع تغذیه 5 ولت متصل می‌شود و 4 سیم دیگر برای هر یک از سیم‌پیچی‌های ثابت می‌باشد.

از جمله ویژگی‌های این موتور عبارت اند از:

  • چرخش 11.25 درجه در هر گام در مد گام کامل
  • فرکانس: 100 هرتز
  • گشتاور کششی : 300gf.cm
نکته

با توجه به وجود گیربکس، تعداد گام بر چرخش این موتورها 2048 می‌باشد.

نکته

از درایور ULN2003 برای درایو این موتور استفاده می‌کنیم.

دیتاشیت موتور 28BYJ-48 را می‌توانید از اینجا دانلود کنید.

معرفی پایه‌های (Pinout) استپر موتور 5 ولت 28BYJ-48

سیم‌پیچی‌های درون موتور به شکل زیر می‌باشد.

موتور 28BYJ-48 دارای پایه‌هایی به شرح زیر است:

  • V: پایه 5 ولت – قرمز
  • C1: سیم پیچ 1 – نارنجی
  • C2: سیم پیچ 2 – صورتی
  • C3: سیم پیچ 3 – زرد
  • C4: سیم پیچ 4 – آبی

پین اوت (Pinout) این موتور را می‌توانید در تصویر زیر مشاهده کنید.

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

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

آردوینو UNO R3 × 1
ماژول درایور استپر موتور 4 فاز UL2003 × 1
استپر موتور 5 ولت 28BYJ-48 × 1
سیم جامپر نری-مادگی × 1

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

آردوینو IDE

راه اندازی استپر موتور 5 ولت 28BYJ-48 با آردوینو

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

اخطار

به دلیل اینکه ولتاژ کاری موتور 5 ولت است، هرگز از منبع تغذیه بالاتر از 5 ولت استفاده نکنید.

گام دوم : کد

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

   /*
  ULN2003-4Phase-Stepper-Motor-Driver
  modified on 06 Dec 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
based on Arduino library */ #include <Stepper.h> const int stepsPerRevolution = 2048; const int rpm = 12; Stepper stepper1 = Stepper(stepsPerRevolution, 8, 10, 9, 11); void setup() { stepper1.setSpeed(rpm); Serial.begin(9600); // opens serial port, sets data rate to 9600 bps Serial.println("Select rotation: "); Serial.println("1.1/4 forward"); Serial.println("2.1/2 forward"); Serial.println("3.full forward"); } void loop() { if (Serial.available() > 0) { // read the incoming byte: int incomingByte = Serial.read(); switch (incomingByte) { case '1': // if input=1 ....... motors turn One_quarter One_quarter(); break; case '2': // if input=2 ....... motors turn One_half One_half(); break; case '3': // if input=1 ....... motors turn full full(); break; } delay(200); incomingByte=0; } } void One_quarter(){ stepper1.step(stepsPerRevolution/4); delay(100); } void One_half(){ stepper1.step(stepsPerRevolution/2); delay(100); } void full(){ stepper1.step(stepsPerRevolution); delay(100); }

ابتدا کتابخانه آن پیوست می‌شود. در مرحله بعدی دو متغیر گام چرخش و سرعت موتور بر حسب RPM تعیین می‌شوند. گام به ازای هر چرخش موتور 2048 تنظیم می‌شود. سرعت آن را نیز 12RPM قرار می‌دهیم. پس هر دور آن 5 ثانیه طول می‌کشد. سپس پایه‌های کنترلی طبق ترتیب بالا تعیین می‌گردند.
شما به عنوان کاربر می‌توانید میزان چرخش در جهت مستقیم را انتخاب کنید. با انتخاب گزینه مربوطه موتور به همان اندازه در جهت مستقیم می‌چرخد.

در تصویر زیر Serial Monitor را مشاهده می‌کنید. 3 گزینه انتخابی به شرح زیر است:

1. چرخش 1/4 دور در جهت مستقیم

2. چرخش 1/2 دور در جهت مستقیم

3. چرخش کامل در جهت مستقیم

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

Comments (6)

  • مهدی Reply

    سلام وقت بخیر
    آیا امکانش هست به جای استفاده از باتری 5 ولتُ از بایه 5 ولت و بایه gnd آردوینو برای درایور استب موتور استفاده کرد؟؟؟؟

    اکتبر 13, 2021 at 10:50 ب.ظ
    • مهران ملکی Reply

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

      اکتبر 16, 2021 at 9:40 ق.ظ
  • مهدی Reply

    سلام مجدد
    این استپ موتور به چه مقدار جریان نیاز داره؟؟؟؟
    واینکه من میخوام تعدادی از این ها مثلا حدود 20 تا رو با آردوینو راه اندازی کنم
    فرض مثال اگر هر کدوم از این استپ موتور ها به 2 آمپر جریان نیاز داشته باشه
    آیا من باید یک منبع تغذیه 5 ولت 2 آمپر برای 20 تا استپ موتور تهیه کنم یا یک منبع تغذیه 5 ولت 40 آمپر؟؟؟؟
    آیا منبع تغذیه پاور سوِیچینگ صنعتی رو میزی برای اینکار مناسب هست؟؟؟؟
    پیشاپیش ممنون از زحمات شما

    اکتبر 17, 2021 at 10:44 ب.ظ
    • مهران ملکی Reply

      سلام.
      درایور این استپرموتور حدود 0.5 آمپر جریان میکشه.
      اگر بخواید تعدادی ازین موتورهارو مثلا 20 عدد رو با آردوینو راه‌اندازی کنید در ابتدا لازمه که 20 عدد هم درایور براشون تهیه کنید. برای تغذیه شون هم میتونید هم از 20 عدد منبع تغذیه جداگونه 5 ولت 0.5 آمپر استفاده کنید و هم یک منبع تغذیه 5 ولت 10 آمپر. البته نکته‌ای که باید بهش توجه کنید اینه که وقتی یک موتور و درایورش به 0.5 آمپر جریان نیاز دارن، بهتره که منبع تغذیه‌ای استفاده بشه که توانایی جریان دادن بیشتری داشته باشه، چون موتورها موقع استارت به طور لحظه‌ای جریان خیلی بالایی میکشن. در نتیجه برای کاربرد شما بهتره که از یک منبع تغذیه 5 ولت و حدود 15 تا 20 آمپر استفاده کنید.
      همچنین در مورد منبع تغذیه پاورسوئیچینگ صنعتی رو میزی هم، بله، برای این کار مناسب هست.

      اکتبر 18, 2021 at 10:23 ق.ظ
  • zahra Reply

    با سلام و عرض خسته نباشین
    مطالب کاملا مفید بود ممنون
    قدرت این نوع استپر موتور ها چقدر است؟
    آیا میتواند یه فنر با وزن 2 الی 3 کیلوگرم را به چرخش درآورد؟

    اکتبر 18, 2021 at 1:05 ب.ظ
    • مهران ملکی Reply

      سلام. ممنون از لطفتون.
      بر اساس دیتاشیت، گشتاور این موتور 300gf.cm هست که حدودا معادل 0.029N.m میشه. که این عدد خیلی برای چرخوندن یه وزن حدود 2 الی 3 کیلویی کم هست. برای چرخوندن یک جرم حدود 2 کیلویی (2Kg معادل 20N) در فاصله مثلا 5 سانتی‌متری (0.05m) شما به موتوری با گشتاور 0.05*20 یعنی 1N.m نیاز دارید. (torque = distance*force)

      اکتبر 18, 2021 at 4:36 ب.ظ

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

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