Энкодер — это… инкрементальный энкодер

Зачем копировать вход на выход

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

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

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

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

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

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

Типы поворотных энкодеров и как они работают

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

Механический поворотный энкодер

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

Энкодер - это... инкрементальный энкодер

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

  1. Металлический диск, расположенный на вале, используется вместе со стационарным подборщиком и вращается.
  2. Во время вращения, создается уникальный сигнал преобразуемый в код.
  3. Это означает, что каждое изменение положения фиксируется.
  4. Код используется для определения точного положения вала.

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

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

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

Энкодер - это... инкрементальный энкодер

Процесс определения положения с помощью оптических энкодеров:

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

Магнитные энкодеры

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

Энкодер - это... инкрементальный энкодер

Процесс определения положения с помощью магнитных энкодеров:

  1. Присоединенный диск вращается.
  2. Магнитные датчики обнаруживают изменение магнитного поля из-за вращения.
  3. Такие изменения преобразуются в синусоидальные волны и преобразуются в цифровые сигналы для получения желаемого результата.

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

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

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

Энкодер - это... инкрементальный энкодер

На практике смещения сигналов добиваются не за счет особого расположения фотопрерывателей, а путем добавления второй полосы с прорезями или прозрачными и непрозрачными участками. Участки на двух полосах расположены так чтобы обеспечить сдвиг сигнала по фазе на 90 градусов, поэтому работающие по такому принципу энкодеры называются квадратурными.
На этом же принципе основаны механические энкодеры, только вместо фотопрерывателей в них используются скользящие контакты. Основным недостатком таких энкодеров является дребезг контактов, который может приводить к неправильному подсчету сигналов. Кроме того скользящие контакты подвержены износу. Все это ограничивает область применения механических энкодеров.Магнитные энкодеры строятся на базе магниточувствительных элементов, таких как датчики Холла или магниторезистивные датчики. Они просты в изготовлении, лишены недостатков контактных энкодеров и мало чувствительны к внешним факторам. Но все же проигрывают в точности емкостным, индуктивным и оптическим энкодерам.Емкостные энкодеры имеют в своем составе диск асиметричной формы, который при вращении изменяет емкость между двумя электродами. Это изменение регистрируется и используется для определения углового положения. Емкостные энкодеры так же просты в изготовлении и надежны в эксплуатации, из внешних факторов чувствительны только к изменению влажности.Индуктивные энкодеры работают в магнитном поле и используют явление электромагнитной индукции. Благодаря устойчивости к внешним факторам подходят для использования в неблагоприятной среде, когда другие энкодеры могут оказаться ненадежными.Резистивный энкодер работает по тому же принципу что и обычный потенциометр: электрический сигнал на его выходе пропорционален положению ручки энкодера. Собственно и сами потенциометры могут использоваться для отслеживания углового положения, например, их можно увидеть в сервомашинках:

Энкодер - это... инкрементальный энкодер

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

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

Для этого понадобятся:

  • любое устройство Ардуино, например, Arduino UNO, Arduino Mega, Arduino Leonardo, Arduino 101, Arduino Due;
  • любой энкодер Ардуино.

Обзор поворотного энкодера

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

Энкодер - это... инкрементальный энкодер

Пины, и что они означают:

  • CLK: выход A (цифровой);
  • DT: выход B (цифровой);
  • SW: нажатие кнопки (цифровой);
  • + : VCC-напряжение питания;
  • GND: заземление.

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

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

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

  • Если вращающийся вал движется по часовой стрелке, то сигнал A опережает B. В одни и те же моменты времени, A и B будут находиться на противоположных частях прямоугольной волновой функции.
  • Если вал движется против часовой стрелки, то сигнал B опережает A.

Подключение

Если говорить в общем, то CLK, DT и SW, должны быть подключены к цифровым выводам на Ардуино, + должен быть подключен к 5V, а GND заземлен.

Пошаговая инструкция подключения проводов энкодера к Ардуино:

  1. CLK: подключите конец провода к пину CLK на поворотном энкодере, затем к любому цифровому выводу на Arduino (оранжевый провод).
  2. DT: подключите конец провода к пину DT, затем к любому цифровому контакту на Arduino (желтый провод).
  3. SW: подключите конец провода к пину SW, далее к любому цифровому контакту на Arduino (голубой провод).
  4. + : подключите провод к пину +, затем к контакту +5V на Arduino (красный провод).
  5. GND: подключите конец провода к пину GND на энкодер с контактом GND на Arduino. (Черный провод).

Как кодировать

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

Что понадобится:

  • датчик поворотного энкодера;
  • Ардуино;
  • пьезодатчик;
  • провода.

Вот сам код:

Описание кода

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

Далее в разделе цикла снова изменить вывод A, но теперь поместить значение в переменную aState. Таким образом, если повернуть вал и сгенерировать импульс, эти два значения будут отличаться. Сразу после этого, используя второй параметр «if», определить направление вращения. Если выходное состояние B отличается от A, счетчик будет увеличен на единицу, в противном случае он будет уменьшен. В конце, после вывода результатов на мониторе, нужно обновить переменную aLastState с помощью переменной aState.

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

Упрощенный пример

Следующий пример кода продемонстрирует, как считывает сигналы Arduino на датчике энкодера. Он просто обновляет счетчик (encoder0Pos) каждый раз, когда энкодер поворачивается на один шаг, а параметры вращения отправляются на порт ПК.

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

Разновидности абсолютных энкодеров

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

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

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

