4.3.5. Работа с энкодерами¶
4.3.5.1. Область применения энкодеров¶
Энкодеры применяются для создания точной и быстродействующей обратной связи по координате со всеми типами электродвигателей. Причем обратная связь может осуществляться по положению оси мотора, по линейному положению позиционера, углу поворота моторизованного столика или по любому параметру, непосредственно связанному с положением оси мотора и измеряемому с помощью двухканального квадратурного энкодера, удовлетворяющего требованиям описанным в разделе Технические характеристики для соответствующего типа контроллера. Контроллер 8SMC5 поддерживает как дифференциальные энкодеры, так и простые (single-ended) энкодеры, с возможностью автоопределения типа энкодера.
Предупреждение
Автоопределение типа энкодера работает только с энкодерами на 3.3 В и 5 В (с погрешностью 0.2 В).
4.3.5.2. Что такое квадратурный энкодер?¶
Энкодер - это датчик механического движения. Квадратурный энкодер предназначен для прямого определения позиции оси. Датчик передает относительное положение оси в виде двух электрических сигналов по каналам СН А и СН В, смещенных относительно друг друга на четверть периода.
Сигналы на выходе СН А и СН В квадратурного энкодера
Механика оптического квадратурного энкодера
Механика оптического квадратурного энкодера представлена на рисунке. Используются две оптопары. Принцип работы оптопары: светодиод и детектор расположены напротив друг друга с разных сторон от диска. Когда «окно» диска попадает на детектор, оптопара «открыта» (выходной сигнал - логический 0). Если детектор закрыт непрозрачной частью диска, то выходной сигнал датчика – логическая 1.
Основная характеристика квадратурного энкодера – число шагов на один оборот (CPR). Стандартные значения разрешения для энкодера – от 24 до 1024 CPR. Каждый период изменения сигнала может быть расшифрован 1, 2 или 4 кодами, что соответствует режимам работы Х1, Х2 и Х4. В данном контроллере используется наиболее точный режим Х4. Максимальная частота импульсов энкодера: 200 кГц для несимметричного и 5 МГц для дифференциального энкодера. Максимальная частота каждого из сигналов энкодера, зависит от выбранного энкодера, так для 200 кГц и режима x4 контроллер способен считывать 800 000 отсчётов энкодера в секунду. Для энкодера с частотой 5 МГц в режиме X4 контроллер может считывать до 20 миллионов отсчетов энкодера в секунду.
4.3.5.3. Возможности контроллера¶
Контроллер имеет два режима работы с энкодером:
- использование энкодера как основного датчика положения (основной режим работы с двигателями постоянного тока; для шаговых двигателей режим ведущего энкодера доступен в прошивках c версий 3.10.x).
- обнаружение проскальзывания, люфта или потери шагов (рекомендуемый режим работы совместно с шаговыми двигателями, если энкодер не используется как основной датчик положения, подробнее).
4.3.5.4. Подключение энкодера¶
Подключение энкодера к контроллеру осуществляется через разъем DSub , который есть во всех системах: плата контроллера, одноосная и двухосная в корпусе и многоосная
Схема подключения простого энкодера к разъему DSub.
Схема подключения дифференциального энкодера к разъему DSub.
Также смотрите раздел пример подключения простого мотора.
Предупреждение
Входы энкодеров контроллера внутренне подтянуты к логической единице сопротивлением 5.1 кОм. Обычно выходы энкодера имеют тип «открытый коллектор» с внутренним подтягивающим резистором. При передаче данных, они обеспечивают хорошие показатели перехода из высокого логического уровня в низкий. Но переход из логического 0 в логическую 1 оказывается более плавным. Он происходит через RC цепь, образованную сопротивлением подтяжки и ёмкостью кабеля. Это особенно важно для длинных кабелей (до 5 метров). Если встроенной подтяжки недостаточно, то для улучшения показателей скорости перехода 0 - 1 можно добавить подтягивающий резистор R=1.5k Ом к +5 В на каждый выход, проверив, что открытый коллерктор энкодера способен пропускать ток 5 мА. Схема включения резисторов показана выше. Максимальной скорости работы инкрементального квадратурного энкодера можно достичь добавив к его выходу драйвер push-pull с выходным током более 10 мА, который обеспечивает резкие фронты переходов 0 - 1 и 1 - 0.
4.3.5.4.1. Использование длинных кабелей¶
Для корректной работы энкодеров при использовании кабелей длиннее 5 метров рекомендуется использовать энкодеры с дифференциальным выходом типа RS485 для снижения влияния электромагнитных наводок. При использовании интерфейса RS485 все дифференциальные пары должны быть терминированы резистором номиналом 120 Ом, который должен распологаться в разъёме подключения к контроллеру.
Кабель должен иметь дополнительный внутренний экран для цифровых сигналов (пины 5-15), подключенный к DGND (пин 7) на стороне контроллера и на стороне позиционера. Внешний экран должен быть подключен к металлическому корпусу разъёма напрямую на стороне позиционера и к металлическому корпусу разъёма через конденсатор номиналом 47 нФ на стороне позиционера.
4.3.5.4.2. Автоматическое определение типа энкодера¶
Функция Autodetect проверяет состояние входов «не ENCA» и «не ENCB». Эти входы могут быть либо в неподключенном состоянии, либо в состоянии логического нуля или единицы. Если оба входа в неподключенном состоянии (подключен single-ended энкодер), то напряжение на выходе ENC_CHECK будет равно 0.69 В. Если хоть на одном сигнальном проводе будет логический ноль или единица, то значение будет другим (cм. таблицу):
| notENCB | notENCA | Output | Voltage |
|---|---|---|---|
| 0.0 | 0.0 | – | 0.542328 |
| 0.0 | 5.0 | – | 1.084656 |
| 0.0 | NaN | – | 0.608309 |
| 5.0 | 0.0 | – | 1.084656 |
| 5.0 | 5.0 | – | 1.626984 |
| 5.0 | NaN | – | 1.216617 |
| NaN | 0.0 | – | 0.608309 |
| NaN | 5.0 | – | 1.216617 |
| NaN | NaN | – | 0.692568 |
Таким образом, ближайшими значениями напряжений для дифференциального энкодера являются: 0.61 В и 1.08 В для энкодера с 5 В сигналами и 0.61 В и 0.90 В для энкодера с сигналами 3.3 В. Контроллер проверяет попадание измеренного напряжения в диапазон 0.66 В - 0.83 В. Если 5 раз подряд в течение 500 мс значение попало в диапазон, то тип энкодера меняется на single-ended. Если 5 раз за 500 мс значение не попало в диапазон, то тип энкодера меняется на differential.
Механизм автоопределения типа энкодера не зависит от подключенности сигнала REV и является достаточно надежным. Сбои алгоритма возможны, только при использовании одновременно терминирующего резистора в кабеле и слабого драйвера энкодера, приводящего к падению напряжения сигналов «не ENCA» и «не ENCB» до 3 В.
В случае возникновения проблем с автоматическим выбором типа энкодера, тип энкодера можно выбрать вручную в настройках обратной связи ..