Принцип работы абсолютного энкодера

Всё о абсолютных энкодерах. От А до Я: виды цифровых кодов, особенности кодирования/декодирования сигналов в абсолютных энкодерах, описание работы абсолютного энкодера, конструкция одно- и многооборотного энкодера, терминология используемая в тех. документации на абсолютные энкодеры. Абсолютный или инкрементальный? Когда оправдано или неизбежно применение абсолютного энкодера.

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

Для чего вообще нужен абсолютный энкодер?

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

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

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

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

Преимущества абсолютного энкодера

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

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

Виды цифровых кодов и особенности их использования в системах позиционирования

Бинарные коды

Термин «бинарный» по смыслу — состоящий из двух частей, компонентов. Таким образом бинарные коды это коды которые состоят только из двух символьных состояний например черный или белый, светлый или темный, проводник или изолятор. Бинарный код в цифровой технике это способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы БК называют битами. Одним из обоснований применения БК является простота и надежность накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний, например в виде изменения или постоянства светового потока при считывании с оптического кодового диска.

В таблице ниже представлены две основные возможности кодирования — двоичное кодирование и кодирование по методу Грея (который далее будет описан подробнее), а также способы представления информации в различных системах счисления.
Для разных систем счисления в таблице используются следующие сокращения:
десятичное число = decimal = DEC
двоично-десятичное число = binary code decimal = BCD
шестнадцатеричное число = hexadecimal = HEX

Обычное двоичное кодирование

DECBCD (Binary)HEX
000000h
100011h
200102h
300113h
401004h
501015h
601106h
701117h
810008h
910019h
101010Ah
111011Bh
121100Ch
131101Dh
141110Eh
151111Fh

Кодирование в коде Грея

DECBCD (Gray)HEX
000000h
100011h
300113h
200102h
601106h
701117h
501015h
401004h
121100Ch
131101Dh
151111Fh
141110Eh
101010Ah
111011Bh
910019h
810008h

Двоично-десятичный код (Binary code decimal)

Двоично-десятичный код является широкораспространенным кодом, который может обрабатываться непосредственно микропроцессором и является основным кодом для обработки цифровых сигналов. Двоично-десятичный код состоит только из 0 и 1.
Наибольшее число, которое может быть выражено двоичным кодом, зависит от количества используемых разрядов, т.е. от количества бит в комбинации, выражающей число. Например, для выражения числовых значений от 0 до 7 достаточно иметь 3-разрядный, т.е. 3-битовый код.
Двоично-десятичный код является многошаговым кодом. Это означает, что при переходе от одного положения (значения) в другое могут изменяться несколько бит одновременно. Например, число 3 в двоичном коде = 011. Число же 4 в двоичном коде = 100. Соответственно, при переходе от 3 к 4 меняют свое состояние на противоположное все 3 бита одновременно. Считывание такого кода приводит к тому, что из-за несовершенства считывателя, например, из-за неизбежных отклонений (допусков) при производстве кодового диска, изменение информации от каждой из дорожек в отдельности никогда не происходит одновременно. Как следствие, при переходе от одного числа к другому, кратковременно (или постоянно в случае остановки вала энкодера непосредственно на критическом участке перехода!) выдается неверная информация о положении вала. Так, на участке вышеупомянутого перехода от числа 3 к числу 4 очень вероятна выдача числа 7, когда, например, старший бит во время перехода поменял свое значение немного раньше чем остальные. Таким образом, использование обычного двоичного кода может с большой вероятностью приводить к выдаче числа, далёкого от реального значения, и, как следствие, непредсказуемому реагированию системы управления или контроллера на искаженный сигнал энкодера. Чтобы избежать этого применяется так называемый одношаговый код, например, код Грея.

Код Грея (Gray code)

Код Грея (Gray code — назван в честь американского физика Frank Gray) идеально подходит для систем механического позиционирования, в т.ч. абсолютных энкодеров. Код Грея предпочтительнее обычного двоичного тем, что обладает свойством постоянства бинарной комбинации: изменение кодируемого числа на единицу соответствует изменению кодовой комбинации только в одном разряде. Таким образом, Грей-код является так называемым одношаговым кодом. Он строится на базе двоичного по следующему правилу: старший разряд остается без изменения, а каждый последующий разряд инвертируется, если предыдущий разряд исходного двоичного кода равен единице.

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

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

