Энкодеры

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск

Что такое энкодер

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

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


Принципы получения информации энкодером

Энкодеры делятся по принципу получения информации сенсором:

Тип сенсора Внешний вид Принцип действия Приблизительная стоимость Где взять
Механический энкодер Encmouse.jpg К одному из боковых выводов подключаем + питания, а другие выводы при вращений сойденяются с ним выдавая такие импульсыEnc0.GIF Бесплатно или цена мыши Компьютерные мышки
Щелевой датчик положения Щелевой датчик положения Пропускание света через отверстие или наоборот перекрытие света непрозрачным материалом. ? магазины радиотоваров - купить готовый или собрать из более простых компонент
Датчик цвета поверхности Датчик цвета поверхности Измерение яркости отраженного света. ? магазины радиотоваров - купить готовый или собрать из более простых компонент

Тип получаемой информации

И по принципу информации которую они получают:

Тип сенсора Внешний вид Принцип действия Плюсы Минусы
Одиночный энкодер Одиночный энкодер Считаем количество импульсов.
  1. Дешевизна и простота реализации.
  1. Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
  2. Ошибки при подсчете импульсов на границах - могут быть ложные срабатывания из-за "дребезжания".
  3. Невозможность определить направление.
Сдвоенный (квадратурный) энкодер Сдвоенный энкодер Считаем количество импульсов, учитывая направление.
  1. Относительная дешевизна и простота реализации.
  2. Отсутствие ошибок при подсчете импульсов.
  3. Возможность определить направление вращения.
  1. Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
Энкодер на двоичных кодах Энкодер на двоичных кодах Считываем точное положение в каждый момент времени.
  1. Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
  2. Отсутствие ошибок при подсчете импульсов - теперь у нас просто нет такой задачи.
  3. Возможность определить направление вращения.
  1. Проблемы с граничными положениями - если меняется одновременно более 1 бита, тогда мы можем временно получить некорректное положение. Скажем при смене с положения 001 на 010 может временно быть положение 000 или 011, что принципиально не верно.
  2. Относительная дороговизна и сложность реализации.
  3. Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.
Энкодер на кодах Грэя Энкодер на кодах Грэя Считываем точное положение в каждый момент времени.
  1. Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
  2. Отсутствие ошибок при подсчете импульсов на границах, "дребезжание" легко определяется по направлению.
  3. Возможность определить направление вращения.
  4. Нет проблемы с граничными положениями - меняется одновременно не более 1 бита.
  1. Относительная дороговизна и сложность реализации.
  2. Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.

Ссылки на программы для рисования оптических энкодеров

Вроде тут есть 1 программа: http://oldradio.onego.ru/PLASTINKI/strobo.zip