آموزش کامل کار با روتاری انکودر rotary encoder و شیوه عملکرد آن را برای شما آماده کرده ایم. روتاری انکودر یک قطعه بسیار شبیه به ولوم است که دارای 5 پایه است. شفت روتاری انکودر می توانم به صورت آزادانه می تواند 360 درجه بچرخد . در واقع برای چرخاندن شفت آن محدودیتی ندارد و بی نهایت می تواند آن را به دور خود چرخاند . وقتی شفت روتاری انکودر را می چرخانیم پالس هایی ارسال می شود . و چرخش شفت آن به صورت استپ اسپ می باشد و هر استپ یک پالس را ایجاد می کند . معمولا 360 درجه یک روتاری انکودر معمولی 24 پالس است و در طی 24 اسپ ایجاد می شود .
در داخل روتاری انکودرها یک کلید قرار داده شده است که با فشار دادن شفت روتاری به سمت پایین کلید وصل شده و با رها کردن شفت کلید قطع می گرد . از 5 پایه روتاری انکودر 2 پایه برای کلید و 3 پایه برای چرخش شفت درنظر گرفته شده است .
روتاری انکودر rotary encoder چیست و چگونه کار می کند ؟
در داخل روتاری انکودر یک عدد دیسک شیار دار وجود دارد که این دیسک رسانا است و به GND روتاری انکودر وصل می شود . همچنین دو عدد براش رسانا بین شیار ها قرار دارند که در حال عادی با دیسک برخوردی ندارند . در شکل زیر شکل واقعی داخل یک روتاری انکودر را مشاهده می کنید .
در بالا گفتیم دو عدد براش رسانا وجود دارند نام این براش ها A و B است که با چرخش دیسک یکی بعداز دیگری این دوتا براش با دیسک تماس پیدا کرده و یک لحظه سطح ولتاژ ان ها صفر می شود که براساس همین ترتیب اتصال A و B به زمین جهت چرخش را تشخیص می دهیم .
همان طور که در شکل بالا می بینید با چرخش دیسک در جهت عقربه های ساعت ابتدا A و سپس پایه B با بخش رسانی دیسک یعنی GND برخورد می کند و در صورتی که برعکس بچرخد یعنی خلاف عقربه های ساعت بچرخد ابتدا B و سپس A با زمین تماس پیدا خواهند کرد و این تمام چیزی است که برای راه اندازی روتاری انکودر Rotary Encoder به آن نیاز داریم .
پایه های A و B به شیوه ای قرار داده شده اند که چرخش شفت روتاری انکودر با ترتیب خاصی به GND وصل شوند که در سیگنال خروجی دو سیگنال خروجی از A و B با هم دیگر اختلاف فاز 90 درجه داشته باشند . با در نظر گرفتن سیگنال پایه B زمانی که پایه A در حال تغییر است می توانیم جهت چرخش را تشخیص دهیم .
- به عنوان مثال اگر سیگنال پایه A تغییر کند و مقدار خروجی A با B برابر نباشد یعنی روتاری انکودر در جهت عقربه های ساعت چرخانده شده
- و اگر سیگنال پایه A تغییر کند و مقدار خروجی A با B برابر باشد یعنی روتاری انکودر در جهت عکس عقربه های ساعت چرخانده شده
با استفاده از همین اصول به راحتی با استفاده از انواع میکرو و آردوینو و … می توانیم روتاری انکودر را راه اندازی و از آن استفاده کنیم . در آموزش آموزش کامل کار با روتاری انکودر به صورت کامل شما را با سخت افزار و شیوه راه اندازی آن آشنا خواهیم کرد.
شباهت و تفاوت روتاری انکودر با ولوم :
روتاری انکودر شاید از جهت کاربرد و شکل ظاهری مشابه ولوم باشد ولی از نظر عملکرد کاملا با آن متاوت است . ولوم یک مقاومت متغیر هست که با چرخش شفت مقاومت خروجی پایه ها تغییر پیدا می کند و خروجی آن آنالوگ است ولی روتاری انکودر یک نورع کلید می باشد که باچرخش شفت ترتیب قطع و صل کلید های A و B تغییر می کند و سیگنال تولیدی دیجیتال است یعنی خروجی 0 یا 1 می باشد .
پایه های روتاری انکودر rotary encoder
در صورتی که بخواهید از خود قطعه استفاده کنید ترتیب پایه ها مانند شکل زیر می باشد و برای اتصال به آردوینو یا هر نوع میکروی دیگری باید طبق شماتیک موجود در تصویر زیر آن را پیاده کنید .
GND : این پایه به زمین مدار وصل می شود
VCC : این پایه به 5 ولت وصل می شود
SW : خروجی کلید که باید با یک مقاومت 10 کیلو به pull-up شود
B : خروجی سیگنال B
A : خروجی سیگنال A
اگر بخواهید از ماژول روتاری انکودر استفاده کنید کارتان کمی آسان تر می شود . در ماژول ها یک هدر برای روتاری انکودر طراحی می شود که طبق شماتیک بالا انکودر روی یک برد کوچک قرار می گیرد و با استفاده از پین هدر هایی پایه ها را روی مدار برد قرار می دهید که هم به راحتی به برد وصل شود و هم بتوان روی برد بورد از آن استفاده کرد . در شکل زیر یک نوع نوع ماژول روتاری انکودر را مشاهده می کنید . سایر ماژول ها نیز پایه به همین شکل است فقط ممکن هست نام پایه ها و شکل برد با هم دیگر متفاوت باشد ولی شیوه فعال سازی همه مانند یکدیگر است .
GND : این پایه به زمین مدار وصل می شود
+ : این پایه به 5 ولت وصل می شود
SW : خروجی کلید که باید با یک مقاومت 10 کیلو به pull-up شود
DT : خروجی سیگنال B
CLK : خروجی سیگنال A
در زیر معروف ترین ماژول های روتاری انکودر را معرفی می کنیم .
آموزش ماژول روتاری انکودر CJMCU-111 دارای سوئیچ :
این ماژول بسیار با کیفیت و خوش ساخت هست و همراه این ماژول یک سرولوم با کیفیت ارائه میشه . ماژول دارای 4 پایه GND ، VCC ، BB ، GA است . این ماژول کمی قیمت بالایی دارد و متاسفانه میکرو سویچ فشاری این انکودر پین مجزا نداره و طرز کارش به این صورته که خروجی GA رو 2.5 ولت میکند که ما موفق به استفاده از میکروسویچ نشدیم . در صورتی که به کلید آن نیاز دارید از تهیه ماژول روتاری انکودر CJMCU-111 خودداری کنید .
عملکرد پایه ها به شکل زیر است
GND : این پایه به زمین مدار وصل می شود
VCC : این پایه به 5 ولت وصل می شود
BB : خروجی سیگنال B
GA : خروجی سیگنال A و میکرو سویچ
آموزش ماژول روتاری انکودر مدل KY-040 دارای سوئیچ
ماژول روتاری انکودر مدل KY-040 یکی از معروف ترین و به صرفه ترین ماژول های روتاری انکودر است که به راححتی پیدا می شود و قیمت مناسبی هم دارد (تقریبا نصف قیمت ماژول CJMCU-111) . این ماژول دارای پایه اختصاصی برای میکرو سویچ فشاری است و استفاده از آن بسیار راحت می باشد . تنها ایرادی که می توان گرفت پین هدر آن می باشد که بهتر بود از پین هدر صاف زیر برد استفاده میشد تا برای کار با برد بورد راحت تر بود ولی به راحتی می توان همین پین هدر رایت رو برداشت و یک پین هدر صاف به آن لحیم کرد .
عملکرد پایه ها به شکل زیر است
GND : این پایه به زمین مدار وصل می شود
+ : این پایه به 5 ولت وصل می شود
SW : خروجی میکروسویچ
DT : خروجی سیگنال B
CLK : خروجی سیگنال A
آموزش ماژول روتاری انکودر مدل FZ0534 دارای سوئیچ
ماژول روتاری انکودر مدل FZ0534 هم طراحی با کیفتی داره و همراه با یک سر ولوم ارائه میشه کمی قیمتش از ماژول روتاری انکودر مدل KY-040 بیشتر هست ولی کیفیت خوبی داره و راحت روی برد بورد سوار میشه و برای تست و طراحی بسیار خوب هست . این ماژول هم پایه اختصاصی برای میکرو سویچ داره و از نظر عملکردی شبیه ماژول روتاری انکودر مدل KY-040 است
عملکرد پایه ها به شکل زیر است
GND : این پایه به زمین مدار وصل می شود
S1 : خروجی سیگنال A
S2 : خروجی سیگنال B
KEY : خروجی میکروسویچ که در حالت عادی 1 هست و با فشردن شفت ، خروجی آن 0 می شود .
5V : این پایه به 5 ولت وصل می شود
این سه موردی که معرفی شد در بازار به راحتی پیدا می شود و قیمت مناسبی نیز دارند . البته این نکته را باید بگم خرید خود قطعه بدون هدر بسیار با صرفه تر و ارزان تر هست و ازادی بیشتری برای استفاده از آن خواهید داشت . استفاده از ماژول تنها کار را برای ما راحت تر می کند .
آموزش کامل کار با روتاری انکودر rotary encoder در آردوینو
در آموزش کامل کار با روتاری انکودر فرقی نداره چه مدلی از روتاری انکودر رو تهیه کردید و ماژول شما چه شکلی است و نام پایه ها چی هست . هر مدلی که تهیه کردید رو طبق شماتیک زیر به آردوینو وصل کنید
شماتیک وصل کردن روتاری انکودر به برد آردوینو Arduino :
چون استفاده از آردوینو روی برد بورد راحت است ما از آن برای این آموزش استفاده کردیم و همچنین ماژولی که برای شماتیک مورد استفاده قرار دادیم ماژول KY-040 می باشد .
سورس کد آردوینو برای راه اندازی روتاری انکودر
#define key 5
#define outputA 6
#define outputB 7
int dataA;
int dataB;
int dataKey;
int lastA;
void setup() {
Serial.begin(9600);
pinMode(key, INPUT);
pinMode(outputA, INPUT);
pinMode(outputB, INPUT);
lastA = digitalRead(outputA); // 1
}
void loop() {
dataA = digitalRead(outputA); // 1
dataB = digitalRead(outputB);
dataKey = digitalRead(key);
if (dataKey == 0) {
Serial.println("press btn");
delay(300);
}
if (dataA != lastA) {
if (dataA != dataB) {
Serial.println("Left");
} else {
Serial.println("Right");
}
}
lastA = dataA; // 1
}