درایور موتور L298N یکی از پرکاربردترین ماژولها در پروژههای رباتیک و Embedded Systems است. این ماژول بر پایه یک مدار مجتمع (Dual H-Bridge) طراحی شده و امکان کنترل دو موتور DC یا یک استپر موتور را بهصورت مستقل فراهم میکند. در این آموزش، نحوه راهاندازی این ماژول با بردهای آردوینو و زبان ++C/C را بررسی میکنیم.
با استفاده از توابع پیشفرض آردوینو، میتوانید جهت چرخش و سرعت موتورها را از طریق سیگنالهای PWM کنترل کنید.
برای نوشتن و آپلود کدها، به نرمافزار Arduino IDE نیاز دارید. برای نصب این نرمافزار در لینوکس، دستور زیر را اجرا کنید:
|
1 2 |
sudo apt-get update sudo apt-get install arduino |
بررسی نصب Arduino IDE:
|
1 |
arduino --version |
برای اطمینان از عملکرد صحیح ماژول، تغذیه مناسب (۵ تا ۳۵ ولت) را به درایور L298N متصل کنید. در صورت اتصال درست، نشانگر Power LED روی برد روشن خواهد شد. اگر ولتاژ ورودی بیش از ۱۲ ولت است، قبل از روشن کردن مدار، جامپر رگولاتور ۵ ولت روی برد L298N را جدا کنید.
برای تست عملکرد درایور، یک برنامه ساده برای کنترل حرکت و توقف موتور ایجاد میکنیم. ابتدا با استفاده از ویرایشگر nano یک فایل جدید بسازید:
|
1 |
nano motor_test.ino |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// تعریف پایههای متصل به موتور A const int enA = 9; // پایه کنترل سرعت (PWM) const int in1 = 8; // پایه کنترل جهت ۱ const int in2 = 7; // پایه کنترل جهت ۲ void setup() { pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); digitalWrite(in1, LOW); digitalWrite(in2, LOW); } void loop() { // حرکت به جلو با سرعت بالا digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 200); delay(2000); // توقف digitalWrite(in1, LOW); digitalWrite(in2, LOW); delay(1000); // حرکت به عقب با سرعت پایین digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 120); delay(2000); } |
برای باز کردن کد در Arduino IDE و آپلود آن روی برد، مراحل زیر را انجام دهید:
|
1 |
arduino motor_test.ino |
پس از باز شدن Arduino IDE، برد و پورت موردنظر را انتخاب کنید و با فشردن کلیدهای Ctrl+U، برنامه را روی برد آپلود کنید. پس از پایان آپلود، موتور شروع به حرکت خواهد کرد.
سئوکار ساده! 🔗 مهندس الکترونیک⚡
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.