Диск абсолютного энкодера с нанесенным растром в формате кода Грея
Диск абсолютного энкодера с растром в коде Грея

Преимуществом Грей-кода является также его способность зеркального отображения информации. Так, инвертируя старший бит можно простым образом менять направление счета. Эту функцию выполняет, так называемый, вход «Complement». В зависимости от потенциала на этом входе выдаваемое энкодером значение будет возрастающим или спадающим при одном и том же физическом направлении вращения оси.
Поскольку информация, выраженная в коде Грея, имеет чисто кодированный характер, не несущей реальной числовой информации, его необходимо перед дальнейшей обработкой сперва преобразовать в стандартный бинарный (двоичный) код. Преобразование кода Грея в привычный бинарный код можно осуществить программно (в контроллере) или используя простую схему с инверторами и логическими элементами «исключающее или» (XOR) как показано на схеме ниже:

Принципиальная схема преобразователя кода Грея
Схема преобразования кода Грея в двоичный код

Примечание:
*Код Грея может логически преобразовываться в двоичный код когда терминал Vin подключается к 0 V.
**Инвертор
***Исключающее или

Gray-Excess-Code

Обычный одношаговый Грей-код подходит для разрешений, которые могут быть представлены в виде числа возведенного в степень 2. В случаях, где надо реализовать другие разрешения из обычного Грей-кода, вырезается и используется средний его участок. Таким образом, сохраняется «одношаговость» кода. Однако числовой диапазон начинается не с нуля, а смещается на определенное значение. При обработке информации от генерируемого сигнала отнимается половина разницы между первоначальным и редуцированным разрешением. Такие разрешения как, например, 360° для выражения угла часто реализуются этим методом. Так 9-ти битный код Грея равный 512 шагам, урезанный с обеих сторон на 76 шагов будет равен 360°.

Устройство оптического абсолютного энкодера

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

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

Однооборотный энкодер

Однооборотными (Single — Turn) энкодерами называются датчики (энкодеры), которые выдают абсолютное значения в пределах одного оборота, т.е. в пределах оборота 360°. После одного оборота код является полностью пройденным и начинается опять с его начального значения. Эти датчики служат, преимущественно, для измерения угла поворота и применяются, например, в антенных системах, эксцентричных коленчатых прессах и т.д. и т.п..
Разрешение однооборотного энкодера определяется/обозначается количеством бит. Например, у энкодера с разрешением в 16-бит подразумевается разрешение в 65536 меток в обороте.
В свою очередь, чтобы перевести количества меток (шагов) в обороте в угловые градусы достаточно разделить 360° на количество меток, например: разрешение 65536 меток (16 бит) соответствует разрешению: 360/65536=0,005° (угловых градусов).
Ниже приведены самые распространенные разрешения однооборотного энкодера с соответствующими значениями в угловых градусах:
256 (8 Bit) — 1.4°
360 (9 Bit) — 1°
1024 (10 Bit) — 0,35°
4096 (12 Bit) — 0,088°
8192 (13 Bit) — 0,044°)
65536 (16 Bit) — 0,005°

Светодиод, диск энкодера и фотоматрица
Устройство однооборотного энкодера

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

Линейные перемещения предполагают необходимым применение измерительной системы регистрирующей не только положение вала в пределах одного оборота, но и определенного количества оборотов. Например, в линейных приводах или в задачах измерения с помощью зубчатой измерительной штанги уместно применение энкодеров, где дополнительно к измерению угла поворота в пределах одного оборота (первой ступенью энкодера) также происходит регистрация количества оборотов дополнительным, своего рода редуктором (образующим вторую ступень энкодера) состоящим из нескольких кодовых оптических дисков, образуя, таким образом, многооборотный энкодер ( Multi — Turn ). Разрешение многооборотного энкодера, как правило, обозначается раздельно как разрешение в пределах одного оборота + количество оборотов в формате количества бит. Так, комбинация цифр в наименовании энкодера в виде, например, 1216 означает разрешение 12 бит оборотов (4096 оборотов) и 16 бит в обороте (65536 меток на оборот).

