Инкрементальный поворотный энкодер

В промышленных приложениях иногда может потребоваться измерение положения или скорости вращающегося объекта, такого как колесо или вал / ось. Энкодер - это электромеханическое устройство, которое можно использовать для получения этих измерений.

Есть два типа поворотных энкодеров: инкрементальные поворотные энкодеры и абсолютные угловые энкодеры. В этой статье мы рассмотрим инкрементальные поворотные энкодеры, принцип их работы и применение.

Что такое инкрементальный поворотный энкодер?

Инкрементальные энкодеры относятся к семейству поворотные энкодеры. Они используются для получения такой информации, как:

  • Позиция
  • Угол
  • Скорость вращения

Инкрементальные датчики вращения используются в основном в приложениях, где требуется измерение скорости / угловой скорости. Это делается путем подсчета количества импульсов, генерируемых энкодером в единицу времени.

В отличие от своего брата, абсолютного энкодера вращения, инкрементальные энкодеры не могут предоставить информацию, когда вал не вращается. Они могут предоставить информацию только о движение вала.

Импульсы, генерируемые инкрементальным датчиком угла поворота, должны вычисляться и обрабатываться где-то еще. Это может быть микроконтроллер или ПЛК (программируемый логический контроллер). Используя счетчик импульсов, контроллер может затем преобразовать информацию в такую ​​информацию, как положение, скорость и расстояние.

Как работает инкрементальный поворотный энкодер?

Инкрементальные энкодеры бывают двух конфигураций:

  1. Одноканальные инкрементальные энкодеры
  2. Двухканальные (квадратурные) энкодеры

Их функции почти одинаковы. Однако двухканальные кодировщики позволяют нам определять направление вращения, которое не может определять одноканальный кодировщик.

Принцип действия инкрементального энкодера довольно прост. Датчик состоит из вращающегося диска с прорезями, прикрепленного к его валу.

Когда вал вращается, диск также вращается, как показано на рисунке ниже. Это также известно как «кодовое колесо».

Прорези в колесе используются для генерации «импульсов» каждый раз, когда прорезь совмещается с датчиком. В инкрементальных энкодерах используются такие технологии, как магнитные, оптические, индуктивные, емкостные и лазерные чтобы произвести это последовательность импульсов.

На приведенной выше диаграмме показана работа оптического инкрементального датчика угла поворота. Источник света (светодиод) помещается поперек диска, а приемное устройство (фотодиод / фототранзистор) размещается на линии прямой видимости.

Когда диск вращается, прорези на мгновение пропускают свет. В этот момент световой луч достигает приемника и выдает логический ВЫСОКИЙ сигнал.

Когда диск вращается дальше, луч света блокируется, и приемник не принимает луч. Это приводит к тому, что выходной сигнал соответствующего канала становится логическим НИЗКИЙ.

Двухканальные инкрементальные поворотные энкодеры имеют два из этих каналов, названных каналом A и B. Расположение слотов для канала B немного смещено от слотов для канала A.

Иногда датчик использует один набор слотов, а приемники размещаются со смещением.

Это специальное расположение позволяет выходам A и B «не совпадать по фазе».

Микроконтроллер или ПЛК могут контролировать оба канала для определения направления вращения.

В зависимости от того, какой канал (A или B) указывает на передний фронт первым, направление также может быть обнаружено. Одноканальные энкодеры имеют только выход канала A и могут выводить только одиночную серию импульсов.

Например, на приведенной выше диаграмме передний фронт на A после переднего фронта на B указывает, что колесо вращается против часовой стрелки. Точно так же передний фронт на B после переднего фронта на A указывает, что колесо / вал вращается по часовой стрелке.

На некоторых датчиках есть третий канал под названием «Z». В отличие от двух других каналов, для этого канала обычно есть только один слот. Это используется для генерации один импульс на оборот для таких задач, как самонаводящийся и проверка количества импульсов.

Инкрементальный и абсолютный энкодеры

Инкрементальные энкодеры могут работать только при вращающемся валу.

