Энкодер. Энкодерная лента

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

Широко применяются в промышленности.

Энкодеры подразделяются на инкрементальные и абсолютные, которые могут достигать очень высокого разрешения.

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

Энкодеры могут быть как оптические, резисторные, так и магнитные и могут работать через шинные интерфейсы или промышленную сеть.

Преобразователи угол-код практически полностью вытеснили применение сельсинов.

Инкрементальные энкодеры

Инкрементальные энкодеры предназначены для определения угла поворота вращающихся объектов. Они генерируют последовательный импульсный цифровой код, содержащий информацию относительно угла поворота объекта. Если вал останавливается, то останавливается и передача импульсов. Основным рабочим параметром датчика является количество импульсов за один оборот. Мгновенную величину угла поворота объекта определяют посредством подсчёта импульсов от старта. Для вычисления угловой скорости объекта процессор в тахометре выполняет дифференцирование количества импульсов во времени, таким образом показывая сразу величину скорости, то есть число оборотов в минуту. Выходной сигнал имеет два канала, в которых идентичные последовательности импульсов сдвинуты на 90° относительно друг друга (парафазные импульсы), что позволяет определять направление вращения. Имеется также цифровой выход нулевой метки, который позволяет всегда рассчитать абсолютное положение вала.

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

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

Вот что констатируют в своей работе украинские исследователи Курский А. С., Кайдаш Р. Ю. и Денисенко Д. А. «В качестве высокоточных датчиков использовались прецизионные тахогенераторы постоянного и переменного тока, но и они с трудом обеспечивали заданные требования и к тому же имели массу недостатков. Исключить множество недостатков свойственных аналоговой технике помогло внедрение дискретных импульсных датчиков. Фотоимпульсные датчики имеют большие преимущества практически по всем параметрам (точности, габаритам, надежности, экономичности)… Использование фотоимпульсных датчиков расширяет возможности работы электропривода… «*.

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

Принцип работы фотоимульсных энкодеров - цифровой. Свет проходит от группы светодиодов к группе фотодиодов через прозрачный диск с нанесенными метками. Абсолютный энкодер имеет уникальную комбинацию меток для каждого углового положения, инкрементный - более прост: одинаковые метки равномерно распределены по всему радиусу диска.

Обычно энкодер имеет также т.н. „нулевую метку“, одну - на полный оборот диска. Эта метка имеет калибровочную функцию и не всегда требуется для простых задач измерения скорости. При вращении диска, механически связанного с приводным валом, каждое прохождение метки через светодиодную пару генерирует импульс. Эти импульсы в дальнейшем обрабатываются с помощью электронных устройств (программируемых логических контроллеров, преобразователей постоянного и переменного тока для электродвигателей, счетчиков).

Абсолютные энкодеры иногда имеют встроенный редуктор, который позволяет датчику не только определять точное значение углового перемещения в пределах одного оборота вала, но и отсчитывать количество оборотов вала (обычно с дискретностью 12 бит, т.е. 4096 оборотов вала). Данные абсолютные энкодеры, называемые „абсолютные многооборотные“, часто используются в прецизионных червячных приводах подачи.

Энкодер

Программа ";Энкодер"; предназначена для измерения относительного положения (перемещения), скорости и направления перемещения при помощи оптических датчиков перемещения (энкодеров), подключенных к входным каналам модулей АЦП и анализаторов спектра .

На базе оптических датчиков создаются датчики линейных и угловых перемещений. Точности таких датчиков могут быть от 1 мкм до 1 мм при длине измерительной базы от 8 мм до 3 м. Датчики угловых перемещений могут иметь от 100 до 10000 маркеров на один оборот, т.е. разрешение может быть до 5 минут.

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

Принцип работы энкодеров проиллюстрирован на рисунке 1. Оптический энкодер состоит из тонкого оптического диска и стационарного блока - измерительной головки, включающей в себя источник света и фотодетектор. Оптический диск включает поверхность из прозрачных и непрозрачных участков. Маркерами могут быть, например, отверстия в металлическом листе или метки на стеклянном диске. При вращении диска, в зависимости от его типа, маркеры пропускают или перекрывают луч света, направленный от светового источника к фотоприемнику.

