آموزش رباتیک

آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینو

موتور های الکتریکی در انواع گوناگونی وجود دارند و مهمترین مسئله این است که در پروژه یا کاری که داریم از چه نوع موتوری استفاده کنیم؛ در این جا با بررسی یک نوع استپر موتور، به شرح کاربرد این نوع از موتور ها و راه اندازی آن خواهیم پرداخت.

آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینو آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینو

قطعات مورد نیاز:

  • آردوینو (که در این جا از Uno استفاده می کنیم)
  • استپر موتور 5 ولت Stepper motor 28BYJ-48
  • ماژول درایور استپر موتور ULN2003
  • مقداری سیم بردبوردی (5 عدد نری به مادگی)

استپر موتور چیست؟

به طور کلی استپر موتور وسیله الکتریکیست که پالس های الکتریکی را به حرکات مجزای مکانیکی (به صورت پله ای) تبدیل می کند؛ هنگامی که دستورات پالس های الکتریکی با توالی های مشخص به یک استپر موتور اعمال می شوند، شفت یا محور گردش آن با دقت خاص خودش و به صورت پله ای حرکت می کند. گردش این موتور ها نسبت مستقیم با پالس ورودی، سرعتشان نسبت مستقیم با تکرار پالس های ورودی و طول گردششان نیز نسبت مستقیم با تعداد پالس های ورودی دارد.

یکی از مهم ترین محسنات استپر موتور ها، قابلیت کنترل کردن آنها در یک حلقه باز است؛ کنترل در یک حلقه باز در این جا بدان معناست که بدون تغییر و بازخورد دستوری در کد اصلی برنامه و بدون استفاده از سنسور های گران قیمت یا شافت اینکودر ها می توان موقعیت محور اصلی را(در صورت سالم بودن موتور) دانست که در واقع این همان تفاوت موتور های استپر با DC است که در موتور های DC شما به هر حال نمی توانید برای پروژه هایی که نیازمند دقت هستند از آنها استفاده کنید.

مشخصات استپر موتور 28byj48

Model: 28BYJ-48
Rated voltage: 5VDC
Number of Phase: 4
Speed Variation Ratio: 1/64
Stride Angle: 5.625° /64
Frequency: 100Hz
DC resistance: 50Ω±7%(25℃)

دانلود دیتاشیت موتور

درایور ULN2003

برد های کنترل متنوع و فراوانی برای استپر موتور28byj48 وجود دارند. مانند: l293، uln2003، a3967slb و … که در اینجا برای 28byj48، از درایور uln2003 استفاده می کنیم. شایان ذکر است که این درایور برای نمونه 12 ولت استپر موتور 28byj48 نیز مورد استفاده قرار می گیرد.

در صورتی که از درایور l293 استفاده می کنید، نیاز به اتصال سیم قرمز موتور به ماژول (درایور l293) نیست.

آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینو

آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینواتصال پایه ها

سوکت موتور به راحتی بر روی پایه های قسمت سفید درایور قرار می گیرد. اما برای اتصال درایور به آردوینو Uno بدین ترتیب عمل می کنیم:

Vin به 5 تا 12 ولت (که در این جا فقط برای آموزش، آن را به پایه 5 ولت آردوینو ارتباط می دهیم؛ البته توجه داشته باشید که درصورت نیاز به موتور های بیشتر، به تغذیه ای فرا تر از آن چه که آردوینو فراهم می آورد، نیاز خواهید داشت. به هر حال تغذیه از آردوینو برای استفاده موتور توصیه نمی شود.)

Gnd به Gnd
In1 به پایه 2 آردوینو
In2 به پایه 3 آردوینو
In3 به پایه 4 آردوینو
In4 به پایه 5 آردوینو

کد آردوینو

IDE آردوینو دارای یک کتابخانه با عنوان Stepper می باشد که شما را قادر می سازد تا بیشتر موتور های unipolar و bipolar را کنترل کنید.

در این جا نیز به بررسی یکی از مثال های خود کتابخانه و شرح توابع آن می پردازیم:

این تابع، یک شی جدید از کلاس Stepper می سازد که بیان کننده استپر موتوریست که با آردوینو ارتباط دارد. این دستور در بالای کد و قبل از void setup و void loop قرار می گیرد. تعداد پارامتر های ورودی مشخص کننده نوع ارتباط با ماژول است که در واقع می توان به جای pin3 و pin4 چیزی قرار نداد که در این جا برای ماژول Uln2003 از هر 4 پایه استفاده می کنیم. پارامتر نخست (steps) یک عدد صحیح می باشد که بیان کننده تعداد پله های محور در یک گردش کامل است. در صورتی که در دیتاشیت موتور شما یک عدد به عنوان درجه در هر پله گردش (degrees per step) ارائه شده است، می بایست عدد 360 درجه را بر آن مقدار تقسیم نموده و به عنوان آرگمان اول یعنی steps قرار دهید؛ اما توجه داشته باشید که باید یک عدد صحیح باشد. در این جا این مقدار را برای 28byj48 برابر 60 قرار می دهیم.

پارامتر های دیگر نیز یعنی pin1, pin2, pin3, pin4 به ترتیب به In1(pin1)، In3(pin2)، In2(pin3)، In4(pin4) ارتباط دارند که با توجه به موارد فوق کد را بدین شکل تغییر می دهیم:

تابع زیر نیز سرعت گردش موتور را بر حسب دقیقه (RPMs) تنظیم می کند. دقت داشته باشید که این تابع گردش موتور یا چرخش آن را تنظیم نمی کند و صرفا سرعت را در هر مرحله تنظیم می کند:

در اینجا مقدار سرعت را نهایت و برابر 500 گرفته ایم:

سرانجام تابع زیر وظیفه چرخش موتور در تعداد پله های مشخص شده را داراست:

این متد به تعداد پله های مشخص(steps)، موتور را با سرعتی که پیش از آن باید الزاما تعریف شده باشد (در تابع setSpeed)، می گرداند. توجه داشته باشید که آردوینو زمانی که گردش موتور تمام شد، این خط از برنامه را pass می کند. به زبان ساده تر مقدار steps در این تابع، بیانگر تعداد پله های گردش بر اساس یک عدد صحیح می باشد. (برای چرخش در جهت ساعتگرد عدد را مثبت و برای چرخش در جهت پاد ساعتگرد، عدد را منفی قرار دهید.)

نمونه کد راه اندازی:

آموزش راه اندازی استپر موتور 5 ولت 28byj48 با آردوینو

نویسنده: حمیدرضا شفیع زاده اسفندآبادی

برچسب ها

سیدرضا بازیار

به وب سایت شخصی من خوش آمدید! من سیدرضا بازیار هستم، متولد 1374 شهرستان کازرون. در حال حاضر دانشجوی رشته مهندسی فناوری اطلاعات هستم، مسلط به زبان های: HTML5 - CSS3 - JavaScript در حال یادگیری زبان های PHP و Python هستم و علاقه بسیار زیادی به برنامه نویسی تحت وب ، هوش مصنوعی و زمینه امنیت اطلاعات دارم.

یک نظر

  1. سلام من میخواستم با این درایو با اردینو 3 تا استپر موتور راه بندازم باید سه تا ماژول درایو تهیه کنم؟ آیا اگر 3 تا بود با 5 ولت خود اردینو 3 تا موتور به حرکت در میان یا خیر؟ من میخوام 3 تا برنامه جدا به موتورا بدم ایا امکانش هست؟ اگر نیست راهنمایی میکنید ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن