شِفر (کود) آردوینو و ویدیو: کنترل‌کننده موتور DC L293D (بدون کنترل سرعت)

شِفر (کود) آردوینو و ویدیو: کنترل‌کننده موتور DC L293D (بدون کنترل سرعت)

این آموزش نحوه استفاده از کنترل‌کننده موتور L293D با آردوینو برای کنترل یک موتور DC را پوشش می‌دهد. L293D به شما امکان می‌دهد موتور را در هر دو جهت ساعت‌گرد و پادساعت‌گرد بچرخانید. با دنبال کردن این راهنما، خواهید آموخت چگونه قطعات را سیم‌کشی کرده و آردوینو را برنامه‌نویسی کنید تا کنترل موتور مورد نظر را به‌دست آورید.

در این پروژه از درایور موتور L293D برای کنترل یک موتور DC استفاده خواهیم کرد. این موتور قادر خواهد بود جهت خود را براساس فرمان‌های داده‌شده در شِفر (کود) آردوینو تغییر دهد. برای درک بهتر تنظیمات و شِفر (کود)، مفید است ویدیوی مربوطه را تماشا کنید (در ویدیو در 00:00).

سخت‌افزار به زبان ساده

L293D یک مدار مجتمع است که برای راه‌اندازی موتورها طراحی شده است. این می‌تواند به‌طور هم‌زمان دو موتور جریان مستقیم (DC) یا یک موتور پله‌ای را کنترل کند. این تراشه از پیکربندی پل H استفاده می‌کند تا با تغییر قطبیت ولتاژ که به موتور اعمال می‌شود، امکان کنترل جهت را فراهم کند. این انعطاف‌پذیری آن را به گزینه‌ای عالی برای پروژه‌های رباتیک و اتوماسیون تبدیل می‌کند.

علاوه بر L293D، از یک برد آردوینو برای ارسال سیگنال‌های کنترلی به درایور موتور استفاده خواهیم کرد. آردوینو سطوح منطقی لازم را برای فعال‌سازی موتور و تعیین جهت چرخش آن تولید خواهد کرد. این راه‌اندازی همچنین به یک موتور DC و یک منبع تغذیه سازگار با نیاز ولتاژ موتور نیاز دارد.

جزئیات مشخصات فنی

تولیدکننده تگزاس اینسترومنتس
شماره قطعه L293D
ولتاژ منطقی/ورودی-خروجی 5 V
ولتاژ تغذیه 4.5 - 36 ولت
جریان خروجی (به ازای هر کانال) 600 میلی‌آمپر
جریان اوج (برای هر کانال) 1.2 A
راهنمای فرکانس PWM 20 کیلوهرتز
آستانه‌های منطقی ورودی 2.5 V (معمولی)
افت ولتاژ / Rدرین-سورس (در حالت روشن)/ اشباع 1.5 ولت (حداکثر)
محدودیت‌های حرارتی 150 °C (حداکثر)
بسته 16-دی‌آی‌پی
یادداشت‌ها / واریانت‌ها می‌تواند دو موتور را کنترل کند.

  • اطمینان حاصل کنید که ولتاژ تغذیه از 36 V تجاوز نکند.
  • هنگام کار در نزدیکی حداکثر جریان از هیت‌سینک مناسب استفاده کنید.
  • همیشه زمین آردوینو و درایور موتور را به یکدیگر متصل کنید.
  • برای جلوگیری از اتصالات با قطبیت معکوس، سیم‌کشی را بررسی کنید.
  • در پروژه‌های آینده، در صورت نیاز از سیگنال‌های PWM برای کنترل سرعت استفاده کنید.

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

Arduino wiring for L293D motor driver with battery
Arduino wiring for L293D motor driver with battery
Arduino wiring for L293D motor driver
Arduino wiring for L293D motor driver

برای سیم‌کشی کنترل‌کننده موتور L293D به آردوینو، با اتصال تغذیه و زمین شروع کنید. پایه‌های 4 و 5 L293D را به زمین متصل کنید. سپس پایه 1 (Vcc1) را به خروجی 5 V آردوینو وصل کنید. برای Vcc2 (پایه 8)، آن را به یک منبع تغذیه خارجی متصل کنید و مطمئن شوید که با مشخصات ولتاژ موتور مطابقت دارد.

سپس پایه فعال‌سازی (پایه 1) را به پایه 8 روی آردوینو وصل کنید تا توان موتور کنترل شود. برای ورودی‌های کنترل موتور، پایه 2 (1A) از L293D را به پایه 2 روی آردوینو و پایه 7 (2A) را به پایه 7 روی آردوینو وصل کنید. در نهایت، پایه‌های موتور را به پایه 3 (1Y) و پایه 6 (2Y) روی L293D متصل کنید.

پایه 1 بردبورد L293D
پایه 1 بردبورد L293D
سیم‌کشی روی بردبورد L293D

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

شِفر (کود) زیر پایه‌ها را مقداردهی اولیه می‌کند و کنترل موتور را تنظیم می‌کند. شناسه‌های استفاده‌شده عبارتند ازP1Aبرای اولین پایه کنترل موتور وEN12برای پایه فعال‌سازی. تابع setup پایه‌ها را به‌عنوان خروجی پیکربندی می‌کند.

void setup() {
  Serial.begin(9600); // setup Serial Monitor to display information
  pinMode(P1A, OUTPUT); // define pin as OUTPUT for P1A
  pinMode(P2A, OUTPUT); // define pin as OUTPUT for P2A
  pinMode(EN12, OUTPUT); // define pin as OUTPUT for 1,2EN enable
}

در حلقه، به موتور فرمان داده می‌شود که در هر دو جهت بچرخد و بین آن‌ها تاخیرهایی وجود دارد. وضعیت موتور با استفاده ازSerial.println.

void loop() {
  Serial.println("Rotating CW");
  digitalWrite(EN12, HIGH); // Enable 1A and 2A 
  digitalWrite(P1A, HIGH); // send HIGH signal to P1A
  digitalWrite(P2A, LOW); // send LOW signal to P2A
  delay(3000); // motor runs for 3 seconds
  digitalWrite(EN12, LOW); // Disable 1A and 2A
}

این گزیده نشان می‌دهد چگونه جهت چرخش موتور را با تغییر سطوح منطقی ارسال شده بهP1AوP2Aموتور به مدت 3 ثانیه کار می‌کند، سپس متوقف شده و جهت حرکتش را تغییر می‌دهد.

در اینجا نحوه‌ی استفاده از درایورهای نیمه‌پل L293D آمده است:

L293D به‌عنوان نیم‌پل جهت ساعت‌گرد
L293D به‌عنوان پل نیمه‌ای ساعت‌گرد
L293D به‌عنوان نیمه‌پل پادساعتگرد
L293D به‌عنوان نیم‌پل پادساعتگرد

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

پس از کامل شدن راه‌اندازی و آپلود شِفر (کود)، باید مشاهده کنید که موتور به مدت 3 ثانیه در یک جهت می‌چرخد، برای 2 ثانیه متوقف می‌شود و سپس برای 3 ثانیه دیگر در جهت مخالف می‌چرخد. وضعیت موتور روی نمایشگر مسلسل چاپ خواهد شد تا این عملیات را تأیید کند (در ویدئو در 12:00).

اشتباهات رایج شامل اطمینان از تأمین ولتاژ صحیح برای موتور و بررسی اینکه اتصالات موتور درست هستند می‌شود. اگر موتور پاسخ نداد، سیم‌کشی و اتصالات منبع تغذیه را دوباره بررسی کنید.

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

  • 00:00- مقدمه
  • ساعت 02:30- توضیح سیم‌کشی
  • 05:00- مرور شِفر (کود)
  • 10:00- نمایش کنترل موتور

تصاویر

L293D breadboard pin 1
L293D breadboard pin 1
L293D_breadboard_wiring_bb
L293D_breadboard_wiring_bb
L293D as halft bridge CCW
L293D as halft bridge CCW
L293D as halft bridge CW
L293D as halft bridge CW
Arduino wiring for L293D motor driver with battery
Arduino wiring for L293D motor driver with battery
Arduino wiring for L293D motor driver
Arduino wiring for L293D motor driver
79-Arduino code L293 DC motor driver (Advanced).
زبان: C++
80-Arduino code: L293 DC motor driver (Advanced)
زبان: C++
کپی شد!

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

منابع و مراجع

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

فایل‌ها📁

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