Магазин у відпустці 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-канальный

Модуль предназначен для коммутации нагрузок с переменным напряжением питания 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п

Терминальный разъемный коннектор угловой 2п

Разъемный двухпроводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и ..

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

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

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

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

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

Надписи на корпусе могут отличаться от указанных на картинке, но суть остается неизменной.Цифровой л..

Линейный подшипник 8мм

Линейный подшипник 8мм

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

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

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

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

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

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

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