Энкодер - это... инкрементальный энкодер

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

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

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

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

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

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

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

Энкодер - это... инкрементальный энкодер

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

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

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

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

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

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

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

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

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

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

Макет для проверки кода работы с инкрементальным поворотным энкодером на Arduino

Полный код скетча Arduino, включающий основной цикл приведен ниже:

Энкодер в действии вы можете увидеть на видео, приведенном ниже:

Вот и всё! Надеюсь, статья оказалась полезной. Оставляйте комментарии!

Типы приборов

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

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

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

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

Энкодер - это... инкрементальный энкодер

Этот вид работает следующим образом. У него есть начальная нуль-метка, или выход Z, и два дополнительных выхода — A и B. Датчик создает две линии сигналов со смещенными на четверть фазы импульсами относительно друг друга. Разница импульсов указывает на направление вращения, а их количество — на угол поворота.

Энкодер - это... инкрементальный энкодер

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

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

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

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

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

Энкодер - это... инкрементальный энкодер

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

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

Многооборотные датчики поворота

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

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

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

Оптические энкодеры

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

Энкодер - это... инкрементальный энкодер

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

Оптические угловые датчики бывают фотоэлектрическими и магнитными.

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

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

Механические энкодеры

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

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

Результат «эксперимента №2»

  1. Подготавливается обучающая база: кубы с градусом поворота от 0 до 90 градусов. На гранях кубах изображена цифра 5.
  2. Вектор правдоподобия контекстов, отделенный от трактовки (латентного кода), передается на следующий уровень, где обучается автоэнкодер, ответственный за модель куба
  3. Затем делаем обратную проекцию: для каждой вероятной точки латентного пространства автоэнкодера, ответственного за абстракцию «куб», мы можем рассчитать вектор правдоподобия контекстов на первом уровне, доопределить латентный код знака на грани и построить исходное изображение, которое, возможно, никогда не встречалось нам в обучающей выборке.

кубы с поворотом от 0 до 90 градусовСсылка на git

Магнитные энкодеры

Принцип магнитных измерений

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

Инновационная многооборотная технология

Многооборотные  магнитные  энкодеры  IXARC  POSITAL  используют  инновационную  технологию  для отслеживания количества оборотов, даже если оборот произошел  при  отключенном  питании  системы.  Для выполнения  этой  задачи  энкодеры  преобразуют вращение вала в электрическую энергию. Технология основана  на  эффекте  Виганда:  когда  постоянный магнит на  валу  энкодера  поворачивается  на определенный угол, магнитная полярность в „проводе Виганда“  резко  меняется,  создавая  кратковременный всплеск  напряжения  в  обмотке,  окружающей провод.  Этот  импульс  отмечает  поворот  вала,  а также  обеспечивает  питание  электронной  цепи, регистрирующей  данное  событие.  Эффект  Виганда происходит  в  любых  условиях,  даже  при  очень медленном  вращении,  и  исключает  потребность  в резервных батареях.

Преимущества магнитных энкодеров

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

Энкодер вращения — оптический или магнитный?

Этот вопрос однажды задали соучредителю группы компаний «Fraba» (он же директор компании Posital) в интервью журнала «Конструктор» при обсуждении темы внедрения новой магнитной технологии при производстве энкодеров вращения. Ниже перевод публикации этого интервью.

Что говорят специалисты в отношении новой магнитной технологии?

Господин Лезер, являются ли на самом деле оптические энкодеры точнее магнитных?

Однозначно нет. В настоящее время оптические энкодеры больше не опережают магнитные по точности. Технология магнитных энкодеров  в последние годы позволила полностью перекрыть разрыв с оптической в отношении всех важных электрических параметров. Выпускаемые сегодня магнитные энкодеры уже достигают разрешения 16 бит при точности 0,09° и, таким образом, такие параметры, которые раньше были достижимы только оптическими энкодерами. Касательно оптических энкодеров мы говорим с позиции производителя абсолютных оптических энкодеров с 50 летним опытом работы. Оптические энкодеры мы производим начиная с 1963 года и это всегда являлось нашей основной специализацией. В 2013 году произошел настоящий переворот в соотношении технологий, когда был представлен магнитный энкодер достигающий по всем ключевым параметрам традиционные оптические системы.

Что позволило так значительно повысить возможности магнитных энкодеров?

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

Какая технология энкодеров дает больше свободы машиностроителям в проектировании?

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

Улучшения VAE

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

Энкодер - это... инкрементальный энкодерСоздание искусственных фото людей

Кроме того, вы можете обучать автоэнкодер, используя LSTM пару энкодер-декодер и модифицированную версию архитектуры seq2seq,и использовать его для дискретных данных. К примеру, генерировать текст или даже производить интерполяцию между MIDI сигнашами, как делает Google Brain’s Magenta’s MusicVAE:

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

Интересные статьи:

  • Генеративно-состязательная нейросеть (GAN). Руководство для новичков
  • Деформирующие автоэнкодеры
  • LSTM — нейронная сеть с долгой краткосрочной памятью

Сфера и цель применения

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

Энкодер - это... инкрементальный энкодер

Проблема классических автоэнкодеров

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

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

Энкодер - это... инкрементальный энкодерОптимизация потерь восстановления

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

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

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

Накапливающие и абсолютные датчики угла поворота

Датчик угла поворота

Энкодер - это... инкрементальный энкодер
Выходы «синус» и «косинус» накапливающего датчика угла поворота

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

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