Как работают энкодеры, как они устроены и как функционируют

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поворотные энкодеры

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

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

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

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

Компьютерная мышь

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

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

Фотокодеры

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

В показанном типе энкодера ручка может также использоваться как кнопка. Это вспомогательная функция для данного типа энкодера.

Энкодеры можно разделить на две большие группы в зависимости от типа выводимых ими данных:

  1. Абсолют.
  2. Инкрементный.
Абсолютные энкодеры

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

Кодирующие устройства 1

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

Этот алгоритм имеет свои недостатки. В таблице 1 показан порядок вывода значений n-го кодера. Обратите внимание на последние две строки, переходящие от 127 к 128.

Таблица 1

Таблица 1

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

Пример такого переключения показан справа. В чем заключается риск? Давайте рассмотрим пример. Микроконтроллер использует двигатель для управления валом и поворачивает его на определенный угол. В какой-то момент во время перехода от 127 к 128 ячейка получает некоторое случайное значение. Контроллер делает вывод, что вал находится совсем не там, где он есть на самом деле, и начинает вращать его в другом направлении, с другой скоростью и т.д.

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

Код Грея

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

Код Таблица Греция

Таблица 2

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

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

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

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

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

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

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

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

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

Фактический кодер имеет четыре состояния:
  1. Два.
  2. Ноль и один.
  3. Ноль и ноль.
  4. Один и ноль.

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

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

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

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

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

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

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

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

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

Фотоэлектрические энкодеры

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

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

Энкодеры – Угловые энкодеры

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

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

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

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

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

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

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

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

Применение энкодера на валу двигателя

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

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

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

В зависимости от метода считывания кода (контактный, фотоэлектрический, электромагнитный, индуктивный, электростатический и т.д.) цифры печатаются на диске энкодера. Геометрическое представление кода состоит из электропроводящего и изолирующего, прозрачного и непрозрачного, магнитного и немагнитного и т.д.

Наиболее часто используемые кодирующие диски представляют собой варианты двоичного кода, которые предотвращают ошибки от пересечения границ отдельных дискретных областей, когда некоторые биты могут быть считаны по одну сторону границы, а некоторые – по другую (из-за неточной установки считывающих устройств или из-за того, что код не считывается одновременно при вращении диска). К таким кодам относятся так называемый код фау (код Баркера) и рефлекторный код (код Грея).

Кодирующий диск Грея

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

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

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

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

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

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

Абсолютные энкодеры с интерфейсом полевой шины имеют выходной интерфейс связи полевой шины, совместимый со стандартами CANopen, ProfiBus, DeviceNet, Ethernet и InterBus, и используют двоичный код для определения угла поворота. Вышеуказанные интерфейсы связи программируются по многим параметрам: например, направление вращения, разрешение импульсов на оборот, скорость передачи данных.

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

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

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

Принцип работы энкодера с датчиком Холла

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

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

Угловые энкодеры

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

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

Энкодер – это устройство, которое преобразует механическое движение или угловые изменения положения в цифровой сигнал. В этой статье рассматривается самый популярный инкрементный энкодер в сообществе DIY – EC11 с кнопкой. Во время вращения выходы A и B генерируют сигналы TTL в виде импульсов, сдвинутых по фазе на 90 градусов. Это позволяет определить направление и скорость вращения, а также рассчитать угол поворота. В отличие от потенциометров, KY-040 гораздо более надежен и долговечен.

Sketch для Arduino

Я использую прерывание PCINT1 для мониторинга положения энкодера в фоновом режиме. Все функции обрабатываются в прерывании, и обработчик изменяет переменную enc_state в зависимости от происходящего действия. Если enc_state=0 – ничего не произошло, enc_state=1 – энкодер вращался без нажатия, enc_state=2 – энкодер вращался с нажатием, enc_state=3 – кнопка была нажата, enc_state=4 – кнопка была нажата длительное время, Прерывание будет срабатывать всякий раз, когда состояние входов будет меняться, либо с высокого уровня на низкий, либо наоборот. Это означает, что при однократном нажатии на энкодер прерывание будет срабатывать 4 раза. Или 2 раза для каждого из входов. Но обработчик будет генерировать сигнал поворота только 1 раз для всех 4 прерываний.
Код обработчика при каждом срабатывании записывает в переменную lastcomb состояние входов, к которым подключен энкодер. Он ожидает состояния, когда выходы A и B замкнуты на GND, это гарантированный сигнал того, что энкодер вращается. После получения этого сигнала обработчик проверяет, в каком направлении вращается энкодер. Для этого он сравнивает свое предыдущее значение с переменной lastcomb и, в зависимости от сдвига фаз, определяет, в какую сторону повернулся ротор. Как я уже писал ранее, сложнее всего отследить нажатие кнопки.
Я не планировал использовать некоторые тайминги, поскольку они неизбежно вызывают большие задержки в обработчике и основной программе, или требуют использования таймера, которых в микроконтроллере всего 3. обычно их никогда не бывает достаточно. Настоящей проблемой было отделить “нажатие с последующим поворотом” от простого нажатия. В итоге, как вы уже видите, я решил эту проблему. Я не стал утруждать себя оптимизацией кода, потому что все работает, и я доволен этим. Для наглядности кода все действия энкодера отображаются в Serial Monitor IDE Adruino.

Читайте далее:
Сохранить статью?