Системы, в которых используются инкрементальные датчики вращения, должны иметь сложную программу, работающую для подсчета импульсов, производимых датчиком, для определения положения вала. У них есть диск с одинаковыми прорезями, выступающий в качестве кодового колеса.

Абсолютные энкодеры имеют специальное кодовое колесо. Он содержит неоднородный образец паза, уникальный код для каждой позиции вала.

Для любого заданного положения вала абсолютный датчик угла поворота выдает уникальный двоичный код, который точно описывает положение. Он также сохраняет вывод даже при выключении питания, поскольку кодовое колесо само содержит шаблон.

Инкрементальные энкодеры должны быть постоянно включены, чтобы постоянно генерировать последовательность импульсов для расчета скорости и расстояния. Однако абсолютные энкодеры могут быть включены, когда это необходимо для получения показаний.

С точки зрения сложности, инкрементальные энкодеры проще своих абсолютных аналогов. Следовательно, инкрементальные энкодеры дешевле, чем абсолютные угловые энкодеры.

Для чего используются инкрементальные энкодеры?

Инкрементальные угловые энкодеры находят свое применение от бытовой техники до автомобилей и промышленной автоматизации.

Одно из самых популярных приложений для определения положения - ручки управления на электронном оборудовании, таком как автомобильные радиоприемники. Вращающиеся ручки бесступенчато регулируются и работают только при включенном устройстве.

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

В промышленных приложениях инкрементальные энкодеры используются для измерения скорости механических систем. Это особенно полезно в системах управления движением, таких как конвейеры для материалов, роботизированные манипуляторы и станки с ЧПУ.

Технические характеристики инкрементального энкодера

При выборе кодировщика для конкретного приложения необходимо учитывать несколько факторов.

  • Наружный диаметр
    • Внешний диаметр корпуса датчика (полезно при установке)
  • Тип и диаметр вала
    • Существует выбор типа вала, например полый вал, полый вал, полый глухой вал и сквозное отверстие.
    • Диаметр должен быть в пределах допусков для правильного соединения с объектом. Доступны валы 20 мм, 25 мм и 30 мм.
  • Выходной путь и длина кабеля
    • Положение подключения выходного кабеля. Есть две конфигурации: сбоку и снаружи.Боковая конфигурация позволяет подключать съемный кабель сбоку. Тип выхода кабеля имеет фиксированный кабель, выходящий из задней части корпуса датчика.
    • Для фиксированных кабелей датчики обычно поставляются с кабелем черного цвета длиной 2 м.
  • Напряжение питания
    • Указывает максимальное рабочее напряжение датчика. Существуют варианты для источников постоянного тока% v (фиксированный), 5–12 В, 12–24 В и 24 В (фиксированный).
  • Тип выходного сигнала
    • A для одноканальных энкодеров, A и B для двухканальных (квадратурных) энкодеров и дополнительный Z для вывода индексных импульсов
  • Счетчик импульсов
    • Этот параметр описывает значения количества импульсов на оборот (PPR) и счетчика на оборот (CPR), которые поддерживает датчик.
  • Метод вывода сигнала
    • Тип выходного сигнала: выход напряжения (В) / тока (C), дополнительный выход (F) или выход линейного привода (L, T)

Электрические характеристики инкрементального энкодера

  • Напряжение питания
    • Может варьироваться от 5 В до 24 В
  • потребляемый ток
    • Для выходов по напряжению и по току типичное потребление тока составляет менее 60 мА. Типы драйверов могут потреблять до 100 мА.
  • Выходное напряжение (для типа выходного напряжения)
    • Напряжение высокого уровня:> = 3.5 В
    • Напряжение низкого уровня: <= 0.5 В
  • Время подъема и падения
    • Описывает время, необходимое датчику для изменения выходного сигнала с высокого на низкий (падение) или с низкого на высокий (рост).
    • Типичное время нарастания для типа выхода напряжения: <= 500 нс
    • Типичное время спада для типа выхода напряжения: <= 100 нс
  • Частотная характеристика
    • Максимальная частота, с которой датчик может переключать свои выходы
    • Обычно падает ниже 300 кГц

