инкрементальный энкодер что это такое

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

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

Разновидности

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

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

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

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

Импульсные (они же пошаговые) энкодеры относят к той разновидности энкодирующих устройств, что предназначены с целью указания направлений углового перемещения всевозможных внешних механизмов. Пошаговые энкодеры формируют импульсы, число которых соответствует числу поворота вала на определенные углы. Они связаны со счетными приборами – это требуется для того, чтобы можно было считать импульсы и преобразовывать их в измерения перемещения вала.

Конструктивные особенности

Конструктивной особенностью данной разновидности можно считать наличие следующих элементов:

Метки, нанесенные на диск, распределяются определенным образом – их число будет определяться числом импульсов, осуществленных в рамках одного оборота. К примеру, если диск разделяется на 1000 меток, то в продолжение 250 импульсов вал будет повернут под прямым углом.

Применяемые технологии – магнитная и оптическая

Сегодня энкодеры работают, как правило, на основании двух технологий – оптической и магнитной.

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

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

Квадратура выхода

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

При этом энкодеры, оборудованные всего одним выходом (на схеме обозначается литерой А), носят название тахометров.

Максимальная частота ответа

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

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

(rpm / 60)x(разрешение) меньше или равно максимальной частоте ответа.

Разрешение

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

Соединительный вал

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

Благодаря этому, снижается степень преждевременного выхода из строя валового механизма датчика. Даже минимальные люфты могут вывести энкодер из строя.

Виды пошаговых энкодеров и их особенности

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

Одиночные нужны для простого подсчета числа импульсов.

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

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

Энкодирующие устройства, основанные на так называемом коде Грэя, дают возможность определять положение в данный момент.

Некоторые особенности подключения

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

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

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

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

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

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

Читайте также:  Танцы гурджиева что это

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

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

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

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

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

Чтобы выбрать верный вариант для успешного внедрения в те или иные управленческие схемы, потребуется определиться:

Где применяются инкрементальные энкодеры

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

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

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

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

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

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

В медицинском оборудовании датчики-энкодеры применяются в ЭМРТ. Они предназначены для исключения воздействия магнитного поля. Корпус в этом случае изготавливают из непроводящего материала.

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

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

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

Поворотные энкодеры различаются по нескольким типам. Как уже отмечалось, это абсолютные и инкрементальные – они же относительные. Первому типу выдают значения, которые пропорциональны настоящему углу расположения вала. Второй тип выдает как шаг передвижения валов, так и их направленность. Благодаря этому, именно энкодирующее оборудование поворотного типа получает все большее распространение в различных сферах бытовой электротехники. Главным образом, это конструирование всевозможных управляющих ручек. Часто такие устройства могут заменить потенциометр или кнопки для осуществления навигации.

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

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

— персональную информацию, которую Пользователь сознательно раскрыл Администрации Сайта в целях пользования ресурсами Сайта;
— техническую информацию, автоматически собираемую программным обеспечением Сайта во время его посещения.

Источник

Электроника для всех

Блог о электронике

AVR. Учебный Курс. Инкрементальный энкодер.

Энкодер это всего лишь цифровой датчик угла поворота, не более того.

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

Если с абсолютным энкодером все просто, то с инкрементальным бывают сложности. Как его обрабатывать?

С Энкодера выходят два сигнала А и В, сдвинутых на 90 градусов по фазе, выглядит это так:

Читайте также:  У котенка обезвоживание чем помочь

А дальше пляшем от типа энкодера. А они бывают разные.

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

В оптическом же может быть два фонаря и два фотодиода, святящие через диск с прорезями (шариковая мышка, ага. Оно самое).

Механический подключается совсем просто центральный на землю, два крайних (каналы) на подтянутые порты. Я, для надежности, подключил внешнюю подтяжку. Благо мне на Pinboard для этого только парой тумблеров щелкнуть:

Оптический подключается в зависимости от типа оптодатчика, обычно там стоит два фотодиода с общим анодом.

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

Лучше считать не импульсы, а состояния.

Метод прост:
Подставим нули и единички, в соответствии с уровнем сигнала и запишем последовательность кода:

