Astro-nn.ru

Стройка и ремонт
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

Ситуации, когда необходимо применять абсолютные энкодеры

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

  • полагаются на нелинейное позиционирование
  • обрабатывают большие детали
  • имеют длительный рабочий цикл

В реальной жизни абсолютные энкодеры обеспечивают более высокую точность работы оборудования:

  • Обратная связь в многоосевых станках с ЧПУ, используемых при производстве всевозможных деталей
  • Автоматическое определение высоты больничных коек с подъемным механизмом ножничного типа
  • Точное перемещение портальных осей для больших транспортных средств, таких как краны или морские / карьерные подъемники
  • Перемещение автоматических дверей или отсеков без конечных выключателей
  • Непрерывное точное роботизированное движение даже после сбоя питания

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

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

Устройство выдает определенное количество импульсов за один оборот вала. Выходом может быть одиночный канал (часто называют «A») или два канала («A», «B»), которые смещены относительно друг друга для. Смещение каналов позволяет выявить направление вращения. Смещение фаз двух сигналов называется квадратурой. Стандартно прибор состоит из оптико-механического подшипникового узла, печатной платы, корпуса, выходного соединителя. Печатная плата содержит сенсорную матрицу, которая регистрирует два первичных сигнала с целью дальнейшей обработки.
Дополнительные выходы датчиков:
Канал референтной (ноль) метки (его называют «Z» или «R») в виде одного импульса на оборот служит для поиска нолевой позиции или для контроля работы выходов A, B. Эта метка может быть привязана к A или B в их различных состояниях. Она также может быть различной по ширине.
Коммутация с помощью U, V, W треков может быть предусмотрена в некоторых преобразователях. Треки согласуются с коммутирующими обмотками серводвигателей. Они также обеспечивают возможность подачи с электропривода или усилителя в каждую обмотку двигателя тока нужной силы в правильной последовательности.
Альтернативы инкрементальным энкодерам: резольверы, абсолютные энкодеры, энкодеры с аналоговым сигналом.

Применение инкрементальных энкодеров

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

  • Тяжелые условия эксплуатации: агрессивная рабочая среда с высокой вероятностью воздействия загрязнений, влаги, высокой температуры, ударов, вибрации, как, например, на целлюлозно-бумажных, сталелитейных, деревообрабатывающих заводах.
  • Промышленная автоматизация: общепроизводственные рабочие условия, которые требует стандартного класса защиты IP, устойчивости к средней силы ударам, вибрация, температурным колебаниям, как например, на заводах по производству продуктов питания, напитков, текстильных заводах, на автоматизированном заводском оборудовании в целом.
  • Легкие промышленные условия / Сервоустройства: сфера контроля перемещений и позиционирования с высокими требованиями к точностным, температурным характеристикам, например, робототехника, электроника, полупроводниковое приборостроение.

Оптические угловые энкодеры

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

Про Ардуино и не только

суббота, 9 сентября 2017 г.

Энкодер вращения

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

Что такое энкодер вращения

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

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

Принцип работы

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

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

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

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

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

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

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

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

Абсолютные и инкрементные энкодеры

Приведенный выше пример оптического энкодера вращения генерирует на выходе импульсы, по которым принимающее устройство определяет текущее положение вала путём подсчёта числа импульсов счётчиком. Такие энкодеры называют инкрементными или накапливающими. Сразу же после включения инкрементного энкодера положение вала неизвестно. Для привязки системы отсчёта к началу отсчёта инкрементные энкодеры могут иметь нулевые (референтные) метки, через которые нужно пройти после включения оборудования. К недостаткам также относится то, что невозможно определить пропуск импульсов от энкодера по каким-либо причинам. Это приводит к накоплению ошибки определения угла поворота вала до тех пор, пока не будет пройдена нуль-метка.

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

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