Схема инкрементального поворотного энкодера

Как упоминалось ранее, угловые энкодеры могут быть связаны либо с ПЛК, либо с микроконтроллерами для измерения скорости, положения, расстояния и направления вращения вала. Эти устройства необходимо специально запрограммировать для расчета этих значений и принятия решений.

Существуют также специализированные устройства, такие как счетчики и тахометры, которые могут выполнять эти вычисления прямо из коробки и напрямую отображать значения. Давайте посмотрим на некоторые схемы, которые мы можем построить с помощью инкрементальных энкодеров:

Тахометр с автономным питанием

Посмотрите на график H7ER серийный тахометр с автономным питанием от Omron, одноканальный инкрементальный энкодер можно использовать для настройки тахометра, который может отображать частоту вращения вала.

Ассоциация E6A2 представляет собой квадратурный инкрементальный энкодер типа AB с NPN выходами с открытым коллектором. Соединяя его с H7ER, система действует как тахометр, который подсчитывает частоту импульсов для определения числа оборотов подключенного вала.

Высокоскоростной счетчик вверх / вниз

Ассоциация К3NC - это высокоскоростной счетчик увеличения / уменьшения с множеством режимов вывода. Это устройство может быть подключено к энкодеру типа AB для формирования счетчика прямого / обратного хода в соответствии с направлением вращения.

При такой настройке счетчик может быть настроен на вывод сигнала для включения / выключения машины, сравнивающей количество импульсов. Он также поддерживает связь с ПЛК для приложений управления технологическим процессом.

Использование этих готовых компонентов может устранить необходимость в сложном устройстве, таком как ПЛК, где это не является абсолютно необходимым. Это особенно полезно для небольших систем.

Для использования в системе на основе ПЛК для высокоскоростных приложений рекомендуется карта HSC (высокоскоростной счетчик). На рисунке ниже показано подключение инкрементального датчика вращения с открытым коллектором PNP к плате ввода HSC, соединенной с ПЛК.

Датчик имеет выходы A, B и Z, и они подключены к плате HSC, как показано выше. Карту счетчика можно настроить так, чтобы она отправляла показания счетчика скорости вала энкодера в ПЛК. Эта настройка снижает накладные расходы на обработку в программе ПЛК.

Инкрементальный поворотный энкодер Arduino

В схемах на основе Arduino поворотные энкодеры используются в качестве входных данных для наших программ.

Мы можем использовать их для увеличения / уменьшения значения переменной для таких задач, как управление скоростью двигателя или яркостью светодиода. В более сложных приложениях поворотные энкодеры также используются для навигации по меню.

KY-040 - это стандартный модуль поворотного энкодера, доступный для Arduinos. Имеет следующую распиновку:

  • GND - заземление
  • VCC - питание 5 В или 3.3 В
  • SW - выход кнопочного переключателя (0 В при нажатии, 5 В в состоянии покоя)
  • DT - Вывод данных
  • CLK - тактовый выход

В качестве примера схемы давайте посмотрим на тестовую схему, в которой энкодер подключен к Arduino UNO. Контакт SW датчика подключен к контакту 4, CLK - к контакту 2, а DT подключен к контакту 3 Arduino.

VCC подключен к + 5V, а GND подключен к выводу GND платы разработки Arduino, как показано ниже.

Код Arduino для поворотного энкодера

Этот пример кода был адаптирован из LastMinuteEngineers.com. Он выполняет две основные функции:

  1. Ожидание сигнала CLK (контакт 2) для изменения
  2. Обратите внимание, нажата ли кнопка (контакт 4 - НИЗКИЙ)

Когда ручка энкодера вращается, программа обнаруживает изменение в строке CLK. Затем он проверяет состояние вывода DT.

Если оба одинаковые, энкодер вращается по часовой стрелке и против часовой стрелки в противном случае. Между тем, для каждого обнаружения переменная противодействиеЗначение также увеличивается / уменьшается в зависимости от направления.

