تحلیل کتابخانه

تحلیل و بررسی کتابخانه Stepper.h

stepper-h-arduino-library-digispark
نوشته شده توسط معین صابری

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

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

 


استپر موتور تعریف و کاربرد


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

استپر موتور و تحلیل کتابخانه stepper.h - دیجی اسپارک

 

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

درایور استپر موتور با کتابخانه Stepper.h - دیجی اسپارک

 

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

 


نصب کتابخانه Stepper.h


به منظور استفاده از کتابخانه، ابتدا می بایست آن را نصب کنیم. در این قسمت به نصب کتابخانه با جستجو در مخازن آردوینو می پردازیم. به همین منظور، ابتدا در نرم افزار آردوینو بر روی گزینه Tools و سپس Manage Libraries را کلیک کنید. پس از کلیک بر روی این گزینه، با تصویر زیر رو به می شوید. این منو کتابخانه های در دسترس را به شما نشان می دهد. شما نیز می توانید با جستجوی نام کتابخانه مورد نظر خود، آن را در مخازن آردوینو یافته و سپس نصب کنید.

روش نصب کتابخانه PCF8574.h - دیجی اسپارک

 

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

کتابخانه Stepper.h نصب در آردوینو - دیجی اسپارک

 


 الزامات و نکات فنی کتابخانه Stepper


کتابخانه Stepper موتور جهت راه اندازی و فرمان به موتور به حداقل ۲ پایه و حداکثر ۵ پایه نیاز دارد. به همین جهت هنگام تعیین پایه برای راه اندازی و کار با این کتابخانه، پایه های GPIO را با دقت انتخاب کنید. در کنار این، این کتابخانه به صورت مستقل از معماری پردازنده اجرا می شود. به عبارت دیگر، این کتابخانه بر روی بردهای آردوینو مبتنی بر تراشه AVR و یا پردازنده های ESP قابل اجراست.

توجه: هنگام کار با این کتابخانه در بردهای ESP، از پایه های آزاد برای فرمان به موتور استفاده کنید.

 


توابع کلیدی و کاربردی کتابخانه


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

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

تعیین شماره اتصال به پایه های موتور با ورودی های تابع

ورودی ۱: تعداد دور گردش

ورودی ۲: پایه شماره ۱ اتصال

ورودی ۳: پایه شماره ۲ اتصال

Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2)
تابع سازنده کلاس کتابخانه برای موتورهای چهار سیمه

تعیین شماره اتصال به پایه های موتور با ورودی های تابع

ورودی ۱: تعداد دور گردش

ورودی ۲: پایه شماره ۱ اتصال

ورودی ۳: پایه شماره ۲ اتصال

ورودی ۳: پایه شماره ۳ اتصال

ورودی ۴: پایه شماره ۴ اتصال

  Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2,

int motor_pin_3, int motor_pin_4)

تابع سازنده کلاس کتابخانه برای موتورهای پنج سیمه

تعیین شماره اتصال به پایه های موتور با ورودی های تابع

ورودی ۱: تعداد دور گردش

ورودی ۲: پایه شماره ۱ اتصال

ورودی ۳: پایه شماره ۲ اتصال

ورودی ۳: پایه شماره ۳ اتصال

ورودی ۴: پایه شماره ۴ اتصال

ورودی شماره ۵: پایه شماره ۵ اتصال

Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2,

int motor_pin_3, int motor_pin_4,

int motor_pin_5)8

 

 پس از آشنایی با توابع کلیدی وکاربردی نوبت به اجرای یک نمونه برنامه می رسد. قسمت بعد مربوط به این موضوع است.

 


اجرای یک نمونه برنامه


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

 


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


لینک خرید انواع برد آردوینو، کلیک کنید

لینک خرید انواع برد ESP، کلیک کنید

لینک خرید انواع استپر موتور، کلیک کنید

 


جمع بندی


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

 

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

 

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

معین صابری

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

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

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

۲ دیدگاه

    • سلام
      در این زمینه اطلاعی ندارم، اما اگر منظور شما برد due است، طاهرا دستورات باید همین باشد.