اندازه گیری زاویه حرکت شفت با روتاری انکودر و برد آردوینو

در این سری از آموزش های آردوینو نحوه استفاده از روتاری انکودر (Rotary Encoder) و اتصال آن به برد آردوینو را آموزش داده ایم. روتاری انکودر یک وسیله الکترومکانیکی است که موقیعت زاویه ای حرکت یک شفت و یا محور را به کد آنالوگ و یا دیجیتال تبدیل می کند. در اتوماسیون صنعتی از این وسیله که به عنوان یک سنسور رمزگذار چرخشی دوار معرفی شده است؛ به عنوان یک سنسور تشخیص زاویه، سرعت، طول، موقیعت و شتاب به کار می رود.

سنسور روتاری انکودر Rotary Encoder

روتاری انکودر Rotary Encoder

روتاری انکودر؛ دارای دو نوع مطلق و نسبی (افزایشی) می باشد. خروجی انکودر مطلق نشان دهنده موقیعت شفت است، که به طور دائم موقعیت را به عنوان یک پیغام دیجیتالی 0 و 1 گزارش می دهد. خروجی انکودر افزایشی اطلاعات مربوط به حرکت شفت در هر زمان را به صورت سرعت، فاصله و موقیعت پردازش نشان می دهد.

بعد قبل
شکل ظاهری روتاری انکودر افزایشی
شکل ظاهری روتاری انکودر مطلق
روتاری انکودر افزایشی
روتاری انکودر مطلق
بعد قبل

ساختار روتاری انکودر افزایشی

انکودر افزایشی یک سنسور رمزگذار چرخشی است که وظیفه آن هم تعیین مقدار جابه جایی شفت و کنترل زاویه (جهت چرخش) می باشد. این انکودر دو موج مربعی که اختلاف فاز هر کدام 90 درجه هستند، تولید می کند. معمولا دو موج مربعی با کانال A و B مشخص می شوند همانند شکل زیر:

موج مربعی انکودر افزایشی

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

جهت چرخش چپ و راست انکودر افزایشی

توضیحات در مورد سنسور روتاری انکودر و نحوه اتصال مدار

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

سنسور روتاری انکودر

دانلود دیتا شیت Rotary Encoder

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

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
ماژول روتاری انکودر سوئیچ دار مدل KY-0401 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

نحوه اتصال ماژول به برد آردوینو

به راحتی و با توجه به شکل ابتدا پین های منفی و مثبت انکودر را به پایه های +5ولت و زمین آردوینو متصل کنید. سپس پین های CLK و DT را بترتیب به پایه های دیجتال شماره 2 و 3 برد آردوینو اتصال دهید. و پین SW ماژول را به شماره پایه 4 آردوینو متصل کنید.

بعد قبل
نحوه اتصال ماژول روتاری انکودر به برد آردوینو
نحوه اتصال ماژول به برد آردوینو
بعد قبل

برنامه نویسی پروژه

قبل از برنامه نویسی در نرم افزار آردوینو ابتدا کتابخانه Rotary Encoder را از لینک زیر دانلود نموده و طبق توضیحات زیر، آن را به زیرمجموعه های کتابخانه خود در نرم افزار آردوینو اضافه کنید.

دانلود کتابخانه Rotary Encoder

نصب کتابخانه روتاری انکودر

لازم به ذکر است که نرم افزار برنامه نویسی آردوینو به صورت پیش فرض توانایی پشتیبانی از Rotary Encoder را ندارد بنابراین ما باید library (کتابخانه یا برنامه) مورد نیاز را بر روی آن نصب کنیم. این فرآیند بسیار ساده و راحت است که در زیر نحوه استفاده از آن را توضیح داده ایم.

1. در مرحله اول ابتدا آخرین (جدیدترین) نسخه کتابخانه (Rotary Encoder) را از لینک فوق دانلود کنید.

2. پس از دانلود فایل، نرم افزار آردوینو را باز کنید.

3. مسیر زیر را دنبال کنید و در پنجره باز شده فایل کتابخانه Rotary Encoder را که قبلا دانلود کرده اید را انتخاب نمائید:

…Sketch > Include Library > Add .ZIP Library

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

ویدیوی ضبط شده از نحوه عملکرد پروژه

 

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : محسن برات زاده

 تاریخ انتشار : 29 ژانویه 2019

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

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

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

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