Возможности применения энкодеров разнообразны и варьируются от промышленных систем до медицинских приборов. Каждое конкретное применение предъявляет особые требования к используемым энкодерам. Компания Bourns выпускает широкий ассортимент энкодеров с различными характеристиками для удовлетворения самых взыскательных требований (Рисунок 1):
Как использовать поворотный энкодер в проекте на микроконтроллере
Энкодер — это электромеханическое устройство, которое преобразует вращательное движение в цифровую или аналоговую информацию. Он очень похож на потенциометр, но может непрерывно вращаться по часовой или против часовой стрелки. Существуют различные типы поворотных энкодеров. Два основных типа — это абсолютные и относительные (инкрементные) энкодеры. В то время как абсолютный энкодер выдает значение, пропорциональное текущему углу наклона оси, инкрементный энкодер выдает шаг оси и ее направление. Поворотные энкодеры становятся все более популярными в бытовой электронике, особенно в качестве ручек управления, а также во многих других областях. Они заменяют потенциометры и навигационные кнопки там, где требуется быстрая навигация, настройка, ввод данных и выбор пунктов меню. Некоторые энкодеры также имеют встроенную кнопку, которая генерирует дополнительный ввод для процессора, который может быть использован как еще одна команда пользователя в интерфейсе управления. На рисунке ниже показан типичный инкрементальный энкодер с кнопкой.
Инкрементальный энкодер
В этой статье мы покажем вам, как использовать инкрементный энкодер в проекте Arduino. Мы объясняем, как бороться с дребезгом контактов и как интерпретировать сигналы энкодера в программе микроконтроллера с помощью прерываний.
Сигнал квадратурного выхода инкрементального энкодера
Инкрементный энкодер выдает два выходных сигнала при вращении оси, также называемый квадратурным выходом. В зависимости от направления один сигнал предшествует другому. Ниже приведен формат выходного сигнала инкрементного энкодера и ожидаемая последовательность битов.
Выходные сигналы инкрементного энкодера для вращения оси по часовой и против часовой стрелки
Как показано на рисунке, оба выхода изначально находятся в логическом состоянии один. Когда ось энкодера начинает вращаться по часовой стрелке, сначала на выходе A устанавливается логический ноль, а затем с задержкой — на выходе B. Вращение против часовой стрелки происходит в обратном направлении. Временные интервалы в диаграмме сигнала зависят от скорости, но гистерезис сигнала гарантирован в любом случае. Основываясь на этой особенности инкрементального энкодера, мы напишем программу для Arduino.
Фильтрация дребезга контактов механического энкодера
Механические энкодеры имеют встроенные переключатели, которые генерируют сигнал на квадратном выходе во время вращения.
Отбойный контакт на выходе механического энкодера
Дребезг контактов является большой проблемой для сигналов энкодера. Это приводит к неправильному определению направления вращения и количества оборотов вала энкодера и делает использование энкодеров проблематичным. Мы можем устранить контактный шум путем фильтрации контактного шума в программном обеспечении или с помощью дополнительных цепей фильтрации.
Фильтрация шума в программном обеспечении микроконтроллера — один из способов фильтрации, но он имеет некоторые недостатки. Чтобы справиться с шумом, приходится писать более сложный код. Фильтрация требует времени на обработку и вызывает задержки в основном потоке программы. Возможно, вам потребуется установить таймеры, чтобы игнорировать интервалы отскока контактов. В итоге вы можете не получить удовлетворительных и надежных результатов.
Фильтрация шумов с помощью дополнительного оборудования проще и останавливает шум в его источнике. Вам нужен первоклассный RC-фильтр. На следующей диаграмме вы можете увидеть, как выглядит сигнал после использования RC-фильтра.
RC-фильтр и форма сигнала на его выходе
RC-фильтр замедляет время спада и нарастания и удаляет шум аппаратных пиков. При выборе пары резистор-конденсатор учитывайте максимальную скорость. В противном случае ожидаемый ответ кодера также будет отфильтрован.
Когда они контактируют с клеммой «С», они генерируют сигналы. Эти сигналы на 90° расходятся по фазе друг с другом, поскольку одна клемма контактирует раньше другой:
SDR и Ретро от RA3PKJ
Общая информация
Управление аппаратурой SDR может осуществляться с помощью энкодеров, как в случае с Valcoder, или с помощью других элементов управления (громкость, порог АРУ, полоса пропускания, детюнинг и т.д.).
Как вы знаете, энкодеры могут быть абсолютными или инкрементными в зависимости от типа выходного сигнала.
Абсолютные энкодеры генерируют цифровой код, который соответствует углу поворота оси, т.е. существует определенная зависимость между кодом и углом поворота. Такие энкодеры очень дороги и не нужны для таких применений, как управление SDR.
Инкрементные энкодеры вырабатывают сигналы квадратной волны, т.е. импульсы квадратной волны, сдвинутые на 90 градусов относительно друг друга в каждом из двух каналов. Сигналы квадратной волны предназначены для легкого определения направления вращения. Инкрементные энкодеры дешевле абсолютных и могут быть легко интегрированы в систему управления SDR.
Поворотные энкодеры выпускаются в виде контактных, оптических и магнитных энкодеров. Контактные энкодеры являются самыми дешевыми.
Поэтому самыми дешевыми энкодерами являются индуктивные контактные энкодеры. Они подходят для таких кнопок, как напряжение, деэскалация и т.д.
Для поворотного датчика следует использовать инкрементные оптические энкодеры.
Энкодеры изготовлены компанией Bourns. Веб-сайт — http://www.bourns.com.
Контактные энкодеры Bourns:
Оптические энкодеры Bourns:
Магнитные энкодеры Bourns:
Энкодеры Alps Electric. Посетите http://www.alps.com/
Инкрементальные энкодеры от Alps Electric:
Какой из них выбрать?
Для простых поворотных приложений обычно достаточно энкодеров с 12 или 24 шагами на оборот, так как после четырехкратного увеличения в микроконтроллере (если четырехкратное увеличение включено) можно получить 48 или 96 шагов на оборот.
Для этих приращений мы рассматриваем энкодеры, предназначенные для установки на паяную плату, т.е. без крепежной гайки. В этом случае высота корпуса с валом и длина шляпок на валу указаны в технических характеристиках. Если вам все еще нужны кондеры с гайкой, покрасьте ее, как говорится, и барабан на гриф. Шучу.
Исходя из минимальных значений, можно рекомендовать для простых торсионных шин, например, энкодер Bourns PEC12-4220F-S0024 — индуктивный контакт, кнопка (кнопка активируется нажатием на конец вала), 24 импульса на оборот, пластиковый вал:
Выбор вала — щелкает ли вал при вращении или нет. Длина стоящего вала — высота корпуса с валом (см. спецификацию). Конфигурация выключателя — наличие или отсутствие кнопки.
Буква F в обозначении указывает на изолированный (т.е. пластиковый) вал.
Мы также можем порекомендовать EC12E24204A8 от A lps Electric — индуктивный контакт, без кнопки, 24 импульса на оборот, пластиковый вал. Цена примерно в 1,5-2 раза меньше предыдущей:
К сожалению, Alps Electric не указывает в названии энкодера геометрическую высоту корпуса с валом (по крайней мере, я не заметил), в отличие от своего предшественника Bourns.
На сайте Alps Electric нет файлов в формате pdf, поэтому для выбора конкретного типа энкодера (количество импульсов на оборот, высота корпуса с валом) необходимо перейти на сайт производителя (см. ссылку на сайт выше). Там же вы найдете энкодеры EC12 рассматриваемой серии с кнопкой.
В этой конструкции используются энкодеры различных размеров от разных производителей.
Эти размеры можно считать стандартными для данного типа энкодеров различных производителей. Однако я не могу быть уверен в этом на 100%:
Магнитные энкодеры основаны на магниточувствительных элементах, таких как датчики Холла или магниторезистивные датчики. Они просты по конструкции, лишены недостатков контактных энкодеров и очень нечувствительны к внешним воздействиям. Однако они теряют точность по сравнению с емкостными, индуктивными и оптическими энкодерами.
Как работают поворотные энкодеры
Внутри энкодера находится рифленый диск, соединенный с общим контактом «C» и двумя контактами «A» и «B», как показано ниже:
Когда вы поворачиваете ручку, контакты «A» и «B» касаются общего контакта «C» в определенном порядке в зависимости от направления поворота ручки.
Когда они контактируют с клеммой «С», они генерируют сигналы. Эти сигналы на 90° расходятся по фазе друг с другом, поскольку одна клемма контактирует раньше другой:
Если повернуть ручку по часовой стрелке, то сначала подключается контакт «А», а затем контакт «В». Если повернуть ручку против часовой стрелки, сначала подключается контакт «B», а затем контакт «A».
Проследив последовательность замыкания и размыкания контакта «C», мы можем определить, в каком направлении была повернута ручка энкодера. Вы можете сделать это, просто наблюдая за состоянием «B», когда «A» изменяет состояние.
Если сигнал на клемме «A» изменяет состояние, то :
- если B! = A, то поворотная ручка поворачивается по часовой стрелке:
- если B = A, поворотная ручка поворачивается против часовой стрелки:
Распиновка поворотного энкодера
Расположение выводов модуля поворотного энкодера следующее:
- GND — заземление.
- VCC — источник питания, обычно 3,3 В или 5 В.
- SW — активная кнопка низкого уровня. Когда кнопка нажата, напряжение падает.
- DT (выход «B») — аналогичен выходному сигналу CLK, но с гистерезисом 90° по сравнению с CLK. Этот выходной сигнал можно использовать для определения направления вращения.
- CLK (выход «A») — основной выходной импульс для определения скорости вращения. Каждый раз, когда ручка поворачивается на один щелчок в любом направлении, на клемме «CLK» генерируется импульс — ВЫСОКИЙ, а затем НИЗКИЙ.
Подключение поворотного энкодера к Ардуино
Теперь, когда мы знаем все о кодере, пришло время реализовать его! Давайте подключим энкодер к Arduino. Подключение довольно простое. Сначала подключите клемму VCC модуля к 5 В Arduino, а клемму GND — к GND Arduino.
Теперь подключите контакты CLK и DT к цифровым контактам Arduino №2 и №3 соответственно. Наконец, подключите вывод SW к цифровому выводу №4. На следующем рисунке показана схема:
Широко распространенным решением является использование переключателя. При использовании прерывания вам не нужно постоянно ждать определенного события. Это дает Ardui больше времени для других задач, не пропуская ни одного события.
Обзор серий оптических энкодеров серий EM14 и EN
Оптические энкодеры Bourns являются отличной альтернативой контактным сериям для приложений, требующих более высокой чувствительности, производительности и длительного срока службы.
Оптические энкодеры EN и EM14 обладают всеми этими характеристиками (Таблица 3).
Таблица 3: Диапазон бесконтактного оптического энкодера Bourns
Параметр | Имя | |
EM14 | EN | |
Технология | Оптический | |
Тип | Инкрементный | |
Монтажный диаметр, мм | 14 | 21×16 |
Класс защиты | IP54 | IP40 |
Интерлок | + | – |
Вспомогательный выключатель | + | – |
Материал вала | Металл | |
Ручка | Металл | |
Монтаж | В отверстиях или с гибким кабелем | |
Разрешение, импульсы/оборот | 8, 16, 32, 64 | 25, 50, 64, 100, 125, 128, 200, 256 |
Максимальная скорость, об/мин | 120 | От 300 до 3000 в исполнении с дополнительным подшипником |
Выходной уровень | TTL, CMOS, HCMOS | TTL, CMOS |
Циклический диапазон до отказа, миллионы оборотов в минуту | 2 | 10 ή 20 |
Серия EM14 является оптическим аналогом контактной серии. Максимальная частота EM14 составляет 120 оборотов в минуту, а MTL расширена до 2 миллионов оборотов в минуту.
Еще одним преимуществом EM14 является его базовая конструкция IP54, что делает его пригодным для промышленного применения.
EM14 идеально подходит для приложений управления в различных областях электроники:
- Профессиональное звукоусиление (мониторы, эквалайзеры, гитарные усилители),
- Измерительное оборудование (осциллографы, анализаторы спектра),
- Авиация (тренажеры для обучения полетам, системы управления воздушным движением)
- Промышленные технологии (управление двигателями, промышленные джойстики, панели управления),
- Медицинская техника (ультразвуковое оборудование, рентгеновские установки),
Серия EN имеет максимальное разрешение до 256 импульсов на оборот. Это делает энкодеры пригодными не только для определения направления и скорости, но и для определения положения ротора двигателей и серводвигателей. Еще одним преимуществом серии EN является максимальная скорость вращения 3000 об/мин.
Использование подшипников позволяет увеличить срок службы до 200 миллионов оборотов.
Эта серия используется в особо чувствительных приложениях (профессиональная аудиотехника), а также в промышленной и домашней автоматизации (серводвигатели).
Обзор серии магнитных энкодеров EMS22
Серия EMS22 обладает всеми преимуществами магнитных энкодеров: длительный срок службы, высокая максимальная скорость и отличное разрешение (Таблица 4).
Таблица 4. Диапазон магнитоконтактных энкодеров Bourns
Параметр | Имя | |||
EMS22A | EMS22D | EMS22P | EMS22Q | |
Технология | Магнитный | |||
Тип | Абсолют | Направление/шаг | PWM | Инкрементный |
Монтажный диаметр, мм | 21×16 | |||
Класс защиты | IP65 | |||
Интерлок | – | |||
Вспомогательный выключатель | – | |||
Материал вала | Металл | |||
Ручка | Металл | |||
Монтаж | В отверстиях или с гибким кабелем | |||
Разрешение, импульсы/оборот | 1024 штата | 64, 128, 256, 512 | 1024 штата | 64, 128, 256, 512 |
Максимальная скорость, об/мин | 10 000 | |||
Выходной уровень | TTL, CMOS | |||
Циклический диапазон до отказа, миллионы оборотов в минуту | 100 | |||
Диапазон рабочих температур, °C | -40…125 |
Существует четыре версии серии EMS22, которые отличаются типом выходного сигнала.
-
. Квадратные энкодеры. На выходе кодера формируется пара ортогональных сигналов, сдвинутых на 90°. Максимальное разрешение составляет 512 импульсов на оборот; — энкодеры с выходом сигнала направления/шага. Максимальное разрешение составляет 512 импульсов на оборот. Абсолютные энкодеры. Генерация 10-битного кода положения оси. Код передается в виде последовательной связи. Энкодеры могут быть расположены последовательно (Рисунок 8).. Абсолютные энкодеры с ШИМ-выходом: на выходе формируется ШИМ-сигнал, пропорциональный положению оси. Разрешение ШИМ составляет 10 бит.
Во всех версиях напряжение питания составляет 5 В, а выходные сигналы — TTL/CMOS.
Рисунок 8. Схема подключения магнитных энкодеров Bourns серии EMS22A.
Важно подчеркнуть, что серия EMS22A в первую очередь предназначена для применения в системах MMI. Они обладают всеми функциями, необходимыми для таких приложений:
- Высокая максимальная скорость до 10 000 об/мин,
- длительный срок службы — до 100 миллионов оборотов,
- Отличное разрешение,
- Расширенный диапазон рабочих температур в предела х-40…125°C,
- Высокая степень защиты от пыли и влаги IP65.
Заключение
Сегодня существуют три основные технологии энкодеров: механические контактные энкодеры, оптические бесконтактные энкодеры и магнитные бесконтактные энкодеры. Бесконтактные датчики имеют значительное преимущество в отношении срока службы и максимальной скорости. Однако механические энкодеры стоят недорого. Выбор конкретного типа устройства должен соответствовать требованиям приложения.
Компания Bourns производит широкий ассортимент энкодеров, чтобы обеспечить конструкторов соответствующей технологией. Ассортимент продукции Bourns предлагает энкодеры практически для любого применения.
Как официальный партнер Bourns, КОМПЭЛ имеет на складе самые популярные модели энкодеров и предлагает техническую поддержку, образцы, специальные цены и плановые поставки по проектам.