Этот пример наглядно иллюстрирует принцип кодирования углового положения на диске абсолютного энкодера. Для каждого положения вала формируется свой уникальный код. В данном случае для кодирования 16 положений потребовалось 4 концентрических дорожки. При увеличении разрешения абсолютного энкодера возрастает число дорожек и разрядность считываемого значения. Поэтому наряду с параллельным интерфейсом в абсолютных энкодерах широко применяются последовательные интерфейсы, такие как Profibus, CANopen, SSI, BiSS, ISI, Profinet, PWM, Ethernet Powerlink, EtherNet TCP/IP, Modbus, DeviceNet, EtherCAT. Также существуют энкодеры, возвращающие значение углового положения в виде аналогового сигнала.

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

Читать еще:  Сварочный инвертор для дома: рейтинг лучших в 2019-2020 году по отзывам владельцев

Подключение инкрементного энкодера к Ардуино

Теперь после небольшой теоретической части можно перейти к практике. Попробуем подключить к Ардуино инкрементный энкодер вращения. У меня в распоряжении имеется модуль KY-040 (вроде того, что изображен на фото в начале этой статьи), который представляет из себя энкодер с разрешением 20 шагов на оборот со встроенной кнопкой, распаянный на плату с подтягивающими резисторами. Это идеальный компонент для организации меню: вращение вала энкодера можно интерпретировать как перемещение курсора по элементам меню, а нажатие кнопки — выбор конкретного элемента. Позже я приведу пример создания такого меню, а сейчас разберемся с подключением энкодера к Ардуино.

Подключим энкодер к Ардуино по следующей схеме:

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

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

Подобный код можно увидеть на различных сайтах, и везде говорится что вывод CLK — это сигнал A, а вывод DT — это B. Почему-то на моих энкодерах это не так и сигналы поменяны местами. Этот момент учтен в функции при чтении значений с контактов. И если вдруг у Вас окажется, что при вращении вала энкодера по часовой стрелке значение переменной counter будет уменьшаться, то замените в функции строки чтения значений с выводов pin_CLK и pin_DT на следующие:

Итак, прошиваем код в Ардуино, запускаем монитор порта и вращаем ручку энкодера. Должно получиться что-то вроде этого:

Назначение и виды энкодеров

Что такое энкодер

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

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

Применение энкодеров

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

Виды энкодеров

Существуют два вида энкодеров – инкрементальный и абсолютный.

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

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

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

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

Основные параметры

Главный параметр любого энкодера – разрешение, то есть количество импульсов (для абсолютного преобразователя – разрядность, или количество бит) на один оборот. Довольно часто используются преобразователи с разрешением 1024 импульса на оборот.

  • напряжение питания – от 5 до 24 В
  • тип вала – сплошной, полый, без вала (сквозное отверстие)
  • диаметр вала или отверстия
  • тип выхода – как правило, транзисторный выход с открытым коллектором
  • также учитываются размер корпуса, тип крепления и степень защиты

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

Монтаж

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

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

Подключение

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

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

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

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

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

Что же такое «Энкодер»? А это контроллер или сенсор серводвигателя, который определяет расположение оси вращения вала. Движение частей передаёт электрический сигнал, а тот сообщает расположение рабочих элементов, информируя насколько повёрнут вал, и указывая направление его вращения.

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

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

Основные типы энкодеров. Абсолютный и инкрементальный

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

Инкрементальные энкодеры производят импульсные цифровые сигналы и сообщают углы поворота вращающегося элемента. Применяются в случае отсутствия необходимости в сохранении положения при отключении аппарата. При остановке вала импульсы не передаются. Главная характеристика, которую передаёт сенсор – число импульсов/оборот. Чтобы определить мгновенное значение угла, на которое поворачивается объект, выполняется подсчёт импульсов с момента запуска. Угловая скорость элемента подсчитывается дифференцированием числа импульсов за промежуток времени, сообщая количество оборотов за минуту. Эта операция выполняется процессором, установленным в тахометре. Направление вращения находят при помощи двух каналов для выходного сигнала с парафазными импульсами. Нулевая отметка имеет цифровой выход, таким образом, имеется возможность определения абсолютного положения вала. Обычно данные передаются в виде кода Грея, интерфейсов по типу DeviceNet и подобных, либо параллельного ввода.

Абсолютные энкодеры

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

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

