کنترل یک موتور 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] نمایش پروژه و خوانشهای اسیلوسکوپ
منابع و مراجع
فایلها📁
هیچ فایلی موجود نیست.