Энкодеры — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
Строка 39: Строка 39:
 
|[[Изображение:SingleEncoder_small.jpg|Одиночный энкодер]]
 
|[[Изображение:SingleEncoder_small.jpg|Одиночный энкодер]]
 
|Считаем количество импульсов.
 
|Считаем количество импульсов.
|1. Дешевизна и простота реализации.
+
|
|1. Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
+
# Дешевизна и простота реализации.
 
+
|
2. Ошибки при подсчете импульсов на границах - могут быть ложные срабатывания из-за "дребезжания".
+
# Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
 
+
# Ошибки при подсчете импульсов на границах - могут быть ложные срабатывания из-за "дребезжания".
3. Невозможность определить направление.
+
# Невозможность определить направление.
 
|-
 
|-
 
|[[Сдвоенный энкодер]]
 
|[[Сдвоенный энкодер]]
 
|[[Изображение:QuadroEncoder_small.gif|Сдвоенный энкодер]]
 
|[[Изображение:QuadroEncoder_small.gif|Сдвоенный энкодер]]
 
|Считаем количество импульсов, учитывая направление.
 
|Считаем количество импульсов, учитывая направление.
|1. Относительная дешевизна и простота реализации.
+
|
 
+
# Относительная дешевизна и простота реализации.
2. Отсутствие ошибок при подсчете импульсов.
+
# Отсутствие ошибок при подсчете импульсов.
 
+
# Возможность определить направление вращения.
3. Возможность определить направление вращения.
+
|
|1. Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
+
# Ошибки инициализации (при запуске системы не ясно в каком положении находимся).
 
|-
 
|-
 
|Энкодер на двоичных кодах
 
|Энкодер на двоичных кодах
 
|[[Изображение:BinaryEncoder_small.jpg|Энкодер на двоичных кодах]]
 
|[[Изображение:BinaryEncoder_small.jpg|Энкодер на двоичных кодах]]
 
|Считываем точное положение в каждый момент времени.
 
|Считываем точное положение в каждый момент времени.
|1. Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
+
|
 
+
# Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
2. Отсутствие ошибок при подсчете импульсов - теперь у нас просто нет такой задачи.
+
# Отсутствие ошибок при подсчете импульсов - теперь у нас просто нет такой задачи.
 
+
# Возможность определить направление вращения.
3. Возможность определить направление вращения.
+
|
|1. Проблемы с граничными положениями - если меняется одновременно более 1 бита, тогда мы можем временно получить некорректное положение. Скажем при смене с положения 001 на 010 может временно быть положение 000 или 011, что принципиально не верно.
+
# Проблемы с граничными положениями - если меняется одновременно более 1 бита, тогда мы можем временно получить некорректное положение. Скажем при смене с положения 001 на 010 может временно быть положение 000 или 011, что принципиально не верно.
 
+
# Относительная дороговизна и сложность реализации.
2. Относительная дороговизна и сложность реализации.
+
# Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.
 
 
3. Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.
 
 
|-
 
|-
|Энкодер на кодах Грэя
+
|Энкодер на [[w:ru:Код Грэя|кодах Грэя]]
 
|[[Изображение:GrayEncoder_small.jpg|Энкодер на кодах Грэя]]
 
|[[Изображение:GrayEncoder_small.jpg|Энкодер на кодах Грэя]]
 
|Считываем точное положение в каждый момент времени.
 
|Считываем точное положение в каждый момент времени.
|1. Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
+
|
 
+
# Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся).
2. Отсутствие ошибок при подсчете импульсов на границах, "дребезжание" легко определяется по направлению.
+
# Отсутствие ошибок при подсчете импульсов на границах, "дребезжание" легко определяется по направлению.
 
+
# Возможность определить направление вращения.
3. Возможность определить направление вращения.
+
# Нет проблемы с граничными положениями - меняется одновременно не более 1 бита.
 
+
|
4. Нет проблемы с граничными положениями - меняется одновременно не более 1 бита.
+
# Относительная дороговизна и сложность реализации.
|1. Относительная дороговизна и сложность реализации.
+
# Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.
 
 
2. Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.
 
 
|}
 
|}

Версия 10:53, 31 мая 2009

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

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


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

Тип сенсора Внешний вид Принцип действия Приблизительная стоимость Где взять
Щелевой датчик положения Щелевой датчик положения Пропускание света через отверстие или наоборот перекрытие света непрозрачным материалом. ? магазины радиотоваров - купить готовый или собрать из более простых компонент
Датчик цвета поверхности Датчик цвета поверхности Измерение яркости отраженного света. ? магазины радиотоваров - купить готовый или собрать из более простых компонент


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

Тип сенсора Внешний вид Принцип действия Плюсы Минусы
Одиночный энкодер Одиночный энкодер Считаем количество импульсов.
  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. Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов.