آردوینو آموزش آردوینو درایور موتور پروژه های آردوینو

آموزش راه اندازی استپر موتور Stepper با روتاری انکودر آردوینو بخش دوم

Stepper-motor-ans-rotary-encoder-with-arduino-digispark
نوشته شده توسط پریسا پوربلورچیان

در آموزش بخش اول توسط استپر موتور ۴ فاز ۵ ولت و درایور موتور ULN2003، استپر موتور در یک جهت با سرعت ۵ دور بر دقیقه و در جهت دیگر با سرعت ۱۰ دور بر دقیقه، ۲۰۳۸ استپ انجام می‌داد. در آموزش بخش دوم از این آموزش، توسط ماژول روتاری انکودر Rotary Encoder، استپر موتور در دو جهت ساعتگرد و پادساعتگرد به حرکت درخواهد آمد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

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

استپر موتور Stepper Motor یک دستگاه الکترومکانیکی است که پالس های الکتریکی را به حرکت های مکانیکی مجزا تبدیل می‌کند. یک شافت بر روی استپر موتور قرار گرفته است. سرعت شافت موتور به فرکانس پالس ورودی بستگی دارد. از ویژگی اصلی استپر موتور می‌توان به توانایی کنترل دقیق در یک سیستم حلقه باز Open Loop اشاره کرد. در سیستم حلقه باز Open Loop خروجی تاثیری بر عملکرد مدار نخواهد داشت. در این حالت خروجی با ورودی مقایسه نشده و در طول مدار خروجی اندازه گیری نمی‌شود. در استپر موتور حرکت شافت مستقیما به پالس ورودی بستگی دارد. از اینرو دقت اندازه گیری و کالیبراسیون در ورودی بسیار تاثیرگذار است. ولتاژ مورد نیاز برای راه اندازی استپر موتور ۵ ولت DC است. استپر موتور ۲۸BYJ-48 دارای ۴ فاز است. استپر موتور Stepper Motor در حالت تعلیق دارای گشتاور کامل بین ۶۰۰ تا ۱۲۰۰ gf.cm است. نسبت سرعت در استپر موتور ۱ به ۶۴ است. فرکانس کاری آن ۱۰۰ هرتز می‌باشد. استپر از واکنش فوق العاده ای در تغییر وضعیت و حالت مانند شروع، ثابت ( Stop ) و معکوس دارد. استپر موتور Stepper Motor از ۵ پایه به ترتیب آبی، صورتی، زرد، نارنجی و قرمز تشکیل شده است. درجه عایق این مدل A می‌باشد.  نویز آن کمتر از ۳۵ DB است.  زاویه چرخش شافت استپر موتور ۳۶۰ درجه است. طول کابل استپر موتور حدود ۲۵ سانتی متر می‌باشد.

 

 

نکته مهم

همانطور که در آموزش بخش اول گفته شد، برای راه اندازی استپرموتور به درایور راه انداز نیاز داریم. در این آموزش همانند بخش اول از درایور استپرموتور ULN2003 استفاده خواهیم کرد. یک سوکت برای اتصال استپر موتور به داریور بر روی فیبر قرار گرفته شده است. دو پایه GND , VCC برای تغذیه دایور و اتصال به میکروکنترلر بر روی برذ قرار دارد. برای مطالعه اطلاعات بیشتر در خصوص این درایور موتور بخش اول آموزش استپرموتور Stepper Motor را مطالعه کنید.

 

راه اندازی استپر موتور با آردوینو Mega2560 - دیجی اسپارک

ماژول روتاری انکودر Rotary

