Магазин у відпустці 23.05 - 28.05. Всі замовлення будуть оброблені в понеділок
  • Датчик обертання енкодер KY-040

Енкодер обертання KY-040 - це обертальний датчик, який характеризує ступінь повороту вісі та в якому напрямку вона обертається.

Це відмінний прилад для контролю крокових та серво - двигунів. З нього вийде крутезний орган керування менюшкою налаштувань контролера. Ви також можете використовувати його в якості цифрового потенціометра.


Опис роботи енкодера

Обертальний енкодер має фіксовану кількість позицій на оберт. Ці позиції легко відчуваються руками як невеликі клацання під час обертання вісі енкодера. Даний модуль енкодера має тридцять таких позицій. Кількість таких позицій характеризує чутливість датчика обертання.


В окремого датчика є три виводи. Вони зазвичай позначаються як A, B та C. У випадку KY-040, вони орієнтовані так, як показано на малюнку. Всередині енкодера є два перемикачі. Перший перемикач з'єднує вивід А з виводом С, а другий з'єднує вивід B з виводом C. В кожному фіксованому положенні датчика, обидва перемикачі або відкриті або зачинені. Кожний клік значить перемикання стану перемикачів наступним чином: Якщо обидва перемикача замкнені, то обертаючи вісь за годинниковою стрілкою або проти неї на одну позицію переведе обидва перемикача на розмикання Якщо обидва розімкнені, обертаючи вісь за годинниковою стрілкою або проти неї на одну позицію переведе обидва перемикача у замкнений стан. На наведеному нижче малюнку показано розташування перемикачів.


Як ви можете бачити, кутове положення контакту A та контакту B таке, що: рухома пластинка, обертаючись за годинниковою стрілкою, з'єднає контакти А та С. Рухома пластина, обертаючись проти годинникової стрілки, з'єднає контакти В та С. Відобразимо на графіку перехідні характеристики контактів під час рівномірного обертання пластини.


Визначивши те, яка пара контактів змінює свій стан першою, дізнаємось напрям обертання валу. Якщо контакт А змінює стан першим, то вал обертається у напрямку за годинниковою стрілкою. Якщо ж контакт B змінює свій стан першим, то вал енкодера обертається в напрямку проти годинникової стрілки.


Виводи KY-040

На наступному малюнку показано призначення виводів даного ротаційного енкодера.


Модуль сконструйовано таким чином, що низький логічний рівень з'являється, коли контакти замкнені, та високий, коли контакти розімкнені. Низький сигнал генерується шляхом замикання контакту C на загальний дріт, а також нуль подається в цей час і на виводи CLK та DT, коли перемикач замкнений. Високий рівень генерується подачею напруги живлення 5В через підтягуючий резистор. При цьому на виходах CLK та DT будуть одиниці, коли контакти енкодера розімкнені. Також в даного енкодера є кнопка, що розташована на початку валу, та вона є його невід'ємною частиною. Якщо натиснути на вал, то нормально відкритий контакт кнопки замкнеться. Це може бути корисним для програмного збільшення або зменшення чутливості датчика, а також для вибору пунктів меню, якщо використовувати енкодер як пристрій для уведення налаштувань меню.


Схема ротаційного енкодера

Схема цього модуля наведена нижче. R2 та R3 на схемі виконують функцію підтягуючих резисторів.



Схема підключення енкодера KY-040

Успішна реалізація енкодера в любому проекті потребує чіткого розуміння всього, що обговорювалося до цього моменту. Якщо ви ще не зрозуміли роботу датчика до кінця, ви можете ознайомитись зі спрощеною схемою підключення з сигналізацією роботи контактів за допомогою світлодіодів:

Дуже повільно обертайте вал датчика кута повороту як за годинниковою стрілкою так і проти неї. Та слідкуйте за перемиканням світлодіодів, що реагують на обертання валу.

Підключення модуля до Arduino

Тут усе максимально просто. Все, що вам треба зробити, це підключити чотири дроти до модулю.


Приклад програми під Arduino

