داغ ترین ها

ورود / عضویت

Arduino Tech

عضویت در سایت

فراموشی رمز عبور

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

همچنین خواهیم آموخت که چگونه این موتور را با استفاده از ساده‌ترین ماژول‌های موجود یعنی ماژول درایور موتور A3967 درایو کنیم.

قبل از شروع لیست ابزارها و ماژول‌های مورد نیاز را بررسی می‌کنیم.

۱- ماژول درایور موتور A3967

۲- استپر موتور

۳- برد بُرد

۴- کابل فلت نری به نری

۵- پین هدر نری صاف

۶- ماژول آردوینو UNO

۷- تجهیزات لحیم کاری

۸- منبع تغذیه ۱۲ ولت

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

استپرموتورها با موتورهای DC معمولی فرق می‌کنند. آن‌ها به جای اینکه فقط در یک جهت بچرخند می‌توانند به طور دقیق میزان چرخش و سرعت خود را کنترل کنند. یک موتور هواپیمای ملخدار معمولی را تصور کنید. این موتور فقط با سرعت بالا در یک جهت خاص و تعیین شده می‌چرخد. شما می‌توانید سرعت چرخش را، با مقدار توانی که به موتور اعمال می‌کنید، کنترل کنید. اما نمی‌توانید به پروانه هواپیما بگویید در یک مکان مشخص متوقف شود. حال یک پرینتر را تصور کنید که درون آن اجزای مختلف بسیاری وجود دارد، از جمله موتور، موتوری که عمل تغذیه کاغذ را به عهده دارد و یا موتور چرخاننده رولر، که کاغذ را برای پرینت جوهر بر روی آن حرکت می‌دهد. این موتور باید به گونه‌ای حرکت کند که بتواند کاغذ را در فواصل مشخص برای پرینت هر خط،  به صورت جداگانه حرکت دهد، تا متن یا تصویر کلی روی کاغذ شکل بگیرد. همچنین محور دنده‌ای باید به مقدار کاملا دقیقی حرکت کند تا بتواند هر حرفی را درکنار دیگری پرینت کند. اینجاست که استپر موتورها خودی نشان می‌دهند!

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

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

راه انداری استپر موتور:

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

UNO-step-1

اتصال استپر موتور:

زمانی که تمام پین هدرها را لحیم کردید، با توجه به شکل زیر پایه‌های ماژول درایور موتور A3967 را به ماژول آردوینو UNO ارتباط دهید. توجه داشته باشید که استپر موتور کوچک با عکس بالا متفاوت است و در انتهای خود چهار پین اتصال دارد. این ۴ پین به پینهای میل هدر، روبه بالا وصل می‌شود. به خاطر ویژگی خاص این استپر شما می‌توانید اتصال پین‌ها را به هر صورتی انجام دهید، پایه سیاه سمت چپ باشد یا پایه زرد فرقی نمی‌کند، موتو ر به هر حال کار خواهد کرد. اگر از موتور دیگری استفاه می‌کنید از راهنمای آن برای چگونگی اتصال سیم‌ها کمک بگیرید.

استپر موتور، تغذیه‌ای فراتر از آنچه آردوینو فراهم می‌کند نیاز دارد بنابراین در این مثال، از یک منبع تغذیه خارجی ۱۲ ولت برای تغذیه به ماژول آردوینو Uno استفاده می‌کنیم. توجه داشته باشید که  ورودی تغذیه M+ بر روی برد ماژول درایور موتور A3967 به پین vin آردوینو متصل شده است. این کار به شما اجلزه می‌دهد که هر دو را فقط با یک منبع تغذیه، تامین کنید.

سخت افزار:

زمانی که همه چیز را به درستی سوار کردید شما می‌توانید سخت افزار را به آردوینو متصل کنید. در زیر کد ساده‌ای نوشته شده که شما را کمی با روند کار آشنا کند. کمی با این کدها کار کرده، مقادیر آن‌ها را تغییر دهید و آزادانه به کاوش در آن بپردازید.

int dirpin = 2;
int steppin = 3;
void setup() 
{
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
}
void loop()
{
int i;
digitalWrite(dirpin, LOW);     // Set the direction.
delay(100);
for (i = 0; i<4000; i++)       // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW);  // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step.
delayMicroseconds(500);      // This delay time is close to top speed for this
}                              // particular motor. Any faster the motor stalls.
digitalWrite(dirpin, HIGH);    // Change direction.
delay(100);
for (i = 0; i<4000; i++)       // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW);  // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step.
delayMicroseconds(500);      // This delay time is close to top speed for this
}                            // particular motor. Any faster the motor stalls.
}

منبع: دیجی اسپارک

مجید امانی

مجید امانی

توی زمینه رباتیک، الکترونیک، میکروکنترلر و IT فعالیت می کنم...
  1. vahidnoei می‌گه:

    سلام
    من در حال یادگیری برنامه نویسی با آردوینو هستم . می خواستم ببینم چطور می توانم از اطلاعات شما کمک بگیرم .
    v_noei@yahoo.com

  2. ehiranboy می‌گه:

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

پاسخ دهید

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