Абсолютный энкодер
Инкрементальный энкодер выдаёт импульсы, и положение вала приходится считать программно. Абсолютный энкодер сразу выдаёт код текущего положения: после включения питания контроллер знает угол без поиска нулевой точки.
Обновлено Редакция GAW
Абсолютный энкодер (absolute encoder) — датчик угла поворота, который в каждый момент выдаёт код текущего положения вала, а не импульсы при движении. Положение однозначно определяется выходным кодом, поэтому после включения питания его не нужно искать по нулевой метке: у TT Electronics EN16AB и Bourns ACE даташиты прямо указывают, что положение сохраняется при пропадании питания — оно задано механикой диска.
Число положений на оборот определяется разрядностью кода: n дорожек дают до 2n положений.
| Энкодер | Положений на оборот | Код | Шаг (наш расчёт) |
|---|---|---|---|
| TT Electronics EN16AB | 12 или 16 | 4-битный код Грея или двоичный | 22,5° при 16 |
| Bourns ACE-128 | 128 | 8-битный, одна дорожка, через таблицу | 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 байт: код с выводов — адрес, содержимое — номер положения.
Источники
- 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 — обычный двоичный код
- Bourns. EAW — Absolute Contacting Encoder (ACE), K2540 05/26R — с. 1: код на одной дорожке, построенный методами комбинаторики; 8-битный выход со 128 абсолютными состояниями; сохраняет последнее положение при отказе питания; рекомендуемая схема — таблица перекодировки на 256 байт (ПЗУ); с. 2: код выводов ACE-128 для положений 0–127, соседние отличаются одним битом, но это не отражённый код Грея
- Gray F. Pulse Code Communication. US Patent 2,632,058, подан 13.11.1947, выдан 17.03.1953 — отражённый двоичный код: соседние значения отличаются одной цифрой
Нашли ошибку?
Смотрите также
- Энкодеры: инкрементальные и абсолютныеКвадратурный сигнал, x1/x2/x4, EC11, HEDS-5540, AS5600, таймер STM32, дребезг, код
- Код ГреяСоседние значения отличаются одним битом
- Код ГреяДвоичный ↔ Грей до 32 бит, таблица, кодовый диск, код на C
- Дребезг контактовСерия переключений вместо одного при нажатии кнопки