int pinA = 3;  // номер виводу, що підключений док CLK енкодера
 int pinB = 4;  // номер виводу контролера, що підключений до DT енкодера
 int encoderPosCount = 0; 
 int pinALast;  
 int aVal;
 boolean bCW;

 void setup() { 
   pinMode (pinA,INPUT);
   pinMode (pinB,INPUT);
   /* Зчитуємо значення на виводі A та запам'ятовуємо його як останнє значення на цьому виводі */
   pinALast = digitalRead(pinA);   
   Serial.begin (9600);
 } 

 void loop() { 
   aVal = digitalRead(pinA);
   if (aVal != pinALast){ // перевірка на зміну значення на виводі А в порівнянні з попереднім запам'ятованим, що значить, що вал повернувся
     // а щоб визначити напрямок обертання, нам знадобиться вивід В.
     if (digitalRead(pinB) != aVal) {  // Якщо вивід A змінився першим - обертання за годинниковою стрілкою
       encoderPosCount ++;
       bCW = true;
     } else {// інакше якщо B змінив свій стан першим - обертання проти годинникової стрілки
       bCW = false;
       encoderPosCount--;
     }
     Serial.print ("Обертання: ");
     if (bCW){
       Serial.println ("за годинниковою стрілкою");
     }else{
       Serial.println("проти годинникової стрілки");
     }
     Serial.print("Положення енкодера: ");
     Serial.println(encoderPosCount);
   } 
   pinALast = aVal;
 } 

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре

Датчик обертання енкодер KY-040

  • Модель KY-040
  • Наявність Є в наявності
  • 23.38грн.


Нове

Модуль твердотільного реле 4-канальний

Модуль твердотільного реле 4-канальний

Модуль призначений для комутації 4-х навантажень зі змінною напругою живлення 75 ... 264 ВМаксимальн..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара з транзистором на виходіЗастосовується для гальванічної розв'язки дискретного сигналу, а та..

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Мікросхема стабілізатор напруги L78S05CVЗастосовується для стабілізації пульсуючої напруги в блоках ..

Програматор AVR-контролерів USBASP

Програматор AVR-контролерів USBASP

Програматор для завантаження та відлагодження програм в мікроконтролери компанії ATMEL.Інтерфейс про..

Зсувний регістр 74HC595N

Зсувний регістр 74HC595N

Цю мікросхему використовують для керування світлодіодними гірляндами та символьними індикаторами.Вон..

Світлодіод ультраяскравий 3мм

Світлодіод ультраяскравий 3мм

Над-яскравий світлодіод діаметром 3 ммКорпус прозорий в світлодіодів різного кольору світіння. Тобто..

Вентилятор для Orange PI товщиною 10мм

Вентилятор для Orange PI товщиною 10мм

Вентилятор для охолодження процесора міні-комп'ютера Orange PI або Raspberry PIПрацює дуже тихоЖивле..

Термінальний роз'ємний конектор кутовий 4д

Термінальний роз'ємний конектор кутовий 4д

Роз'ємний 4-дротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'єд..

Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Використовується для передачі та редукції обертаючого моменту від двигунаКількість зубців 20 шт.Діам..

Термінальний роз'ємний конектор кутовий 3д

Термінальний роз'ємний конектор кутовий 3д

Роз'ємний трьохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з..

Термінальний роз'ємний конектор кутовий 2д3.81mm

Термінальний роз'ємний конектор кутовий 2д3.81mm

Роз'ємний двохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'..

Мікроконтролер ATTINY13A

Мікроконтролер ATTINY13A

Мініатюрний економічний AVR 8-бітний мікроконтролер, який можна програмувати як програматором, так і..

Логічний аналізатор 8 каналів

Логічний аналізатор 8 каналів

Надписи на корпусі можуть відрізнятись від наведених на картинці, але сутність приладу незмінна.Цифр..

Лінійний підшипник 8мм

Лінійний підшипник 8мм

Підшипник для лінійного ковзання робочого органу 3D-принтера або CNC за своїми осями.Одягається на ц..

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 ммЗастосовується у 3D-принтерах та CNCШири..

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 мм20 зубцівШирина 10 мм..