Энкодер: различия между версиями
Ангелина (обсуждение | вклад) |
Ангелина (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | '''Энкодер''' - устройство, преобразующее угол поворота вращающегося объекта (вала) в цифровые или аналоговые сигналы, позволяющие определить угол его поворота. Проще говоря, это датчик угла поворота - ДУП или преобразователь угловых перемещений. | + | [[Файл:36-1.jpg|мини|274x274пкс|Внешний вид простого энкодера с ручкой]] |
| + | Из-за разных скоростей вращения колес робот может отклоняться в ту или иную сторону во время движения, это связано с тем, что моторы, используемые в наборе, могут немного отличаться. Это контролируется с помощью энкодеров, которые установлены на роботе.'''Энкодер''' - устройство, преобразующее угол поворота вращающегося объекта (вала) в цифровые или аналоговые сигналы, позволяющие определить угол его поворота. Проще говоря, это датчик угла поворота - ДУП или преобразователь угловых перемещений. | ||
Энкодеры применяются в разных системах точных перемещений, в промышленности (станкостроительные заводы); в роботостроении, измерительных устройствах, для которых важен точный учёт измерений вращения, поворота, наклона и угла. Также их применяют в автомобилестроении и компьютерной технике. | Энкодеры применяются в разных системах точных перемещений, в промышленности (станкостроительные заводы); в роботостроении, измерительных устройствах, для которых важен точный учёт измерений вращения, поворота, наклона и угла. Также их применяют в автомобилестроении и компьютерной технике. | ||
| Строка 6: | Строка 7: | ||
== Устройство и виды энкодеров == | == Устройство и виды энкодеров == | ||
| − | Простыми словами, энкодер – это поворотный датчик. Самый обычный датчик оснащён ручкой, которая совершает поворот, как по часовой стрелке, так и против неё. От поворотного угла и направления зависит выдаваемый цифровой сигнал, который информирует либо о том, какое положение приняла ручка, либо её стороне поворота. | + | [[Файл:Encoder kit-1-600x600.jpg|мини|317x317пкс|Оптический инкрементальный энкодер]] |
| + | Простыми словами, энкодер – это поворотный датчик. Самый обычный датчик оснащён ручкой, которая совершает поворот, как по часовой стрелке, так и против неё. От поворотного угла и направления зависит выдаваемый цифровой сигнал, который информирует либо о том, какое положение приняла ручка, либо о её стороне поворота. Такая ручка применяется еще в виде кнопки | ||
Датчики поворотного угла подразделяют по следующим критериям: | Датчики поворотного угла подразделяют по следующим критериям: | ||
| − | * Принцип выдачи данных: | + | * Принцип выдачи данных: инкрементальный и абсолютный; |
* Принцип работы: оптический, магнитный и механический; | * Принцип работы: оптический, магнитный и механический; | ||
=== Инкрементальные энкодеры принцип работы === | === Инкрементальные энкодеры принцип работы === | ||
| − | + | [[Файл:75f445f395178c66bcd66bb84bf5c03f.jpg|слева|мини|248x248пкс|Абсолютный энкодер]] | |
| − | |||
| − | |||
| − | + | '''Инкрементальные (пошаговые, накапливающие) энкодеры''' - англ. increment - увеличение. Оптический инкрементальный энкодер представляет собой тонкий диск с нанесенными на него чередующимися прозрачными и черными участками. Диск закреплен на валу двигателя, а на его краю размещается фото датчик. При вращении диска происходит последовательное перекрывание щели фото датчика. Получая такой сигнал, контроллер может определить скорость вращения диска и величину угла на который повернулся вал. | |
| − | |||
| − | + | Недостаток таких энкодеров состоит в том, что нет нулевой отметки, а значит становится неизвестно количество оборотов, соответственно, нужны дополнительные приспособления, например концевой выключатель) | |
| − | === | + | === Абсолютные энкодеры устройство === |
| − | + | Для устранения главного недостатка инкрементальных энкодеров - потеря позиции при выключении питания, был разработан '''абсолютный энкодер'''. | |
| − | |||
| − | |||
| − | |||
| − | + | Абсолютные (позиционные) энкодеры выдают значения о точном расположении вала в независимости было перемещение или нет. Диск с метками в этом энкодере устроен несколько сложнее. Начиная от края диска, на нем размещаются несколько слоев меток. Каждый слой отвечает за одну позицию в бинарном выходном коде. Для снятия сигнала с каждого слоя, напротив него размещается свой отдельный фото датчик. При этом, в каждом фиксированном положении диска, на выходе имеется строго уникальный бинарный код. | |
== Параметры энкодеров == | == Параметры энкодеров == | ||
| Строка 43: | Строка 39: | ||
* Размер корпуса; | * Размер корпуса; | ||
* Вид крепления. | * Вид крепления. | ||
| + | |||
| + | == Работа с энкодерами == | ||
| + | В нашем случае энкодер представляет собой простое устройство со светодиодом и фотоприемником. Фотоприемник срабатывает при засветке светодиодом, а это происходит, когда в дополнительном колесе появляется отверстие, таким способом можно посчитать скорость вращения колеса, зная количество отверстий в дополнительном колесе. | ||
| + | |||
| + | Работа с энкодерами осуществляется через внешние прерывания, на плате ArduinoUnoвнешние прерывания присутствуют только на двух выводах, это D2 и D3. | ||
| + | |||
| + | attachInterrupt(interrupt, function, mode) | ||
| + | |||
| + | interrupt: номерпрерывания (int) | ||
| + | |||
| + | function: функция, которую необходимо вызвать при возникновении прерывания; эта функция должна быть без параметров и не возвращать никаких значений. Такую функцию иногда называют обработчиком прерывания. | ||
| + | |||
| + | mode: определяет условие, при котором должно срабатывать прерывание. Может принимать одно из четырех предопределенных значений: | ||
| + | |||
| + | LOW - прерывание будет срабатывать всякий раз, когда на выводе присутствует низкий уровень сигнала | ||
| + | |||
| + | CHANGE - прерывание будет срабатывать всякий раз, когда меняется состояние вывода | ||
| + | |||
| + | RISING - прерывание сработает, когда состояние вывода изменится с низкого уровня на высокий | ||
| + | |||
| + | FALLING - прерывание сработает, когда состояние вывода изменится с высокого уровня на низкий | ||
| + | |||
| + | HIGH - прерывание будет срабатывать всякий раз, когда на выводе присутствует высокий уровень сигнала. | ||
== Подключение == | == Подключение == | ||
Версия 23:22, 31 мая 2021
Из-за разных скоростей вращения колес робот может отклоняться в ту или иную сторону во время движения, это связано с тем, что моторы, используемые в наборе, могут немного отличаться. Это контролируется с помощью энкодеров, которые установлены на роботе.Энкодер - устройство, преобразующее угол поворота вращающегося объекта (вала) в цифровые или аналоговые сигналы, позволяющие определить угол его поворота. Проще говоря, это датчик угла поворота - ДУП или преобразователь угловых перемещений.
Энкодеры применяются в разных системах точных перемещений, в промышленности (станкостроительные заводы); в роботостроении, измерительных устройствах, для которых важен точный учёт измерений вращения, поворота, наклона и угла. Также их применяют в автомобилестроении и компьютерной технике.
Принцип работы энкодера заключается в его передаче сигнала на вращающийся объект. При этом он позволяет увидеть угол поворота, направление, скорость и позицию.
Устройство и виды энкодеров
Простыми словами, энкодер – это поворотный датчик. Самый обычный датчик оснащён ручкой, которая совершает поворот, как по часовой стрелке, так и против неё. От поворотного угла и направления зависит выдаваемый цифровой сигнал, который информирует либо о том, какое положение приняла ручка, либо о её стороне поворота. Такая ручка применяется еще в виде кнопки
Датчики поворотного угла подразделяют по следующим критериям:
- Принцип выдачи данных: инкрементальный и абсолютный;
- Принцип работы: оптический, магнитный и механический;
Инкрементальные энкодеры принцип работы
Инкрементальные (пошаговые, накапливающие) энкодеры - англ. increment - увеличение. Оптический инкрементальный энкодер представляет собой тонкий диск с нанесенными на него чередующимися прозрачными и черными участками. Диск закреплен на валу двигателя, а на его краю размещается фото датчик. При вращении диска происходит последовательное перекрывание щели фото датчика. Получая такой сигнал, контроллер может определить скорость вращения диска и величину угла на который повернулся вал.
Недостаток таких энкодеров состоит в том, что нет нулевой отметки, а значит становится неизвестно количество оборотов, соответственно, нужны дополнительные приспособления, например концевой выключатель)
Абсолютные энкодеры устройство
Для устранения главного недостатка инкрементальных энкодеров - потеря позиции при выключении питания, был разработан абсолютный энкодер.
Абсолютные (позиционные) энкодеры выдают значения о точном расположении вала в независимости было перемещение или нет. Диск с метками в этом энкодере устроен несколько сложнее. Начиная от края диска, на нем размещаются несколько слоев меток. Каждый слой отвечает за одну позицию в бинарном выходном коде. Для снятия сигнала с каждого слоя, напротив него размещается свой отдельный фото датчик. При этом, в каждом фиксированном положении диска, на выходе имеется строго уникальный бинарный код.
Параметры энкодеров
Первоначальный параметр любого ДУПа представлен числом импульсов, получаемых за совершение одного оборота (разрешение/разрядность). Зачастую этот параметр равен 1024 за один оборот.
Из других критериев можно выделить:
- Напряжение – от пяти до 24В;
- Вид вала – пустой, сплошной;
- Размер вала/отверстия;
- Вид выхода – транзисторный и другие;
- Размер корпуса;
- Вид крепления.
Работа с энкодерами
В нашем случае энкодер представляет собой простое устройство со светодиодом и фотоприемником. Фотоприемник срабатывает при засветке светодиодом, а это происходит, когда в дополнительном колесе появляется отверстие, таким способом можно посчитать скорость вращения колеса, зная количество отверстий в дополнительном колесе.
Работа с энкодерами осуществляется через внешние прерывания, на плате ArduinoUnoвнешние прерывания присутствуют только на двух выводах, это D2 и D3.
attachInterrupt(interrupt, function, mode)
interrupt: номерпрерывания (int)
function: функция, которую необходимо вызвать при возникновении прерывания; эта функция должна быть без параметров и не возвращать никаких значений. Такую функцию иногда называют обработчиком прерывания.
mode: определяет условие, при котором должно срабатывать прерывание. Может принимать одно из четырех предопределенных значений:
LOW - прерывание будет срабатывать всякий раз, когда на выводе присутствует низкий уровень сигнала
CHANGE - прерывание будет срабатывать всякий раз, когда меняется состояние вывода
RISING - прерывание сработает, когда состояние вывода изменится с низкого уровня на высокий
FALLING - прерывание сработает, когда состояние вывода изменится с высокого уровня на низкий
HIGH - прерывание будет срабатывать всякий раз, когда на выводе присутствует высокий уровень сигнала.
Подключение
В самом лёгком варианте, если имеется возможность, выход преобразователя подключается к входу счётчика и программируется на параметр скорости.
Однако обычно преобразователь используют вместе с контроллером. К нему присоединяют интересующие выходы. Далее программа определяет положение/скорость/ускорение объекта. К примеру, устройство установлено на электродвигательном валу, перемещающем один элемент в сторону другого. После вычислений на устройстве вывода виден зазор между элементами, при достижении которого движение элементов останавливается, для обеспечения их сохранности.