Абсолютные энкодеры подразделяются на:

  • магнитные;
  • механические с последовательным выходом;
  • оптические.

Магнитный тип позволяет точно определить движение магнитных полюсов и передать данные в цифровом виде.

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

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

Принцип работы энкодера, как он устроен и как работает

Что это такое и где применяется

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

Читать еще:  Как просверлить бетонную стену – возможный выход из ситуации

Своё применение энкодер нашёл в разных системах точных перемещений, в промышленности (станкостроительные заводы); в роботостроении, измерительных устройствах, для которых важен точный учёт измерений вращения, поворота, наклона и угла. Также их применяют в таких сферах как: автомобилестроение и компьютерная техника.

Принцип работы энкодера заключается в его передаче сигнала на вращающийся объект. При этом он позволяет увидеть такие данные как: угол поворота/направление/скорость и позиция.

Устройство и виды энкодеров


Рисунок 1. Энкодер с ручкой — самый простой вариант

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

Датчики поворотного угла подразделяют по следующим критериям:

  • Принцип выдачи данных: инкрементный и абсолютный;
  • Принцип работы: оптический, магнитный и механический;

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


Рисунок 2. Инкрементный энкодер

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

Из недостатков данного вида датчиков можно выделить то, что определить пропуск импульсов от преобразователя не представляется возможным. Это соответственно является причиной накопления ошибки при выявлении поворотного угла объекта (пока он не пройдёт нуль-метку). Для выявления направления поворота используется пара измерительных каналов – косинусный и синусный. В них одинаковые импульсные последовательности перемещены ровно на 90 градусов относительно обоих каналов.

Абсолютный энкодер устройство


Рисунок 3. Абсолютный энкодер

У этого типа ДУПа его поворотный круг поделён на определённые пронумерованные сектора, обычно идентичного размера. Во время работы он выдаёт конкретный секторный номер, в котором он непосредственно и находится. Именно поэтому данное устройство называют абсолютным. Благодаря его устройству можно легко определить угол/положение/направление энкодера относительно начального (нулевого) сектора.

Помимо этого абсолютный датчик угла не требует присоединения систем отсчёта к какому-нибудь нулевому значению. В нём используется специальный код Грея, позволяющий не допустить ошибки при работе. Из недостатков можно выделить только то, что микроконтроллер будет вынужден постоянно его переводить в двоичный код, чтобы выяснить положение ДУПа.

Оптические ДУПы

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

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

Магнитные

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

Механические

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

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

Параметры

Первоначальный параметр любого ДУПа представлен числом импульсов, получаемых за совершение одного оборота (разрешение/разрядность). Зачастую этот параметр равен 1024 за один оборот.

Из других критериев можно выделить:

  • Напряжение – от пяти до 24В;
  • Вид вала – пустой, сплошной;
  • Размер вала/отверстия;
  • Вид выхода – транзисторный и другие;
  • Размер корпуса;
  • Вид крепления.


Рисунок 4. Абсолютный оптический датчик

Установка

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

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

Подключение

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

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

DIY энкодер

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

Содержание

Назначение и устройство

Подключение к Ардуино

Назначение и устройство энкодера

Под энкодером, применительно к DIY, мы чаще всего представляем себе удобное, интуитивно понятное устройство управления электронными приборами в виде “крутилки”, иногда с возможностью на нее нажать как на обычную кнопку. Очень часто оно являлось единственным средством общения с 3D-принтерами прошлого поколения, а многими приверженцами старой школы считается самым удобным решением и сейчас. Именно его мы рассмотрим внимательно в этой статье и разберемся, как его можно использовать в своих проектах.

Вообще “энкодер” — это общее название большого семейства датчиков, сильно различающихся по назначению, характеристикам, исполнению и цене. Главное, что их объединяет, это возможность преобразовывать угол поворота в сигналы, понятные контроллеру. Точность промышленных энкодеров может достигать сотых и даже тысячных долей градуса, наши же DIY энкодеры имеют всего несколько десятков шагов на оборот, чего вполне достаточно для решения их задач. По способу выдачи информации подразделяются на инкрементальные и абсолютные. Абсолютный всегда выдает информацию о своем точном положении в данный конкретный момент, независимо от предыдущих состояний и событий. Включив прибор с таким энкодером, мы сразу можем получить информацию о контролируемом им механизме, что необходимо для станков ЧПУ, робототехники, промышленных автоматов и прочих подобных устройств.

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

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

