استفاده از درایور موتور L298N برای کنترل یک موتور پله‌ای 4 سیم

استفاده از درایور موتور L298N برای کنترل یک موتور پله‌ای 4 سیم

در این آموزش، به نحوه کنترل یک موتور پله‌ای 4 سیمه با استفاده از درایور موتور L298N همراه با آردوینو می‌پردازیم. L298N یک درایور دوگانه پل H چندکاره است که به ما امکان می‌دهد جهت و سرعت موتورهای پله‌ای را به‌طور مؤثر کنترل کنیم. تا پایان این راهنما، یک راه‌اندازی کاربردی خواهید داشت که می‌تواند موتور پله‌ای را در هر دو جهت بچرخاند و سرعت آن را با استفاده از یک پتانسیومتر کنترل کند.

L298N motor driver (yellow connector)

برای کمک به درک بهتر این فرآیند، توصیه می‌کنم ویدیوی مربوطه را تماشا کنید که نمایش بصری سیم‌کشی و کدنویسی را ارائه می‌دهد (در ویدیو در 01:30).

سخت‌افزار توضیح داده شده

درایور موتور L298N برای کنترل موتورها طراحی شده و به شما امکان می‌دهد آن‌ها را هم در جهت جلو و هم در جهت معکوس به حرکت درآورید. این درایور از پیکربندی پل H استفاده می‌کند، یعنی می‌تواند قطبیت ولتاژ اعمال‌شده به موتور را تغییر داده و بدین ترتیب جهت چرخش آن را معکوس کند. این درایور می‌تواند ولتاژ تغذیه تا 46 ولت و جریان پیوسته 2 آمپر به ازای هر کانال را تحمل کند که آن را برای بسیاری از کاربردها مناسب می‌سازد.

در پیکربندی ما از چهار پایه کنترلی برای مدیریت موتور پله‌ای استفاده خواهیم کرد. پایه‌های کلیدی عبارتند ازENAوENB, که باید روی HIGH (5V) تنظیم شوند تا درایور فعال شود. پایه‌هاIN1،IN2،IN3، وIN4وضعیت سیم‌پیچ‌های موتور را کنترل خواهد کرد و به آن اجازه می‌دهد تا در جهت دلخواه گام بردارد.

جزئیات برگه مشخصات

تولیدکنندهاس‌تی‌میکروالکترونیکس
شماره قطعهL298N
ولتاژ منطقی/ورودی-خروجی۵ ولت
ولتاژ تغذیه5-46 ولت (VS)
جریان خروجی (برای هر کانال)حداکثر 2 A در هر کانال (مداوم)
جریان پیک (برای هر کانال)حداکثر 3 A
راهنمای فرکانس PWM1 کیلوهرتز تا 20 کیلوهرتز
آستانه‌های منطقی ورودی0.8 V (پایین)، 2.0 V (بالا)
افت ولتاژ / Rدی‌اس(روشن)/ اشباع1.5 V حداکثر
محدودیت‌های حرارتیحداکثر 150 °C
بستهDIP-15
یادداشت‌ها / متغیرهاهمچنین در نسخه‌های تخت (L298P) نیز موجود است

  • اطمینان حاصل کنیدENAوENBبرای عملکرد صحیح به 5V متصل شده‌اند.
  • برای کاربردهای با جریان بالا از هیت‌سینک مناسب استفاده کنید تا از گرم‌شدن بیش از حد جلوگیری کنید.
  • زمین مشترک بین آردوینو و درایور موتور را حفظ کنید.
  • مراقب قطبیت سیم‌کشی باشید تا از آسیب دیدن موتور یا درایور جلوگیری شود.
  • خازن‌های کوپل‌زدایی را نزدیک پایه‌های تغذیه قرار دهید تا اغتشاش (نویز) را فیلتر کنند.
  • فرکانس PWM را بر اساس مشخصات موتور تنظیم کنید تا عملکرد بهینه حاصل شود.

راهنمای سیم‌کشی

L298N motor driver (yellow connector)
L298N motor driver (yellow connector)

برای سیم‌کشی درایور موتور L298N به آردوینو و موتور پله‌ای، با اتصال منبع تغذیه شروع کنید. وصل کنیدVINپایه روی L298N را به منبع تغذیه 12V خود وصل کنید. سپس، آن را متصل کنید.GNDپایه روی L298N را به زمین منبع تغذیه‌تان و همچنین به زمین آردوینو وصل کنید.

