ویژگیهای استپر موتور 5 ولت 28BYJ-48
در پروژههایی که نیاز به کنترل دقیق شفت موتور داریم، عموما از استپر موتورها استفاده میکنیم. این موتورها کاربردهایی مانند بازوی ربات، پرینترهای سه بعدی، ماشینهای CNC و … دارند. استپر موتور ها پالسهای الکتریکی را به حرکتهای گسسته مکانیکی تبدیل میکنند. رزولوشن و سرعت چرخش شفت موتور مستقیما به فرکانس پالسهای ورودی بستگی دارد. یکی از مهمترین مزیتهای این موتور، توانایی آن در کنترل دقیق در یک سیستم حلقه باز میباشد.
استپر موتور 5 ولت 28BYJ-48 یکی از این موتورهاست. این موتور از 4 سیمپیچ ثابت تشکیل شده است و دارای یک گیربکس کاهنده 1/64 میباشد. این موتور دارای 5 سیم میباشد. سیم قرمز به منبع تغذیه 5 ولت متصل میشود و 4 سیم دیگر برای هر یک از سیمپیچیهای ثابت میباشد.
از جمله ویژگیهای این موتور عبارت اند از:
- چرخش 11.25 درجه در هر گام در مد گام کامل
- فرکانس: 100 هرتز
- گشتاور کششی : 300gf.cm
نکته
با توجه به وجود گیربکس، تعداد گام بر چرخش این موتورها 2048 میباشد.
نکته
از درایور ULN2003 برای درایو این موتور استفاده میکنیم.
دیتاشیت موتور 28BYJ-48 را میتوانید از اینجا دانلود کنید.
28BYJ-48 4 Phase Stepper Motor Datasheet
معرفی پایههای (Pinout) استپر موتور 5 ولت 28BYJ-48
سیمپیچیهای درون موتور به شکل زیر میباشد.
موتور 28BYJ-48 دارای پایههایی به شرح زیر است:
- V: پایه 5 ولت – قرمز
- C1: سیم پیچ 1 – نارنجی
- C2: سیم پیچ 2 – صورتی
- C3: سیم پیچ 3 – زرد
- C4: سیم پیچ 4 – آبی
پین اوت (Pinout) این موتور را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی استپر موتور 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)
سلام وقت بخیر
آیا امکانش هست به جای استفاده از باتری 5 ولتُ از بایه 5 ولت و بایه gnd آردوینو برای درایور استب موتور استفاده کرد؟؟؟؟
سلام وقت شما هم بخیر
خیر، ازونجایی که موتور برای راه اندازیش نیاز به جریان کشی بالایی داره و آردوینو توانایی تامین اون جریان رو نداره، استفاده از 5 ولت آردوینو به جای باتری باعث آسیب رسیدن و حتی سوختن برد آردوینو میشه. در نتیجه لازمه که از تغذیه جداگونه برای درایو کردن استپ موتور استفاده کرد.
سلام مجدد
این استپ موتور به چه مقدار جریان نیاز داره؟؟؟؟
واینکه من میخوام تعدادی از این ها مثلا حدود 20 تا رو با آردوینو راه اندازی کنم
فرض مثال اگر هر کدوم از این استپ موتور ها به 2 آمپر جریان نیاز داشته باشه
آیا من باید یک منبع تغذیه 5 ولت 2 آمپر برای 20 تا استپ موتور تهیه کنم یا یک منبع تغذیه 5 ولت 40 آمپر؟؟؟؟
آیا منبع تغذیه پاور سوِیچینگ صنعتی رو میزی برای اینکار مناسب هست؟؟؟؟
پیشاپیش ممنون از زحمات شما
سلام.
درایور این استپرموتور حدود 0.5 آمپر جریان میکشه.
اگر بخواید تعدادی ازین موتورهارو مثلا 20 عدد رو با آردوینو راهاندازی کنید در ابتدا لازمه که 20 عدد هم درایور براشون تهیه کنید. برای تغذیه شون هم میتونید هم از 20 عدد منبع تغذیه جداگونه 5 ولت 0.5 آمپر استفاده کنید و هم یک منبع تغذیه 5 ولت 10 آمپر. البته نکتهای که باید بهش توجه کنید اینه که وقتی یک موتور و درایورش به 0.5 آمپر جریان نیاز دارن، بهتره که منبع تغذیهای استفاده بشه که توانایی جریان دادن بیشتری داشته باشه، چون موتورها موقع استارت به طور لحظهای جریان خیلی بالایی میکشن. در نتیجه برای کاربرد شما بهتره که از یک منبع تغذیه 5 ولت و حدود 15 تا 20 آمپر استفاده کنید.
همچنین در مورد منبع تغذیه پاورسوئیچینگ صنعتی رو میزی هم، بله، برای این کار مناسب هست.
با سلام و عرض خسته نباشین
مطالب کاملا مفید بود ممنون
قدرت این نوع استپر موتور ها چقدر است؟
آیا میتواند یه فنر با وزن 2 الی 3 کیلوگرم را به چرخش درآورد؟
سلام. ممنون از لطفتون.
بر اساس دیتاشیت، گشتاور این موتور 300gf.cm هست که حدودا معادل 0.029N.m میشه. که این عدد خیلی برای چرخوندن یه وزن حدود 2 الی 3 کیلویی کم هست. برای چرخوندن یک جرم حدود 2 کیلویی (2Kg معادل 20N) در فاصله مثلا 5 سانتیمتری (0.05m) شما به موتوری با گشتاور 0.05*20 یعنی 1N.m نیاز دارید. (torque = distance*force)