ماژول روتاری انکدر Rotary Encoder با استفاده از شافتی که بر روی ماژول قرار دارد، در دو جهت مثبت و منفی به چرخش در می‌آید. با چرخش شافت ماژول روتاری انکودر Rotary Encoder در دو جهت، فرکانس خروجی به صورت پالس تولید می‌شود. تعداد دوران شافت ماژول روتاری انکودر بی‌نهایت است. بر روی شافت ماژول روتاری یک سوییچ قرار گرفته است که با فشار میکروسوییچ، حرکت شافت ریست شده و به حالت اولیه باز می‌گردد و مجددا از دوران ۰ شروع خواهد شد. شافت روتاری انکدر دارای ۳ پایه A,B,C است. در طرف دیگر شافت دو سوییچ قرار دارد که یکی از آن ها به پین A , C  و سوییچ دیگری به پین B , C متصل است. با هر حرکت شافت انکودر، سوییچ ها باز و بسته می‌شوند. در حالت اول اگر هر دو سوییچ بسته باشند، با چرخش شافت در جهت عقربه های ساعت یا خلاف جهت عقربه های ساعت، هر دو سوییچ باز خواهد شد و برای حالت دوم نیز برعکس اتقاف خواهد افتاد. در واقع در حالت کلی خروجی به صورت پالس تولید شده و سوییچ های A , B , C به صورت باز و بسته عمل خواهند کرد. ماژول روتاری انکدر دارای ۵ پایه به ترتیب GND, VCC , SW , DT , CLK می‌باشد. هنگامی که سوییچ‌ها در حالت open یعنی باز باشند، خروجی پالس در بالاترین سطح خود و هنگامی که سوییچ‌ها در حالت close یعنی بسته باشند، خروجی پالس در پایین ترین سطح قرار می‌گیرد.

 

 

فراخوانی کتابخانه

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

  •  کتابخانه Stepper

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

 

اتصالات آردوینو

  • پایه IN1 درایور موتور ULN2003 را به پایه ۸ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه IN2 درایور موتور ULN2003 را به پایه ۹ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه IN3 درایور موتور ULN2003 را به پایه ۱۰ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه IN4 درایور موتور ULN2003 را به پایه ۱۱ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه GND درایور موتور ULN2003 را به پایه GND آردوینو Arduino اتصال دهید.
  • پایه VCC درایور موتور ULN2003 را به پایه ۵ ولت آردوینو Arduino اتصال دهید.
  • پایه CLK ماژول روتاری انکودر Rotary Encoder را به پایه ۲ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه Data ماژول روتاری انکودر Rotary Encoder را به پایه ۳ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه SW (سوییچ) ماژول روتاری انکودر Rotary Encoder را به پایه ۴ دیجیتال آردوینو Arduino اتصال دهید.
  • پایه GND ماژول روتاری انکودر Rotary Encoder را به پایه GND آردوینو Arduino اتصال دهید.
  • پایه VCC ماژول روتاری انکودر  Rotary Encoder را به پایه ۵ ولت آردوینو Arduino اتصال دهید.

کنترل استپر موتور با آردوینو و روتاری انکودر - دیجی اسپارک

 

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

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

 

انتخاب بورد Board

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

 

تحلیل کد آردوینو Arduino

 فراخوانی کتابخانه

تعداد استپ انجام شده

تعریف حالت کلید Switch

با چرخش شافت ماژول روتاری انکودرRotary Encoder، استپرموتور Stepper Motor یک بار در جهت عقربه های ساعت و بار دیگر در جهت خلاف عقربه های ساعت به چرخش درخواهد آمد. با فشردن کلید سوییچ SWITCH قرار گرفته شده بر روی شافت، حرکت شافت ریست Reset شده و به حالت اولیه برمیگردد و مجددا از دوران ۰ شروع به حرکت خواهد کرد.

ماژول روتاری انکودر و استپر موتور - دیجی اسپارک

 

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

برد آردوینو Arduino Mega2560 

استپر موتور ۵ ولت مدل ۲۸BYJ48 

درایور موتور ULN2003

ماژول روتاری انکودر Rotary Encoder از پکیج ۳۷ سنسور

کابل فلت نری به مادگی

 

 

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

 

پروژه

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

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۴ دیدگاه