Перейти к содержанию

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

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

Обновлено Редакция GAW

Абсолютный энкодер (absolute encoder) — датчик угла поворота, который в каждый момент выдаёт код текущего положения вала, а не импульсы при движении. Положение однозначно определяется выходным кодом, поэтому после включения питания его не нужно искать по нулевой метке: у TT Electronics EN16AB и Bourns ACE даташиты прямо указывают, что положение сохраняется при пропадании питания — оно задано механикой диска.

Число положений на оборот определяется разрядностью кода: n дорожек дают до 2n положений.

N≤2n,Δφ=360∘N.N \le 2^n, \qquad \Delta\varphi = \frac{360^\circ}{N}.
ЭнкодерПоложений на оборотКодШаг (наш расчёт)
TT Electronics EN16AB12 или 164-битный код Грея или двоичный22,5° при 16
Bourns ACE-1281288-битный, одна дорожка, через таблицу2,8°

Почему код Грея

Дорожки диска считываются контактами или датчиками, которые срабатывают не строго одновременно. Если код обычный двоичный, на переходе 7 → 8 меняются четыре бита, и на мгновение можно прочитать любое из положений. В коде Грея соседние положения отличаются одним битом, поэтому ошибка на границе — не больше одного шага. У EN16AB в варианте на 16 положений выходы 1–4 образуют 4-битный код Грея положения, а отдельный вариант исполнения выдаёт обычный двоичный код. Bourns в ACE-128 пошёл дальше: весь 8-битный код размещён на одной дорожке, соседние положения тоже отличаются одним битом, но код не отражённый, и номер положения получают по таблице на 256 байт.

Где применяют

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

Не путать с инкрементальным энкодером — он выдаёт две последовательности импульсов со сдвигом на четверть периода и не знает абсолютного положения, — и с потенциометром, который даёт аналоговое напряжение. Обе разновидности, декодирование квадратурного сигнала и магнитные датчики угла разобраны в статье «Энкодеры»; перевести код Грея в номер положения поможет калькулятор кода Грея.

Частые вопросы

Чем абсолютный энкодер отличается от инкрементального?

Инкрементальный выдаёт импульсы при повороте, и положение получают их подсчётом от известной точки — после выключения питания счёт теряется. Абсолютный выдаёт код самого положения: у TT Electronics EN16AB это 4-битный код одного из 16 положений, и по даташиту положение сохраняется после пропадания питания.

Зачем в абсолютном энкодере код Грея?

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

Почему для Bourns ACE-128 нужна таблица?

Его 8-битный код на одной дорожке подобран так, что соседние из 128 положений отличаются одним битом, но это не отражённый код Грея, и формулой его в номер положения не перевести. Bourns рекомендует таблицу перекодировки на 256 байт: код с выводов — адрес, содержимое — номер положения.

Источники

  1. TT Electronics / BI Technologies. EN16AB Series 16 mm Absolute Encoder, Rev A 02/2022 — с. 1: абсолютный энкодер, положение сохраняется после пропадания питания; 12 или 16 положений на оборот, 12 В / 4 мА, ресурс не меньше 30 000 циклов; с. 6 Output Signal Format: 16 положений — 4-битный код Грея на выводах 1–4 (варианты X = 0 и X = 1 — разный порядок выводов), вариант X = 2 — обычный двоичный код
  2. Bourns. EAW — Absolute Contacting Encoder (ACE), K2540 05/26R — с. 1: код на одной дорожке, построенный методами комбинаторики; 8-битный выход со 128 абсолютными состояниями; сохраняет последнее положение при отказе питания; рекомендуемая схема — таблица перекодировки на 256 байт (ПЗУ); с. 2: код выводов ACE-128 для положений 0–127, соседние отличаются одним битом, но это не отражённый код Грея
  3. Gray F. Pulse Code Communication. US Patent 2,632,058, подан 13.11.1947, выдан 17.03.1953 — отражённый двоичный код: соседние значения отличаются одной цифрой

Нашли ошибку?