آردوینوپروژه آردوینو

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

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

در این پروژه چگونگی راه اندازی استپر موتور با L293D را خواهیم آموخت، در قسما های قبلی با تراشه L293 آشنا شدیم، این بار برای راه اندازی استپر موتور از این آی سی کمک میگیریم.

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

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

۱ برد آردوینو Uno R3
۲ برد بورد
۳ مدار مجتمع L293D
۴ استپ موتور ۵V راه اندازی استپر موتور با L293D
۵ جامپر راه اندازی استپر موتور با L293D

آرایش برد بورد

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

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

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

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

کد های آردوینو

برنامه ای که در زیر آمده است از نمایشگر سریال استفاده می کند. بنابراین پس از اینکه برنامه به طور کامل بارگذاری شد، تعداد پله ها را برای چرخش موتور وارد کنید. برای چرخیدن استپ موتور به اندازه ۳۶۰ درجه می توانید عدد ۵۰۰ را وارد نمایید. وارد کردن عکس این مقدار یعنی ۵۰۰- ، موتور را ۳۶۰ درجه به عقب می چرخاند.


    /*
    Adafruit Arduino - Lesson 16. Stepper
    */
     
    #include <Stepper.h>
     
    int in1Pin = 12;
    int in2Pin = 11;
    int in3Pin = 10;
    int in4Pin = 9;
     
    Stepper motor(512, in1Pin, in2Pin, in3Pin, in4Pin);  
     
    void setup()
    {
      pinMode(in1Pin, OUTPUT);
      pinMode(in2Pin, OUTPUT);
      pinMode(in3Pin, OUTPUT);
      pinMode(in4Pin, OUTPUT);
     
      // this line is for Leonardo's, it delays the serial interface
      // until the terminal window is opened
      while (!Serial);
      
      Serial.begin(9600);
      motor.setSpeed(20);
    }
     
    void loop()
    {
      if (Serial.available())
      {
        int steps = Serial.parseInt();
        motor.step(steps);
      }
    }

همانطور که انتظار داشتید آردوینو جهت برنامه ریزی راحت تر استپ موتور ، یک کتابخانه مخصوص استپ موتور به نرم افزار آن اضافه کرده است.
بعد از فراخوانی کردن کتابخانه استپ موتور به نام ‘Stepper’ ، پایه های کنترلی ۱ تا ۴ معرفی شده اند.  
برای اینکه به آردوینو بگویید که از کدام پایه ها برای کنترل استپ موتور استفاده شده است از تابع زیر استفاده می کنیم.

    ;(Stepper motor(768, in1Pin, in2Pin, in3Pin, in4Pin

پارامتر اول تعداد پله های موتور و یا’steps’  می باشد. هر استپ موتور می تواند با هر پالس، یک پله را طی کند و هر پله نیز برابر ۱.۸ درجه است که به اندازه کافی دقیق است.

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

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

    ;(motor.setSpeed(10

تابع حلقه نیز بسیار راحت است. در ابتدا آردوینو منتظر می ماند تا که دستوری از نمایشگر مانیتور به آن برسد. سپس با استفاده از دستور’parseInt’  آن را از حالت نوشتاری به حالتint  تبدیل می کند. در نهایت مقدار دریافتی که همان تعداد پله ها می باشد را به موتور ارسال می کند.

استپ موتور

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

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

با تحریک کردن سیم پیچ ها و رعایت ترتیب آنها ، موتور شروع به چرخش می کند. تعداد پله هایی که هر استپ موتور در طی یک دور ۳۶۰ درجه ای دارد برابر با تعداد دندانه های چرخ دنده می باشد.

موتوری که در این آزمایش از آن استفاده می کنیم ، دارای ۴۸ پله است. اما با درگیر کردن این موتور با یک جعبه دنده کاهشی با نسبت ۱:۱۶ ،تعداد پله های آن به ۷۶۸ عدد رسانده شده است.

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

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

چند آزمایش

سعی کنید که پارامتر دستور زیر را که سرعت موتور را کنترل می کند را تغییر دهید.

    ;(motor.setSpeed(20

این مقدار را به مقداری کمتر مانند ۵ برسانید و برنامه را به آردوینو انتقال دهید. خواهید دید که استپ موتور با سرعت کمتری خواهد چرخید.

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

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

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

برچسب ها
نمایش بیشتر

پاسخی بگذارید

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

همچنین ببینید

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