A:0 0 1 1 0 0 1 1 0 0 1 1 0
B:1 0 0 1 1 0 0 1 1 0 0 1 1

Если A и B идут на одни порт контроллера (например на A=PB0 B=PB1), то при вращении энкодера у нас возникает меняющийся код:

Теперь остается только циклически опрашивать наш энкодер сравнивая текущее состояние с новым и на основании этого делающего выводы о вращении. Причем частота опроса должна быть такой, чтобы не пропустить ни одного импульса. Например, мой EC12 имеет 24 импульса на оборот. Вращать его предпологается вручную и я вряд ли смогу вращать его с космической скоростью, но решил все же замерить. Подключился к осциллографу, крутнул ручку что есть мочи:

Выжал меньше килогерца. Т.е. опрашивать надо примерно 1000 раз в секунду. Можно даже реже, будет надежней в плане возможного дребезга. Сейчас, кстати, дребезга почти нет, но далеко не факт что его не будет потом, когда девайсина разболтается.

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

Почему я под счетчик завел такую большую переменную? Целых два байта? Да все дело в том, что у моего энкодера, кроме импульсов есть еще тактильные щелчки. 24 импульса и 24 щелчка на оборот. А по моей логике, на один импульс приходится четыре смены состояния, т.е. полный период 3201_3201_3201 и один щелчок дает 4ре деления, что некрасиво. Поэтому я считаю до 1024, а потом делю сдвигом на четыре. Получаем на выходе один щелочок — один тик.

Скоростной опрос на прерываниях
Но это механические, с ними можно простым опросом обойтись — частота импульсов позволяет. А бывают еще и высокоскоростные энкодеры. Дающие несколько тысяч импульсов на оборот, либо работающие на приводах и вращающиеся очень быстро. Что с ними делать?

Ускорять опрос занятие тупиковое. Но нас спасает то, что у таких энкодеров, как правило, есть уже свои схемы подавления дребезгов и неопределенностей, так что на выходе у них четкий прямоугольный сигнал (правда и стоят они совершенно негуманно. От 5000р и до нескольких сотен тысяч. А что ты хотел — промышленное оборудование дешевым не бывает).

Так что без проблем можно применять прерывания. И тогда все упрощается неимоверно. Настраиваем всего одно прерывание по внешнему сигналу. Например, INT0 настраиваем так, чтобы сработка шла по восходящему фронту. И подаем на INT0 канал А.

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

А в обработчике прерывания INT0 щупаем вторым выводом канал В. И дальше все элементарно!

Конечно, можно такой метод прикрутить и на механический энкодер. Но тут надо будет заблокировать прерывания INT0 на несколько миллисекунд. И НИ В КОЕМ СЛУЧАЕ нельзя делать это в обработчике.

Алгоритм прерывания с антидребезгом будет выглядеть так:

Сложно? Нет, не сложно. Но зачем? Проще сделать банальный опрос, как указано выше и не зависеть от выводов прерываний. Впрочем, хозяин барин.

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

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

Источник

Инкрементальный энкодер: принцип действия, схемы подключения, работа с Arduino

У данной статьи есть видеоверсия!
Подписывайтесь на канал, чтобы быть в курсе обновлений!

Инкрементальный ( или инкрементный, от англ. increment — « увеличение») энкодер ( датчик угла поворота) — это устройство, которое преобразовывает вращательное движение вала в серию электрических импульсов, позволяющих определить направление и угол его вращения. Также, исходя из найденных величин, можно определить и скорость вращения. Основным отличием инкрементальных энкодеров от абсолютных является то, что они могут сообщать лишь о величине изменения их положения, а не об абсолютном своем состоянии. Самым популярным примером использования инкрементального энкодера в повседневной жизни, является ручка регулировки громкости автомобильной магнитолы.

Также энкодеры идеально подходят для реализации навигации по различным меню.

Инкрементальные энкодеры бывают оптическими, магнитными, механическими и т.д. Вне зависимости от принципа устройства все инкрементальные энкодеры на выходе генерируют 2 линии ( A и B) с импульсами смещенными относительно друг друга. Именно по смещению импульсов можно судить о направлении вращения. А по количеству импульсов — об угле поворота.

