ویژگی های ماژول درایور موتور L298N
برای راه اندازی موتور های دی سی با جریان مصرفی کمتر از 2 آمپر، استفاده از آی سی درایور L298N گزینه مناسبی میباشد. ماژول L298N با مدار فیلتر مناسب و دسترسی به ورودی و خروجی ها توسط پین هدر و ترمینال، استفاده از این آی سی درایور را برای ما بسیار ساده تر کرده است.
L298N در واقع یک درایور فول بریج با دو نصفه پل (H-Bridges) است که امکان اتصال دو موتور دی سی را به صورت همزمان فراهم می کند.
توجه
این درایور نیاز به یک منبع ولتاژ منطقی و یک منبع ولتاژ با جریان بالا برای تامین موتور ها دارد که در این ماژول با استفاده از یک رگولاتور 5 ولت مشکل تامین ولتاژ منطقی را حل کرده است. پین های کنترلی این ماژول با ولتاژ 5 ولت عمل می کنند. در زیر به برخی از ویژگی های ماژول اشاره شده است.
- ماکزیمم ولتاژ عملیاتی : 46 ولت دی سی
- ماکزیمم جریان خروجی : 2 آمپر (3 آمپر در پیک جریان)
- توان : 25 وات
- سطح ولتاژ ورودی ها : 5 ولت
- دمای کاری : -25 تا 130 درجه سلسیوس
توجه
دیتاشیت تراشه L298N را می توانید از اینجا دانلود کنید.
L298N Motor Driver Module Datasheet
معرفی پایه ها (Pinout) ماژول درایور موتور L298N
ماژول L298N HW-094 دارای 13 پایه به شرح زیر است:
- VMS: تغذیه موتور ها (ورودی)
- GND: زمین
- 5V: تغذیه 5 ولت (خروجی)
- ENA: فعال ساز کانال A
- ENB: فعال ساز کانال B
- IN1: ورودی 1 (5 ولت)
- IN2: ورودی 2 (5 ولت)
- IN3: ورودی 3 (5 ولت)
- IN4: ورودی 4 (5 ولت)
- OUT1: خروجی 1
- OUT2: خروجی 2
- OUT3: خروجی 3
- OUT4: خروجی 4
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول درایور موتور L298N با آردوینو
گام اول: سیم بندی
گام دوم: کد
/*
L298N HW-094 DC MOTOR DRIVER MODULE
modified on 25 Sep 2020
by Saeed Olfat @ Electropeak
Home
*/
void setup() {
pinMode(8, OUTPUT); //IN2
pinMode(9, OUTPUT); //IN1
pinMode(10, OUTPUT); //Enable Pin
}
void loop() {
// Full speed forward
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
delay(3000);
// Full speed backward
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
delay(3000);
// 0 to 100% speed in forward mode
for (int i=0;i<256;i++)
{ digitalWrite(8, HIGH);
digitalWrite(9, LOW);
analogWrite(10, i);
delay(20);
}
delay(50);
// 0 to 100% speed in backward mode
for (int i=0;i<256;i++)
{ digitalWrite(8, LOW);
digitalWrite(9, HIGH);
analogWrite(10, i);
delay(20);
}
delay(50);
}