Абсолютные энкодеры выдают на свой выход цифровые коды, которые отвечают абсолютному значению угла поворота относительно положения, принятого за нуль. Принцип действия абсолютного энкодера, рассчитанного на один оборот, объясняется на рис. 3.12. На вал, закрепленный на двух прецизионных подшипниках и кинематически соединенный с узлом, вращение которого контролируется, насажен кодовый диск. На последнем выделены кольцевых дорожек с прозрачными и непрозрачными участками. Напротив дорожек с одной стороны диска установлены светодиоды с цилиндрической линзой, а с другой стороны – линейка фотодетекторов, по одному на каждую дорожку. Прозрачный и непрозрачный участки на дорожках подобраны так, чтобы каждому угловому положению кодового диска соответствовал свой уникальный двоичный код на выходах линейки фотодетекторов.
Один из возможных вариантов кодирования диска показан на рис. 3.12 справа. Сфокусированный цилиндрической линзой в радиальную черточку свет от светодиодов проецируется на кодовый диск. Свет свободно проходит сквозь прозрачные участки дорожек и, попав на соответствующие фотодетекторы, вызывает появление сигнала "1" на выходах соответствующих усилителей. Сквозь непрозрачные участки дорожек свет не проходит, и на выходах соответствующих усилителей формируются сигналы "0".
Рис. 3.12. Конструкция и принцип действия абсолютного энкодера
Общее число возможных п-разрядных двоичных кодов составляет 2n. Поэтому точность определения углового положения диска равняется (360° : 2n+1). В случае использования 10 кольцевых дорожек и 10 фотодетекторов в линейке точность определения угла составляет 0,4°, а при использовании 20 дорожек и 20 фотодетекторов – уже 0,0004°. При современном состоянии технологии микроэлектроники это оказывается совсем недорого. И поэтому такие энкодеры стали весьма популярными. Их широко применяют в антенных системах, в астрономии для определения небесных координат звезд, в геодезических приборах, в системах кругового наблюдения и т.д.
Тем не менее, имеется много практических задач, когда кроме знания углового положения в пределах одного оборота надо регистрировать также количество полных оборотов и их направление. Для этого используют многооборотные энкодеры, принцип действия которых показан на рис. 3.13. С помощью зубчатых или других механических редукторов угол поворота уменьшается в нужное количество раз, и кодовые диски дополнительных степеней отсчитывают количество оборотов в нужных пользователям границах.
Рис. 3.13. Принцип действия многооборотного абсолютного энкодера
В абсолютных энкодерах информация об угловом положении вала сохраняется даже при отключении питания, поскольку фиксируется физически положением кодовых дисков. При использовании для кодирования положения вала обычного двоичного кода переход к соседнему положению может послужить причиной изменения нескольких бит одновременно. Например, при переходе от 0111 до 1000 изменяются одновременно 4 бита. Поэтому вблизи позиции перехода из-за некоторой несинхронности изменения разрядов могут кратковременно выдаваться неверные коды. Избавиться этого позволяет кодирование известным кодом Грея, в котором на каждом шаге изменяется лишь один бит.
Существует два типа кодирующих дисков: дискретные и абсолютных перемещений. В первом случае импульсы вырабатываются при повороте диска на фиксированную величину угла (шаг), во втором случае угловое перемещение задается комбинацией прозрачных и непрозрачных секторов, расположенных по радиусу диска. Рисунок диска абсолютных перемещений соответствует конкретному цифровому коду.
Рис. 1.20 Диски оптических шифраторов перемещений: А – дискретных; Б – абсолютных.
Абсолютный энкодер относится к типу энкодеров, который выполняет уникальный код для каждой позиции вала. В отличие от инкрементного энкодера, счетчик импульсов не нужен, т.к. угол поворота всегда известен. Абсолютный энкодер формирует сигнал, как во время вращения, так и в режиме покоя. Диск абсолютного энкодера отличается от диска пошагового энкодера, так как имеет несколько концентрических дорожек. Каждой дорожкой формируется уникальный двоичный код для конкретной позиции вала.
Рис. Кодовый диск абсолютного энкодера.
Абсолютный энкодер не теряет своего значения при потере питания и не требует возвращения в начальную позицию. Сигнал абсолютного энкодера не подвержен помехам и для него не требуется точная установка вала. Кроме того, даже если кодированный сигнал не может быть прочитан энкодером, если, например, вал вращается слишком быстро, правильный угол вращения будет зарегистрирован, когда скорость вращения уменьшится. Абсолютный энкодер устойчив к вибрациям.
Для кодирования угла поворота вала используется код Грея. Данный код предпочтительнее обычного двоичного тем, что обладает свойством непрерывности бинарной комбинации: изменение кодируемого числа на единицу соответствует изменению кодовой комбинации только в одном разряде. Он строится на базе двоичного по следующему правилу: старший разряд остается без изменения; каждый последующий разряд инвертируется, если предыдущий разряд исходного двоичного кода равен единице. Этот алгоритм построения может быть формально представлен как результат сложения по модулю два исходной комбинации двоичного кода с такой же комбинацией, но сдвинутой на один разряд вправо. При этом крайний правый разряд сдвинутой комбинации отбрасывается.
Таким образом, Грей-код является так называемым одношаговым кодом, т.к. при переходе от одного числа к другому всегда меняется лишь какой-то один бит. Погрешность при считывании информации с механического кодового диска при переходе от одного числа к другому приведет лишь к тому, что переход от одного положения к другом будет лишь несколько смещен по времени, однако выдача совершенно неверного значения углового положения при переходе от одного положения к другому полностью исключается.
Преимуществом Грей-кода является также его способность зеркального отображения информации. Так, инвертируя старший бит можно простым образом менять направление счета и, таким образом, подбирать к фактическому (физическому) направлению вращения оси. Выдаваемое значение может быть возрастающим или спадающим при одном и том же физическом направлении вращения оси. Поскольку информация, выраженная в Грей-коде, имеет чисто кодированный характер не несущей реальной числовой информации, он должен быть перед дальнейшей обработкой преобразован в стандартный бинарный код. Осуществляется это при помощи преобразователя кода (декодера Грей-Бинар), который легко реализуется с помощью цепи из логических элементов «исключающее или» как программным, так и аппаратным способом. При переходе от одного числа к другому (соседнему) лишь один бит информации меняет свое состояние, если число представлено кодом Грея, в то время, как в двоичном коде могут поменять свое состояние несколько бит одновременно. Код Грея - выход, следовательно, не имеет ошибку считывания и применяется во многих абсолютных энкодерах.