کنترل یک موتور DC با استفاده از درایور موتور L293D و PWM آردوینو

کنترل یک موتور DC با استفاده از درایور موتور L293D و PWM آردوینو

این پروژه نشان می‌دهد که چطور می‌توان سرعت و جهت یک موتور جریان مستقیم (DC) را با استفاده از یک تراشه درایور موتور L293D و قابلیت‌های مدولاسیون عرض پالس (PWM) آردوینو کنترل کرد. این تنظیمات کنترل دقیق موتور را امکان‌پذیر می‌سازد و آن را برای انواع مختلفی از کاربردها مناسب می‌کند.

در اینجا چند ایده پروژه با استفاده از این پیکربندی آمده است:

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

سخت‌افزار/قطعات

  • آردوینو اونو (یا برد سازگار)
  • مدار گازی موتور L293D
  • موتور DC (بر اساس ولتاژ و محدودیت‌های جریان L293D، تا 600 میلی‌آمپر)
  • منبع تغذیه 9 ولت (برای موتور)
  • اتصالات سیم‌ها
  • بورد آزمایشی (پیشنهاد شده)

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

چیپ L293D به عنوان یک رابط بین آردوینو و موتور DC عمل می‌کند. این چیپ به آردوینو اجازه می‌دهد تا هم سرعت و هم جهت موتور را کنترل کند. چیپ به یک منبع تغذیه جداگانه برای موتور نیاز دارد زیرا آردوینو نمی‌تواند برای اکثر موتورها جریان کافی تأمین کند. (در ویدیو در ۰۴:۰۴)

%%WIRING%%

توضیح شِفر (کود)

شِفر (کود) آردوینو درایور L293D را کنترل می‌کند که به نوبه خود موتور DC را کنترل می‌کند. این شِفر (کود) از PWM برای تغییر سرعت موتور و از سیگنال‌های دیجیتال برای تغییر جهت استفاده می‌کند.

در اینجا پارامترهای کلیدی قابل پیکربندی در شِفر (کود) آورده شده است:


#define P1A 10 // Arduino pin connected to L293D input 1A
#define P2A 11 // Arduino pin connected to L293D input 2A
#define EN12 9 // Arduino pin connected to L293D enable pin (1,2EN)

const int speedStep = 15; // Increment for speed changes
const int speedDelay = 1000; // Delay between speed steps (in milliseconds)

متأسفانه، نمی‌توانم متن خالی را ترجمه کنم.L293D()عملکرد جهت و سرعت موتور را کنترل می‌کند. 'L' موتور را بر clockwise چرخانده و 'R' آن را بر counter-clockwise می‌چرخاند. موتورspdپارامتر سرعت (۰-۲۵۵) را کنترل می‌کند وenموتور را فعال (1) یا غیرفعال (0) می‌کند. (در ویدیو در 09:24)


void L293D(char dir,int spd, int en)
{
  if(dir =='L') // Clockwise rotation
  {
    // ...
    analogWrite(P1A,spd); // Set speed using PWM
    digitalWrite(P2A,LOW); 
  }else{ // Counter-clockwise rotation
    // ...
    digitalWrite(P1A,LOW);
    analogWrite(P2A,spd); // Set speed using PWM
  }
}

پروژه زنده/نمایشگاه

این ویدیو پروژه را در عمل نشان می‌دهد و تغییرات سرعت و جهت موتور را نمایش می‌دهد. خوانش‌های اسیلسکوپ سیگنال‌های PWM کنترل کننده موتور را تجسم می‌کند. (در ویدیو در ۱۱:۰۷)

فصل‌ها

  • مقدمه‌ای بر کنترل موتور DC با L293D
  • [00:30] نمایش و توضیح پروژه
  • بررسی درایور موتور L293D :12
  • مشخصات موتور DC
  • توضیح داده‌های L293D [02:30]
  • [04:40] توضیحات و نمایش اتصالات
  • توضیحات شِفر (کود) آردوینو
  • [11:07] نمایش پروژه و خوانش‌های اسیلوسکوپ
144-Arduino source for L293D motor driver (loop)
زبان: C++
145-Source for a simple L293D motor controller using Arduino (CW, CCW, and STOP)
زبان: C++
کپی شد!

فایل‌ها📁

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