آردوینو درایور موتور

راه اندازی استپر موتور Stepper Motor با آی سی درایور L293D آردوینو نانو

Stepper-motor-arduino-nano-l293d-ic-driver-motor-tutorial-digispark
نوشته شده توسط محمدرضا یاورزاده

استپ موتورها یا موتورهای پله‌ای، موتورهایی بدون جاروبک هستند. با استفاده از پالس‌های الکتریکی کار می‌کنند. استپ موتور ترکیبی از موتورهای DC و موتورهای سروو هستند. استپ موتورها با اینکه توان کم دارند، اما به صورت پله پله هستند. یعنی می توان شافت آنهارا دقیق تنظیم کرد و در زاویه مورد نظر قرار داد. چون استپر موتور برای راه اندازی نیاز به دریافت پالس مناسب نیاز به درایور دارند. در این آموزش برای راه اندازی یک موتور پله‌ای از آی سی درایور L293D و برد آردوینو استفاده خواهیم کرد. و تعداد گام‌های استپ موتور را با استفاده از سریال مانیتور آردوینو به آن ارسال خواهیم کرد. سپس استپر موتور Stepper Motor به تعاد گام‌ها می‌چرخد. در این آموزش با مرجع تخصصی آردوینو به زبان فارسی دیجی اسپارک همراه باشید.

 


روش کار استپر موتور Stepper Motor


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

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

 

 


تراشه درایور L293D استپر موتور


آردوینو و در بیان کلی‌تر میکروکنترلر ها به خاطر محدودیت در تامین ولتاژ و جریان به تنهایی نمی‌توانند موتورها را راه اندازی کنند. به همین دلیل نیاز به درایور موتور دارند. درایورها دستورات PWM آردوینو را  شامل سرعت و جهت موتور‌ها، تقویت کرده و به موتور می‌فرستند. آی سی L293D می‌تواند موتورهای DC و استپ موتور را هدایت توسط دستوالعمل‌های آردوینو کنترل کند. آی سی L293D شامل ۴ کانال است که می‌تواند در هرکدام حداکثر ۶۰۰mA را تامین نماید. حداکثر ولتاژ تغذیه آن نیز ۳۶V است. یکی دیگر از خصوصیات مهم این تراشه محافظ آن در مقابل گرما است. یعنی وقتی دمای آن بیش از حد افزایش یافت جریان را قطع می‌کند تا به آیسی آسیبی نرسد. آی سی L293D دارای پکیج DIP بوده و از ۱۴ پایه بهره می‌برد.

اتصال آی سی درایور موتور L293D به برد آردوینو نانو Arduino nano - دیجی اسپارک

 

اتصالات قطعات

پایه ۵V آردوینو را به پین‌های ۱و ۸ و ۹ و ۱۶ آی سی L293D متصل کنید.

پایه GND آردوینو را به پین‌های ۴ و ۵ و ۱۲ و ۱۳ آی سی L293D متصل کنید.

سیم اول استپر موتور Stepper Motor را به پین ۳ آی سی L293D

سیم دوم استپر موتور را به پین ۱۱ آی سی L293D

سیم سوم استپر موتور را به پین ۱۴ آی سی L293D

سیم چهارم استپر موتور را به پین ۶ آی سی وصل کنید.

پایه D3 آردوینو را به پین ۱۵ آی سی، پایه D4 آردوینو به پین ۱۰ آی سی، پایه D5 آردوینو را به پین ۷ آی سی، پایه D6 آردوینو را به پین ۲ ایسی وصل کنید.

از سیم قرمز استپر موتور Stepper Motor در این آموزش اسفاده نشده است. زمانی که مدار نتواند جریان معکوس سیم پیچ‌ها را انتقال دهد از سیم مرکزی استفاده می‌شود.

 


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


کدهای زیر را بروی آردوینو خود آپلود کنید. توضیحات کد در داخل آن، سطر به سطر نوشته شده است.

//فراخوانی کتابخانه استپ موتور
#include <Stepper.h>

//نعریف متغیر
int in1Pin = 6;
int in2Pin = 5;
int in3Pin = 4;
int in4Pin = 3;

//تعریف پین های استپ موتور
//اولین ارگمان تابع مربوط به تعداد پله های استپ موتور برای یک دور کامل است ، یعنی استپ موتور به چند گام نیاز دارد تا در صورت وارد شدن عدد۵۰۰ ، ۳۶۰ درجه دور بزند
Stepper motor(512, in1Pin, in2Pin, in3Pin, in4Pin); 

void setup()
{
//تعین متغیرها به عنوان پین های خروجی
  pinMode(in1Pin, OUTPUT);
  pinMode(in2Pin, OUTPUT);
  pinMode(in3Pin, OUTPUT);
  pinMode(in4Pin, OUTPUT);
  while (!Serial);
  //تنظیم بادریت سریال
  Serial.begin(9600);
  //تنظیم سرعت موتور
  motor.setSpeed(20);

}

void loop()
{
  
//دستور شرطی برای دریافت از سریال مانیتوز
  if (Serial.available())
  {
    //وارد کردن متغیر steps با استفاده از سریال مانیتور
    int steps = Serial.parseInt();

    //نمایش مقدار متغیر وارد شده
    Serial.println(steps);
    // تاخیر یک ثانیه
    delay(1000);
    
    //حرکت کردن استپ موتور به اندازه متغیرsteps
    motor.step(steps);
   
  }
}

 

راه اندازی استپر موتور با تراشه درایور موتور L293D Stepper motor برد آردوینو نانو - دیجی اسپارک

 


وسایل موردنیاز


استپ موتور پنج سیمه ۵ ولت

برد اردوینو نانو Arduino Nano

تراشه درایور L293D

سیم برد بورد

 

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

محمدرضا یاورزاده

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۳ دیدگاه

  • از آموزش ممنونم
    پس با این وجود نیازی به درایور نیست؟ نویز در حرکت استپر به وجود نمیاد؟؟

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

    • با سلام و تشکر از توجهتان خیر نیازی به درایور جداگانه نیست.در واقه تراشه به عنوان درایور عمل می کند و نویزی هم در حرکت استپر دیده نمی شود.

  • با سلام وعرض خسته نباشید بنده درضمینه فروش اقساطی موتورسیکلت فعالیت دارم که برای رفع نیاز قطعات جی پی اس مورد استفاده شرکت خودمان به فکر تولید این محصول هستیم ودرمورد آن یک تحقیق درحال انجام است که از شما خواهشمندم که راهنمایی مورد نظر انجام دهید ولازم به ذکر هست که محصول درصورت سوددهی تولید انبوه میشود

  • با سلام یه درخواست دارم:
    من میخوام یک استپ موتور۴ سیم را با یک آی سی L293 و یک آردوینو راه اندازی کنم و برام دو چیز مهمه:
    ۱-میخوام موتور با قدرت به یک سمت بگرده فقط
    ۲-میخوام با یک ولوم بتونم دور موتور رو کم وزیاد کنم
    جدای این موضوع ، اگر بشه برد آردوینو را حذف کرد وبجای آن آی سی گذاشت که فقط دستور حرکت بده خیلی بهتره

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

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

    • با سلام تفاوتی بین GPIO برد آردوینو UNO و آردوینو MEGA2560 نیست و از همین اتصالات میتوانید استفاده کنید.

  • با سلام. میخواستم بدونم مدل استپ موتوری که در فیلم هست دقیقا چیه؟
    موتوری که دنبالشم شفت مرکز و ۵ ولته که تو این فیلمم استفاده شده. ممنون میشم مدل این موتوری که در فیلم هست رو بهم بگید/
    چونکه هندسه موتور تو پروژه من تاثیر بالایی داره.