ویژگی های ماژول درایور موتور L298N
برای راه اندازی موتور های دی سی (DC) با جریان مصرفی کمتر از 2 آمپر، استفاده از آی سی درایور L298N گزینه مناسبی می باشد. ماژول درایور L298N با مدار فیلتر مناسب و دسترسی به ورودی و خروجی ها از طریق پین هدر و ترمینال، استفاده از این آی سی درایور را برای ما بسیار ساده تر کرده است.
L298N در واقع یک درایور فول بریج با دو نصفه پل (H-Bridges) است که امکان اتصال دو موتور دی سی را به صورت همزمان فراهم می کند.
توجه
در این ماژول به دلیل وجود 2 نصفه پل، امکان راه اندازی موتور های استپر نیز فراهم می باشد.
این درایور نیاز به یک منبع ولتاژ منطقی و یک منبع ولتاژ با جریان بالا برای تامین موتور ها دارد که این ماژول با استفاده از یک رگولاتور 5 ولت مشکل تامین ولتاژ منطقی را حل کرده است. پین های کنترلی این ماژول با ولتاژ 5 ولت عمل می کنند. در زیر به برخی از ویژگی های ماژول اشاره شده است.
- ماکزیمم ولتاژ عملیاتی : 46 ولت دی سی
- ماکزیمم جریان خروجی : 2 آمپر (3 آمپر در پیک جریان)
- توان : 25 وات
- سطح ولتاژ ورودی ها : 5 ولت
- دمای کاری : -25 تا 130 درجه سلسیوس
نکته
در صورت قرار گرفتن بار زیاد روی موتور، دمای درایور به سرعت بالا می رود و با توجه به این که دمای کاری L298N بین -25 تا 130 درجه سلسیوس است، می بایست امکان خنک شدن هیت سینک فراهم شود.
دیتاشیت تراشه L298N را می توانید از اینجا دانلود کنید.
L298N P Motor Drive Module Datasheet
معرفی پایه ها (Pin Out) ماژول درایور موتور L298N
ماژول L298N دارای 13 پایه به شرح زیر است:
- +12V: تغذیه موتور ها (ورودی)
- 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
پین اوت (Pin Out) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول درایور موتور L298N با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو، موتور و باتری وصل کنید.
گام دوم: کد
کد زیر را روی برد آردوینو آپلود کنید.
/*
L298N 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);
}
همانطور که در کد مشاهده می کنید موتور ابتدا 3 ثانیه در جهت جلو و 3 ثانیه در جهت عقب حرکت می کند. سپس موتور ایستاده و سرعت آن از 0 تا 100 درصد در جهت جلو با شتاب ثابت افزایش پیدا می کند و بعد همین حرکت موتور در جهت بر عکس انجام می شود.
Comments (4)
سلام
من دقیقا مثل آموزش پیش رفتم
موتورم روشن نمیشه
سلام
اتصالات و تغذیه مدار رو چک کنید. همچنین اگر مولتیمتر دارید خروجی پایههای 8، 9 و 10 آردوینو رو هم چک کنید تا مطمئن شید برنامه به درستی داره کار میکنه. در صورتی که در این موارد مشکلی وجود نداشته باشه احتمالش هست که مشکل از درایور و یا خود موتور باشه.
توضیحات بسیار عالی و کامل خیلی متشکرم از توضیحات عالیتون😍
خواهش میکنیم