🔩 موتور پلهای 28BYJ-48 (استپر) (Stepper Motor 28BYJ-48)
| اسم انگلیسی | Stepper Motor 28BYJ-48 |
|---|---|
| در ووکوی (Wokwi) | wokwi-stepper-motor |
| دسته | ⚙️ موتور و حرکت |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
موتور پلهای 28BYJ-48 (Stepper Motor) یک استپر کوچک پنجولتی با گیربکس داخلی است که معمولاً همراه برد درایور ULN2003 فروخته میشود. محورش را گامبهگام و دقیق میچرخاند، بدون اینکه سنسوری لازم باشد: عقربهی ساعت، پردهی خودکار، صفحهی گردان دوربین یا قفل چرخشی. سرعتش کم است ولی دقتش عالی.
استپر در ووکوی (Wokwi)
استپر ووکوی شناسهی wokwi-stepper-motor دارد با پایههای A-، A+، B+ و B-. فرق مهمش این است که دوقطبی است، شبیه NEMA 17، و معمولاً با درایور wokwi-a4988 راه میافتد؛ 28BYJ-48 تکقطبی است و با ULN2003 کار میکند و تا جایی که میدانیم این جفت در ووکوی آماده نیست. پس در ووکوی منطق «گام بردار» را با استپر دوقطبی تمرین کن:
{
"version": 1,
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
{ "type": "wokwi-a4988", "id": "drv1", "top": -120, "left": 140 },
{ "type": "wokwi-stepper-motor", "id": "stepper1", "top": -260, "left": 130 }
],
"connections": [
[ "uno:3", "drv1:STEP", "green", [] ],
[ "uno:4", "drv1:DIR", "blue", [] ],
[ "drv1:SLEEP", "drv1:RESET", "gray", [] ],
[ "drv1:1A", "stepper1:A+", "orange", [] ],
[ "drv1:1B", "stepper1:A-", "orange", [] ],
[ "drv1:2A", "stepper1:B+", "purple", [] ],
[ "drv1:2B", "stepper1:B-", "purple", [] ]
]
}
در این تکه فقط سیمهای فرمان و سیمپیچها آمدهاند؛ تغذیهی درایور و کد STEP/DIR را در صفحهی استپر NEMA 17 کامل نوشتهایم. خود 28BYJ-48 همراه درایور ULN2003 در تینکرکد فارسی هم در حالت ساده (2D) و هم در حالت آردوینو (3D) رایگان شبیهسازی میشود و مثال موتور پلهای با آردوینو آماده است.
فرق تکقطبی و دوقطبی در عمل این است: در 28BYJ-48 هر سیمپیچ یک سر وسط دارد که به مثبت وصل است (سیم قرمز) و درایور فقط سرهای دیگر را به زمین میکشد؛ برای همین ULN2003 که چهار کلید ساده است کافی است. در موتور دوقطبی جهت جریان در سیمپیچ باید عوض شود و این کار پل H داخل A4988 است.
سیمکشی با آردوینو
| پایهی قطعه | وصل به |
|---|---|
| سوکت پنجسیمهی موتور | سوکت سفید روی برد ULN2003 (فقط در یک جهت جا میرود) |
| IN1 درایور | پین 8 |
| IN2 درایور | پین 9 |
| IN3 درایور | پین 10 |
| IN4 درایور | پین 11 |
| + درایور | 5V (برای یک موتور؛ برای بیشتر، منبع ۵ ولت جدا) |
| − درایور | GND |
چهار LED روی برد ULN2003 نشان میدهند کدام سیمپیچ روشن است؛ وقتی موتور آرام میچرخد، چرخش نور را روی آنها میبینی و عیبیابی آسان میشود.
کد نمونه
با کتابخانهی استاندارد Stepper، تابع turnDegrees زاویه را به تعداد گام تبدیل میکند: ۹۰ درجه جلو، مکث، ۹۰ درجه برگشت.
// 28BYJ-48 + ULN2003: turn by degrees with the built-in Stepper library.
// Wiring: IN1 -> 8, IN2 -> 9, IN3 -> 10, IN4 -> 11, driver + -> 5V, - -> GND
#include <Stepper.h>
const int STEPS_PER_REV = 2048; // full-step, output shaft
Stepper motor(STEPS_PER_REV, 8, 10, 9, 11); // order: IN1, IN3, IN2, IN4
void turnDegrees(int deg) {
long steps = (long)deg * STEPS_PER_REV / 360;
motor.step(steps);
}
void setup() {
motor.setSpeed(10); // rpm; 28BYJ-48 tops out near 15
}
void loop() {
turnDegrees(90);
delay(700);
turnDegrees(-90);
delay(700);
}
motor.step تا تمام شدن گامها برنامه را نگه میدارد. اگر لازم است همزمان کار دیگری بکنی، کتابخانهی AccelStepper را ببین که در درس استپر نرم با AccelStepper آموزش داده شده است.
اشتباههای رایج
- ترتیب پینها: اگر در سازنده ۸، ۹، ۱۰، ۱۱ بنویسی، موتور بهجای چرخیدن فقط میلرزد یا جلو و عقب میرود.
- سرعت زیاد: بالای حدود ۱۵ دور در دقیقه، 28BYJ-48 گام جا میاندازد یا کلاً نمیچرخد.
- داغ شدن در حالت ایست: کتابخانهی Stepper آخرین سیمپیچ را روشن نگه میدارد. اگر لازم نیست موتور محکم بایستد، بعد از حرکت هر چهار پین را LOW کن.
- انتظار قدرت زیاد: این موتور برای کارهای سبک است؛ برای CNC و بار سنگین سراغ NEMA 17 برو.
آموزشهای مرتبط
- استپر موتور 28BYJ-48 با درایور ULN2003 و آردوینو
- ۱۵ مدار پایهی الکترونیک، با راهانداز دارلینگتون ULN2003
- ۴۰ مدار آردوینو برای ووکوی، با مدار استپر موتور
سؤالهای رایج
ووکوی موتور 28BYJ-48 دارد؟
استپر ووکوی (wokwi-stepper-motor) یک موتور دوقطبی است که معمولاً با درایور A4988 و دو سیگنال STEP و DIR راه میافتد. 28BYJ-48 تکقطبی است و با ULN2003 و چهار سیم کنترل میشود؛ تا جایی که میدانیم این ترکیب در ووکوی آماده نیست، ولی در تینکرکد فارسی رایگان شبیهسازی میشود.
28BYJ-48 در هر دور چند گام دارد؟
در حالت گام کامل، که کتابخانهی Stepper استفاده میکند، حدود ۲۰۴۸ گام در یک دور محور خروجی. عدد دقیق به خاطر نسبت گیربکس کمی کمتر است (حدود ۲۰۳۸)، ولی برای بیشتر پروژهها همان ۲۰۴۸ کافی است.
چرا ترتیب پینها در کد ۸، ۱۰، ۹، ۱۱ است؟
کتابخانهی Stepper سیمپیچها را به ترتیب خاصی روشن میکند. برای اینکه با ترتیب IN1 تا IN4 درایور ULN2003 جور شود، باید IN1، IN3، IN2 و IN4 را به سازنده بدهی؛ وگرنه موتور فقط میلرزد.