Светодиоды, диски многооборотного энкодера и фотоматрицы
Устройство многооборотного энкодера

 Магнитные абсолютные энкодеры

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

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

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

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

Особенности магнитных энкодеров

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

И всё таки — оптический или магнитный?

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

Терминология абсолютных энкодеров

Абсолютный, однооборотный (Singleturn) датчик угла поворотаДатчик угла поворота, который для каждой позиции вала, в пределах одного оборота, выдает однозначную, кодированную информацию. Информация о положении вала сохраняется также и при пропадании напряжения питания.
Абсолютный, многооборотный (Multiturn) датчик угла поворотаДатчик угла поворота, который помимо информации о положении вала в пределах одного оборота выдает также информацию о номере оборота вала. Этот датчик также полностью сохраняет информацию при пропадании напряжения питания, т.к. положение вала в пределах одного оборота и номер оборота регистрируются физически с помощью нескольких, например, оптических кодовых дисков.
ASIAsynchron-Serielles-Interface. Асинхронный интерфейс с последовательной передачей данных. Аппаратная часть (драйвер) реализована по стандарту EIA RS485 или RS422.
ASICСпециальная микросхема высокой интеграции, выполненная под заказ. Используется во многих энкодерах.
BaudrateЧастота (скорость) передачи данных последовательного интерфейса в битах в секунду.
CAN-Bus Multi-Master-Bus-SystemИнтерфейс связи, допускающий подключение к сети (двухпроводной линии связи) нескольких ведомых устройств. В настоящее время для CANopen приняты некоторые нормированные протоколы. Для датчиков угла поворота действует — DSP 406.
Частота смены кода
(Step freqency)
Количество меток (шагов) в секунду для абсолютных энкодеров. Для датчиков с разрешением 13 бит (8192 метки) и 400 kHz частотой смены кода, максимальная электрическая частота вращения составит 3000 min-1.
DatavalidВыход диагностики для перепроверки достоверности посылаемых данных.
Направление вращения
(Complement)
Управляющий вход для установки последовательности данных. Задает направление вращения по- или против- часовой стрелки при котором данные на выходе будут при вращении возрастать.
ТочностьОтклонение измеренного энкодером угла поворота (положения) от фактического. Точность зависит, в первую очередь, от точности нанесения рисунка кода на, например, оптический диск. Риски / секторы нанесенные на диск имеют определенную нелинейность, т.е. неравномерная плотность меток по окружности диска определяет точность энкодера (как правило в процентах).
Preset (Обнуление)Управляющий вход, позволяющий обнулить показания на выходе абсолютного энкодера в любом месте во всей области разрешения без необходимости механического позиционирования вала. Для перепрограммируемого абсолютного энкодера с помощью этого входа может быть программно выставлено любое значение (Offsetwert).
Profibus DPMaster-Slave-Bus-System с двухпроводной линией связи и аппаратным EIA RS485 драйвером. Profibus-DP протокол специфицирован для энкодеров.
Resolution per revolution (Разрешение в обороте)Для однооборотного датчика (Singleturn) указывает максимальное количество меток в пределах одного оборота. Для программируемого энкодера параметр необходимого разрешения в пределах одного оборота энкодера может задаваться пользователем программно. В этом случае энкодер пересчитывает фактическое (физическое) разрешение в более низкое.
Total Resolution
(Общее разрешение)
Общее разрешение многооборотного (Multiturn) энкодера — указывает максимальное количество меток в пределах одного оборота и максимальное количество оборотов.
Для программируемого энкодера параметр необходимого разрешения в пределах одного оборота и количества оборотов энкодера может задаваться пользователем программно. В этом случае энкодер пересчитывает фактическое (физическое) разрешение в более низкое.
SSISynchron-Serielles-Interface. Передача данных от энкодера осуществляется синхронно (бит за битом) по внешнему тактовому импульсу.
Takt +, Takt —Тактовые провода линии связи SSI инерфейса для синхронной передачи данных.Takt + и Takt — образуют гальванически развязанную (от проводов питания) линию связи для приема энкодером тактового сигнала.
Data +, Data —Провода данных линии связи SSI инерфейса для синхронной передачи данных.Data + и Data — образуют гальванически развязанную (от проводов питания) линию связи для выдачи энкодером сигнала данных.