Поворотный энкодер что это
Принцип работы энкодера, как он устроен и как работает
Что это такое и где применяется
Энкодер (ДУП) – это специальное устройство, необходимое для точного измерения интересующих параметров движения детали цифровым способом (угол поворота/направление/скорость и позиция), к примеру, редуктора или вала на электродвигателе. Стоит отметить, что данное устройство может носить название преобразователя угловых помещений.
Своё применение энкодер нашёл в разных системах точных перемещений, в промышленности (станкостроительные заводы); в роботостроении, измерительных устройствах, для которых важен точный учёт измерений вращения, поворота, наклона и угла. Также их применяют в таких сферах как: автомобилестроение и компьютерная техника.
Принцип работы энкодера заключается в его передаче сигнала на вращающийся объект. При этом он позволяет увидеть такие данные как: угол поворота/направление/скорость и позиция.
Устройство и виды энкодеров
Как вы уже узнали, энкодер – это поворотный датчик. Самый простой датчик оснащён ручкой, способной совершать поворот, как по стрелке часов, так и против неё. От поворотного угла и направления зависит выдаваемый цифровой сигнал, который информирует либо о том, какое положение приняла ручка, либо её стороне поворота. Обычно у таких энкодеров ручка применяется ещё в виде кнопки.
Датчики поворотного угла подразделяют по следующим критериям:
Инкрементальный энкодер принцип работы
Имея более простую конструкцию, преобразователь формирует импульсы, благодаря которым устройство приёма информации определяет нынешнее положение объекта, подсчитывая счётчиком число импульсов. Сразу после приведения данного вида ДУПа в действие положение интересующего объекта (вала) неизвестно. Для подключения системы отсчёта непосредственно к отсчётному началу такие датчики оснащены нулевой меткой. Через них валу необходимо пройти после соответствующего включения устройства.
Из недостатков данного вида датчиков можно выделить то, что определить пропуск импульсов от преобразователя не представляется возможным. Это соответственно является причиной накопления ошибки при выявлении поворотного угла объекта (пока он не пройдёт нуль-метку). Для выявления направления поворота используется пара измерительных каналов – косинусный и синусный. В них одинаковые импульсные последовательности перемещены ровно на 90 градусов относительно обоих каналов.
Абсолютный энкодер устройство
У этого типа ДУПа его поворотный круг поделён на определённые пронумерованные сектора, обычно идентичного размера. Во время работы он выдаёт конкретный секторный номер, в котором он непосредственно и находится. Именно поэтому данное устройство называют абсолютным. Благодаря его устройству можно легко определить угол/положение/направление энкодера относительно начального (нулевого) сектора.
Помимо этого абсолютный датчик угла не требует присоединения систем отсчёта к какому-нибудь нулевому значению. В нём используется специальный код Грея, позволяющий не допустить ошибки при работе. Из недостатков можно выделить только то, что микроконтроллер будет вынужден постоянно его переводить в двоичный код, чтобы выяснить положение ДУПа.
Оптические ДУПы
Они отличаются наличием диска из стекла с оптическим растром, закреплённого на валу. Во время вращения вала создаётся поток света, который впоследствии принимается фотодатчиком.
Абсолютный оптический датчик – это ДУП, в котором каждое положение вала имеет свой выходной цифровой код. Этот код является одним из основных параметров устройства. Данный датчик, как и инкрементный, вычисляет и закрепляет параметр движения оптического диска.
Магнитные
Магнитный энкодер регистрирует передвижение движущегося магнитного элемента, а именно его магнитных полюсов рядом с чувствительным элементом, переводя полученные данные в определённый сигнал.
Механические
Отличаются наличием диска, материал которого представлен диэлектриком, с нанесённым на него выпуклым или непрозрачным участком. В механической системе абсолютный угол считывается с помощью линейки переключателей/контактов, а в оптической с помощью линейки оптронов. Выходной сигнал представлен кодом Грея, позволяющим убрать неоднозначность интерпретируемого сигнала.
Недостаток механического энкодера представляет собой дребезжание контактов, зачастую приводящий к неверному подсчёту и выявлению направления движения. Оптический и магнитный энкодеры не имеют этой особенности.
Параметры
Первоначальный параметр любого ДУПа представлен числом импульсов, получаемых за совершение одного оборота (разрешение/разрядность). Зачастую этот параметр равен 1024 за один оборот.
Из других критериев можно выделить:
Установка
Энкодер устанавливают соответственно на валу, информацию которого необходимо получить. Для установки требуется специальная переходная муфта, с помощью которой можно скомпенсировать возможную разность в размерах с валом энкодера. Важно! Корпус ДУПа должен быть крепко зафиксирован.
Для монтажных работ преобразователя с полым валом необходим другой способ. В таком варианте вал, информацию которого нужно получить, включён внутрь ДУПа и закрепляется в пустой втулке. Стоит учитывать, что у такого типа ДУП корпус не закрепляется.
Подключение
В самом лёгком варианте, если имеется возможность, выход преобразователя подключается к входу счётчика и программируется на параметр скорости.
Однако обычно преобразователь используют вместе с контроллером. К нему присоединяют интересующие выходы. Далее программа определяет положение/скорость/ускорение объекта. К примеру, устройство установлено на электродвигательном валу, перемещающем один элемент в сторону другого. После вычислений на устройстве вывода виден зазор между элементами, при достижении которого движение элементов останавливается, для обеспечения их сохранности.
Абсолютный поворотный энкодер с однодорожечным кодом Грея
В этом материале речь пойдёт о физической реализации абсолютного поворотного энкодера. Разрешение этого энкодера составляет 6 градусов, то есть — 60 шагов. Этого достаточно для того чтобы сделать на его основе часы. Здесь используется одношаговый код Грея.
Материалы
Для реализации проекта понадобится печатная плата с оптическим датчиком, Arduino (я применил тут Arduino Uno), а так же — диск энкодера.
Плата с оптическим датчиком
Шаг 1. Принципы работы энкодера
Преобразование однодорожечного кода Грея в двоичный код
Таблица преобразования кода Грея в двоичный код
Когда диск энкодера вращается, оптический датчик реагирует на прохождение мимо него светлых и тёмных мест дорожки с кодом, а программа, работающая на Arduino, выполняет нахождение точной позиции диска.
Вот файлы с программным кодом:
Шаг 2. Принципиальная схема устройства
Принципиальная схема устройства
Шаг 3. Диск энкодера
Реальный диск энкодера, используемый в этом проекте, выглядит именно так.
Шаг 4. Подробнее о диске энкодера
На следующих рисунках выделена зона диска энкодера, которую анализирует оптический датчик.
Область диска энкодера, которую анализирует датчик
Область диска энкодера, которую анализирует датчик
Шаг 5. Создание диска энкодера
В основе диска энкодера лежит обычный CD-диск
Подготовка изображения для нанесения на диск
Чёрные и белые области разметки, на которые реагирует оптический датчик
Приведённые здесь изображения можно распечатать на принтере и приклеить к диску. Того же эффекта можно достичь, вручную нанеся разметку на диск.
Я пользовался 38-миллиметровой клейкой лентой разных цветов. Сначала я наклеил два разноцветных куска ленты на диск, постаравшись, чтобы края лент сошлись бы точно в центре диска. Потом, следуя разметочным линиям, вырезал участки лент. Можно, вырезав участки ленты одного цвета, приклеить их поверх соответствующих участков ленты другого цвета.
Шаг 6. Проверка параметров элементов, формирующих одношаговый код Грея, и оптического датчика
Размеры элементов и диска
Элементы оптического датчика
Шаг 7. Сопоставление кода Грея и элементов оптического датчика
Код, который нужно прочитать датчику
Код Грея, нанесённый на диск, считывается элементами датчика, угловое расстояние между которыми составляет 30 градусов. Разрешение энкодера составляет 6 градусов, то есть — 60 шагов (360/60 = 6 градусов). В ходе работы устройства получается последовательность [13, 3, 6, 2, 6, 13, 3, 6, 2, 6]. Шаг 13 соответствует 78 градусам.
Шаг 8. Варианты применения абсолютного энкодера
Я использовал абсолютный энкодер для изготовления часов.
Вот — несколько снимков, демонстрирующих процесс изготовления часов.
Планируете ли вы сделать какой-нибудь проект на основе абсолютного поворотного энкодера?
Подключение энкодера к Arduino. GyverEncoder v4.9
ОБНОВЛЕНИЯ
ТЕОРИЯ
Энкодер (от англ. encode – преобразовывать) – это устройство для преобразования угловых положений или линейных перемещений в цифровой сигнал, т.е. энкодер – это датчик угла или линейного перемещения, соответственно есть крутильные и линейные энкодеры. Принцип работы энкодера заключается в преобразовании механического перемещения в электрические сигналы, у обычного инкрементального энкодера, который мы будем рассматривать, этот сигнал представляет собой два квадратных сигнала (при равномерном вращении), сдвинутых по фазе на 90 градусов.
Самым хорошим модулем с энкодером на Aliexpress является вот такой, на круглой плате:
ПОДКЛЮЧЕНИЕ
Подключается модуль энкодера очень просто: питание на питание (GND и VCC), логические пины CLK, DT (тактовые выводы энкодера) и SW (вывод кнопки) на любые пины Arduino (D или A). У круглых модулей выводы энкодера подписаны как S1 и S2, а вывод кнопки как Key, подключаются точно так же. От порядка подключения тактовых выводов энкодера зависит “направление” его работы, но это можно поправить в программе.
У модулей энкодера тактовые выводы подтянуты к питанию и дают низкий сигнал при срабатывании, также на них стоят RC цепи для гашения дребезга. Вывод кнопки никуда не подтянут! Промышленный энкодер подключается точно так же, чёрный и красный провода у него питание, остальные – тактовые выходы.
У модулей энкодеров тактовые выходы и кнопка подтянуты к питанию, у круглого модуля также стоят RC цепи для аппаратного подавления дребезга контактов, у KY-40 (прямоугольный) распаяна только подтяжка. Если нужно подключить “голый” энкодер к плате – в целом можно подключить напрямую без обвязки, как на схеме ниже, моя библиотека отработает и подтяжку средствами микроконтроллера (INPUT_PULLUP), и программный антидребезг. Но рекомендуется всё-таки делать RC цепи для кнопки и для тактовых выходов энкодера.
Как работает поворотный энкодер. Взаимодействие с Ардуино
Поворотный энкодер — это тип датчика положения, который преобразует угловое положение (вращение) ручки в выходной сигнал, используемый для определения направления вращения ручки.
Благодаря своей надежности и точному цифровому управлению энкодеры используются во многих приложениях, включая робототехнику, станки с ЧПУ и так далее.
Поворотные энкодеры против потенциометров
Поворотные энкодеры являются современным цифровым эквивалентом потенциометра и они более универсальны, чем потенциометры. Они могут полностью вращаться без концевых упоров, в то время как потенциометр может вращаться только примерно на 3/4 круга.
Потенциометры лучше всего подходят в ситуациях, когда вам нужно знать точное положение ручки. Однако поворотные энкодеры лучше всего подходят в ситуациях, когда вам нужно знать изменение положения, а не точное положение.
Как работают поворотные энкодеры
Внутри энкодера находится диск с прорезями, подключенный к общему контакту «C», и два контакта «A» и «B», как показано ниже:
Когда вы поворачиваете ручку, выводы «A» и «B» входят в контакт с общим контактом «C» в определенном порядке в соответствии с направлением, в котором вы поворачиваете ручку.
Когда они вступают в контакт с выводом «С», они вырабатывают сигналы. Эти сигналы сдвинуты по фазе на 90° друг относительно друга, поскольку один вывод входит в контакт раньше другого:
Когда вы поворачиваете ручку по часовой стрелке, сначала подключается контакт «A», а затем контакт «B». Когда вы поворачиваете ручку против часовой стрелки, сначала подключается контакт «B», а затем контакт «A».
Отслеживая последовательность замыкания и размыкания с контактом «C», мы можем определить в каком направлении была повернута ручка энкодера. Вы можете сделать это, просто наблюдая за состоянием «B» в момент когда «A» меняет состояние.
Когда сигнал на выводе «А» меняет состояние, то:
Распиновка поворотного энкодера
Распиновка у модуля поворотного энкодера следующая:
Подключение поворотного энкодера к Ардуино
Теперь, когда мы знаем все о поворотном энкодере, пришло время применить его! Подключим поворотный энкодер к Ардуино. Подключение довольно простое. Начните с подключения вывода VCC на модуле к 5 В на Ардуино и вывода GND к GND Ардуино.
Теперь подключите контакты CLK и DT к цифровым контактам №2 и №3 Ардуино соответственно. Наконец, подключите вывод SW к цифровому выводу №4. На следующем рисунке показана схема соединения:
Скетч Ардуино — чтение поворотных энкодеров
Теперь, когда у вас подключен энкодер, вам необходимо записать код, чтобы все заработало. Следующий код определяет, когда энкодер вращается, определяет, в каком направлении он вращается и нажимается ли кнопка. Загрузите скетч в Ардуино, а затем более подробно разберем его работу:
Если все в порядке, то вы должны в мониторе последовательного порта увидеть следующее:
Если сообщения о вращении противоположно ожидаемому, попробуйте поменять местами строки CLK и DT.
Пояснение к коду:
Скетч начинается с объявления выводов Ардуино, к которым подключены выводы CLK, DT и SW энкодера:
Затем определяются несколько переменных. Переменная counter представляет собой счетчик, который будет изменен каждый раз, когда ручка энкодера будет повернута на один щелчок.
Переменные currentStateCLK и lastStateCLK содержат состояние выхода CLK и используются для определения величины вращения. Вызываемая строка currentDir используется при печати текущего направления вращения в последовательный монитор. Переменная lastButtonPress используется для исключения дребезга контактов кнопки:
Далее в функции setup() мы сначала определяем подключения к энкодеру как входы, а затем подключаем подтягивающий резистор на выводе SW. Мы также настраиваем последовательный монитор. В конце мы считываем текущее состояние вывода CLK и сохраняем его в переменной lastStateCLK:
В функции loop() мы снова проверяем состояние CLK и сравниваем его со значением lastStateCLK. Если они разные, это означает, что ручка повернута и возник импульс. Мы также проверяем, равно ли значение currentStateCLK 1, чтобы отреагировать только на одно изменение состояния, чтобы избежать двойного счета:
Внутри оператора if мы определяем направление вращения. Для этого мы просто считываем вывод DT на модуле энкодера и сравниваем его с текущим состоянием вывода CLK.
Если они разные, это означает, что ручка повернута против часовой стрелки. Затем мы уменьшаем значение счетчика и устанавливаем его currentDir на «CCW».
Если два значения совпадают, это означает, что ручка вращается по часовой стрелке. Затем мы увеличиваем счетчик и устанавливаем currentDir на «CW»:
Затем мы отправляем наши результаты в монитор последовательного порта:
Вне оператора if мы обновляем lastStateCLK текущее состояние CLK:
Далее идет логика для считывания кнопки и предотвращения дребезга ее контактов. Сначала мы читаем текущее состояние кнопки, если оно LOW, мы ждем 50 мсек, чтобы отметить нажатие кнопки. Если кнопка остается в LOW состоянии более 50 мс, мы печатаем в монитор последовательного порта «Button pressed!«:
Затем мы все повторяем снова.
Код Ардуино с использованием прерываний
Чтобы поворотный энкодер работал, нам необходимо постоянно отслеживать изменения в сигналах DT и CLK. Чтобы определить, когда происходят такие изменения, мы можем постоянно их опрашивать (как мы это делали в нашем предыдущем скетче). Однако это не лучшее решение по нижеприведенным причинам:
Широко распространенным решением является использование прерывания. С прерыванием вам не нужно постоянно опрашивать конкретное событие. Это освобождает Ардуино для выполнения какой-то другой работы, не пропуская событие.
Подключение энкодера к Ардуино с учетом прерывания
Поскольку большинство Ардуино (включая Ардуино UNO) имеют только два внешних прерывания, мы можем отслеживать только изменения в сигналах DT и CLK. Вот почему мы удалили соединение вывода SW с предыдущей схемы подключения.
Итак, теперь схема подключения выглядит так:
Некоторые платы (например, Ардуино Mega 2560) имеют больше внешних прерываний. Если у вас есть что-то из этого, вы можете оставить соединение для вывода SW и расширить рисунок ниже, чтобы использовать код и для кнопки.
Код Ардуино
Ниже приведен скетч, демонстрирующий использование прерываний при чтении углового энкодера:
Обратите внимание, что основной цикл этой программы loop() остается пустым, поэтому Ардуино ничего не делает.
Между тем, эта программа отслеживает изменение значения на цифровом выводе 2 (соответствует прерыванию 0) и цифровом выводе 3 (соответствует прерыванию 1). Другими словами, программа ищет изменение напряжения с HIGH на LOW или с LOW на HIGH, которое происходит при повороте ручки.
Когда это происходит, вызывается функция updateEncoder() (часто называемая подпрограммой обслуживания прерывания или просто ISR ). Код в этой функции выполняется, а затем программа возвращается к исполнению основного кода с момента прерывания.
За все это отвечают две строки в коде. Эта функция attachInterrupt() которая сообщает Ардуино, какой вывод следует контролировать, какой ISR выполнять, если прерывание срабатывает, и какой тип триггера следует искать.
Энкодер: устройство и примеры работы
Нередко статьи у меня на блоге тесно связаны с промышленным оборудованием. На этот раз я подробно рассматриваю энкодер – очень важное устройство, без которого не обходится ни одна солидная производственная линия. А почему энкодер столь важен, будет понятно из моей статьи. Разберём подключение энкодера, его работу, устройство и монтаж. Как обычно в таких статьях, будут реальные примеры работы энкодеров в различных узлах оборудования. И, конечно же, будет много фотографий, сделанных мною лично.
Что такое энкодер?
Энкодер – это электронный датчик, который механически крепится на какой-либо вращающейся детали. Обычно корпус энкодера остается неподвижным, а вращается только его вал. Это позволяет с необходимой точностью измерять разные параметры :
Энкодер является самым распространенным «измерительным инструментом» в современном промышленном оборудовании. Фактически энкодер является датчиком обратной связи, на выходе которого цифровой сигнал меняется в зависимости от его вращения или от угла его поворота. Этот сигнал обрабатывается в счетчике или контроллере, который выдает команды на устройство индикации или привод.
Этикетка инкрементного энкодера Sick, установленного на валу двигателя постоянного тока. Основной параметр – 1024 импульса на оборот
Энкодеру найдено множество применений, учитывая возможности последующей обработки его сигнала. Например – измерение погонной длины какого-либо материала, измерение угла открытия/закрытия задвижки, точное позиционирование деталей при перемещении и обработке. Конкретные примеры будут ниже.
Энкодеры, о которых идёт речь в статье, в некоторых источниках называются датчиками углового перемещения, датчиками угла поворота, и даже “N-кодером”.
А вообще энкодер – это любое устройство, которое преобразовывает или декодирует какой-то сигнал или информацию.
Принципы работы и устройство энкодеров
Существует два вида энкодеров по конструкции и виду выходного сигнала – инкрементальный (инкрементный) и абсолютный.
Инкрементальный энкодер устроен проще сравнению с абсолютным, и используется в большинстве случаев. Такой энкодер можно представить как диск с прорезями, который просвечивается оптическим датчиком. При вращении этого диска датчик будет активироваться или деактивироваться зависимости от своего положения над прорезью. В результате на выходе энкодера формируется последовательность дискретных импульсов, частота которых зависит от разрешения энкодера и его частоты вращения.
Например, если энкодер закреплен на валу асинхронного двигателя, который вращается с частотой 1500 оборотов в минуту, то при разрешении энкодера 1000 импульсов на оборот частота выходных импульсов будет равна 25 кГц.
Разрешение и максимальная частота вращения обратнозависимы – ведь не может же частота выходных импульсов исчисляться гигагерцами. Обычно выходная частота ограничена значением около 500 кГц. Да и не всякий контроллер “скушает” такую частоту. Делаем вывод: энкодер с разрешением 1000 имп/оборот (наиболее распространенный) не может крутиться с частотой выше 500 Гц или 30000 об/мин. Но такие скорости в механике я лично не встречал. Делаем второй вывод: высокое разрешение не всегда хорошо.
Пример, поясняющий работу энкодера:
Конструкция, поясняющая работу оптического энкодера
На фото – не энкодер, но данная конструкция в первом приближении прекрасно иллюстрирует работу и устройство инкрементального оптического энкодера. Про щелевой оптический датчик я писал в статье про оптические датчики, там подробнее.
Бич подобных конструкций – при механической поломке, связанной со смещением диска (или другого активатора), датчик легко ломается… В энкодере такого не может быть – там всё надёжно закреплено и защищено.
Основной минус инкрементального энкодера – необходимость непрерывной обработки его выходного сигнала. Кроме того, чтобы узнать положение инкрементального энкодера после подачи на него питания, необходимо провести инициализацию для поиска нуль-метки (что это такое – расскажу позже) либо для поиска нулевого положения механизма.
Абсолютный энкодер имеет более сложное устройство, но он позволяет определить угол поворота в любой момент времени, даже в неподвижном состоянии механизма сразу после включения питания. Говоря простыми словами, выходной сигнал у него – это параллельный код (например, 8-разрядный, имеющий 256 значений), который соответствует углу поворота. Соответствующую конфигурацию имеют и прорези в диске энкодера.
Абсолютные энкодеры работают в сложном оборудовании – там, где в любой момент времени (в том числе, в момент подачи питания) нужно знать точное положение объекта. Но сейчас, с появлением дешевых контроллеров с энергонезависимой памятью, в 99% используются инкрементальные энкодеры. Тем более учитывая, что их цена в несколько раз ниже, чем у абсолютных. Да и обрабатывать последовательные импульсы гораздо проще, чем параллельный код.
Использовать абсолютный энкодер для определения скорости вращения – всё равно, что использовать мощный настольный компьютер только для прослушивания музыки в ВК.
Бывают энкодеры не оптического принципа работы. Но я про них ничего рассказывать не буду, поскольку не имел с ними дела..
Подключение энкодера
Энкодер никогда не работает сам по себе. Он всегда подключается к устройству обработки сигналов, с помощью которого можно переварить и проанализировать импульсы на его выходах. Подключить энкодер легко – ведь это фактически датчик с транзисторными выходами. В простейшем случае, выход энкодера можно подключить ко входу счетчика, и запрограммировать его на измерение скорости или длины.
Но чаще всего выходные сигналы энкодера обрабатываются в контроллере. А далее путем расчетов можно получить информацию о скорости, направлении вращения, ускорении, положении объекта.
Сигналы и выходы инкрементального энкодера
Импульсы на выходе энкодера – один канал
Период Т – величина, обратная частоте, а про частоту мы говорили выше. Уровень “Н” – это напряжение, почти равное напряжению питания (обычно 5, 12, или 24 В). Уровень “L” – около нуля.
Само собой, реальные импульсы не столь идеальны – у них может гулять скважность и будут завалены фронты.
Что может рассказать нам такой энкодер? Только о скорости и погонных метрах. Например, его можно применять для определения частоты вращения двигателя, или длины материала после нажатия кнопки “Сброс”. Неплохо, но хочется большего!
Если будет два выхода, импульсы на которых (оптическим способом) сдвинуты на четверть периода, мы сможем узнать направление вращения:
Импульсы каналов А и В с фазовым сдвигом
Такие выходы со сдвигом фаз на четверть периода называются квадратурными каналами. Этот приём широко применяется в радиотехнике и электронике не только для определения направления вращения, но и для определения знака рассогласования частот (больше или меньше опорной частоты?).
Если сдвиг фаз положительный (фаза В отстает), можно условиться о прямом вращении. Если отрицательный (фаза В опережает фазу А на четверть), значит, вращение в обратном направлении. Два этих сигнала с одной частотой и фазой ±90° подаются на триггер, выход которого однозначно указывает о направлении вращения.
Ничего это не напоминает? В энкодере – двухфазная система, со сдвигом фаз 90°, в электрощите – трехфазная система, со сдвигом фаз 120°. Для смены направления вращения трехфазного двигателя достаточно поменять местами любые две фазы.
Со скоростью, расстоянием и направлением разобрались, а что делать, если нужно узнать угол поворота? Для этого вводится сигнал “Z” (Zero) – опорный импульс, который также называют нуль-меткой или референсной меткой:
Выходы энкодера А, В с нулевой меткой Z
Импульс “Z” имеет длительность Т (бывает и другая длительность – T/2, или 2Т) и проскакивает 1 раз за оборот вала энкодера. Иными словами, длительность нулевой метки может быть в тысячи раз короче периода вращения вала энкодера.
В современных датчиках каждая фаза (канал) обычно имеет ещё один, противофазный выход.
С теорией заканчиваем, плавно переходим к практике.
Монтаж энкодеров
По монтажу сразу скажу главное – вал энкодера по отношению к валу механизма должен быть надежно зафиксирован! Обычно это делается при помощи шестигранных винтов.
Бывали случаи, когда из-за проскальзывания самодельных и даже штатных муфт глючили производственные линии, и мы долго не могли найти причину – ведь всё остается исправным!
Монтироваться энкодер может и на валу двигателя, и на валу любого другого механизма – это не принципиально, и зависит лишь от конструкции и требований к точности выполнения поставленной задачи.
Вал энкодера никогда не будет соосным с вращающимся валом (вспомните, для чего нужен карданный вал). Поэтому используются специальные заводские переходные муфты, нужно надежно их крепить и периодически проверять качество монтажа.
Энкодер механически соединен с приводом через соединительную муфту для компенсации несоосности
Корпус любого энкодера всегда неподвижен. Вращается только его внутренняя подвижная часть.
Существуют энкодеры с полым валом, которые надеваются непосредственно на измеряемый вал и там фиксируются. Там даже нет такого понятия, как несоосность. Их гораздо проще монтировать, и они надежнее в эксплуатации. Чтобы энкодер при этом не прокручивался, используется лишь металлический поводок. На фото ниже показан энкодер с полым валом (обозначен В21.1), надетый на вал редуктора:
Энкодер с полым валом, надет на вал редуктора
Обратите внимание – корпус энкодера целиком и полностью держится на валу редуктора. От проворачивания его держит металлический поводок. При работе энкодер обычно немного покачивается по овальной траектории, это нормально, поскольку идеал существует только на картинках в даташитах и учебниках.
Бывают сквозные полые валы, когда ось механизма проходит через энкодер насквозь.
Подключение и работа энкодеров. Реальные примеры.
Ниже я рассмотрю несколько примеров использования энкодеров в реальном оборудовании.
Измерение скорости полотна
В данном примере, инкрементальный энкодер ELCO используется для измерения скорости бумажного полотна при производстве бумаги. Энкодер закреплен на бумаговедущем валу через муфту, скорость вращения которого однозначно говорит о скорости бумаги.
При помощи системы «энкодер+контроллер» можно вычислить мгновенную скорость, а также погонную длину произведенной продукции.
Энкодер работает на бумаговедущем валу
Энкодер ELCO работает на бумаговедущем валу. Корпус энкодера закреплен жестко, стыковка валов – через компенсирующую муфту
Минус такой установки – при механической поломке вала (а это бывало уже не раз, изнашиваются подшипники) ломается либо муфта, либо сам энкодер.
Положение деталей на конвейере
В этом случае энкодер насажен на вал двигателя, подключенного через преобразователь частоты. Двигатель через редуктор передает движение на конвейер, по которому движутся заготовки деталей.
Положение детали на конвейере, позиционирование при помощи энкодера на двигателе
С помощью энкодера и оптических датчиков, фиксирующих просвет между образцами продукции, контроллер с большой точность может управлять обработкой деталей.
При этом направление знать не обязательно (оно всегда одно), и могут применяться энкодеры без ноль-метки:
Энкодер для определения только скорости вращения
По моему мнению, насаживание энкодера на вал двигателя – не очень хорошая идея в смысле того, что энкодер крутится на больших оборотах (до 3000 об/мин). Кроме повышенного механического износа, необходимо предусмотреть обработку сигналов со сравнительно высокой скоростью. Но сегодня, с развитием промышленной электроники, это не проблема.
Крепление энкодера на валу двигателя позволяет очень точно контролировать скорость привода. С появлением высокооборотистых энкодеров многие производители наладили выпуск двигателей со встроенным энкодером.
Если интересно применение ПЧ в конвейерах, вот моя статья на Дзене, где я подробно рассматриваю схему включения ПЧ для конвейера.
Ещё пример точного позиционирования при помощи энкодера для двигателя:
Энкодер – работа на валу двигателя со стороны крыльчатки
В этом случае двигатель приводит в действие цепную передачу лифта, подающего заготовку на обработку. Точность позиционирования лифта – порядка 1 мм, длина пути – более 2 м.
Перемещение детали
Ещё большую точность, чем в предыдущем случае, можно получить, если вал энкодера закрепить на ходовой винт с резьбой.
На фото сверху вниз – направляющая, ходовой винт, кабель к энкодеру
Если на ходовой винт закрепить гайку, которая механически скреплена с перемещаемой деталью (в реальном примере это – металлическая заготовка, которая рубится или гнётся по нужному размеру), то с помощью энкодера можно до долей миллиметра узнать её положение. Точность вычисления будет зависеть от шага резьбы и разрешающей способности энкодера.
Минус такого решения – при большой скорости возможен «промах», и нужно либо уменьшать скорость при приближении к цели, либо постоянно двигаться на низкой скорости. Кроме того, механика тоже должна быть точной, чтобы исключить любые люфты и перекосы.
Перемещение упора
Задача стоит в принципе такая же, как и в предыдущем случае. Но тут другой принцип перемещения – за счет зубчатой передачи:
Зубчатая передача перемещения каретки
Плюс данной реализации в том, что энкодер насажен непосредственно на зубчатое колесо, которое осуществляет передачу вращения. При большом разрешении энкодера и отсутствии механических люфтов можно добиться очень высокой точности позиционирования.
Использование энкодера совместно с винтовой и зубчатой передачей позволяет достичь высокой точности обработки деталей в станках с ЧПУ.
Вычисление точной координаты
В производстве полиграфической продукции иногда нужно нанести клей (или краску) в точное место. Когда печатная продукция (например, коробки или конверты) движутся по ленточному конвейеру, при помощи оптического датчика определяется начало коробки, затем контроллер при помощи энкодера вычисляет нужную координату, и включает подачу клея.
Вычисление точной координаты при помощи измерительного колеса
Формируется клеевая дорожка нужной длины, затем клей выключается. Далее коробка подается на фальцовочный узел, где складывается и склеивается. При этом скорость работы линии может достигать до 300 коробок в минуту.
Системы дозирования
Для точного открытия заслонки в системе дозирования жидкостей служит система, состоящая из двигателя с редуктором, на вал которого с одной стороны закреплена задвижка, с другой – энкодер.
Поворот на определенный угол при помощи энкодера
Поворот вала редуктора на угол не более 180° ограничен индуктивными датчиками приближения, а точное положение определяется по сигналу от энкодера. В исходном состоянии задвижка закрыта, и датчик минимального положения активен. Это состояние принимается за ноль. Далее включается двигатель, и вал поворачивается. Точный угол поворота пропорционален количеству импульсов от энкодера обратной связи. В данном случае энкодер не делает полный оборот, его движение ограничено датчиками.
Датчики активируются кулачками, которые закреплены (и могут корректироваться шаловливыми ручками)) на том же валу, что и энкодер.
При выключении питания положение энкодера (а значит, и задвижки) запоминается в памяти контроллера. В случае необходимости оператор может провести инициализацию (установку нулевого и максимального положения) за счет индуктивных датчиков. Опорная “Z” – метка при этом не используется.
Защита двигателя
Даже при перегрузке двигателя его скорость понижается, скольжение есть всегда, даже на холостом ходу. Но изменение тока при этом ничтожно. Особенно (например), если двигатель работает на застрявшую продукцию через редуктор.
Поэтому, очень удобно использовать энкодер, закрепленный на валу двигателя, для определения повышенного скольжения. А значит – перегрузки двигателя.
У меня на Дзене есть статья, как энкодер защищает двигатель от перегрузки, там тема раскрыта подробнее.
Энкодер, механическая поломка из-за смещения двигателя
Энкодер перестал выдавать импульсы (перегрузки, правда, не было), и тут же контроллер выдал сообщение:
Сообщение на экране оператора о поломке энкодера
Запоминающие энкодеры
Энкодеры умнеют на глазах. В американской линии довелось иметь дело с серводвигателем, в состав которого входит энкодер с памятью.
Энкодер в составе серводвигателя с памятью
Энкодер не простой – у него в памяти зашиты параметры серводвигателя (их более сотни), которые он каждый раз при включении питания передает к центральный контроллер. Из-за заводского брака энкодер был плохо закреплён, и начал тереться о корпус двигателя, что привело к нарушению синфазности вращения двигателя и энкодера. Американцы дистанционно заново программировали этот энкодер, чтобы можно было запустить линию. Но это уже совсем другая история…
Резольвер
Совсем коротко о резольвере. По сути он выполняет те же функции, что и энкодер – может вычислять скорость и направление вращения двигателя. Но резольвер – аналоговый измерительный прибор. В некоторых случаях он гораздо точнее говорит об угле поворота, поскольку фактически речь идет о вычислении сдвига фаз на его выходах.
Реальный японский резольвер SMARTSYN TAMAGAWA SEIKI MODEL: TS2651N141E78, довелось когда-то ремонтировать:
Тахогенератор
Не путайте энкодер и тахогенератор (его иногда ошибочно называют тахометром)!
У них схожие функции и область применения, но у тахо от скорости вращения двигателя зависит не частота выходных импульсов, а выходное напряжение.
Посмотрите, какая конструкция установлена у нас на заводе на двигателе постоянного тока мощностью 200 кВт:
Энкодер + тахометр слиты в единое целое на валу двигателя
Тахогенераторы, как и двигатели постоянного тока, в современном оборудовании практически не используются.
Производители энкодеров
Среди российских производителей энкодеров мне известен лишь только Питерский СКБ ИС, который производит энкодеры марки ЛИР. К сожалению, российского промышленного оборудования сейчас почти не производится, и ЛИРы применяются лишь в военном и лабораторном оборудовании.
По этой причине я имею дело только с энкодерами зарубежного производства. Производителей энкодеров много – их производят почти все производители полупроводниковых датчиков. Чаще всего я встречаюсь с энкодерами Autonics – как и в случае с датчиками, в России представлен большой ассортимент. Другие известные мне производители энкодеров – немецкий Sick, японский Omron, и несколько китайских брендов.
Использование тех или иных марок энкодеров обусловлено часто не техническими причинами, поскольку их параметры, схемы подключения и надежность практически идентичны. Тут скорее политические мотивы – производители комплектующих любыми путями стараются, чтобы их продукция вошла в состав больших и массовых производственных линий, чтобы таким образом закрепиться на рынке.
Скачать
Статья, которую вы сейчас прочитали, недавно была в урезанном виде опубликована в бумажном журнале “Электротехнический рынок” под названием “Энкодер: мастхэв производственной линии”. Кому интересно, выкладываю для скачивания:
• Энкодер: мастхэв производственной линии / Статья в журнале «Электротехнический рынок» от СамЭлектрик.ру. Разновидности и примеры реального применения энкодеров. Приведены описания реальных узлов оборудования, в которых применяются энкодеры, pdf, 1.15 MB, скачан: 794 раз./
Рекомендую скачать ещё одну интересную статью по энкодерам:
• Подключение инкрементного энкодера к ПЛК / Обобщены данные о типах выходного сигнала энкодера, способах его обработки, подсчёте измеряемой частоты вращения. Пример подключения и обработки сигналов энкодера в контроллере Siemens, pdf, 2.36 MB, скачан: 677 раз./
Приглашаю коллег к обсуждению в комментариях, буду рад замечаниям и дополнениям к статье!