Фотодетектор генерирует сигнал частотой, равной частоте следования кодовых элементов, в цифровой форме или аналоговый импульсный сигнал, который также может быть усилен и оцифрован. При добавлении второй пары ";светодиод-фототранзистор"; с угловым смещением относительно первой, соответствующим четверти периода сигнала, может быть получена вторая последовательность импульсов - канал Б с фазовым смещением относительно канала А на 90°. Инкрементальный энкодер, который использует три оптических датчика, позволяет одновременно удваивать разрешение при измерении положения и скорости и детектировать направление.


Рисунок 1

Датчики линейного и углового перемещения подключаются к модулям АЦП напрямую. Для питания датчиков можно использовать выход генератора. Разрешение инкрементальных энкодеров измеряется в импульсах за оборот (pulses per revolution, ppr). В программе ";Энкодер"; пользователю предоставляется возможность выбора разрешения используемого энкодера (окно ";Разрешение, меток/е.и.";). ";Е.и."; - единица измерения, которая может быть выбрана из ряда ";мм, см, м, гр. (градусы), об. (обороты)"; или прописано вручную в окне ";Единица измерения";.

Инкрементальные энкодеры

Инкрементальные энкодеры предназначены для определения угла поворота вращающихся объектов. Они генерируют последовательный импульсный цифровой код, содержащий информацию относительно угла поворота объекта. Если вал останавливается, то останавливается и передача импульсов. Основным рабочим параметром датчика является количество импульсов за один оборот. Мгновенную величину угла поворота объекта определяют посредством подсчёта импульсов от старта. Для вычисления угловой скорости объекта процессор в тахометре выполняет дифференцирование количества импульсов во времени, таким образом показывая сразу величину скорости, то есть число оборотов в минуту. Выходной сигнал имеет два канала, в которых идентичные последовательности импульсов сдвинуты на 90° относительно друг друга (парафазные импульсы), что позволяет определять направление вращения. Имеется также цифровой выход нулевой метки, который позволяет всегда рассчитать абсолютное положение вала.

Описание и принцип действия энкодеров

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

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

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

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

Магнитно-резистивный абсолютный энкодер

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

В конструкции использован новый ферромагнитный контурный диск, в котором запрессован вал энкодера. Диск считывают магниторезистивные GMR-датчики. На металлическом контурном диске сделаны лишь три инкрементальные дорожки, на которых имеются соответственно 64, 63 и 56 выступов. GMR-датчики сканируют эти три дорожки и генерируют синусоидальные сигналы, соответствующие положению выступов. Каждый оборот вала дает уникальное фазовое соотношение для выступов, которое анализируется по принципу Вернье для определения абсолютного положения. Таким образом, GEL 235 способен обеспечить 16-битовое разрешение за один оборот с точностью не ниже 0,1º, что является рекордным показателем для абсолютных энкодеров магнитного действия.

Подробнее см. на сайте производителя: Lenord

Многолетний опыт показывает: если крупное производство стоит, необходимые меры по локализации и устранению неисправности должны быть предприняты молниеносно. Очень часто причиной аварии является выход из строя электропривода, особенно если он не снабжён энергосберегающими системами автоматического контроля и регулирования скорости.
Производственно-техническая фирма ";Консис"; является интегратором решений в области регулируемого электропривода, а одним из важнейших его элементов, отвечающих за точность работы автоматики привода, являются датчики угловых перемещений, также называемые угловыми шифраторами или энкодерами (от английского encoder - ";кодирующее устройство";). Энкодеры имеют широкое применение в любой отрасли промышленности. Абсолютные и инкрементные энкодеры устанавливаются на приводы бумагоделательных и картоноделательных машин, пресспатов, упаковочных агрегатов, лесозаготовительных машин и деревообрабатывающих станков, продольно- и поперечнорезательных (рубительных) машин, прокатных станов, на приводы лифтов и подъёмных кранов, суппорты токарных станков и координатных столов - то есть на любой мощный электропривод. Настоящий материал посвящен энкодерам, производимым шведской компанией Leine&Linde, которая входит в пятерку ведущих мировых производителей датчиков угловых перемещений.

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

Основные параметры, необходимые для выбора энкодера:
- количество импульсов на оборот (обычно от 1 до 5000);
- количество бит для абсолютных энкодеров (обычно 10, 12, 13, 25);
- диаметр вала или отверстия под вал;
- тип выходного сигнала (HTL, TTL, RS422, двоичный код и код Грея, SSI, Profibus DP, CAN…);
- напряжение питания;
- длина кабеля и тип разъёма;
- дополнительные требования по крепежу (необходимость муфты, монтажного фланца, крепёжной штанги и др.).

