Энкодеры — различия между версиями
=DeaD= (обсуждение | вклад) |
=DeaD= (обсуждение | вклад) (→Тип получаемой информации) |
||
(не показано 16 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
[[Category:Справочник решений|{{PAGENAME}}]] | [[Category:Справочник решений|{{PAGENAME}}]] | ||
− | + | ==Что такое энкодер== | |
+ | Энкодер - это устройство преобразующее линейное или угловое перемещение в последовательность сигналов - инкрементальный энкодер или энкодер относительного перемещения, или преобразующее линейное или угловое '''положение''' в цифровой код - абсолютный энкодер. | ||
+ | Здесь приведен обзор основных типов энкодеров. Рассмотрены принципы их работы и плюсы и минусы. Все энкодеры делятся на линейные и поворотные (в зависимости от того, что меряем), однако это никак не влияет на то, как можно эти энкодеры реализовать. | ||
+ | |||
+ | ==Принципы получения информации энкодером== | ||
Энкодеры делятся по принципу получения информации сенсором: | Энкодеры делятся по принципу получения информации сенсором: | ||
Строка 11: | Строка 15: | ||
!Приблизительная стоимость | !Приблизительная стоимость | ||
!Где взять | !Где взять | ||
+ | |- | ||
+ | |[[Механический энкодер]] | ||
+ | |[[Изображение:Encmouse.jpg|120px]] | ||
+ | |К одному из боковых выводов подключаем + питания, а другие выводы при вращений сойденяются с ним выдавая такие импульсы[[Файл:Enc0.GIF|120px]] | ||
+ | |Бесплатно или цена мыши | ||
+ | |Компьютерные мышки | ||
|- | |- | ||
|[[Щелевой датчик положения]] | |[[Щелевой датчик положения]] | ||
Строка 25: | Строка 35: | ||
|} | |} | ||
− | + | ==Тип получаемой информации== | |
И по принципу информации которую они получают: | И по принципу информации которую они получают: | ||
{| class="standard" | {| class="standard" | ||
Строка 37: | Строка 47: | ||
|[[Изображение:SingleEncoder_small.jpg|Одиночный энкодер]] | |[[Изображение:SingleEncoder_small.jpg|Одиночный энкодер]] | ||
|Считаем количество импульсов. | |Считаем количество импульсов. | ||
− | | | + | | |
− | | | + | # Дешевизна и простота реализации. |
− | + | | | |
− | + | # Ошибки инициализации (при запуске системы не ясно в каком положении находимся). | |
− | + | # Ошибки при подсчете импульсов на границах - могут быть ложные срабатывания из-за "дребезжания". | |
− | + | # Невозможность определить направление. | |
|- | |- | ||
− | |[[Сдвоенный энкодер]] | + | |[[Сдвоенный энкодер|Сдвоенный (квадратурный) энкодер]] |
|[[Изображение:QuadroEncoder_small.gif|Сдвоенный энкодер]] | |[[Изображение:QuadroEncoder_small.gif|Сдвоенный энкодер]] | ||
|Считаем количество импульсов, учитывая направление. | |Считаем количество импульсов, учитывая направление. | ||
− | | | + | | |
− | + | # Относительная дешевизна и простота реализации. | |
− | + | # Отсутствие ошибок при подсчете импульсов. | |
− | + | # Возможность определить направление вращения. | |
− | + | | | |
− | | | + | # Ошибки инициализации (при запуске системы не ясно в каком положении находимся). |
|- | |- | ||
|Энкодер на двоичных кодах | |Энкодер на двоичных кодах | ||
|[[Изображение:BinaryEncoder_small.jpg|Энкодер на двоичных кодах]] | |[[Изображение:BinaryEncoder_small.jpg|Энкодер на двоичных кодах]] | ||
|Считываем точное положение в каждый момент времени. | |Считываем точное положение в каждый момент времени. | ||
− | | | + | | |
− | + | # Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся). | |
− | + | # Отсутствие ошибок при подсчете импульсов - теперь у нас просто нет такой задачи. | |
− | + | # Возможность определить направление вращения. | |
− | + | | | |
− | | | + | # Проблемы с граничными положениями - если меняется одновременно более 1 бита, тогда мы можем временно получить некорректное положение. Скажем при смене с положения 001 на 010 может временно быть положение 000 или 011, что принципиально не верно. |
− | + | # Относительная дороговизна и сложность реализации. | |
− | + | # Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов. | |
− | |||
− | |||
|- | |- | ||
− | |Энкодер на кодах Грэя | + | |Энкодер на [[w:ru:Код Грэя|кодах Грэя]] |
|[[Изображение:GrayEncoder_small.jpg|Энкодер на кодах Грэя]] | |[[Изображение:GrayEncoder_small.jpg|Энкодер на кодах Грэя]] | ||
|Считываем точное положение в каждый момент времени. | |Считываем точное положение в каждый момент времени. | ||
− | | | + | | |
− | + | # Отсутствие ошибок инициализации (при запуске системы ясно в каком положении находимся). | |
− | + | # Отсутствие ошибок при подсчете импульсов на границах, "дребезжание" легко определяется по направлению. | |
− | + | # Возможность определить направление вращения. | |
− | + | # Нет проблемы с граничными положениями - меняется одновременно не более 1 бита. | |
− | + | | | |
− | + | # Относительная дороговизна и сложность реализации. | |
− | | | + | # Дополнительные ограничения в разрешающей способности, чем выше точность, тем больше надо каналов. |
+ | |} | ||
− | + | ==Ссылки на программы для рисования оптических энкодеров== | |
− | + | Вроде тут есть 1 программа: http://oldradio.onego.ru/PLASTINKI/strobo.zip |
Текущая версия на 12:21, 20 ноября 2009
Содержание
[убрать]Что такое энкодер
Энкодер - это устройство преобразующее линейное или угловое перемещение в последовательность сигналов - инкрементальный энкодер или энкодер относительного перемещения, или преобразующее линейное или угловое положение в цифровой код - абсолютный энкодер.
Здесь приведен обзор основных типов энкодеров. Рассмотрены принципы их работы и плюсы и минусы. Все энкодеры делятся на линейные и поворотные (в зависимости от того, что меряем), однако это никак не влияет на то, как можно эти энкодеры реализовать.
Принципы получения информации энкодером
Энкодеры делятся по принципу получения информации сенсором:
Тип сенсора | Внешний вид | Принцип действия | Приблизительная стоимость | Где взять |
---|---|---|---|---|
Механический энкодер | ![]() |
К одному из боковых выводов подключаем + питания, а другие выводы при вращений сойденяются с ним выдавая такие импульсы |
Бесплатно или цена мыши | Компьютерные мышки |
Щелевой датчик положения | ![]() |
Пропускание света через отверстие или наоборот перекрытие света непрозрачным материалом. | ? | магазины радиотоваров - купить готовый или собрать из более простых компонент |
Датчик цвета поверхности | ![]() |
Измерение яркости отраженного света. | ? | магазины радиотоваров - купить готовый или собрать из более простых компонент |
Тип получаемой информации
И по принципу информации которую они получают:
Тип сенсора | Внешний вид | Принцип действия | Плюсы | Минусы |
---|---|---|---|---|
Одиночный энкодер | ![]() |
Считаем количество импульсов. |
|
|
Сдвоенный (квадратурный) энкодер | ![]() |
Считаем количество импульсов, учитывая направление. |
|
|
Энкодер на двоичных кодах | ![]() |
Считываем точное положение в каждый момент времени. |
|
|
Энкодер на кодах Грэя | ![]() |
Считываем точное положение в каждый момент времени. |
|
|
Ссылки на программы для рисования оптических энкодеров
Вроде тут есть 1 программа: http://oldradio.onego.ru/PLASTINKI/strobo.zip