Энкодер


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

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

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

Кроме того, энкодеры различаются по принципу действия:
1) с щеточными контактами;
2) резисторные (потенциометры);
3) оптические;
4) магнитные (на датчиках Холла);
5) индуктивные;
6) ёмкостные.

Пример использования магнитного энкодера мы видели у робота-пылесоса Neato XV-11,

— на валу двигателя закреплён пластиковый диск с магнитиками, на которые реагирует датчик Холла.
А стандартный оптический энкодер мы можем наблюдать у роботов-пылесосов iRobot Roomba 400-серии (iRobot Create),

или в компьютерных мышках.


Принцип действия оптического энкодера:

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

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


Т.о., оптические энкодеры работают по двум принципам:
* на просвет;
* на отражение.



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

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

* Одиночный энкодер — считаем количество импульсов


Плюсы:
+ самый простой и доступный вариант энкодера (только один датчик — излучатель+приёмник).

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

* Сдвоенный (квадратурный) энкодер — считаем количество импульсов, учитывая направление.

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

Плюсы:
+ относительная простота реализации (два датчика);
+ отсутствие ошибок при подсчете импульсов;
+ возможно определить направление вращения.

Минусы:
— ошибки инициализации (при старте системы, не ясно в каком положении находимся).

* Энкодер на двоичных кодах — позволяет считывать точное положение в каждый момент времени.


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

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

* Энкодер на кодах Грэя — позволяет считывать точное положение в каждый момент времени.


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

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

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

2. фото-датчик (светодиод + фото-приёмник).

Для энкодеров «на отражение» можно использовать фотопрерыватель (photo-interrupter), который в одном корпусе содержит оба элемента.

различные варианты паттернов энкодеров:


Пример энкодера в колесе от Pololu

На плате стоят фотопрерыватели, фиксирующие отражённый сигнал от белых зубцов внутри колеса.

Ссылки:
http://ru.wikipedia.org/wiki/Датчик_угла_поворота
http://roboforum.ru/wiki/Энкодеры
http://ru.wikipedia.org/wiki/Код_Грея
Building a Self-Balancing Robot: Motor Driver and Wheel Encoder

По теме:
Энкодер и шкала
Датчики Холла
Одометрия
  • +4
  • 28 января 2012, 15:07
  • admin

Комментарии (2)

RSS свернуть / развернуть
+
+1
Отменная статья! Большое спасибо! Отличный обзор.
Как раз покажу своим студакам.
avatar

vasiliok

  • 28 января 2012, 16:33
+
0
Спасибо )
avatar

admin

  • 30 января 2012, 06:29

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.