Программа также проверяет состояние кнопки кодировщика. Если она нажата, программа печатает «кнопка нажата» на последовательном мониторе. Он также печатает текущее значение количества подсчитанных импульсов.

// Входы поворотного энкодера
#определять CLK 2
#определять DT 3
#определять З 4Int счетчик = 0;
Int текущее состояниеCLK;
Int последнее состояниеCLK;
Строка currentDir = ””;
неподписанный длинной последняя кнопка нажатия = 0;аннулировать установка() {

// Установить контакты энкодера как входы
pinMode (CLK, ВХОД);
pinMode (DT, ВХОД);
pinMode (SW, INPUT_PULLUP);

// Настройка последовательного монитора
Serial.begin (9600);

// Считываем начальное состояние CLK
lastStateCLK = digitalRead (CLK);
}

аннулировать поиска() {

// Считываем текущее состояние CLK
currentStateCLK = digitalRead (CLK);

// Если последнее и текущее состояние CLK различаются, то произошел импульс
// Реагировать только на одно изменение состояния, чтобы избежать двойного счета
if (currentStateCLK! = lastStateCLK && currentStateCLK == 1) {

// Если состояние DT отличается от состояния CLK, то
// энкодер вращается против часовой стрелки, поэтому уменьшаем
if (digitalRead (DT)! = currentStateCLK) {
прилавок -;
currentDir = «CCW»;
} еще {
// Энкодер вращается по часовой стрелке, поэтому увеличивайте
счетчик ++;
currentDir = "CW";
}

Serial.print («Направление:»);
Serial.print (currentDir);
Serial.print (»| Счетчик:«);
Serial.println (счетчик);
}

// Запоминаем последнее состояние CLK
LastStateCLK = CurrentStateCLK;

// Считываем состояние кнопки
Int btnState = digitalRead (SW);

// Если мы обнаруживаем НИЗКИЙ сигнал, нажимается кнопка
if (btnState == НИЗКИЙ) {
// если с момента последнего НИЗКОГО импульса прошло 50 мс, это означает, что
// кнопка была нажата, отпущена и снова нажата
if (millis () - lastButtonPress> 50) {
Serial.println («Кнопка нажата!»);
}

// Запоминание последнего события нажатия кнопки
lastButtonPress = millis ();
}

// Сделайте небольшую задержку, чтобы помочь ослабить чтение
Задержка (1);
}

Как проверить инкрементный энкодер с помощью мультиметра

Чтобы устранить неполадки в кодировщике с помощью мультиметра, его необходимо включить. После включения установите мультиметр в режим измерения постоянного напряжения и подключите черный щуп к заземляющему проводу датчика.

Медленно поверните вал датчика, исследуя выходы A или B датчика.

Измерение напряжения должно колебаться между значениями, близкими к 0 В и VCC датчика. Обратите внимание, что вал должен вращаться очень медленно, чтобы мультиметр мог стабилизировать свои показания.

Если измерение напряжения не меняется, переключите мультиметр в режим переменного тока и повторите те же измерения. На этот раз проворачивайте вал быстрее. Если показания мультиметра показывают ненулевое напряжение, можно сделать вывод, что энкодер исправен.

Однако это не 100% точный метод устранения неполадок. Даже если мультиметр отображает показания напряжения, датчик все еще может работать со сбоями. В этом случае необходимо проанализировать синхронизацию датчика. Для таких задач потребуется осциллограф.

Заключение

В этой статье мы обсудили работу, принцип работы и применение инкрементальных энкодеров.

Хотя инкрементальные энкодеры являются наиболее популярными, абсолютные угловые энкодеры могут быть полезны в определенных случаях. Выберите наиболее подходящий датчик для вашего приложения, учитывая характеристики, которые мы обсуждали в этой статье.

Это не только улучшит производительность и надежность вашей системы, но и сократит любые ненужные расходы.

что его цель
Twitter
LinkedIn
Pinterest
Отправить нам