Точная центровка при установке датчиков - главное требование для обеспечения их долговременной службы. Исполнение энкодера с валом

(рис. 1) предусматривает установку прецизионной муфты с фланцем, которая должна демпфировать угловое отклонение, осевое биение и несоосность валов при установке. Жёсткое соединение валов может привести к существенному износу подшипников.
Исполнение энкодера с полым ротором

(рис. 2) исключает использование муфты и фланца. Энкодер монтируется непосредственно на нерабочий конец вала двигателя и с помощью штанги закрепляется на корпусе от проворота за валом.
Сейчас все большее распространение получают энкодеры с полым валом - их легче устанавливать, удобнее настраивать и обслуживать. Нужно отметить, что срок службы энкодера при правильном монтаже и подключении должен составлять не менее 50 000 часов, т.е. почти 6 лет.
В таблице приведено сравнительное описание двух систем крепления.

Энкодеры с валом

Энкодеры с полым ротором

Установка

Требует большего количества принадлежностей и точной центровки; занимает больше места (муфта + вал датчика + корпус датчика)

Большого количества принадлежностей не требуется; требуется точная выверка вала, на который монтируется энкодер; занимает меньше места

Устойчивость к ошибке центровки

В зависимости от выбранной муфты очень ограниченная

Высокая на низких оборотах, ограниченная на высоких

Последствия неточной центровки

Нагрузка на подшипники и муфту, большая погрешность сокращает срок службы. Дает ошибку углового измерения в зависимости от типа муфты

Динамическая нагрузка на подшипники возрастает в геометрической прогрессии с увеличением скорости вращения вала. Ошибка измерения пропорциональна погрешности центровки и прямо с ней связана

Устойчивость к осевым биениям

Ограниченная

Очень хорошая

101 % качества
Чтобы наглядно охарактеризовать преимущества энкодеров Leine&Linde, расскажем о той последовательности тестов, которым подвергаются датчики.
Первое, что нужно проверить - его работоспособность, при этом замеряются все его электрические параметры. Диапазон частоты, точность сигналов, защита от короткого замыкания и максимальная нагрузка - лишь некоторые из них. После этого энкодер проходит тестирование в климатической камере, на вибрационном стенде и в лаборатории электромагнитной совместимости.
Климатическая камера поддерживает температуру от -60 до +150 °С. Каждый тест может включать до 20 температурных циклов. Виброустойчивость энкодеров проверяется по трём ортогональным осям, одна из которых параллельна валу датчика. К энкодеру применяются три вибрационных амплитуды: 100, 200 и 300 м/с2. Время стандартного теста - 3 цикла по 20 часов. Уровень вибрации, которому подвергается датчик во время тестов, значительно превышает уровень вибрации в нормальных условиях на производстве. Электромагнитная совместимость (ЕМС) - это, во-первых, требование устойчивости к электромагнитным помехам, а во-вторых - ограничения, накладываемые на оборудование как на источник электромагнитных помех. Энкодеры подвергаются также длительным испытаниям на износоустойчивость. Тест подразумевает работу на максимально допустимых скоростях в течение длительного времени.
Процесс тестирования продукции на заводе Leine&Linde - очень важная часть работы по обеспечению её качества и высокого технического уровня. Неудивительно, что поворотные шифраторы Leine&Linde славятся своим высоким качеством, прочностью и эксплуатационной надёжностью.
ПТФ ";Консис";, являющийся официальным дистрибьютором Leine&Linde в России, гарантирует, что любой энкодер из производственной линейки Leine&Linde может быть собран на заводе и отправлен заказчику в максимально короткие сроки, вплоть до одного рабочего дня.
Если и Вам требуется высокое качество, эксплуатационная надёжность и оптимальные сроки поставки, очень советуем попробовать работать с энкодерами Leine&Linde.

Андрей Боскис

AVR. Учебный Курс. Инкрементальный энкодер.

Энкодер это всего лишь цифровой датчик угла поворота, не более того.

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

Если с абсолютным энкодером все просто, то с инкрементальным бывают сложности. Как его обрабатывать?

С Энкодера выходят два сигнала А и В, сдвинутых на 90 градусов по фазе, выглядит это так:

В оптическом же может быть два фонаря и два фотодиода, святящие через диск с прорезями (шариковая мышка, ага. Оно самое).

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

Оптический подключается в зависимости от типа оптодатчика, обычно там стоит два фотодиода с общим анодом.

Обычно, все пытаются работать с ними через прерывания INT, но этот метод так себе. Проблема тут в дребезге - механические контакты, особенно после длительного пользования, начинают давать сбои и ложные импульсы в момент переключения. А прерывание на эти ложные импульсы все равно сработает и посчитает что нибудь не то.

Метод прост:
Подставим нули и единички, в соответствии с уровнем сигнала и запишем последовательность кода:

A:0 0 1 1 0 0 1 1 0 0 1 1 0
B:1 0 0 1 1 0 0 1 1 0 0 1 1

Если A и B идут на одни порт контроллера (например на A=PB0 B=PB1), то при вращении энкодера у нас возникает меняющийся код:

11 = 3
10 = 2
00 = 0
01 = 1
11 = 3

Теперь остается только циклически опрашивать наш энкодер сравнивая текущее состояние с новым и на основании этого делающего выводы о вращении. Причем частота опроса должна быть такой, чтобы не пропустить ни одного импульса. Например, мой EC12 имеет 24 импульса на оборот. Вращать его предпологается вручную и я вряд ли смогу вращать его с космической скоростью, но решил все же замерить. Подключился к осциллографу, крутнул ручку что есть мочи:

Выжал меньше килогерца. Т.е. опрашивать надо примерно 1000 раз в секунду. Можно даже реже, будет надежней в плане возможного дребезга. Сейчас, кстати, дребезга почти нет, но далеко не факт что его не будет потом, когда девайсина разболтается.

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

// Эту задачу надо запускать каждую миллисекунду.

// EncState глобальная переменная u08 -- предыдущее состояние энкодера

// EncData глобальная переменная u16 -- счетный регистр энкодера

void EncoderScan(void)

New = PINB & 0x03; // Берем текущее значение

// И сравниваем со старым

// Смотря в какую сторону оно поменялось -- увеличиваем

// Или уменьшаем счетный регистр

switch(EncState)

if(New == 3) EncData++;

if(New == 0) EncData--;

if(New == 2) EncData++;

if(New == 1) EncData--;

if(New == 0) EncData++;

if(New == 3) EncData--;

if(New == 1) EncData++;

if(New == 2) EncData--;

EncState = New; // Записываем новое значение

// Предыдущего состояния

SetTimerTask(EncoderScan,1); // Перезапускаем задачу через таймер диспетчера

Почему я под счетчик завел такую большую переменную? Целых два байта? Да все дело в том, что у моего энкодера, кроме импульсов есть еще тактильные щелчки. 24 импульса и 24 щелчка на оборот. А по моей логике, на один импульс приходится четыре смены состояния, т.е. полный период 3201_3201_3201 и один щелчок дает 4ре деления, что некрасиво. Поэтому я считаю до 1024, а потом делю сдвигом на четыре. Получаем на выходе один щелочок - один тик.

Скоростной опрос на прерываниях
Но это механические, с ними можно простым опросом обойтись - частота импульсов позволяет. А бывают еще и высокоскоростные энкодеры. Дающие несколько тысяч импульсов на оборот, либо работающие на приводах и вращающиеся очень быстро. Что с ними делать?

Ускорять опрос занятие тупиковое. Но нас спасает то, что у таких энкодеров, как правило, есть уже свои схемы подавления дребезгов и неопределенностей, так что на выходе у них четкий прямоугольный сигнал (правда и стоят они совершенно негуманно. От 5000р и до нескольких сотен тысяч. А что ты хотел - промышленное оборудование дешевым не бывает).

Так что без проблем можно применять прерывания. И тогда все упрощается неимоверно. Настраиваем всего одно прерывание по внешнему сигналу. Например, INT0 настраиваем так, чтобы сработка шла по восходящему фронту. И подаем на INT0 канал А.

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

А в обработчике прерывания INT0 щупаем вторым выводом канал В. И дальше все элементарно!

Если там высокий уровень - делаем +1, если низкий -1 нашему счетному регистру. Кода на три строчки, мне даже писать его лень.

Конечно, можно такой метод прикрутить и на механический энкодер. Но тут надо будет заблокировать прерывания INT0 на несколько миллисекунд. И НИ В КОЕМ СЛУЧАЕ нельзя делать это в обработчике.

