استفاده از موتور پله‌ای 28BYJ-48 با درایور ULN2003 و آردوینو

استفاده از موتور پله‌ای 28BYJ-48 با درایور ULN2003 و آردوینو

در این آموزش، ما یاد خواهیم گرفت که چگونه یک موتور پله‌ای 28BYJ-48 را با استفاده از درایور ULN2003 و یک آردوینو کنترل کنیم. این تنظیمات امکان کنترل دقیق موقعیت و سرعت موتور را فراهم می‌کند. در پایان این پروژه، شما قادر خواهید بود موتور را در هر دو جهت بچرخانید و مراحل آن را به طور مؤثر کنترل کنید.

ما از موتور پله‌ای 28BYJ-48 استفاده خواهیم کرد که به دلیل هزینه پایین و سهولت استفاده، انتخاب محبوبی برای پروژه‌های مختلف رباتیک و اتوماسیون است. برد درایور ULN2003 موتور پله‌ای را با آردوینو متصل می‌کند و به ما این امکان را می‌دهد که سیگنال‌های پله‌ای را ارسال کنیم که حرکت موتور را کنترل می‌کند. این آموزش شما را در مورد سیم‌کشی و شِفر (کود) لازم برای چرخاندن موتور راهنمایی خواهد کرد.

برای توضیحات بیشتر، لطفاً به ویدیوی مرتبط با این آموزش مراجعه کنید (در ویدیو در ۰:۴۵).

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

اجزای کلیدی این پروژه شامل موتور پله‌ای 28BYJ-48 و برد درایور ULN2003 است. موتور پله‌ای از چندین سیم‌پیچ تشکیل شده است که می‌توانند در یک توالی خاص انرژی‌دار شوند تا چرخش ایجاد کنند. درایور ULN2003 به عنوان یک سوئیچ عمل می‌کند و به آردوینو اجازه می‌دهد تا قدرت تحویلی به هر سیم‌پیچ را کنترل کند.

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

جزئیات برگه داده

تولیدکنندهULN2003
شماره قطعهULN2003
ولتاژ منطقی/ورودی و خروجی۵ ولت
ولتاژ تأمین۵-۳۰ ولت (حداکثر)
جریان خروجی (به ازای هر کانال)حداکثر 500 میلی‌آمپر
جریان اوج (به ازای هر کانال)۲ A حداکثر
راهنمایی فرکانس PWMN/A
آستانه‌های منطقی ورودی۰.۸ ولت (کم)، ۲.۴ ولت (زیاد)
افت ولتاژ / RDS(on)/ اشباع۱.۵ ولت حداکثر
محدودیت‌های حرارتی۷۰ درجه سانتی‌گراد حداکثر
بستهDIP-16
یادداشت‌ها / انواعمعمولاً با موتورهای پله‌ای ۵ ولتی استفاده می‌شود.

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

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

برای اتصال موتور پله‌ای 28BYJ-48 به درایور ULN2003 و آردوینو، مراحل زیر را دنبال کنید:

ابتدا موتور را به درایور ULN2003 متصل کنید. موتور دارای چهار سیم است که معمولاً به رنگ‌های نارنجی، زرد، صورتی و آبی کدگذاری شده‌اند. این سیم‌ها را به پایه‌های خروجی مربوطه در درایور ULN2003 متصل کنید. اتصالات به صورت زیر است:

  • Orangeبه سیم وصل کنیدOUT1
  • Yellowبه سیم وصل کنیدOUT2
  • Pinkبه سیم متصل کنیدOUT3
  • Blueبه سیم وصل کنیدOUT4

در مرحله بعد، درایور ULN2003 را به آردوینو متصل کنید. پایه‌های ورودی درایور با چهار پایه دیجیتال در آردوینو مطابقت دارند. به عنوان مثال:

  • IN1بهPin 10
  • IN2بهPin 11
  • IN3بهPin 12
  • IN4بهPin 13

در نهایت، پایه‌های برق و زمین درایور ULN2003 را به آردوینو متصل کنید. متصل کنیدVCCبه خروجی 5 ولت آردوینو متصل کنید وGNDپایه را به زمین آردوینو متصل کنید. قبل از روشن کردن سیستم، اطمینان حاصل کنید که همه اتصالات محکم هستند.

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

در بخش راه‌اندازی شِفر (کود) آردوینو، پایه‌های متصل به درایور ULN2003 را تعریف می‌کنیم:

int Pin1 = 10; 
int Pin2 = 11; 
int Pin3 = 12; 
int Pin4 = 13; 

در اینجا، چهار متغیر صحیح اعلام می‌کنیم:Pin1,Pin2,Pin3, andPin4که با پایه‌های دیجیتال روی آردوینو مطابقت دارند. این پایه‌ها حرکت موتور پله‌ای را کنترل خواهند کرد.

در setup()عملکرد، ما این پایه‌ها را به عنوان خروجی تنظیم می‌کنیم:

void setup() { 
 pinMode(Pin1, OUTPUT);  
 pinMode(Pin2, OUTPUT);  
 pinMode(Pin3, OUTPUT);  
 pinMode(Pin4, OUTPUT);  
} 

این تنظیمات اطمینان می‌دهد که آردوینو می‌تواند سیگنال‌هایی به درایور ULN2003 ارسال کند تا موتور را کنترل کند.pinModeتابع هر پایه را به حالت خروجی تنظیم می‌کند و به آن‌ها اجازه می‌دهد تا سیگنال‌ها را ارسال کنند.

در نهایت، در حلقه اصلی، یک سوئیچ کیس ایجاد می‌کنیم تا مراحل موتور را بر اساس متغیر کنترل کنیم._step:

switch(_step){ 
   case 0: 
     digitalWrite(Pin1, LOW);  
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
     digitalWrite(Pin4, HIGH); 
   break;  
   // Additional cases follow
}

در این بخش، ما ازdigitalWriteبرای ارسال سیگنال‌های HIGH یا LOW به هر پایه بر اساس جریان_stepاین کنترل می‌کند که کدام سیم‌پیچ‌ها انرژی‌دار می‌شوند و به موتور اجازه می‌دهد تا بچرخد. شِفر (کود) کامل که این بخش‌ها را یکپارچه می‌کند، در زیر مقاله بارگذاری خواهد شد.

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

زمانی که همه چیز به درستی متصل شده و شِفر (کود) بارگذاری شد، موتور پله‌ای باید در پاسخ به سیگنال‌های آردوینو بچرخد. می‌توانید موتور را با تغییر تأخیر در حلقه یا تغییر مراحل آزمایش کنید تا ببینید چگونه واکنش نشان می‌دهد. به یاد داشته باشید که اگر موتور به درستی تغذیه نشود، ممکن است حرکت نکند یا رفتار غیرقابل پیش‌بینی داشته باشد.

فصل‌ها

  • مقدمه - ۰:۰۰
  • توضیح سخت‌افزار - ۱:۳۰
  • دستورالعمل‌های سیم‌کشی - ۳:۱۵
  • نمونه‌های شِفر (کود) و راهنمایی - ۵:۰۰
  • نمایش / چه انتظاری باید داشت - ۷:۴۵
6-The source code for stepper motor 28BYJ-48 with ULN2003 for Arduino
زبان: C++
کپی شد!

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

فایل‌ها📁

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