Схематически они более близки между собой и все устроены примерно так:

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

Характеристики

Диапазон вращения 360 градусов. На один оборот приходится от 20 импульсов (различается у разных моделей). Может быть использован для определения скорости вращения и угла поворота ручки управления. Позволяет определять направление вращения. Энкодер дополнительно имеет кнопку, чтобы привести ее в действие, необходимо нажать на вал. Напряжение до 12В. Скорость вращения до 2 об/сек.

Подключение энкодера к Arduino

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

Сигнальные ножки подключим, для примера, к контактам 2 и 8 (чуть позже будет пояснение, почему именно к ним).

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

На верхней картинке запечатлены 6 “щелчков” энкодера, на нижней 7. Каждый “щелчок” энкодера, то есть его установка в фиксированное положение, инвертирует сигнал на обеих ножках с небольшой задержкой. Обратите внимание, сигнал на ножках повторяется, но опережающая ножка в каждом случаях разная, и зависит от направления вращения. Этим свойством мы и воспользуемся для отслеживания сигналов, нам надо будет лишь дождаться изменения сигнала на одной из ножек и сравнить его с сигналом второй. Если они совпадают, прибавляем значение, если нет — убавляем.

Примеры использования

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

Что тут происходит? Функцией enc() мы опрашиваем каждые 5 мс состояние первой кнопки, запоминая предыдущее, для того, чтобы заметить, когда оно изменится, то есть будет нажата или отжата первая “кнопка”. Зачем пауза 5 мс? Механические контакты не идеальны, они могут “дребезжать”, чем портить результаты измерений, делая их неприемлемыми. Избавиться от лишних сигналов при дребезге можно аппаратно (гуглим, рассчитываем и собираем RC-цепь) или программно, делая паузы между замерами, что гораздо проще. В данном случае, 5 мс, по результатам наблюдений, является оптимальным значением, так как точно пропустит дребезг, при этом не пропустит большую часть сигнала от энкодера при умеренной скорости его вращения.

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

Почему же я назвал код неправильным, если он рабочий? Функция enc() должна постоянно вызываться в цикле без пропусков времени дольше упомянутых 5 мс. Если в программе работает еще какой-либо код, пропуски, скорее всего, будут, и весьма часто. Даже вывод информации в com-порт способен этому помешать, не говоря уже про все остальное. Если же в программе будут мерзкие, но любимые новичками delay(), то работать такой энкодер будет совсем отвратительно. Как можно обойти эту проблему?

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

Команда timerStart() запускает таймер, который будет вызывать функцию отслеживания каждые 5 мс. Мы не будем рассматривать здесь, как работать с таймером, как назначить другое время, просто сделаем тот же период, что и в первом способе. Теперь положение энкодера всегда будет под рукой в переменной stepEnc, чем бы основная программа ни занималась, и даже если ее нет вообще. Что можно считать минусом этого способа? Вращаться энкодер будет, как правило, не часто, настроили им что хотели и оставили в покое, а код будет выполняться все время работы, отвлекая контроллер, немного тратя его ресурсы, занимая один из таймеров. В каких-то случаях это может стать проблемой.

Оба описанных выше способа имеют еще один недостаток. Вот график показаний энкодера, снятых этой программой:

Сперва я вращал вал довольно быстро, заметны ошибки, затем с нормальной скоростью, ошибок почти нет, и, наконец, очень быстро, ошибки сливаются в сплошную “пилу”. Возникает это явление вот почему:

При очень быстром вращении задержка между переключениями ножек может быть короче паузы, которую мы задали для замеров, в нашем примере 1,6 мс против 5 мс. Особенно часто такое встречается на растущем фронте. Бороться с этим явлением можно тремя способами:

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

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

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

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

