Абсолютный энкодер что это
Digitrode
цифровая электроника вычислительная техника встраиваемые системы
Что такое абсолютный энкодер и когда его следует использовать
Когда вам нужно измерить скорость, направление движения или положение вращающегося вала, вам, скорее всего, потребуется поворотный датчик или иными словами энкодер. И когда приходит время выбора такого устройства, необходимо рассмотреть два основных типа: инкрементный энкодер и абсолютный энкодер.
Важное значение имеет правильный выбор, поэтому в данном материале будет приведено краткое руководство по абсолютным энкодерам, чтобы помочь вам понять, что они из себя представляют, чем они отличаются от инкрементных энкодеров, и ситуации, в которых вам может понадобиться такое устройство.
Что такое абсолютный энкодер
Абсолютный энкодер предоставляет точное значение о положении или данные о каждой точке вращения, представляющую «абсолютное» положение энкодера. С момента его включения абсолютный датчик может рассказать вам точное положение вращающегося вала, которое он измеряет. Он делает это с помощью оптического, магнитного или емкостного сенсора для считывания уникального кода с диска, который вращается вместе с валом. Крайне важно, что абсолютный энкодер может сделать это без необходимости поворота вала и может отслеживать это положение даже в случаях временной потери питания. Чем больше уникальных кодов присутствует на диске кодировщика, тем точнее будет отображаться положение.
Разрешение представляется в виде битов (двоичных цифр), которые соответствуют количеству уникальных слов данных за один оборот. Абсолютные энкодеры также имеют однооборотные и многооборотные варианты. Однооборотные энкодеры обеспечивают позиционирование данных за один полный оборот на 360°, причем выход повторяется для каждого оборота вала. Многооборотные энкодеры также обеспечивают позиционирование данных за один оборот, но имеют дополнительный счетчик «поворотов», который измеряет количество оборотов.
Абсолютный энкодер против инкрементного энкодера
Инкрементный датчик работает, генерируя импульсы при вращении вала. Типичный инкрементный энкодер генерирует 2 меандра с отставанием на 90 градусов по фазе. Эти импульсы должны отслеживаться или подсчитываться электроникой, внешней по отношению к энкодеру.
Разрешение представлено числом импульсов на оборот и представляет собой количество высоких импульсов, которые инкрементный датчик будет выдавать от любого из его выходов. Поскольку выход инкрементного энкодера всегда присутствует только в 1 из 4 повторяющихся состояний, энкодер должен быть привязан к известному фиксированному местоположению, чтобы обеспечить значимую информацию о местоположении. Из исходного местоположения, часто совпадающего с индексным импульсом энкодера, можно отслеживать постепенное изменение вращения вала и определять абсолютное положение вала. Это должно происходить каждый раз, когда вы включаете инкрементный кодер или в случае временного отключения питания. Следовательно, для получения абсолютного положения требуется больше времени, и вал должен поворачиваться, чтобы обеспечить его. Всех этих недостатков лишен абсолютный энкодер.
Впрочем, инкрементальные энкодеры менее сложны, чем абсолютные модели, и поэтому обычно менее дороги (хотя разница в цене все уменьшается). Если вы только контролируете скорость, направление движения или относительное положение, инкрементный энкодер, как правило, лучший вариант, но когда определение абсолютного положения вала является вашей основной проблемой, абсолютный энкодер – это надежное решение.
В большинстве случаев сегодня абсолютный энкодер лучше инкрементного. Во-первых, абсолютный датчик поддерживает положение вала, положение будет известно, как только вы включите его. Вам не нужно ждать завершения последовательности самонаведения или калибровки и можете получить данные о положении, которые вам нужны быстрее при запуске или после сбоя питания, даже если вал был повернут, когда энкодер был выключен.
Знание абсолютного положения при запуске может быть существенным преимуществом во многих системах, где в определенных положениях безопасно продолжать вращать вал в одном направлении, но не в другом. В зависимости от применения, неправильное использование может привести к повреждению оборудования, телесным повреждениям или, что еще хуже, летальным исходам. В таких ситуациях важно, чтобы вы знали точное положение своего вращающегося устройства до того, как какие-либо части переместятся.
Не менее важно, что абсолютный кодер обеспечивает истинное положение в реальном времени. Поскольку все больше и больше систем становятся цифровыми с подключением к центральной шине связи, возможность опроса энкодера для определения положения в реальном времени, когда это необходимо, с минимальной задержкой, имеет большую пользу. Чтобы отслеживать положение с инкрементным датчиком, даже после последовательности самоопределения вам нужно отслеживать все импульсы с помощью внешней схемы (как правило, посредством квадратурного декодирования). Абсолютные энкодеры генерируют уникальное цифровое «слово» для каждой позиции в заявленном разрешении.
Есть и другие преимущества абсолютных энкодеров. Системы, которые имеют абсолютные датчики, как правило, менее восприимчивы к электрическим шумам, потому что они получают положение, считывая код с проверкой ошибок или в цифровом виде по последовательной шине.
Основываясь на этом факте, можно сказать, что сравнительно просто объединить более одного абсолютного энкодера вместе с другими в одной и той же системе – возможно, для автоматизации производства или в роботизированной руке с несколькими суставами. Если вы используете инкрементные энкодеры, мониторинг выходов с нескольких устройств может стать очень сложным, требующим значительной вычислительной мощности. Но с абсолютными энкодерами, особенно с теми, которые вы можете связать с центральной коммуникационной шиной, вы можете получать данные от каждого отдельно, что требует гораздо меньшей вычислительной мощности для интерпретации показаний.
Области применения абсолютных энкодеров
Изложив основные различия между абсолютными и инкрементными энкодерами, давайте кратко рассмотрим некоторые конкретные сценарии, в которых используются абсолютные энкодеры.
Ключевым рынком является робототехника – быстро расширяющаяся область, охватывающая широкий спектр применения. В производстве вы найдете роботизированные руки, используемые для сборки, сварки, распыления краски и других задач. Вы также найдете их в здравоохранении. Например, удаленная хирургия требует больших количеств исключительно точной позиционной информации от роботизированных рук. Роботы для оказания помощи на дому – еще один новый вариант использования для абсолютных датчиков.
Тем не менее, это всего лишь одна область, в которой больше систем становится цифровыми, а разрыв цен между инкрементальными и абсолютными энкодерами сокращается. Разнообразие приложений для абсолютных энкодеров становится почти бесконечным, как на промышленном, так и на потребительском рынках. Абсолютные датчики, применяемые всюду от автоматических ворот до заводской автоматики являются высокоэффективными и все более бюджетным способом определения положения вала исполнительного механизма.
Открытый проект индуктивного абсолютного энкодера
Без энкодеров не обходится ни один промышленный робот, принтер, лифт, гимбал и проч. Но и в более простых вещах энкодеры тоже нужны. При этом индустриальный энкодер на 1024 точки может обойтись дороже самого мотора. Здесь представлен проект индуктивного энкодера способного упростить жизнь создателям мехатроники.
Энкодер называется абсолютным потому что после подачи питания он сразу сообщит угол на который повернут.
Промышленные энкодеры обычно бывают оптические и магнитные. Оптические требуют создания стеклянного, зеркального или иного высококонтрастного диска с очень точным рисунком дорожек. Но оптические диски критически боятся загрязнений. Магнитные энкодеры критически боятся сильных внешних магнитных полей, а такие поля рядом с электрическими моторами всегда бывают. Поэтому индуктивный энкодер остаётся одним из самых технологичных решений.
Когда говорят про индуктивный энкодер, то обычно представляют cебе такую конструкцию:
Здесь два индуктивных сенсора реагируют на зубцы диска. Причём сенсоры расположены так чтобы сигналы на них были сдвинуты на четверть периода. Так получается типичный квадратурный энкодер. Этот энкодер не абсолютный и довольно грубый.
Микросхема LDC1101 содержит внутри осциллятор работающий на частоте в районе 0.5…10 МГц с подключённым внешним LC контуром. Когда рядом с LC контуром появляется проводящий ток объект, частота контура меняется за счёт вносимой дополнительной индуктивности. Отклонение частоты контура измеряется микросхемой и записывается во внутренние регистры c 24-битным представлением. Оттуда это значение можно прочитать через интерфейс SPI. Частота семплирования результатов измерений может достигать 150 тыс. отсчётов в секунду. Однако чем выше частота семплирования тем ниже точность измерения. Максимальное разрешение в 24 бита удаётся получить при частоте семплирования 15 тыс. семплов в секунду. При таком разрешении можно засечь микронные поперечные перемещения находящихся на сантиметровых дистанциях проводящих объектов. Но в нашем случае речь идёт о вращающемся объекте, и тут много неизвестных. Целью проекта было установить с какой угловой точностью и скоростью при ограничениях на размеры мы могли бы определять поворот.
Схема энкодера
Непосредственно источником вдохновения для проекта является вот этот апноут. Апноут демонстрирует идею как разработать мишень для сенсора и нивелировать её неидеальную геометрию и позиционирование. Но в нем применено мультиплексирование каналов измерения. Чтобы избежать задержек при мультиплексировании и повысить быстродействие было применено 4 независимых чипа вместо одного.
Схема платы энкодера
Отладочный интерфейс SWD, разъем X3
Перепрограммируется модуль через интерфейс SWD (X3) с помощью JTAG/SWD адаптера.
Плата энкодера
Интересной технологической вещью платы энкодера являются катушки индуктивности для LC контура сенсоров индуктивности. Эти катушки не должны быть слишком маленькими, иначе частота резонанса выйдет за допустимый диапазон сенсоров, но требования дизайна частот требует минимизации размеров энкодера. И тут был найден некий компромисс. Платы выполнена 4-слойной, чтобы обеспечить больше обмоток у катушек, а диаметр катушек снижен практически до минимального с учётом допустимого минимального зазора между дорожками в 0.1 мм. Однако есть ещё резерв для дальнейшего снижения размера.
Сам расчёт индуктивности катушек производится с помощью таблиц Excel предоставляемых фирмой TI. В проекте это файл LDC_Tools-ext22.xlsx
Вот вид таблицы для расчётов:
Катушки индуктивности имеют следующие параметры
А вот так выглядит катушка на 4-слойной плате:
Другой технологической особенностью является изготовление мишени для сенсора
В оригинальном апноуте представлена металлизация на плате в виде ромба по кругу.
Ширина металлизации по радиусу не должна превышать диаметр катушек для сохранения линейности измерения.
Наша мишень получилась такая:
Разрабатывалась мишень в среде Altium Designer и для получения нужного контура металлизации использовался скрипт. Проект построителя мишени со скриптом находится в директории Target_builder. А выглядит процесс так:
Макет и испытания энкодера
Был изготовлен макет с мотором для испытаний энкодера. К большой точности не стремились, поскольку цель была испытать энкодер без тщательного позиционирования.
Для измерения угла поворота мишени используется способ измерения индуктивности 4 катушек в магнитном поле которых вращается мишень. Металлизация мишени изменяет индуктивность катушек в зависимости от площади металлизации находящейся над катушками. Поскольку мишень имеет криволинейную фигуру из медного покрытия, то во время её вращения над модулем изменяется площадь медного слоя над каждой катушкой. Катушки реагируют на изменяющуюся площадь изменением своей частоты резонанса, которая измеряется и конвертируется в угол поворота.
Осциллограмма на катушке во время измерения индуктивности
Инициализация LDC1101
В данном проекте используется режим измерения LHR – измерение индуктивности с высоким разрешением (24 бита) Время измерения в режиме LHR задаётся уравнением:
Measurement Time (tCONV)= (RCOUNT[15:0] ˣ 16 + 55)/fCLKIN
RCOUNT = RCOUNT [15:8]×256 + RCOUNT [7:0]
Допустимый диапазон: 2 ≤ RCOUNT[15:0] ≤ 65535
Типичная форма сигналов измерения индуктивности 4-я сенсорами при равномерном вращении мишени
Как видно сигналы немного не синусоидальны, тем не менее после их сложения получается довольно равномерная пила
Способы калибровки и расчёт угла поворота
Калибровка заключается в снятии графиков индуктивности с 4-х катушек и вычислении на их основе констант нормирования, которые потом применяются для вычисления угла по текущим данным с датчиков.
Записывается сигнал в течении полного оборота мишени. Из 4-х сигналов находят два сигнала представляющие разность сигналов с противоположных катушек. Эти сигналы именуются X и Y, они смещены на 90 град относительно друг друга. У сигналов X и Y находят амплитуды и смещения относительно нуля, которые служат для последующего нормирования этих сигналов. Предполагается при этом, что сигналы имеют синусоидальную форму или очень близкую к ней. Угол рассчитывается как функция арктангенса от отношения нормированных X и Y.
Здесь показан скрипт для среды MATLAB демонстрирующий такой способ калибровки
Результат выполнения скрипта в MATLAB
Шумы и другие факторы
Измерения статического шума показали, что при измерение угла при частоте семплирования 2 кГц отсутствует шум в показаниях до 11 бит, а при частоте семплирования 1 кГц до 12 бит.
Влияние температуры
В таблице ниже приводятся данные измерения в одной произвольно выбранной точке при изменении температуры:
Температура
Угол
Влияние изменения зазора между мишенью и сенсорами на точность измерения угла
График влияния изменения дистанции от сенсоров до цели. Дистанция менялась на 0.1 мм и меньше. Минимум меди цели был над сенсором 4
Влияние внешнего магнитного поля.
При поднесении магнита на близкое расстояние к катушкам их показания не менялись. Вывод: магнитное поле не влияет на сенсоры.
Программное обеспечение
Одной из задач ПО модуля является вывод информации о сигналах с сенсоров и других данных на компьютер. Вывод осуществляется через интерфейс USB. При подключении модуля к компьютеру в системе появляется два виртуальных COM порта. Через младший порт устанавливается связь с внутренним терминалом VT100 модуля, через старший порт устанавливается связь с сервисом FreeMaster модуля.
Перечень сигналов и переменных доступных для наблюдения через FreeMaster можно увидеть в исходных текстах ПО модуля в файле FreeMaster_vars.c. При необходимости этот список можно свободно дополнить или сократить. После этого перекомпилировать проект и перепрограммировать микроконтроллер.
Из окна программы FreeMaster (Application Commands) также можно отправить команды модулю. Реализованы следующие:
Процесс калибровки модуля
В микроконтроллере калибровочные константы хранятся в структуре cdata.
Чтобы установить в микроконтроллере правильные калибровочные константы следует выполнить следующие шаги.
Поставить галочку у портов, на которых возможно работает сервис FreeMaster модуля, если точный номер порта неизвестен. Нажать далее. Если модуль подключён, то появится сообщение о подключении.
В левой панели программы с названием Project Tree выбрать пункт Calibrating_parameters. В нижней панели отобразятся текущие параметры калибровки:
На этом этапе регулируем cdata.offset и cdata.rcount чтобы добиться установить нужную частоту выборки и размах сигналов. Мишень при этом должна равномерно вращаться.
Переходим на пункт LHR Samples в панели Project Tree. Мишень вращается. Нажимаем кнопку Run. Спустя десяток секунд Stop. Появляется запись сигналов как на скриншоте.
Включаем Matlab и запускаем в нем скрипт Import_from_FreeMaster_Util.m (находится в директории проекта Matlab). Окно FreeMaster должно при этом оставаться открытым и без изменений. В результате выполнения скрипта появится график с данными перенесёнными из окна FreeMaster.
Протокол обмена с хост контроллером по шине SPI
SPI интерфейс модуля работает в режиме слэйва. Хост микроконтроллер работает в режиме мастера. Частота тактирования SPI не более 10МГц. Модуль отдаёт хосту измеренную величину угла в формате float point состоящим из 4-х байт младшим байтом вперёд. Внутренняя частота обновления значения угла в модуле чуть выше 2 КГц.
Протокол обмена по SPI
Обмен начинается с установки модулем сигнала лог.1 на лини READY.
Хост читает блок данных фиксированной длины равной 6-и байтам. Блок данных содержит текущее значение угла, измеренного модулем. Поле > После того как 6-ть байт будут прочитаны хостом модуль готовится к приёму 6-и байт от хоста и снимает сигнал READY. После снятия сигнала READY хост может в течении 500 мкс (чтобы выдержать частоту семплирования 2 КГц) выдать пакет из 6-и байт модулю, который модуль прочитает и выполнит с данными какие-либо действия. Пакет, например, может содержать команду модулю для начала обмена служебной информацией (это требует реализации). Если хост не выдал пакета команды, то модуль продолжает каждые 500 мкс (или другое предварительно согласованное время) выдавать сигнал READY. Сигнал READY не снимается пока хост не прочитает 6-ть байт из модуля.
Впечатление от технологии индуктивных сенсоров LDC1101 осталось очень положительным. Невосприимчивость к магнитным полям и достаточно высокое быстродействие делают сенсоры такого типа пригодными для использования в стабилизаторах положения и векторном управлении.
Однако если не обращать достаточно внимания на механическую точность, то расплачиваться придется усложнением калибровки.
Но в целом на малых скоростях данный энкодер способен заменить оптический энкодер на 2048 точек.
Принцип работы абсолютного энкодера
Содержание
Назначение
Абсолютные энкодеры являются важным соединительным звеном между механической частью машины и ее блоком управления благодаря своим точным и однозначным измерениям, которые они могут передавать мгновенно. Это их качество успешно применяется на современных предприятиях машиностроения и робототехники.
Классификация
Абсолютные энкодеры разделяют по следующим параметрам:
Принцип работы
В общем виде абсолютный энкодер представляет собой механизм, состоящий из:
Диск абсолютного энкодера имеет несколько концентрических дорожек, разделенных на равные чередующиеся участки. Каждой дорожкой формируется уникальный двоичный код, который отображает фактическое положение движущегося объекта.
Рис.3 Диск абсолютного энкодера с рисками
Как выбрать абсолютный энкодер
При выборе абсолютного энкодера следует обратить внимание на следующие параметры:
Сферы применения
Абсолютный энкодер разработан как универсальный, настраиваемый в соответствии с широким спектром задач сенсор. Выделяют следующие области использования: медицинская сфера, альтернативная энергетика, системы телекоммуникации, упаковочная и пищевая промышленности и многие другие.
Принцип работы абсолютного энкодера
Всё о абсолютных энкодерах. От А до Я: виды цифровых кодов, особенности кодирования/декодирования сигналов в абсолютных энкодерах, описание работы абсолютного энкодера, конструкция одно- и многооборотного энкодера, терминология используемая в тех. документации на абсолютные энкодеры. Абсолютный или инкрементальный? Когда оправдано или неизбежно применение абсолютного энкодера.
Абсолютные энкодеры от А до Я
Для чего вообще нужен абсолютный энкодер?
В машино- и станкостроении для осуществления правильного позиционирования систем контроля за передвижением постоянно требуются самые последние и точные позиционные данные. Благодаря своей способности в любой момент осуществлять присвоение точных и однозначных позиционных значений какой-либо угловой позиции или позиции перемещения абсолютные энкодеры стали одним из самых важных соединительных звеньев между механической частью машины и ее блоком управления.
История создания первого абсолютного энкодера вращения и основные отличия от инкрементного
Первый абсолютный датчик, принцип работы которого основывался на оптоэлектронном считывании закодированных растров, был разработан немецкой компанией FRABA в 1973 году. В то время как инкрементальные датчики определяют положение только относительно какого-то определенного положения, в абсолютных датчиках информация о угловом положении закодирована механически, например на оптическом диске в виде растра содержащего уникальный код для каждой позиции вала. Таким образом абсолютный энкодер выдает информацию о положении вала, т.е. о текущей координате, сразу после включения и формирует сигнал как во время вращения, так и в режиме покоя.
Абсолютный энкодер не теряет своего значения при потере питания и, если в обесточенном состоянии вал энкодера был провернут на определенный угол или какое-то количество оборотов, то при появлении напряжения энкодер сразу выдаст новое, фактическое угловое положение вала и фактический номер оборота. Благодаря этому свойству не требуется после каждого включения системы производить движение механических частей машины на стартовую или как принято называть референтную позицию, что является неоспоримым преимуществом абсолютных энкодеров перед инкрементальными (импульсными).
Преимущества абсолютного энкодера
Преимуществом абсолютного энкодера является также и то, что он не подвержен помехам. В случаях, когда сигнал с диска не может быть полноценно прочитан энкодером, например, если вал вращается слишком быстро, точный угол поворота будет зарегистрирован, когда скорость вращения уменьшится. Но даже при быстром вращении вала возможна регистрация положения, хоть и с меньшей точностью. Для этого во внимание просто принимается только информация поступающая от более старших разрядов, т.е. искаженная (за счет большой скорости вращения) информация поступающая от младших разрядов просто игнорируется. Абсолютный энкодер устойчив к вибрациям и другого рода помехам, т.к. ошибка в результате подсчета «ложных» импульсов, возникших в результате, например, вибрации, исключена.
Для более четкого понимания принципа работы абсолютных энкодеров, в частности основания для необходимости использования специальных способов кодирования сигналов при построении абсолютных энкодеров, будет уместно вспомнить некоторые основы цифровой техники, в т.ч. виды/методы кодирования чисел/сигналов описанных ниже.
Виды цифровых кодов и особенности их использования в системах позиционирования
Бинарные коды
Термин «бинарный» по смыслу — состоящий из двух частей, компонентов. Таким образом бинарные коды это коды которые состоят только из двух символьных состояний например черный или белый, светлый или темный, проводник или изолятор. Бинарный код в цифровой технике это способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы БК называют битами. Одним из обоснований применения БК является простота и надежность накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний, например в виде изменения или постоянства светового потока при считывании с оптического кодового диска.
В таблице ниже представлены две основные возможности кодирования — двоичное кодирование и кодирование по методу Грея (который далее будет описан подробнее), а также способы представления информации в различных системах счисления.
Для разных систем счисления в таблице используются следующие сокращения:
десятичное число = decimal = DEC
двоично-десятичное число = binary code decimal = BCD
шестнадцатеричное число = hexadecimal = HEX
Обычное двоичное кодирование
DEC | BCD (Binary) | HEX |
---|---|---|
0 | 0000 | 0h |
1 | 000 1 | 1h |
2 | 00 10 | 2h |
3 | 001 1 | 3h |
4 | 0 100 | 4h |
5 | 010 1 | 5h |
6 | 01 10 | 6h |
7 | 011 1 | 7h |
8 | 1000 | 8h |
9 | 100 1 | 9h |
10 | 10 10 | Ah |
11 | 101 1 | Bh |
12 | 1 100 | Ch |
13 | 110 1 | Dh |
14 | 11 10 | Eh |
15 | 111 1 | Fh |
Кодирование в коде Грея
DEC | BCD (Gray) | HEX |
---|---|---|
0 | 0000 | 0h |
1 | 000 1 | 1h |
3 | 00 1 1 | 3h |
2 | 001 0 | 2h |
6 | 0 1 10 | 6h |
7 | 011 1 | 7h |
5 | 01 0 1 | 5h |
4 | 010 0 | 4h |
12 | 1 100 | Ch |
13 | 110 1 | Dh |
15 | 11 1 1 | Fh |
14 | 111 0 | Eh |
10 | 1 0 10 | Ah |
11 | 101 1 | Bh |
9 | 10 0 1 | 9h |
8 | 100 0 | 8h |
Двоично-десятичный код (Binary code decimal)
Двоично-десятичный код является широкораспространенным кодом, который может обрабатываться непосредственно микропроцессором и является основным кодом для обработки цифровых сигналов. Двоично-десятичный код состоит только из 0 и 1.
Наибольшее число, которое может быть выражено двоичным кодом, зависит от количества используемых разрядов, т.е. от количества бит в комбинации, выражающей число. Например, для выражения числовых значений от 0 до 7 достаточно иметь 3-разрядный, т.е. 3-битовый код.
Двоично-десятичный код является многошаговым кодом. Это означает, что при переходе от одного положения (значения) в другое могут изменяться несколько бит одновременно. Например, число 3 в двоичном коде = 011. Число же 4 в двоичном коде = 100. Соответственно, при переходе от 3 к 4 меняют свое состояние на противоположное все 3 бита одновременно. Считывание такого кода приводит к тому, что из-за несовершенства считывателя, например, из-за неизбежных отклонений (допусков) при производстве кодового диска, изменение информации от каждой из дорожек в отдельности никогда не происходит одновременно. Как следствие, при переходе от одного числа к другому, кратковременно (или постоянно в случае остановки вала энкодера непосредственно на критическом участке перехода!) выдается неверная информация о положении вала. Так, на участке вышеупомянутого перехода от числа 3 к числу 4 очень вероятна выдача числа 7, когда, например, старший бит во время перехода поменял свое значение немного раньше чем остальные. Таким образом, использование обычного двоичного кода может с большой вероятностью приводить к выдаче числа, далёкого от реального значения, и, как следствие, непредсказуемому реагированию системы управления или контроллера на искаженный сигнал энкодера. Чтобы избежать этого применяется так называемый одношаговый код, например, код Грея.
Код Грея (Gray code)
Код Грея (Gray code — назван в честь американского физика Frank Gray) идеально подходит для систем механического позиционирования, в т.ч. абсолютных энкодеров. Код Грея предпочтительнее обычного двоичного тем, что обладает свойством постоянства бинарной комбинации: изменение кодируемого числа на единицу соответствует изменению кодовой комбинации только в одном разряде. Таким образом, Грей-код является так называемым одношаговым кодом. Он строится на базе двоичного по следующему правилу: старший разряд остается без изменения, а каждый последующий разряд инвертируется, если предыдущий разряд исходного двоичного кода равен единице.
Из таблицы выше видно, что число представленное кодом Грея, при переходе от одного числа к другому (соседнему), меняет свое состояние лишь в одном разряде информации, в то время, как в двоичном коде могут поменять свое состояние несколько разрядов (бит) одновременно. Биты меняющие свое состояние, при переходе от одного числа к другому, в таблице обозначены красным цветом.
В случае использования кода Грея погрешность при считывании информации на участке перехода от одного числа к другому приведет лишь к тому, что этот переход будет лишь несколько смещен по времени, однако выдача совершенно неверного значения углового положения на участке перехода полностью исключается. Это особенно актуально для датчиков, где носителем / источником информации (например, о положении вала энкодера) является механический элемент. В случае абсолютного энкодера это оптический диск с механически нанесенными на него метками, где минимальные геометрические погрешности / смещения нескольких оптических дорожек / секторов относительно друг друга не исключаются из-за погрешностей офсетной печати при производстве на стадии нанесения рисунка на оптический диск. На картинке ниже представлен диск энкодера с рисунком (растром) в формате Грей-кода.
Преимуществом Грей-кода является также его способность зеркального отображения информации. Так, инвертируя старший бит можно простым образом менять направление счета. Эту функцию выполняет, так называемый, вход «Complement». В зависимости от потенциала на этом входе выдаваемое энкодером значение будет возрастающим или спадающим при одном и том же физическом направлении вращения оси.
Поскольку информация, выраженная в коде Грея, имеет чисто кодированный характер, не несущей реальной числовой информации, его необходимо перед дальнейшей обработкой сперва преобразовать в стандартный бинарный (двоичный) код. Преобразование кода Грея в привычный бинарный код можно осуществить программно (в контроллере) или используя простую схему с инверторами и логическими элементами «исключающее или» (XOR) как показано на схеме ниже:
Примечание:
*Код Грея может логически преобразовываться в двоичный код когда терминал Vin подключается к 0 V.
**Инвертор
***Исключающее или
Gray-Excess-Code
Обычный одношаговый Грей-код подходит для разрешений, которые могут быть представлены в виде числа возведенного в степень 2. В случаях, где надо реализовать другие разрешения из обычного Грей-кода, вырезается и используется средний его участок. Таким образом, сохраняется «одношаговость» кода. Однако числовой диапазон начинается не с нуля, а смещается на определенное значение. При обработке информации от генерируемого сигнала отнимается половина разницы между первоначальным и редуцированным разрешением. Такие разрешения как, например, 360° для выражения угла часто реализуются этим методом. Так 9-ти битный код Грея равный 512 шагам, урезанный с обеих сторон на 76 шагов будет равен 360°.
Устройство оптического абсолютного энкодера
Измерительная система абсолютного оптического энкодера состоит из следующих основных компонентов:
— поворотный вал монтированный на двух подшипниках;
— кодовый оптический диск, установленный на вал;
— инфракрасный светодиод (в качестве источника света);
— опто-электронная (фототранзисторная) считывающая матрица;
— схема обработки сигнала;
— в многооборотном энкодере дополнительно встраивается редуктор из нескольких кодовых оптических дисков со светодиодами и считывающими матрицами для каждого из них.
Инфракрасные лучи светодиода просвечивают кодовый диск и попадают на фототранзисторную считывающую матрицу, расположенную с обратной стороны кодового диска. При каждом шаге углового положения кодового диска темные его участки предотвращают попадание света на те или иные фототранзисторы считывающей матрицы преобразущей световые сигналы в электрические. Электрические сигналы, в свою очередь, преобразуются электроникой энкодера в двоичный код.
Однооборотный энкодер
Однооборотными (Single — Turn) энкодерами называются датчики (энкодеры), которые выдают абсолютное значения в пределах одного оборота, т.е. в пределах оборота 360°. После одного оборота код является полностью пройденным и начинается опять с его начального значения. Эти датчики служат, преимущественно, для измерения угла поворота и применяются, например, в антенных системах, эксцентричных коленчатых прессах и т.д. и т.п..
Разрешение однооборотного энкодера определяется/обозначается количеством бит. Например, у энкодера с разрешением в 16-бит подразумевается разрешение в 65536 меток в обороте.
В свою очередь, чтобы перевести количества меток (шагов) в обороте в угловые градусы достаточно разделить 360° на количество меток, например: разрешение 65536 меток (16 бит) соответствует разрешению: 360/65536=0,005° (угловых градусов).
Ниже приведены самые распространенные разрешения однооборотного энкодера с соответствующими значениями в угловых градусах:
256 (8 Bit) — 1.4°
360 (9 Bit) — 1°
1024 (10 Bit) — 0,35°
4096 (12 Bit) — 0,088°
8192 (13 Bit) — 0,044°)
65536 (16 Bit) — 0,005°
Многооборотный энкодер
Линейные перемещения предполагают необходимым применение измерительной системы регистрирующей не только положение вала в пределах одного оборота, но и определенного количества оборотов. Например, в линейных приводах или в задачах измерения с помощью зубчатой измерительной штанги уместно применение энкодеров, где дополнительно к измерению угла поворота в пределах одного оборота (первой ступенью энкодера) также происходит регистрация количества оборотов дополнительным, своего рода редуктором (образующим вторую ступень энкодера) состоящим из нескольких кодовых оптических дисков, образуя, таким образом, многооборотный энкодер ( Multi — Turn ). Разрешение многооборотного энкодера, как правило, обозначается раздельно как разрешение в пределах одного оборота + количество оборотов в формате количества бит. Так, комбинация цифр в наименовании энкодера в виде, например, 1216 означает разрешение 12 бит оборотов (4096 оборотов) и 16 бит в обороте (65536 меток на оборот).
Магнитные абсолютные энкодеры
Принцип магнитных измерений
Магнитные энкодеры определяют угловое положение с использованием магнитно-полевой технологии. Постоянный магнит, установленный на валу энкодера, создает магнитное поле, которое измеряется датчиком, формирующим уникальное значение абсолютного положения.
Инновационная многооборотная технология
Многооборотные магнитные энкодеры IXARC POSITAL используют инновационную технологию для отслеживания количества оборотов, даже если оборот произошел при отключенном питании системы. Для выполнения этой задачи энкодеры преобразуют вращение вала в электрическую энергию. Технология основана на эффекте Виганда: когда постоянный магнит на валу энкодера поворачивается на определенный угол, магнитная полярность в „проводе Виганда“ резко меняется, создавая кратковременный всплеск напряжения в обмотке, окружающей провод. Этот импульс отмечает поворот вала, а также обеспечивает питание электронной цепи, регистрирующей данное событие. Эффект Виганда происходит в любых условиях, даже при очень медленном вращении, и исключает потребность в резервных батареях.
Особенности магнитных энкодеров
Магнитные энкодеры являются надежными, долговечными и компактными. Конструкция, не требующая использования батарей и не имеющая зубчатых передач, обеспечивает механическую простоту и более низкую стоимость по сравнению с оптическими энкодерами. Их компактные габариты позволяют использовать их в очень ограниченном пространстве.
И всё таки — оптический или магнитный?
Этот вопрос однажды задали соучредителю группы компаний «Fraba» (он же директор компании Posital) в интервью журнала «Конструктор» при обсуждении темы внедрения новой магнитной технологии при производстве энкодеров вращения.
Ссылка на перевод публикации этого интервью см. здесь в статье «Важные критерии при выборе энкодера» >>
Терминология абсолютных энкодеров
Абсолютный, однооборотный (Singleturn) датчик угла поворота | Датчик угла поворота, который для каждой позиции вала, в пределах одного оборота, выдает однозначную, кодированную информацию. Информация о положении вала сохраняется также и при пропадании напряжения питания. |
Абсолютный, многооборотный (Multiturn) датчик угла поворота | Датчик угла поворота, который помимо информации о положении вала в пределах одного оборота выдает также информацию о номере оборота вала. Этот датчик также полностью сохраняет информацию при пропадании напряжения питания, т.к. положение вала в пределах одного оборота и номер оборота регистрируются физически с помощью нескольких, например, оптических кодовых дисков. |
ASI | Asynchron-Serielles-Interface. Асинхронный интерфейс с последовательной передачей данных. Аппаратная часть (драйвер) реализована по стандарту EIA RS485 или RS422. |
ASIC | Специальная микросхема высокой интеграции, выполненная под заказ. Используется во многих энкодерах. |
Baudrate | Частота (скорость) передачи данных последовательного интерфейса в битах в секунду. |
CAN-Bus Multi-Master-Bus-System | Интерфейс связи, допускающий подключение к сети (двухпроводной линии связи) нескольких ведомых устройств. В настоящее время для CANopen приняты некоторые нормированные протоколы. Для датчиков угла поворота действует — DSP 406. |
Частота смены кода (Step freqency) | Количество меток (шагов) в секунду для абсолютных энкодеров. Для датчиков с разрешением 13 бит (8192 метки) и 400 kHz частотой смены кода, максимальная электрическая частота вращения составит 3000 min-1. |
Datavalid | Выход диагностики для перепроверки достоверности посылаемых данных. |
Направление вращения (Complement) | Управляющий вход для установки последовательности данных. Задает направление вращения по- или против- часовой стрелки при котором данные на выходе будут при вращении возрастать. |
Точность | Отклонение измеренного энкодером угла поворота (положения) от фактического. Точность зависит, в первую очередь, от точности нанесения рисунка кода на, например, оптический диск. Риски / секторы нанесенные на диск имеют определенную нелинейность, т.е. неравномерная плотность меток по окружности диска определяет точность энкодера (как правило в процентах). |
Preset (Обнуление) | Управляющий вход, позволяющий обнулить показания на выходе абсолютного энкодера в любом месте во всей области разрешения без необходимости механического позиционирования вала. Для перепрограммируемого абсолютного энкодера с помощью этого входа может быть программно выставлено любое значение (Offsetwert). |
Profibus DP | Master-Slave-Bus-System с двухпроводной линией связи и аппаратным EIA RS485 драйвером. Profibus-DP протокол специфицирован для энкодеров. |
Resolution per revolution (Разрешение в обороте) | Для однооборотного датчика (Singleturn) указывает максимальное количество меток в пределах одного оборота. Для программируемого энкодера параметр необходимого разрешения в пределах одного оборота энкодера может задаваться пользователем программно. В этом случае энкодер пересчитывает фактическое (физическое) разрешение в более низкое. |
Total Resolution (Общее разрешение) | Общее разрешение многооборотного (Multiturn) энкодера — указывает максимальное количество меток в пределах одного оборота и максимальное количество оборотов. Для программируемого энкодера параметр необходимого разрешения в пределах одного оборота и количества оборотов энкодера может задаваться пользователем программно. В этом случае энкодер пересчитывает фактическое (физическое) разрешение в более низкое. |
SSI | Synchron-Serielles-Interface. Передача данных от энкодера осуществляется синхронно (бит за битом) по внешнему тактовому импульсу. |
Takt +, Takt — | Тактовые провода линии связи SSI инерфейса для синхронной передачи данных.Takt + и Takt — образуют гальванически развязанную (от проводов питания) линию связи для приема энкодером тактового сигнала. |
Data +, Data — | Провода данных линии связи SSI инерфейса для синхронной передачи данных.Data + и Data — образуют гальванически развязанную (от проводов питания) линию связи для выдачи энкодером сигнала данных. |
Сопутствующие товары и статьи
Абсолютные энкодеры Posital Fraba
Однооборотные и многооборотные абсолютные энкодеры производства Posital Fraba с разрешением до 31 бит и интерфейсами: — SSI, параллельный, аналоговый, CANopen, DeviceNet, EtherCAT, EtherNet/IP, Interbus, Modbus, Powerlink, Profibus DP, Profinet и др..
Принцип работы инкрементального энкодера
Описание работы инкрементального энкодера, квадратура выходных сигналов, особенности механического сопряжения, особенности оптической и магнитной технологии.
Последовательный синхронный интерфейс SSI
Подробное описание протокола / последовательного интерфейса SSI, рекомендации по подключению и общее представление шины RS485. В каких случаях оправдан параллельный интерфейс и когда более оправдано применение последовательного.
Важные критерии при выборе энкодера
Функциональные возможности, конструктивные особенности, применяемые материалы и технологии изготовления абсолютных оптических и магнитных энкодеров вращения производства. Энкодер вращения — оптический или магнитный? Перевод публикации интервью в журнале «Конструктор» с соучредителем группы компаний Fraba на тему магнитной технологии.