Алгоритм прерывания с антидребезгом будет выглядеть так:

    Зашли в обработчик INT0

    Пощупали второй канал

  • Запретили локально INT0

    Поставили на таймер событие разрешающее INT0 через несколько миллисекунд

    Синтезатор предназначен для работы в устройствах с промежуточной частотой... можно встретить и иные именования энкодеров c идентичным принципом работы . Полярные конденсаторы электролитические, остальные...

  • Элементы и функциональные устройства систем автоматики

    Конспект

    ... принципы их работы . Принцип работы амплитудного детектора поясняет рис.25. Устройство ... абсолютных перемещений, абсолютными энкодерами . Датчики положения, позиционирования... – не магнитные и т.д. Энкодеры выпускаются разных типов: тахометрические (...

  • Ооо «русучприбор»

    Документ

    Вала (на базе инкрементного энкодера ); тензометрический комплекс для... вала (на базе инкрементного энкодера ); тензометрический комплекс для... Лабораторный стенд для изучения устройства и принципов работы микропроцессорной системы бортового контроля...

  • Воспользуйтесь информацией для поиска работы подбора обучения и переобучения персонала! помощь в поиске работы и подборе персонала на сайте / для обучения и переобучения персонала можно обратиться в

    Документ

    ... принцип работы пропорционального клапана давления; - Электрогидравлические усилители; - Конструкция и принцип работы пропорциональных дросселей и распределителей; - Конструкция и принцип работы ... исполнительными устройствами ; -Принципы ... энкодером ...

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

Хотя должен признаться опыт работы с энкодерами имел. Как-то в одной и поделок использовал энкодер из принтера.

В данной истории все приключилось внезапно. Ползая по своим хоббийным форумам натолкнулся на конкурс. Сайт (называть не буду, т.к. разговор не о нем) проводил видимо раскрутку посещаемости и плюс один из форумчан проводил раскрутку своих российского производства изделий. И разыгрывался комплект из 3 наборов для самостоятельной сборки сервоконтроллеров. Я зарегистрировался на этом форуме, подал заявку (вместе с 3 или 4-мя всего лишь участниками) и… выиграл.

Так я стал обладателем 3-х наборов для сборки сервоконтроллеров. Далее мне потребовались энкодеры. Позволю себе объяснить для читателей не так глубоко погруженных в электронные компоненты, что такое сервоконтроллер, энкодер и с чем все это едят.

Есть 2 основных способа управлять точным перемещением в изделиях с ЧПУ (числовое программное управление). Попробую объяснить максимально доступным языком, без сложных схем и терминов.
Первый способ это шаговые двигатели. Шаговый двигатель имеет сложное устройство - несколько катушек, притягивающих сердечник в заданных положениях.

Количество положений, в которых может быть зафиксирован сердечник называется шагами, промежуточные положения (регулируются различными промежуточными напряжениями и соответственно магнитными полями) называют микрошагами. Управляет шаговым двигателем драйвер - это плата управления, как правило с микропереключателями шагов и регулировкой тока, протекающего через двигатель. На вход драйвера подаются сигналы: Enable (разрешить работу шагового двигателя), DIR (направление вращения), STEP (количество шагов, на которое двигателю необходимо повернуть вал). И драйвер переводит команды в обороты вала двигателя. Очень простая и надежная конструкция. Из минусов - скорость вращения двигателя ограничена из-за его конструктива, и если двигатель пропустит по той или иной причине шаги, то управляющая программа об этом не узнает. Отсюда и область применения - низко и среднескоростные двигатели в заданной области нагрузок. Например 3Д принтер или хоббийные станки.

Второй способ управлять перемещениями - сервомотор. Мотор сам по себе может быть любым, постоянного или переменного тока, без разницы. Единственное условие, его вал должен иметь энкодер. Энкодер - это устройство определения позиции вала в данный момент времени. Об энкодерах мы поговорим подробнее чуть позже. Сервоконтроллер имеет другой принцип работы, в отличии от драйвера шагового двигателя. Сервоконтроллер получает на входе те же самые сигналы Enable, STEP, DIR и подает на двигатель напряжение. Двигатель начинает вращаться в нужном направлении, энкодер возвращает данные о положении вала двигателя. Как нужное положение достигается, вал двигателя в нем фиксируется. Конечно это сильно упрощено, т.к. есть ускорение и торможение двигателя, управление током и напряжением, пропорционально-интегрально-дифференцирующий (ПИД) регулятор в контуре обратной связи,… но мы же договорились в этот раз не сильно лезть в теорию.

Какие же плюсы серводвигателей: любая скорость вращения, отсутствие пропуска шагов, бесшумность (шаговый двигатель ощутимо громок в работе из-за своего конструктива). Но цена сервоконтроллеров выше и существенно драйверов шаговых двигателей. Поэтому основная ниша сервоконтроллеров - профессиональное применение.

Для своего проекта я выбрал двигатели Динамо Сливен. Эти двигатели широко использовались в советское время в ЭВМ и их было какое-то нереально большое количество. Кажется, что практически любой хоббийщик или имеет такой двигатель или сталкивался с ним. На барахолках их до сих пор перепродают. Это двигатели постоянного тока с фантастическим неубиваемым ресурсом и устойчивостью к любым издевательствам.

В качестве сервоконтроллера я использовал выигранную плату. Она представляет собой развитие open source сервоконтроллера, известного под устойчивым брендом «сервоконтроллер Чена» - по имени китайца, году так в 2004-м, если не ошибаюсь, предложившим данную схему.

Теперь уже практически переходим сути обзора - к энкодерам. Выбор энкодера был осуществлен по характеристикам и цене. Какие бывают типы энкодеров. В основном это оптические и магнитные. Магнитные - когда на краях диска закреплены магниты, а возле них находится датчик Холла.

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

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

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

Для этого используется не один фотодиод, а несколько, обычно 4. Они формируют 2 независимых канала передачи данных, и сравнивая сигналы с этих каналов можно однозначно сделать вывод о направлении вращения диска.

Какие же недостатки есть у данного инкрементального энкодера? Недостаток один, но для ряда применений он критичный. При инициализации энкодера мы не знаем в каком положении находится диск. Т.е. мы можем узнать только направление и скорость вращения диска.

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

Абсолютные энкодеры используют диск со сложной системой кодировки положения. Наиболее распространен код Грея - двоичная кодировка с защитой от ошибок.

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

Вот фотка 3-х пришедших мне энкодеров. Дошли они недели за 3.

У энкодеров 4 вывода, Красный - питание 5В, Черный - земля, Цветные - каналы А и В.
Я быстренько выточил втулочку на вал двигателя под крепление диска, ввинтил туда стержень с резьбой.

На 3Д принтере распечатал площадку под крепление датчика энкодера

Собрал все вместе

Подключил сервоконтроллер, и… тут бы был счастливый конец обзору, но нет. Ничего не заработало. Даже близко ничего не заработало.

Подключил осциллограф и понял, что никаких квадратурных сигналов на выходе нет, только шумы, наводки и непонятные выплески. Грешил я на все на свете. И на требовательность к позиционированию, и на засветку, и на наводки электромагнитные. И часами аккуратно возюкал датчик в разных положениях, выключал свет и пытался проделать все тоже самое в темное. «Крокодил не ловится, не растет кокос.» Разумеется я перепробовал все 3 энкодера. Везде тоже самое. И тут меня дернуло поразглядывать датчик в микроскоп.

То что я увидел повергло меня в изумление. Все 4 сенсора стояли в ряд по радиусу диска, т.е. засвечивались через прорезь диска одновременно. Разумеется ничего не работало. Датчики должны стоять перпендикулярно радиусу диска, и засвечиваться последовательно разными фронтами прорези диска. Я не мог поверить, что это так просто и так глупо. Китайцы поставили датчик с поворотом на 90 градусов. Я спросил на форуме у такого же как я покупателя таких же энкодеров как у него стоит датчик. И у него все было также неправильно и не работало.

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

Поднес датчик к диску так чтобы сенсоры был поперек рисок. Конечно датчик корректно не встал, но на осциллографе начал появляться какой-то осмысленный сигнал.

На фото видно, что сенсоры стали перпендикулярно радиусу диска.

Собрал, подключил к сервоконтроллеру и… Бинго, все заработало! Мотор встал в режим удержания позиции. Т.е. при попытке проворота вала двигателя, мотор упирается и если его все же провернуть, то возвращается в исходное положение.

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

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

Я написал продавцу, он пока шлет мне тонну технических описаний и предлагает попробовать еще, и намекает, что это я не разобрался. Буду на него давить. Пусть хоть часть денег вернет. Я столько времени угрохал из-за их заводского разгильдяйства.

Всем добра и удовольствия от хобби!

Планирую купить +17 Добавить в избранное Обзор понравился +120 +226

Слово «энкодер» имеет англоязычное происхождение. Оно возникло от слова encode, что значит «преобразовывать». Наиболее известными мировыми производителями данных приборов являются такие известные бренды как Siemens, СКБ ИС, HEIDENHAIN RLS, Baumer, SICK AG, Balluff, Schneider electric (Autonics Telemecanique), OMRON.

Сфера и цель применения

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

Ранжирование энкодеров

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

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

Инкрементальные энкодеры

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

Инкрементальный энкодер - это устройство, функционирующее на основе данных импульсов, образующихся при вращении. Количество импульсов на единицу оборота - это и есть основной рабочий параметр данного устройства. Текущее значение определяется датчиком по методу подсчета количества импульсов от точки отсчета. С целью привязки систем отсчета на импульсном энкодере устанавливаются референтные метки, которые являются стартовыми после включения оборудования. Определение данных при помощи инкрементального преобразователя возможно лишь во время вращения или поворота. При остановке вращения все данные энкодера обнуляются. В итоге при последующем включении предыдущие данные счетчика будут неизвестны. Для удобства его эксплуатации следует привести вал в исходное положение. Инкрементальный энкодер идеально справляется с задачей поворота. При помощи подсчета количества импульсов от референтной метки можно с точностью определить также текущую координату угла вращения объекта.

Абсолютные энкодеры

Так называют абсолютный Обычно в подобных энкодерах наблюдаются более сложные процессы электронной обработки сигналов и имеется оптическая схема. Но зато они выдают реквизиты объекта сразу после включения, что зачастую является обязательным для корректного функционирования системы в целом. По сравнению с инкрементальными использование абсолютных энкодеров позволяет решать значительно более широкий круг задач, так как измерения производятся не при помощи фиксации импульсов, а специальными цифровыми кодами. Единица измерения подобного аппарата - это число уникальных цифровых кодов за единицу вращения (1 оборот).

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

Разновидности абсолютных энкодеров

В зависимости от особенностей характеристик аюсолютные энкодеры могут различаться типом крепления, наличием несквозного или сквозного, полого или выступающего вала. Ассортимент таких устройств также очень разнообразен с точки зрения внешних характеристик: длины, диаметра корпуса и так далее. Кроме того, известно, что абсолютные положений во время вращения бывают многооборотными и однооборотными. Однооборотные производят определение текущей координаты в пределах 1 оборота, а многооборотные способны к распознанию еще нескольких дополнительных оборотов.

Оптический энкодер - что это?

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

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

Типы датчиков в зависимости от принципа работы

По характеристикам работы энкодеры делятся на магнитные и фотоэлектрические.

Физический принцип работы первых базируется на применении открытого в 1879 году Э. Холлом. В данном случае разность потенциалов возникает лишь при помещении проводника постоянного тока в область магнитного поля.

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

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

Фотоэлектрический энкодер - это датчик, функционирующий на базе фотоэлектрического эффекта, который наблюдается в результате воздействия света на вещество. Открыт данный принцип в 1887 году Г. Герцем. В процессе работы датчика данного типа наблюдается постоянное преобразование светового луча в электрический сигнал.

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

Что такое Энкодер.

Энкодер или датчик угла поворота – это электромеханическое устройство, предназначенное для преобразования углового положения вала или оси в электрические сигналы (рис 11.1). Существует два основных типа энкодеров - инкрементные и абсолютные.

Абсолютный энкодер

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

В данном примере абсолютный энкодер имеет 32 сектора. Соответственно, для их кодирования нужно log 2 (32) = 5 дорожек. Номера секторов обычно задаются кодом Грея . На каждую дорожку диска необходим отдельный датчик.

Код Грея

Обычное представление последовательности двоичных чисел не используется при построении абсолютных энкодеров из-за существенного недостатка.

Представим себе абсолютный энкодер, к примеру, 8-разрядный (угловой или линейный - не имеет значения). Он отслеживает перемещение по нарастанию координаты. Изменение его состояний приведено в таблице 11.1.

На середине шкалы, при переходе от значения 127 к 128, на выходе энкодера меняются одновременно все разряды. В идеальном случае все разряды меняются одновременно. В реальности же двух совершенно одинаковых датчиков не бывает, все они хоть немного отличаются друг от друга чувствительностью, быстродействием и т.д.; к этому добавляется неидеальность юстировки при расположении восьми датчиков в линейку. Это приведет к тому, что в процессе перехода от значения 127 (01111111) к 128 (10000000) мы ожидаем увидеть любое 8-разрядное двоичное число.

На рис 11.3 представлен пример такого изменения выхода при переключении состояния из 7Fh в 10h. Вместо перехода 7Fh → 10h можно наблюдать выходную последовательность: 7Fh → 7Bh → 75h → 71h → F1h → D1h → 90h →10h. Этот эффект может иметь крайне негативные последствия.

Предположим, что энкодер стоит в системе управления точным приводом. Контроллер, реализующий управление посредством петли обратной связи, сравнивает координату с датчика с желаемым положением инструмента и управляет сервомотором, перемещающим инструмент. Привод получает команду позиционирования в точку 128. Он успешно доезжает до 127 и на минимальной скорости, чтобы не проскочить по инерции, преодолевает последнюю ступеньку до 128.

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

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

Всех этих неприятностей можно легко избежать, если использовать для представления координаты код Грея . Основная его особенность состоит в том, что при увеличении или уменьшении величины на единицу код Грея для этой величины изменяется лишь в одном разряде. Как соотносится код Грея и двоичный код, показано в таблице 11.2.

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

Инкрементальный энкодер

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

Рис 11.4

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

Подсчитывая количество импульсов от датчика, можно определить угол поворота диска относительно предыдущего положения; однако невозможно определить направление вращения диска. Для определения направления используется второй датчик, смещенный относительно первого на четверть шага (половину ширины штриха или промежутка между ними). По разности фаз сигналов датчиков определяется направление вращения диска.

Сравнение абсолютного и инкрементального энкодеров

Обе разновидности углового энкодера имеют свои достоинства и недостатки.

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

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

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

Простейшая процедура обработки сигналов инкрементального энкодера.

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

Как уже говорилось ранее, декодер имеет два датчика: A и B. Датчики сдвинуты друг относительно друга на половину ширины штриха (или четверть шага диска), поэтому сигналы получаются сдвинуты по фазе на p/2. Примем для определенности, что сигнал B отстает от сигнала A при повороте диска против часовой стрелки:

Из рис. 11.5 видно, что при движении диска против часовой стрелки (состояния 0-1-2-3-4...) в момент перехода сигнала A из состояния 0 в 1 (передний фронт) сигнал B всегда находится в состоянии 0 (см. состояния 0, 4, 8). Если же диск движется по часовой стрелке (7-6-5-4-3...), сигнал B всегда находится в состоянии 1 (состояния 6, 2).

Отсюда вытекает простейшая процедура обработки сигналов декодера: по переднему фронту сигнала A проверить состояние сигнала B; если он равен 0, увеличить счетчик координаты на единицу, в противном случае уменьшить его на единицу.

Этот алгоритм вполне пригоден для применения в некритичных устройствах, когда погрешность определения координаты не приводит к фатальным последствиям: не так давно вытесненные оптическими роликовые мыши/трекболы, валкодеры магнитол и т. п. Однако он не годится для применений, в которых точность определения координаты является решающим фактором.

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

Но, даже если бы удалось избавиться от дребезга полностью, останется другая проблема. Предположим, что диск находится в положении между точками 3 и 4 на рис. 3 (назовем такую точку 3.5). При перемещении в точку 4.5 в точке 4 сигнал A переходит из 0 в 1, и согласно нашей процедуре координата диска увеличивается на единицу (поскольку сигнал B равен нулю на переднем фронте импульса A). Затем диск возвращается из 4.5 обратно в 3.5, но, поскольку при обратном движении диска в точке 4 сигнал A переходит из 1 в 0, наша процедура игнорирует это событие.

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

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

Стоит отметить, что любой инкрементный энкодер имеет 2 типа состояний: устойчивое и не устойчивое. Устойчивые состояния энкодера расположены через один период сигнала А. Не устойчивые состояния – это все остальные. Из неустойчивых состояний энкодер легко переходит в устойчивое. Т.о. за точку отсчёта можно принимать только утойчивые состояния.