Контроллер не выполняет лишнюю работу, сигналы не пропускаются, код компактен, прозрачен и понятен, красота да и только! Из минусов можно отметить невозможность использования средствами Ардуино других пинов, кроме 2 и 3. Если они заняты или энкодеров более двух, такой способ вам не подойдет.

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

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

Выводы

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

1.Можно ли использовать в одном проекте несколько независимых энкодеров?
Да, по способу 1 и 2 достаточно внести в программу изменения по опросу дополнительных пар пинов. Если нужно больше энкодеров, чем есть свободных пинов на контроллере, придется использовать сдвиговые регистры типа 74HC165 и другие решения. Способом 3, средствами разработки Ардуино, можно использовать только два энкодера.

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

3.Можно ли ускорить функцию опроса энкодера?
Да, если опрашивать пины портов напрямую, а не через digitalRead(), можно выиграть несколько микросекунд с каждой итерации функции. Но в большинстве случаев это будет незаметно.

4.Можно ли изменить направление вращения?
Конечно, поменяв местами пины и контакты, или программно, заменив минусы на плюсы и наоборот в строке digitalRead(C2) ? stepEnc++ : stepEnc—;

5.Как работать с кнопкой нажатия на вал?
Так же, как с любой обычной механической кнопкой, она ничем от них не отличается.

6.Можно ли подобным энкодером отслеживать угол поворота оси?

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

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

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

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

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

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

Принципы работы инкрементальных энкодеров

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

Применяется в основном два физических принципа реализации энкодера:

  • оптико-электронный. На валу датчика установлен оптически прозрачный диск с равномерно нанесенными на него по периметру непрозрачными метками. Свет проходит через диск от группы излучающих светодиодов к группе принимающих фотодиодов. При повороте диска и прохождении метки в луче света, изменяется засветка фотоприемников, при этом электронная схема формирует выходной импульс с нужными параметрами.
  • магнитный или магнитно-резистивный. Магнитные используют в качестве чувствительного элемента датчик Холла, регистрирующий последовательность прохождения полюсов магнита, установленного на валу. Магнитно-резистивный чувствительный элемент регистрирует изменение сопротивления в зависимости от величины и направления магнитного поля.

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

При разнообразии схемных решений, выходные сигналы инкрементальных энкодеров имеют один из двух форматов, в зависимости от напряжения питания датчика и выбора пользователя: TTL/RS422 или HTL/push-pull. Все устройства работают в пределах стандарта интерфейса IO-Link, выполняя, в зависимости от степени «интеллектуальности» три вида связи в системе:

  • коммутационное (бинарное) состояние (как простой датчик контактного типа);
  • циклическая цифровая передача результатов измерения;
  • прием программируемых параметров датчика и передача результатов его диагностики (например – перегрузка, перегрев и т.п.).

Применение инкрементальных энкодеров

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

  • в приводах станков по изготовлению бумаги и картона;
  • в аппаратах любых видов упаковки и дозирования;
  • в приводах лесозаготовительных и деревообрабатывающих машин;
  • в приводах оборудования прокатного производства: обжимных валков, рольгангов, кантователей, опрокидывателей;
  • в приводах подъёмных кранов, подъёмников и лифтов;
  • в приводах металлообрабатывающих станков, бурового и строительного оборудования;
  • в робототехнических комплексах и транспортерах на сборочном производстве и т.п.

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

Выбор инкрементального энкодера с целью интеграции его в систему управления технологическим объектом предусматривает решение следующих основных вопросов:

  • точность измерения – количество импульсов на один оборот вала энкодера;
  • диаметр и тип вала энкодера, необходимость дополнительных муфт, фланцев и т.п.;
  • длина кабеля и тип выходного разъёма, степень защиты устройства;
  • напряжение питания, тип выходного сигнала;
  • вопросы сигнальной связи энкодера с системой: необходимость программирования энкодера, программное согласование цикличности передачи результатов измерений с частотой опроса входов применяемого контроллера или работа в стандартном интерфейсе и т.п.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector