پروژه الکترونیکپروژه های آردوینو

چگونه استپر موتور را با آردوینو کنترل کنیم ؟ (آموزش اتصال Stepper Motor به Arduino)

سلام. چگونه استپر موتور را با آردوینو کنترل کنیم ؟ (آموزش کامل اتصال Stepper Motor به Arduino) را آماده کرده ایم.

آموزش کنترل موتور پله ای با Arduino

موتور های استپر به صورت گسترده ای در دنیای الکترونیک استفاده میشود. از دوربین های مدار بسته معمولی گرفته تا ماشین های پیچیده CNC و ربات ها. موتور های استپر که به موتور پله ای نیز معروف هستند در خیلی جا ها به عنوان محرک استفاده میشوند زیرا کنترل بسیار دقیقی را ارائه میدهد. در این آموزش ارزانترین و متداول ترین موتور پله ای یعنی مدل 28-BYJ48 را به آردوینو متصل میکنیم و با استفاده از پتانسیومتر آن را کنترل میکنیم.

در این پروژه ، استپ موتور را با استفاده از پتانسیومتر و Arduino می چرخانیم. اگر پتانسیلومتر را در جهت عقربه های ساعت بچرخانید، استپ موتور به جهت های ساعت می چرخد ​​و اگر پتانسیومتر را خلاف جهت عقربه های ساعت بچرخانید ، موتور پله ای نیز خلاف جهت حرکت عقربه های ساعت میچرخد. فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

استپر موتور چیست و چگونه کار میکند ؟

مانند تمام موتورها ، موتورهای استپر نیز دارای استاتور و روتور هستند، اما برخلاف موتور DC معمولی ، استاتور از مجموعه های کویل جداگانه ای تشکیل شده است. تعداد سیم پیچ ها بر اساس نوع موتور پله ای متفاوت خواهد بود، اما بدانید که در یک موتور استپ روتور از قطب های فلزی تشکیل شده است و هر قطب توسط مجموعه ای از سیم پیچ در استاتور جذب می شود. نمودار زیر یک موتور استپ با 8 قطب استاتور و 6 قطب روتور را نشان می دهد.

استپر موتور چیست و چگونه کار میکند ؟

اگر به کویل های استاتور نگاهی بیندازید، آنها جفت کویل چیده شده اند، مانند A و A یک جفت را و B و B نیز یک جفت کویل را تشکیل می دهند. بنابراین هر یک از این جفت کوئلها یک الکترومغناطیس تشکیل می دهند و می توانند با استفاده از مدار درایور بصورت جداگانه انرژی بگیرند. هنگامی که یه سیم پیچ انرژی وارد می شود ، به عنوان آهنربا عمل می کند و قطب روتور با آن هم تراز می شود. هر بار که روتور می چرخد ​​تا خودش را تنظیم کند تا با استاتور تراز شود، آن را یک مرحله می نامند. به طور مشابه با انرژی دادن به کویلها در یک دنباله می توانیم موتور را در پله های کوچک بچرخانیم تا یک چرخش کامل انجام شود.

حتما ببینید :  آموزش کامل پروژه ساخت کد QR آردوینو با نمایشگر OLED SSD1306

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

محاسبه زاویه مراحل در هر پله برای استپر موتور

این مسئله خیلی مهم است که بدانید چطور هر مرحله را برای استپر موتور خود محاسبه کنید. زیرا تنها در این صورت میتوانید به طور موثر و مفید برنامه نویسی کنید.

در آردوینو موتور را به حالت 4 پله ای کار خواهیم کرد بنابراین زاویه هر پله 11.25 درجه خواهد بود. زیرا با توجه به اطلاعات دیتاشیت ، هر مرحله در حالت 8 پله ای ، 5.625 درجه است. بنابراین در حالت 4 پله ای هر پله 11.25 خواهد بود.

تعداد پله ها = 360 / درجه هر مرحله

360 / 11.25 = 32 پله

چرا برای کنترل موتور استپر به ماژول درایور نیاز داریم ؟

اغلب موتور پله ای ها فقط به کمک ماژول درایور (Driver = راننده) کار میکنند. بخاطر اینکه میکروکنترلر ما مثل میکروکنترلر های AVR ، PIC یا برد های آردوینو قادر به تامین جریان کافی از پین های I/O خود برای عملکرد صحیح موتور ها نیستند. بنابراین ما از یک ماژول خارجی مثل L293D یا ULN2003 استفاده میکنیم.

شماتیک مدار پروژه کنترل استپر موتور

شماتیک مدار پروژه کنترل استپر موتور
شماتیک برای کنترل موتور پله ای با استفاده از پتانسیومتر و آردوینو در تصویر بالا نشان داده شده است. ما از موتور 28BYJ-48 Stepper و ماژول درایور ULN2003 استفاده کرده ایم. ماژول درایور موتور توسط پین 5 ولت برد Arduino تغذیه می شود. پتانسیومتر به پین آنالوگ A0 وصل می شود.

قطعات مورد نیاز پروژه

  1. برد آردوینو Uno
  2. ماژول درایور ULN2003
  3. استپر موتور 28-BYJ48
  4. پتانسیومتر

توضیحات کد آردوینو کنترل استپر موتور

قبل از شروع برنامه نویسی با Arduino ، باید درک کنیم چه چیزی باید در برنامه اتفاق بیفتد. همانطور که قبلاً گفته شد از روش 4 مرحله ای استفاده خواهیم کرد بنابراین برای انجام یک چرخش کامل چهار مرحله انجام خواهیم داد.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
حتما ببینید :  آموزش طراحی سیستم امنیتی (دزد گیر) با سنسور مادون قرمز (پروژه آنالوگ)
پلهانرژی داده شده به پین های انرژی داده بده کویل های
پله 19 و 8A و B
پله 29 و 10B و C
پله 310 و 11C و D
پله 48 و 11D و A

ماژول درایور دارای چهار LED است که با استفاده از آنها می توانیم بررسی کنیم که کدام کویل در حال حاضر انرژی دارد.

در این آموزش باید آردوینو را طوری برنامه ریزی کنیم که بتوانیم پتانسیومتر متصل به پین A0 را بچرخانیم با آن جهت موتور را کنترل کنیم. کد کامل پروزه در فایل دانلودی انتهای صفحه قرار داده شده است.

تعداد مراحل در هر چرخش برای موتور پله ما 32 محاسبه شد. از این رو ما مطابق زیر در برنامه وارد میکنیم :

#define STEPS 32

در مرحله بعد باید پین های استپر موتور را مشخص کنیم :

Stepper stepper (STEPS, 8, 10, 9, 11);

از آنجا که ما از کتابخانه Stepper.h آردوینو استفاده می کنیم، می توانیم سرعت موتور را با استفاده از خط کد زیر تنظیم کنیم. این سرعت می تواند بین 0 تا 200 برای موتورهای پله ای 28-BYJ48 باشد.

stepper.setSpeed(200);

حال برای حرکت موتور یک قدم در جهت عقربه های ساعت می توان از خط کد زیر استفاده کرد.

stepper.step(1);

برای حرکت موتور یک قدم خلاف جهت عقربه های ساعت می توان از خط کد زیر استفاده کرد.

stepper.step(-1);

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

potVal = map(analogRead(A0),0,1024,0,500);
if (potVal>Pval)
  stepper.step(5);
if (potVal<Pval)
  stepper.step(-5);
 Pval = potVal;

کد کامل پروزه را که در فایل دانلودی قرار دارد در برد آردوینو Uno بارگذاری کنید و مانیتور سریال را باز کنید. شما باید پتانسیومتر را بچرخانید تا چرخش موتور پله ای را کنترل کنید.

فیلم عملکرد پروژه کنترل Stepper Motor

فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : سورس کامل ، شماتیک کامل

[post_shop]

دانلود فایل های پروژه

[/post_shop] [lrm_form default_tab=”register” logged_in_message=””]

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم.

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

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

دکمه بازگشت به بالا
بستن
بستن