آموزش ESP32 15/55 - کنترل سرعت موتور DC با ESP32 L293D | کیت یادگیری اینترنت اشیاء ESP32 سان فاوندر

آموزش ESP32 15/55 - کنترل سرعت موتور DC با ESP32 L293D | کیت یادگیری اینترنت اشیاء ESP32 سان فاوندر

آموزش ESP32 15/55 - کنترل سرعت موتور DC با ESP32 L293D | کیت آموزش اینترنت اشیاء ESP32 سان‌فاندرز

کنترل یک موتور DC با استفاده از ESP32 ممکن است پیچیده به نظر برسد، اما با قطعات درست و درک مناسب کاملاً قابل مدیریت است. در این آموزش، پروژه‌ای را ایجاد خواهیم کرد که به ما اجازه می‌دهد سرعت و جهت یک موتور DC را با استفاده از درایور موتور L293D کنترل کنیم. در پایان، شما یک تنظیم کارا خواهید داشت که می‌تواند موتور را به جلو و عقب بچرخاند در حالی که سرعت آن را تنظیم می‌کند. برای مرجع تصویری، حتماً ویدئو را در (در ویدئو در 00:00) بررسی کنید.

ESP32-15_L293D_مدار_موتور

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

اجزای اصلی این پروژه شامل میکروکنترلر ESP32 و درایور موتور L293D است. ESP32 یک میکروکنترلر قدرتمند با قابلیت‌های Wi-Fi و Bluetooth داخلی است که آن را برای برنامه‌های IoT مناسب می‌سازد. این میکروکنترلر می‌تواند اجزای سخت‌افزاری مختلف، از جمله موتورها، را از طریق پایه‌های GPIO خود کنترل کند. L293D یک درایور موتور دوگانه H-bridge است که به شما این امکان را می‌دهد تا جهت و سرعت دو موتور DC را کنترل کنید. هر H-bridge می‌تواند یک موتور را در هر دو جهت با معکوس کردن قطبیت ولتاژ اعمال‌شده به پایه‌های موتور راه‌اندازی کند. علاوه بر این، L293D می‌تواند جریان حداکثر 600 میلی‌آمپر را برای هر کانال مدیریت کند که آن را برای موتورها با اندازه کوچک تا متوسط مناسب می‌سازد.

میکروکنترلر درایور موتور (L293D)

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

سازنده تگزاس اینسترومنتس
شماره قطعه L293D
ولتاژ منطق/ورودی و خروجی ۲.۵ - ۷ ولت
ولتاژ تأمین ۴.۵ - ۳۶ ولت
جریان خروجی (به ازای هر کانال) 600 میلی‌آمپر (معمولی)
جریان اوج (برای هر کانال) ۱.۲ آ (حداکثر)
راهنمایی فرکانس PWM 20 کیلوهرتز (معمولی)
آستانه‌های منطقی ورودی ۰.۸ ولت (بالا)، ۲.۰ ولت (پایین)
افت ولتاژ / RDS(on)تراکم ۱.۵ ولت (حداکثر)
محدودیت های حرارتی 150 درجه سانتی‌گراد (حداکثر)
بسته 16-DIP
توجهات / واریانت‌ها راننده نیمه H چهارگانه

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

دستورالعمل‌های سیم‌کشی

ESP32-15_L293D_motor_wiring

برای سیم‌کشی ESP32 و درایور موتور L293D، ابتدا با اتصال برق شروع کنید. پایه ۱۶ درایور L293D را به پایه مثبت منبع تغذیه خود وصل کنید و پایه ۴ را به زمین متصل کنید. سپس موتور را وصل کنید: یک پایه را به پایه ۳ و دیگری را به پایه ۶ در L293D وصل کنید. برای سیگنال‌های کنترل، پایه GPIO ۱۳ ESP32 را به پایه ۲ در L293D و پایه GPIO ۱۴ را به پایه ۷ متصل کنید. در نهایت، مطمئن شوید که زمین ESP32 به زمین L293D متصل شده است تا یک مرجع مشترک ایجاد شود. اگر ویدئو به سیم‌کشی‌های جایگزین اشاره کرده باشد (در ویدئو در دقیقه ۵:۰۰)، حتماً تغییرات خاص نشان‌داده‌شده را دنبال کنید.

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

شِفر (کود) برای کنترل موتور شامل تعریف پایه‌ها برای موتور و تنظیم حالت‌های آن‌ها است. در اینجا بخشی از تابع راه‌اندازی آورده شده است:

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

در این قطعه شِفر (کود)، پایه‌های کنترل موتور را به عنوان ثابت تعریف کرده و در تابع راه‌اندازی به عنوان خروجی تنظیم می‌کنیم. این کار اساسی است زیرا پایه‌ها را برای کنترل موتور آماده می‌کند. تابع حلقه جایی است که رفتار موتور کنترل می‌شود. در اینجا یک بخش کلیدی از حلقه:

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

این شِفر (کود) موتور را به مدت 2 ثانیه در یک جهت می‌چرخاند، سپس جهت را به مدت 2 ثانیه معکوس می‌کند و در نهایت موتور را به مدت 3 ثانیه متوقف می‌کند. این حلقه به صورت نامحدود تکرار می‌شود و کنترل مداوم را امکان‌پذیر می‌سازد. برای مشاهده بینش‌های دقیق‌تر و شِفر (کود) کامل، به برنامه کاملی که در زیر مقاله بارگذاری می‌شود مراجعه کنید.

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

پس از موفقیت در اتصال و بارگذاری شِفر (کود)، باید ببینید که موتور به مدت ۲ ثانیه در یک جهت می‌چرخد، سپس به مدت ۲ ثانیه جهت را تغییر می‌دهد و سپس به مدت ۳ ثانیه متوقف می‌شود. اگر موتور طبق انتظار پاسخ ندهد، به دنبال مشکلات رایج مانند قطبیت معکوس یا اتصالات پایه نادرست باشید (در ویدئو در ۰۸:۰۰). این تنظیمات یک راه ساده برای کنترل سرعت و جهت یک موتور DC با استفاده از ESP32 و L293D ارائه می‌دهد.

زمانبندی ویدئو

  • ۰۰:۰۰ شروع
  • 2:01 مقدمه‌ای بر موتور DC
  • ۶:۱۴ درایور موتور L293D
  • 9:17 مدارک پروژه.
  • ۱۱:۰۴ توضیحاتی درباره سیم‌کشی
  • کنترل موتور آردوینو با ESP32 14:41
  • انتخاب پورت‌های آردوینو برای برد ESP32 :10
  • ۱۸:۵۲ ارائه پروژه
  • کنترل سرعت موتور با استفاده از ESP32
  • کنترل سرعت دمو :22
  • شِفر (کود) آردوینو کنترل سرعت و جهت ۲۸:۰۱
  • نمایش سرعت و جهت :29:05

تصاویر

L293D-Motor-Driver-IC
L293D-Motor-Driver-IC
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_wiring
ESP32-15_L293D_motor_wiring
814-ESP32 Tutorial 15/55- Arduino code for L293D motor control
زبان: C++
کپی شد!

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

منابع و مراجع

فایل‌ها📁

برگه مشخصات (pdf)