4.3.5. Работа с энкодерами

4.3.5.1. Область применения энкодеров

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

Предупреждение

Автоопределение типа энкодера работает только с энкодерами на 3.3В и 5В (с погрешностью 0.2В)

4.3.5.2. Что такое квадратурный энкодер?

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

../../../_images/SigEnc1.png

Сигналы на выходе СН А и СН В квадратурного энкодера

../../../_images/QuadEnc1.png

Механика оптического квадратурного энкодера

Механика оптического квадратурного энкодера представлена на рисунке. Используются две оптопары. Принцип работы оптопары: светодиод и детектор расположены напротив друг друга с разных сторон от диска. Когда «окно» диска попадает на детектор, оптопара «открыта» (выходной сигнал - логический 0). Если детектор закрыт непрозрачной частью диска, то выходной сигнал датчика – логическая 1.

Основная характеристика квадратурного энкодера – число шагов на один оборот (CPR). Стандартные значения разрешения для энкодера – от 24 до 1024 CPR. Каждый период изменения сигнала может быть расшифрован 1,2 или 4 кодами, что соответствует режимам работы Х1, Х2 и Х4. В данном контроллере используется наиболее точный режим Х4. Максимальная частота каждого из сигналов энкодера, зависит от выбранного энкодера, так для 200 кГц и режима x4 контроллер способен воспринимать 800 000 отсчётов положения по энкодеру в секунду.

4.3.5.3. Возможности контроллера

Контроллер имеет два режима работы с энкодером:

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

4.3.5.4. Режим ведущего энкодера

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

Новый алгоритм управления двигателем включен в последнюю версию прошивки. Алгоритм использует обратную связь с замкнутым контуром по энкодеру, подавляя колебания двигателя и акустические шумы. Этот алгоритм позволяет практически любым моторам двигаться в несколько раз быстрее без потери шагов. Все это поставляется с бесплатным обновлением прошивки и программного обеспечения. Новый алгоритм доступен с прошивкой 3.9.16+, которую можно загрузить с нашего сайта или обновить с помощью XiLab. Используйте XiLab 1.13.13+ и выставите параметр «Feedback» на «Encoder» в настройках Device -> Stepper motor. Обратите внимание: значение позиции теперь отображается в отсчетах энкодера.

4.3.5.5. Подключение энкодера

Подключение энкодера к контроллеру осуществляется через разъем DSub , который есть во всех системах: плата контроллера, одноосная и двухосная в корпусе и многоосная

../../../_images/Encoder.png

Схема подключения простого энкодера к разъему DSub.

../../../_images/Encoder_Diff.png

Схема подключения дифференциального энкодера к разъему DSub.

Также смотрите раздел пример подключения простого мотора.

Предупреждение

Входы энкодеров контроллера внутренне подтянуты к логической единице сопротивлением 5.1 кОм. Обычно выходы энкодера имеют тип «открытый коллектор» с внутренним подтягивающим резистором. При передаче данных, они обеспечивают хорошие показатели перехода из высокого логического уровня в низкий. Но переход из логического 0 в логическую 1 оказывается более плавным. Он происходит через RC цепь, образованную сопротивлением подтяжки и ёмкостью кабеля. Это особенно важно для длинных кабелей (до 5 метров). Если встроенной подтяжки недостаточно, то для улучшения показателей скорости перехода 0 - 1 можно добавить подтягивающий резистор R=1.5k Ом к +5 В на каждый выход, проверив, что открытый коллерктор энкодера способен пропускать ток 5 мА. Схема включения резисторов показана выше. Максимальной скорости работы инкрементального квадратурного энкодера можно достичь добавив к его выходу драйвер push-pull с выходным током более 10 мА, который обеспечивает резкие фронты переходов 0 - 1 и 1 - 0.