В данной статье будет рассмотрен механический инкрементальный энкодер EC11 с переключателем ( кнопкой) и пошаговой фиксацией положения вала ( между каждой серией импульсов).

Каждый инкрементальный энкодер имеет следующую основную характеристику — дискретность ( количество шагов, положений между импульсами, на один оборот вала). Благодаря дискретности, можно вычислить угол единичного изменения положения. В нашем примере, энкодер ЕС11 за полный оборот генерирует 20 серий импульсов. А это значит, что каждый шаг эквивалентен повороту на 18°. Помимо этого, вал энкодера фиксируется в каждом положении между каждой серией импульсов.

Внешний вид устройства:

Сердцем энкодера являются 2 пары контактов и металлическая пластина с засечками. При вращении вала, каждая пара контактов замыкается и размыкается. Но эти пары контактов расположены таким образом, что при вращении вала в разные стороны порядок замыкания/размыкания контактов разный — и, благодаря этому, можно определить направление вращения.

Поскольку подключение кнопки вала энкодера ( контакты D и E) не отличаются от подключения обычной кнопки, информация по ней будет опущена.

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

Как видно из рисунка, в состоянии покоя обе пары контактов разомкнуты, а значит сигнальные линии A и B пребывают в высокоомном состоянии ( состоянии Z). Поэтому их необходимо притягивать к логической единице подтягивающими резисторами. Стандартная схема подключения энкодера выглядит следующим образом:

После чего в состоянии покоя на обоих сигнальных выходах будет присутствовать логическая единица ( 5 В). При вращении по часовой, или против часовой стрелки на сигнальных линиях, с противоположным смещением друг относительно друга, будут появляться отрицательные импульсы — по одному на 1 шаг на каждой линии:

Реальная осциллограмма вращения энкодера немного отличается от идеальной.

При подключении энкодера к МК со встроенными подтягивающими резисторами, их можно исключить из схемы, не забыв при этом включить встроенные подтягивающие резисторы:

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

Программное устранение дребезга

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

После того как энкодер подключен к Arduino ( на примере Arduino Uno):

Сигнальные линии энкодера подключены к 2 и 3 пину Arduino Uno, так как на этих выходах реализованы прерывания. Замена пинов подключения приведет к неработоспособности примера. Скетч:

Суть работы кода можно изобразить графически:

Аппаратное устранение дребезга

Несмотря на незатратное, по отношению к ресурсам МК, программное решение устранения дребезга на прерываниях, более предпочтительным является его аппаратное устранение. Решение строится по принципу устранения дребезга обычной кнопки и выглядит так:

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

Дополнительным бонусом может служить высвобождение одного из двух ( для Arduino Uno) пинов с функционалом прерывания. Таким образом прерывание будет провоцироваться импульсом только одной линии, а далее, в обработчике, можно смотреть на состояние второй линии и делать выводы:

Этот пример работает корректно.

Навигация при помощи энкодера

Теперь можно организовать управление чем-либо при помощи энкодера. Его уникальность состоит в том, что одним элементом управления можно запрограммировать 4 реакции на действия: вращение вправо/влево, короткое нажатие и длинное нажатие ( реакция на нажатия реализуется программно).

В строках 59-67 можно настроить реакцию программы на длительное удержание кнопки энкодера:

Энкодер и навигация по меню

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

Для этого объявим структуру menu одного пункта и далее, создадим массив из элементов структуры menu :

Скетч и результат работы выглядит так:

Бонус — как заменить энкодером кнопки

Задача выглядит следующим образом:

Сделать без участия микроконтроллера ( на микросхемах ТТЛ-логики) так, чтобы вращение энкодера конвертировалось в положительные импульсы на двух разных выходах — по часовой стрелке на одном выходе, против часовой — на другом, таким образом имитируя нажатия двух отдельных кнопок:

Для выполнения этой задачи понадобятся 2 микросхемы, реализующие стандартную логику и 1 микросхема — D-триггер ( D от англ. delay — задержка):

Источник

Читайте также:  земельный кадастр что делает
Новостной портал