حالا، برای پایه‌های کنترل، وصل کنیدENAبه پایه 2 روی آردوینو وENBبه پایه 3. سپس، وصل کنیدIN1به پایه 8،IN2به پایه 9،IN3به پایه 10، وIN4به پایهٔ 11 روی آردوینو. در نهایت، سیم‌های موتور پله‌ای را به پایه‌های خروجی L298N وصل کنید. اطمینان حاصل کنید که دو جفت سیمِ موتور به‌درستی به خروجی‌ها متصل شده‌اند.

نمونه‌های شِفر (کود) و راهنمای گام‌به‌گام

در شِفر (کود)، ابتدا...Stepper.hکتابخانه‌ای برای ساده‌سازی کنترل موتور پله‌ای. ما تعداد کل گام‌ها در هر دور را تعریف می‌کنیم، که برای حرکت دقیق حیاتی است. شناسه‌های کلیدی در شِفر (کود) عبارت‌اند از:stepsPerRevolution, که تعداد گام‌های لازم برای یک دور کامل را تعیین می‌کند، وmyStepper, که شیء استپر را با پایه‌های مشخص‌شده مقداردهی اولیه می‌کند.

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); // initialize the stepper library

این قطعه شِفر (کود) موتور پله‌ای را با پایه‌های مناسب مقداردهی اولیه می‌کند. درsetup()در تابع، سرعت موتور را تنظیم کرده و با قرار دادن پایه‌های 2 و 3 در حالت HIGH درایور را فعال می‌کنیم.

void setup() {
  myStepper.setSpeed(300); // set the speed at 60 rpm
  pinMode(2,OUTPUT); // for EN1
  digitalWrite(2,HIGH); // enable EN1
  pinMode(3,OUTPUT); // for EN2
  digitalWrite(3,HIGH); // enable EN2
}

درloop()در تابع، موتور یک دور کامل هم در جهت ساعتگرد و هم در جهت پادساعتگرد با تأخیری در بین می‌چرخد. این به شما اجازه می‌دهد عملکرد موتور را مشاهده کنید.

void loop() {
  myStepper.step(stepsPerRevolution); // step one revolution in one direction
  delay(500); // wait half a second
  myStepper.step(-stepsPerRevolution); // step one revolution in the other direction
  delay(500); // wait half a second
}

این بخش نشان می‌دهد چگونه موتور را کنترل کنید تا در هر دو جهت بچرخد. شِفر (کود) کامل در زیر مقاله برای مراجعهٔ شما بارگذاری شده است.

نمایش / چه انتظاری داشته باشید

پس از اینکه همه چیز به درستی سیم‌کشی شد و شِفر (کود) آپلود شد، باید ببینید که موتور پله‌ای یک دور کامل در یک جهت می‌چرخد و سپس یک دور کامل در جهت مخالف. علاوه بر این، اگر پتانسیومتر را برای کنترل سرعت وارد کنید، تنظیم آن سرعت چرخش موتور را تغییر می‌دهد. مراقب جریان موتور باشید؛ با افزایش سرعت ممکن است موتور جریان بیشتری بکشد که در صورت مدیریت نادرست می‌تواند منجر به داغ شدن بیش از حد شود (در ویدئو در 09:45).

اگر موتور همان‌طور که انتظار می‌رود نمی‌چرخد، سیم‌کشی را بررسی کنید تا مطمئن شوید تمام اتصالات محکم و به‌درستی قرار گرفته‌اند. همچنین ولتاژ منبع تغذیه را بررسی کنید که برای موتور پله‌ای شما مناسب باشد.

برچسب‌های زمانی ویدیو

  • 00:00- مقدمه
  • ۰۱:30- توضیح سیم‌کشی
  • 05:00نمای کلی شِفر (کود)
  • ۰۹:45- نمایش کنترل موتور

تصاویر

L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
Nema17_stpper_motor-1
Nema17_stpper_motor-1
Nema17_stpper_motor-2
Nema17_stpper_motor-2
94-Code for One Revolution
زبان: C++
95-Code for rotating a stepper motor one step at a time
زبان: C++
کپی شد!

مواردی که ممکن است به آن‌ها نیاز داشته باشید

منابع و مراجع

هنوز هیچ منبعی موجود نیست.

فایل‌ها📁

هیچ فایلی موجود نیست.