🌀 موتور DC بزرگ (Large DC Motor (12V))
| اسم انگلیسی | Large DC Motor (12V) |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | ⚙️ موتور و حرکت |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
موتور DC بزرگ (Large DC Motor) همان موتور DC است با ولتاژ و جریان بیشتر، معمولاً ۱۲ ولت و چند صد میلیآمپر تا چند آمپر: پمپ آب، فن خنککننده، چرخ ربات سنگین یا دریل شارژی. با آردوینو کنترل میشود، ولی آردوینو فقط فرمان میدهد؛ برق موتور از منبع خودش و از راه یک ماسفت میآید.
موتور DC بزرگ در ووکوی (Wokwi)
تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را ندارد و منبع ۱۲ ولت هم ندارد؛ تغذیهی قطعهها در ووکوی فقط از پایههای 5V و 3.3V برد میآید. کد همین صفحه را میتوانی با یک wokwi-led و مقاومت روی پین ۹ امتحان کنی تا شیب «شروع نرم» را در نور ببینی.
مدار کامل با ماسفت N، دیود و موتور در تینکرکد فارسی هم در حالت ساده (2D) و هم در حالت آردوینو (3D) رایگان شبیهسازی میشود؛ موتور آنجا دو پایهی A و B دارد و پروژهی کنترل دمای فن با PID نمونهی کامل همین مدار است.
سیمکشی با آردوینو
| پایهی قطعه | وصل به |
|---|---|
| موتور، سیم + | مثبت منبع ۱۲ ولت |
| موتور، سیم − | Drain ماسفت IRLZ44N |
| Source ماسفت | GND (منفی منبع و GND آردوینو با هم) |
| Gate ماسفت | پین 9 از راه مقاومت ۲۲۰ اهم |
| مقاومت ۱۰ کیلواهم | بین Gate و GND |
| دیود شاتکی 1N5819 (یا 1N4007) | موازی با موتور؛ نوار سمت +12V |
مقاومت ۱۰ کیلواهم گیت را وقتی آردوینو هنوز بوت نشده پایین نگه میدارد تا موتور خودبهخود راه نیفتد. منطق این مدار در بخش «کلید ماسفت» از ۱۵ مدار پایهی الکترونیک توضیح داده شده است.
کد نمونه
شروع نرم (Soft Start): بهجای پریدن از صفر به ۲۵۵، سرعت در یک ثانیه بالا میرود تا جریان لحظهی شروع کم شود؛ توقف هم آرام است تا ضربه به گیربکس و منبع نرسد.
// Large 12 V DC motor through a logic-level MOSFET, with soft start/stop.
// Wiring: pin 9 -> 220 ohm -> gate, 10k gate -> GND, drain -> motor -,
// motor + -> 12 V, source -> GND (shared), diode across the motor
const int MOTOR_PIN = 9;
int speedNow = 0;
void rampTo(int target, int msTotal) {
int stepDelay = msTotal / 255;
while (speedNow != target) {
speedNow += (target > speedNow) ? 1 : -1;
analogWrite(MOTOR_PIN, speedNow);
delay(stepDelay);
}
}
void setup() {
pinMode(MOTOR_PIN, OUTPUT);
analogWrite(MOTOR_PIN, 0);
}
void loop() {
rampTo(255, 1000); // soft start to full speed
delay(3000);
rampTo(120, 500); // cruise slower
delay(3000);
rampTo(0, 800); // soft stop
delay(2000);
}
متغیر speedNow سرعت فعلی را نگه میدارد تا هر تغییر، از هر جایی که هست، نرم شروع شود. اگر موتور را با سنسور دما کنترل میکنی، بهجای عددهای ثابت، خروجی سنسور را به rampTo بده.
اشتباههای رایج
- ماسفت غیر Logic-Level: با ۵ ولت گیت نیمهباز میماند، داغ میکند و موتور کمجان میچرخد.
- فراموش کردن دیود: ولتاژ برگشتی موتور در لحظهی خاموش شدن ماسفت را میسوزاند.
- زمین جدا: اگر منفی منبع ۱۲ ولت به GND آردوینو وصل نباشد، گیت مرجع ندارد و موتور کنترل نمیشود.
- جریان آمپری از بردبورد: نوارهای بردبورد برای جریان بالا ساخته نشدهاند و گرم میشوند؛ مسیر موتور را با سیم ضخیم و ترمینال پیچی ببند.
آموزشهای مرتبط
- موتور DC کوچک، با ترانزیستور و پتانسیومتر
- دیود، محافظ هر سیمپیچ
- ماژول رله با آردوینو، وقتی فقط روشن و خاموش لازم است
- گلخانه هوشمند با ESP32، با فن و پمپ
سؤالهای رایج
چرا وقتی موتور بزرگ روشن میشود آردوینو ریست میشود؟
موتور در لحظهی شروع چند برابر جریان عادی میکشد و اگر با آردوینو منبع مشترک داشته باشد، ولتاژ لحظهای میافتد. منبع موتور را جدا کن، فقط زمینها را مشترک بگذار و موتور را با شروع نرم راه بینداز.
کدام ماسفت برای موتور ۱۲ ولت با آردوینو مناسب است؟
ماسفت N از نوع Logic-Level که با ۵ ولت روی گیت کاملاً باز شود، مثل IRLZ44N. ماسفتهای معمولی مثل IRF540 برای باز شدن کامل حدود ۱۰ ولت گیت میخواهند و با آردوینو نیمهباز میمانند و داغ میکنند.
برای عوض کردن جهت موتور بزرگ چه کنم؟
یک ماسفت فقط روشن و خاموش و سرعت را در یک جهت کنترل میکند. برای دو جهت درایور پل H لازم است؛ L293D تا حدود ۶۰۰ میلیآمپر است و برای موتور بزرگتر درایورهای قویتری مثل L298N یا BTS7960 به کار میروند.