Из Википедии, бесплатной энциклопедии
  (Перенаправлен из самонаведения (механический) )
Перейти к навигации Перейти к поиску
Инкрементальный энкодер с валом, прикрепленным к его сквозному отверстию
Введение в инкрементальные кодировщики из сценария VideoWiki Incremental Encoder

Инкрементный датчик представляет собой линейный или поворотный электромеханическое устройство , которое имеет два выходных сигналов , A и B , которые выдают импульсы , когда устройство перемещается. [1] Вместе сигналы A и B указывают на возникновение и направление движения. Многие инкрементальные энкодеры имеют дополнительный выходной сигнал, обычно обозначаемый индексом [2] или Z , [3], который указывает, что энкодер находится в определенной контрольной позиции. Кроме того, некоторые энкодеры предоставляют выход состояния (обычно обозначаемый как аварийный сигнал ) [4] что указывает на внутренние неисправности, такие как отказ подшипника или неисправность датчика.

В отличие от абсолютного энкодера , инкрементальный энкодер не указывает абсолютное положение; [примечание 1] он сообщает только об изменениях положения [3] и о каждом сообщенном изменении положения о направлении движения. Следовательно, для определения абсолютного положения в любой конкретный момент необходимо послать сигналы энкодера на интерфейс инкрементного энкодера , который, в свою очередь, будет «отслеживать» и сообщать об абсолютном положении энкодера.

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

Квадратурные выходы [ править ]

Две квадратные волны в квадратуре. Направление движения обозначено знаком - B разности фаз , которые, в данном случае, является отрицательным , потому что A трасс B .

Инкрементальный энкодер использует квадратурный энкодер для генерации выходных сигналов A и B. Импульсы, излучаемые выходами A и B, имеют квадратурную кодировку, что означает, что, когда инкрементальный энкодер движется с постоянной скоростью, рабочий цикл каждого импульса составляет 50% (т. Е. Форма волны представляет собой прямоугольную волну ) и 90 градусов разность фаз между A и B . [2]

В любой момент времени разность фаз между сигналами A и B будет положительной или отрицательной в зависимости от направления движения энкодера. В случае поворотного энкодера разность фаз составляет + 90 ° для вращения по часовой стрелке и -90 ° для вращения против часовой стрелки, или наоборот, в зависимости от конструкции устройства.

Частота импульсов на выходе A или B прямо пропорциональна скорости энкодера (скорости изменения положения); более высокие частоты указывают на быстрое движение, тогда как более низкие частоты указывают на более медленные скорости. [1] Статические неизменяющиеся сигналы выводятся на A и B, когда энкодер неподвижен. В случае энкодера частота указывает скорость вращения вала энкодера, а в линейных энкодерах частота указывает скорость линейного перемещения.

Концептуальные чертежи чувствительных механизмов квадратурного энкодера
  • Поворотный энкодер с соответствующими состояниями сигналов A / B, показанными справа

  • Линейный энкодер; R сигнал указывает кодер находится в нормальном положении

Разрешение [ править ]

Разрешение инкрементального энкодера является мерой точности информации о местоположении, которую он производит. Разрешение энкодера обычно определяется количеством импульсов A (или B ) на единицу смещения или, что эквивалентно, количеством циклов прямоугольной волны A (или B ) на единицу смещения. В случае угловых энкодеров разрешение определяется как количество импульсов на оборот (PPR) или циклов на оборот (CPR) [3], тогда как разрешение линейного энкодера обычно определяется как количество импульсов, выдаваемых для определенного линейного расстояния перемещения. (например, 1000 импульсов на мм ).

Это контрастирует с разрешением измерения энкодера, которое является наименьшим изменением положения, которое энкодер может обнаружить. Каждый фронт сигнала на A или B указывает на обнаруженное изменение положения. Поскольку каждый прямоугольный цикл на A (или B ) включает четыре фронта сигнала (нарастание A , повышение B , падение A и падение B ), разрешение измерения энкодера составляет одну четверть смещения, представленного полным A или Bвыходной цикл. Например, линейный энкодер с частотой 1000 импульсов на мм имеет разрешение измерения за цикл 1 мм / 1000 циклов = 1 мкм, поэтому разрешение этого энкодера составляет 1 мкм / 4 = 250 нм.

Симметрия и фаза [ править ]

При движении с постоянной скоростью, идеальным инкрементный датчик будет идеальным выход квадратных волны на А и В (то есть, импульсы ровно на 180 ° в ширину) с разностью фаз точно 90 ° между A и B . Однако в реальных энкодерах из-за несовершенства датчика ширина импульса никогда не бывает точно 180 °, а разность фаз никогда не бывает точно 90 °. Кроме того, ширина импульса A и B меняется от одного цикла к другому (и друг от друга), а разность фаз меняется на каждом фронте сигнала A и B. Следовательно, как ширина импульса, так и разность фаз будут изменяться в диапазоне значений.

Для любого конкретного энкодера диапазоны ширины импульса и разности фаз определяются спецификациями «симметрии» и «фазы» (или «фазирования») соответственно. Например, в случае энкодера с симметрией, заданной как 180 ° ± 25 °, ширина каждого выходного импульса гарантированно составляет от 155 ° до не более 205 °. Точно так же, если фаза задана как 90 ° ± 20 °, разность фаз на каждом краю A или B будет не менее 70 ° и не более 110 °.

Типы сигналов [ править ]

Инкрементальные энкодеры используют различные типы электронных схем для управления (передачи) своих выходных сигналов, и производители часто имеют возможность построить конкретную модель энкодера с любым из нескольких типов драйверов. Обычно доступные типы драйверов включают открытый коллектор, механический, двухтактный и дифференциальный RS-422.

Открытый коллектор [ править ]

Принципиальная схема типичного драйвера с открытым коллектором. В некоторые энкодеры встроен выходной подтягивающий резистор; если не встроенный, требуется внешний резистор.

Драйверы с открытым коллектором работают в широком диапазоне сигнальных напряжений и часто могут потреблять значительный выходной ток, что делает их полезными для прямого управления токовыми петлями , оптоизоляторами и оптоволоконными передатчиками .

Поскольку он не может обеспечивать ток, выход драйвера с открытым коллектором должен быть подключен к положительному постоянному напряжению через подтягивающий резистор . В некоторых энкодерах для этой цели предусмотрен внутренний резистор; другие не требуют и поэтому требуют внешнего подтягивающего резистора. В последнем случае резистор обычно располагается рядом с интерфейсом энкодера для повышения помехоустойчивости.

Напряжение логического сигнала высокого уровня энкодера определяется напряжением, приложенным к подтягивающему резистору ( V OH на схеме), тогда как выходной ток низкого уровня определяется как сигнальным напряжением, так и сопротивлением нагрузки (включая подтягивающий резистор). резистор). Когда драйвер переключается с низкого логического уровня на высокий, сопротивление нагрузки и емкость цепи действуют вместе, образуя фильтр нижних частот , который растягивает (увеличивает) время нарастания сигнала и тем самым ограничивает его максимальную частоту. По этой причине драйверы с открытым коллектором обычно не используются, когда энкодер выдает высокие частоты.

Механический [ править ]

Поворотный механический инкрементальный энкодер на печатной плате

В механических (или контактных ) [5] инкрементальных энкодерах используются скользящие электрические контакты для непосредственной генерации выходных сигналов A и B. [2] Как правило, контакты электрически соединены с сигнальной землей при замыкании, так что выходы будут "приводиться" в низкий уровень, что фактически делает их механическими эквивалентами драйверов с открытым коллектором и, следовательно, подчиняются тем же требованиям к формированию сигнала (то есть внешнему подтягиванию резистор).

Максимальная выходная частота ограничена теми же факторами, которые влияют на выходы с открытым коллектором, и дополнительно ограничена дребезгом контактов, который должен быть отфильтрован интерфейсом энкодера, и рабочей скоростью механических контактов, что делает эти устройства непрактичными для высоких частотный режим. Кроме того, контакты подвержены механическому износу при нормальной работе, что ограничивает срок службы этих устройств. С другой стороны, механические энкодеры относительно недороги, потому что в них нет внутренней активной электроники. Взятые вместе, эти атрибуты делают механические энкодеры подходящими для низкочастотных приложений с низкими нагрузками.

Механические инкрементальные энкодеры, монтируемые на печатной плате и на панели, широко используются в качестве ручного управления в электронном оборудовании. Такие устройства используются в качестве регуляторов громкости в звуковом оборудовании, в качестве регуляторов напряжения в настольных источниках питания и для множества других функций.

Тяни-толкай [ править ]

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

Дифференциальная пара [ править ]

Формы дифференциального выходного сигнала от инкрементального энкодера

Дифференциальная передача сигналов RS-422 обычно предпочтительна, когда кодер выводит высокие частоты или расположен далеко от интерфейса кодировщика, [5] [6] или когда сигналы кодера могут подвергаться воздействию электрических полей или синфазных напряжений, [5 ] или когда интерфейс должен уметь обнаруживать проблемы связи между кодировщиком и интерфейсом. Примеры этого включают КИМ и станки с ЧПУ , промышленную робототехнику , автоматизацию производства и подвижные платформы, используемые в симуляторах самолетов и космических кораблей.

Когда используются выходы RS-422, энкодер предоставляет пару дифференциальных проводов для каждого логического выхода; например, «A» и «/ A» являются обычно используемыми обозначениями для дифференциальной пары «активный-высокий» и «активный-низкий», содержащей логический выход A энкодера . Следовательно, интерфейс энкодера должен обеспечивать линейные приемники RS-422 для преобразования входящих пар RS-422 в несимметричную логику. [5]

Основные приложения [ править ]

Отслеживание позиции [ править ]

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

В отличие от абсолютных энкодеров, инкрементальный энкодер не отслеживает и не показывает текущее положение энкодера; он сообщает только о постепенных изменениях положения. [3] Следовательно, чтобы определить положение энкодера в любой конкретный момент, необходимо обеспечить внешнюю электронику, которая будет «отслеживать» положение. Эта внешняя схема, известная как интерфейс инкрементального энкодера, отслеживает положение путем подсчета инкрементных изменений положения.

Когда он получает каждый отчет об инкрементальном изменении положения (обозначенном переходом сигнала A или B ), интерфейс энкодера будет учитывать фазовое соотношение между A и B и, в зависимости от знака разности фаз, считать вверх или вниз. Суммарное значение «counts» указывает расстояние, пройденное с момента начала отслеживания. Этот механизм обеспечивает точное отслеживание положения в двунаправленных приложениях и, в однонаправленных приложениях, предотвращает ложные подсчеты, которые в противном случае могли бы возникнуть в результате вибрации или механического дизеринга вблизи перехода кода AB.

Единицы смещения [ править ]

Часто счет энкодера должен быть выражен в таких единицах, как метры, мили или обороты. В таких случаях счетчики преобразуются в желаемые единицы путем умножения на коэффициент смещения энкодера на счет :

.

Обычно этот расчет выполняется компьютером, который считывает счетчики с интерфейса инкрементного энкодера. Например, в случае линейного инкрементального энкодера, который производит 8000 отсчетов на миллиметр хода, положение в миллиметрах рассчитывается следующим образом:

.

Самонаведение [ править ]

Чтобы интерфейс энкодера мог отслеживать и сообщать об абсолютном положении, счетчики энкодера должны быть коррелированы с исходным положением в механической системе, к которой прикреплен энкодер. Обычно это делается путем наведения системы в исходное положение, которое состоит из перемещения механической системы (и энкодера) до тех пор, пока она не выровняется с референтной позицией, а затем заклинивания [примечание 2] связанных абсолютных отсчетов положения в счетчик интерфейса энкодера. Другой распространенный метод - это вставка эталонного значения в счетчик при получении импульса с «индексного» выхода кодировщика, если таковой имеется.

В некоторых приложениях инкрементального энкодера отсутствуют датчики референтного положения, и поэтому для этого необходимо использовать другие средства. Например, компьютер при использовании указательного устройства с помощью мыши или трекбола обычно устанавливает устройство в исходное положение, занимая центральное начальное положение на экране и вставляя соответствующие счетчики в счетчики положения X и Y.

Измерение скорости [ править ]

Механические конвейеры, подобные этому, обычно используют инкрементальные энкодеры в качестве устройств обратной связи для регулирования скорости с обратной связью.
Антенна для коммерческих морских радаров

Инкрементальные энкодеры обычно используются для измерения скорости механических систем. Это может быть сделано для целей мониторинга или для обеспечения обратной связи для управления движением , или для того и другого. [5] Широко распространенные применения этого включают управление скоростью вращения антенны радара и конвейеров материалов , а также управление движением в робототехнике , КИМ и станках с ЧПУ .

Интерфейсы инкрементального энкодера в первую очередь связаны с отслеживанием механического смещения и обычно не измеряют скорость напрямую. Следовательно, скорость должна быть измерена косвенно, взяв производную положения по времени. Сигнал положения по своей сути квантован , что создает проблемы для получения производной из-за ошибки квантования, особенно на низких скоростях.

Скорость энкодера может быть определена либо путем подсчета, либо путем синхронизации выходных импульсов энкодера (или фронтов). [7] Результирующее значение указывает частоту или период, соответственно, на основании которого можно рассчитать скорость. Скорость пропорциональна частоте и обратно пропорциональна периоду.

По частоте [ править ]

Если сигнал положения дискретизируется (дискретный сигнал времени), импульсы (или фронты импульсов) обнаруживаются и подсчитываются интерфейсом, а скорость обычно вычисляется компьютером, имеющим доступ для чтения к интерфейсу. Для этого компьютер в определенный момент считывает счетчики позиций с интерфейса, а затем, через некоторое время, снова считывает счетчики для получения . Затем вычисляется средняя скорость в интервале до : [2]

.

Результирующее значение скорости выражается в счетах в единицу времени (например, в счетах в секунду). Однако на практике часто бывает необходимо выражать скорость в стандартных единицах измерения, таких как метры в секунду, обороты в минуту (об / мин) или мили в час (MPH). В таких случаях программное обеспечение будет учитывать взаимосвязь между счетчиками и желаемыми единицами измерения расстояния, а также отношение периода выборки к желаемым единицам времени. Например, в случае поворотного инкрементального энкодера, который производит 4096 отсчетов на оборот, который считывается один раз в секунду, программное обеспечение будет вычислять число оборотов в минуту следующим образом:

.

При измерении скорости таким образом разрешение измерения пропорционально разрешению кодировщика и периоду выборки (время, прошедшее между двумя выборками); разрешение измерения будет выше по мере увеличения периода выборки. [2]

По периоду [ править ]

В качестве альтернативы, измерение скорости может сообщаться для каждого выходного импульса энкодера путем измерения ширины или периода импульса. При использовании этого метода измерения запускаются в определенных положениях, а не в определенное время. Вычисление скорости такое же, как показано выше (количество / время), хотя в этом случае время начала и окончания измерения ( и ) обеспечивается ссылкой на время.

Этот метод позволяет избежать ошибки квантования положения, но вносит ошибки, связанные с квантованием эталона времени. Кроме того, он более чувствителен к неидеальным характеристикам датчика, таким как фазовые ошибки, ошибки симметрии и отклонения мест перехода от их номинальных значений. [8]

Интерфейс инкрементального кодировщика [ править ]

Input connectors for encoder signalsRS-422 line receiversFPGAPCI Express edge connector
6-осевой интерфейс инкрементного энкодера PCI Express. Сверху вниз: входные разъемы (L) и линейные приемники (R); ПЛИС; разъем объединительной платы

Инкрементный интерфейс датчика представляет собой электронную схему , которая принимает сигналы от инкрементного датчика, обрабатывает сигналы для получения абсолютного положения и другую информацию, и делает полученную информацию доступной для внешних схем.

Интерфейсы инкрементного кодировщика реализуются различными способами, в том числе как ASIC , как IP-блоки внутри FPGA , как выделенные периферийные интерфейсы в микроконтроллерах и, когда не требуется высокая скорость счета, как битовые (контролируемые программным обеспечением) GPIO .

Независимо от реализации, интерфейс должен выбирать выходные сигналы кодировщика A и B достаточно часто, чтобы обнаруживать каждое изменение состояния AB до того, как произойдет следующее изменение состояния. При обнаружении изменения состояния, он будет увеличивать или уменьшать отсчеты позиции в зависимости от того A ведет или трассы B . Обычно это делается путем сохранения копии предыдущего состояния AB и при изменении состояния с использованием текущего и предыдущего состояний AB для определения направления движения.

Линейные приемники [ править ]

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

Односторонний [ править ]

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

Дифференциальный [ править ]

Линейные приемники RS-422 обычно используются для приема сигналов от кодировщиков, имеющих дифференциальные выходы. Этот тип приемника отклоняет синфазный шум и преобразует входящие дифференциальные сигналы в несимметричную форму, требуемую нисходящими логическими схемами.

В критически важных системах может потребоваться интерфейс энкодера для обнаружения потери входных сигналов из-за потери питания энкодера, отказа драйвера сигнала, неисправности кабеля или отсоединения кабеля. Обычно это достигается с помощью усовершенствованных линейных приемников RS-422, которые обнаруживают отсутствие действительных входных сигналов и сообщают об этом состоянии через выход состояния «сигнал потерян». При нормальной работе на выходах состояния могут появляться сбои (короткие импульсы) во время переходов между состояниями входа; обычно интерфейс кодировщика фильтрует сигналы состояния, чтобы предотвратить ошибочную интерпретацию этих сбоев как потерянных сигналов. В зависимости от интерфейса последующая обработка может включать в себя создание запроса на прерывание при обнаружении потери сигнала и отправку уведомления приложению для регистрации ошибок или анализа сбоев.

Синхронизация часов [ править ]

Синхронизатор 2-FF. Выходной сигнал линейного приемника подается на D in ; сигнал D out отправляется на квадратурный декодер.
На высоких тактовых частотах синхронизаторы могут использовать три (например, этот) или более триггеров для уменьшения MTBF.

Интерфейс инкрементного энкодера в основном состоит из последовательной логики, которая управляется тактовым сигналом . Однако входящие сигналы кодера являются асинхронными по отношению к часам интерфейса, поскольку их синхронизация определяется исключительно перемещением кодера. Следовательно, выходные сигналы от линейных приемников A и B (также Z и аварийных сигналов , если они используются) должны быть синхронизированы с тактовыми импульсами интерфейса, как для предотвращения ошибок из-за метастабильности, так и для приведения сигналов в тактовую область квадратурного декодера. [9]

Обычно эта синхронизация выполняется независимыми синхронизаторами одиночного сигнала, такими как синхронизатор с двумя триггерами, показанный здесь. На очень высоких тактовых частотах или когда требуется очень низкая частота ошибок, синхронизаторы могут включать дополнительные триггеры для достижения приемлемо низкой частоты ошибок по битам . [10]

Входной фильтр [ править ]

Во многих случаях интерфейс кодировщика должен фильтровать синхронизированные сигналы кодировщика перед их дальнейшей обработкой. Это может потребоваться для подавления шума низкого уровня и коротких всплесков шума большой амплитуды, обычно встречающихся в двигателях [11], и, в случае энкодеров механического типа, для устранения дребезга A и B, чтобы избежать ошибок подсчета из-за механический отскок контакта .

Аппаратные интерфейсы часто предоставляют программируемые фильтры для сигналов кодировщика, которые обеспечивают широкий диапазон настроек фильтра и, таким образом, позволяют им устранять дребезг контактов или подавлять переходные процессы, возникающие из-за шума или медленно вращающихся сигналов, при необходимости. В интерфейсах побитового взрыва A и B обычно подключаются к GPIO , которые дискретизируются (посредством опроса или граничных прерываний) и обрабатываются программным обеспечением.

Квадратурный декодер [ править ]

Квадратурный декодер преобразует сигналы A и B от инкрементального энкодера в сигналы разрешения направления и счета , которые используются для управления синхронным счетчиком вверх / вниз.

В интерфейсах инкрементального энкодера обычно используется квадратурный декодер для преобразования сигналов A и B в сигналы разрешения направления и счета (разрешения тактового сигнала), необходимые для управления двунаправленным (восходящим и обратным счетчиком ) синхронным счетчиком .

Обычно квадратурный декодер реализуется как конечный автомат (FSM), который одновременно производит выборку сигналов A и B и, таким образом, производит объединенные выборки "AB". При получении каждой новой пробы AB, конечный автомат будет сохранять предыдущую пробу AB для последующего анализа. FSM оценивает различия между новым и предыдущим состояниями AB и генерирует сигналы включения направления и счета в соответствии с обнаруженной последовательностью состояний AB. [11]

Переходы состояний [ править ]

В любых двух последовательных выборках AB логический уровень A или B может измениться, или оба уровня могут остаться неизменными, но при нормальной работе A и B никогда не изменятся одновременно. В этом отношении каждая выборка AB представляет собой двухбитовый код Грея .

  • Движение в прямом направлении

  • Движение в обратном направлении

  • Нет движения

  • Ошибка

Нормальные переходы [ править ]

Когда только или Б изменяет свое состояние, то предполагается , что кодер переместилась на один шаг своей резолюции измерения и, соответственно, квадратурный декодер будет утверждать , его счетчик позволит выход , чтобы счетчики на изменение. В зависимости от направления движения энкодера (вперед или назад) декодер будет утверждать или отменять свой выходной сигнал направления, чтобы заставить счетчики увеличиваться или уменьшаться (или наоборот).

Когда ни A, ни B не изменяются, предполагается, что кодер не перемещался, и поэтому квадратурный декодер отменяет свой выход разрешения счета , тем самым заставляя счетчики оставаться неизменными.

Ошибки [ править ]

Если оба логических состояния A и B изменяются в последовательных отсчетах AB, квадратурный декодер не имеет возможности определить, сколько приращений или в каком направлении переместился кодер. Это может произойти, если скорость кодера слишком высока для обработки декодером (т. Е. Скорость изменения состояния AB превышает частоту дискретизации квадратурного декодера; см. Частота Найквиста ) или если сигнал A или B зашумлен .

Во многих приложениях кодировщика это катастрофическое событие, потому что счетчик больше не обеспечивает точную индикацию положения кодера. Следовательно, квадратурные декодеры часто выводят дополнительный сигнал ошибки, который утверждается, когда состояния A и B изменяются одновременно. Из-за серьезности и зависящего от времени характера этого состояния сигнал ошибки часто связан с запросом прерывания .

Множитель часов [ править ]

Квадратурный декодер не обязательно позволяет счетчикам изменяться при каждом инкрементальном изменении положения. Когда декодер обнаруживает инкрементное изменение позиции (из-за перехода A или B , но не обоих сразу), он может позволить счетчикам измениться или он может запретить счет, в зависимости от перехода состояния AB и множителя тактовой частоты декодера .

Умножитель тактовой частоты квадратурного декодера назван так потому, что он дает скорость счета, которая кратна частоте импульсов A или B. В зависимости от конструкции декодера, умножитель тактовой частоты может быть встроен в конструкцию или настраиваться во время выполнения с помощью входных сигналов.

Значение множителя тактовой частоты может быть одним, двумя или четырьмя (обычно обозначается «x1», «x2» и «x4» или «1x», «2x» и «4x»). [12] В случае умножителя x4, счетчики будут меняться при каждом изменении состояния AB, в результате чего скорость счета будет в четыре раза больше частоты A или B. Множители x2 и x1 позволяют счетчикам изменяться при некоторых, но не всех изменениях состояния AB, как показано в таблице состояний квадратурного декодера выше (примечание: в этой таблице показана одна из нескольких возможных реализаций для умножителей x2 и x1; другие реализации могут включать счет на разных переходах AB).

Отчет о позиции [ править ]

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

Образец реестра [ править ]

Интерфейс кодера обычно использует регистр выборки для облегчения сообщения о местоположении. В простом случае, когда компьютер запрашивает информацию о местоположении под управлением программы, интерфейс будет производить выборку счетчика позиции (т. Е. Копировать текущие счетчики позиций в регистр выборки), а затем компьютер считывает счетчики из регистра выборки. Этот механизм приводит к атомарной операции и, таким образом, обеспечивает целостность выборочных данных, которые в противном случае могут оказаться под угрозой (например, если размер слова выборки превышает размер слова компьютера). [1]

Выборка по триггеру [ править ]

В некоторых случаях компьютер может быть не в состоянии программно (через запрограммированный ввод / вывод ) получать информацию о местоположении с адекватной точностью синхронизации. Например, компьютер может быть не в состоянии запрашивать выборки по своевременному периодическому графику (например, для измерения скорости) из-за изменчивости программного обеспечения по времени. Кроме того, в некоторых приложениях необходимо запрашивать образцы при возникновении внешних событий, и компьютер может быть не в состоянии сделать это своевременно. При более высоких скоростях и разрешающей способности кодировщика ошибки измерения положения могут возникать даже тогда, когда для запроса выборок используются прерывания, потому что кодер может перемещаться между моментом подачи сигнала IRQ и запросом выборки обработчиком прерывания.

Чтобы преодолеть это ограничение, интерфейс инкрементного энкодера обычно реализует выборку, запускаемую аппаратно, что позволяет ему производить выборку счетчика положения в точно контролируемые моменты времени в соответствии с входным сигналом триггера. [1] Это важно, когда позиция должна быть измерена в определенное время или в ответ на физические события, и важно в таких приложениях, как многоосевое управление движением и КИМ, в которых счетчики положения нескольких интерфейсов энкодера (по одному на ось) должны быть одновременно отобраны.

Во многих приложениях компьютер должен точно знать, когда была получена каждая проба, и, если интерфейс имеет несколько триггерных входов, какой сигнал инициировал сбор проб. Чтобы удовлетворить эти требования, интерфейс обычно будет включать в каждую выборку метку времени и информацию о запуске.

Уведомление о событии [ править ]

Триггеры выборки часто асинхронны по отношению к выполнению программного обеспечения. Следовательно, когда счетчик положения производит выборку в ответ на сигнал запуска, компьютер должен быть уведомлен (обычно через прерывание ), что выборка доступна. Это позволяет программное обеспечение , чтобы быть управляемой событиями (против опрошенных ), что облегчает отзывчивым поведение системы и исключает накладные расходы опроса.

Образец FIFO [ править ]

Последовательные триггеры выборки могут происходить быстрее, чем компьютер может обработать полученные образцы. Когда это происходит, информация в регистре выборки будет перезаписана до того, как ее сможет прочитать компьютер, что приведет к потере данных. Чтобы избежать этой проблемы, некоторые интерфейсы инкрементального кодировщика предоставляют буфер FIFO для выборок. [1] По мере получения каждой выборки она сохраняется в FIFO. Когда компьютер запрашивает образец, ему разрешается прочитать самый старый образец в FIFO.

Внешние ссылки [ править ]

  • СМИ, связанные с инкрементальными кодировщиками, на Викискладе?

Примечания [ править ]

  1. ^ Выходные сигналыэнкодера A и B не указывают абсолютное положение. Однако индексный сигнал, когда он присутствует и заявлен, указывает, что кодировщик находится в своей исходной позиции, которая в некоторых приложениях может быть абсолютной позицией.
  2. ^ В контексте синхронных цифровых счетчиков "заклинивание" - это изменение сохраненных счетчиков на определенное значение. Значение применяется к параллельным входам данных счетчика, а вход разрешения загрузки счетчика (или эквивалентный) утверждается, чтобы вызвать изменение счетчика. Во время этой операции нормальный счет на мгновение отключается.

Ссылки [ править ]

  1. ^ a b c d e Sensoray. «Введение в инкрементальные энкодеры» . Проверено 18 июля 2018 .
  2. ^ a b c d e Крейг, К. "Оптические кодеры" (PDF) . Проверено 25 июля 2018 года .
  3. ^ a b c d "Основы работы кодировщика" (PDF) . Компания Encoder Products . Проверено 23 июля 2018 года .
  4. ^ "Основы кодирования" (PDF) . ICS A / S.
  5. ^ a b c d e "Учебник по кодировщикам" (PDF) . Инфракрасный телескоп НАСА (IRTF) . Институт астрономии Гавайского университета . Проверено 17 августа 2018 .
  6. ^ «3 шага к определению правильного типа вывода кодировщика» . Кодирующие продукты . Проверено 20 августа 2018 .
  7. ^ Коллинз, Даниэль. "Как энкодеры используются для измерения скорости?" . Мир дизайна . Проверено 22 сентября 2020 .
  8. ^ Петрелла, Роберто; Турсини, Марко; Перетти, Лука; Зильотто, Мауро. «Алгоритмы измерения скорости для приводов, оборудованных инкрементным кодером низкого разрешения: сравнительный анализ» (PDF) . Проверено 22 сентября 2020 .
  9. ^ Гиносар, Ран. «Метастабильность и синхронизаторы: Учебное пособие» (PDF) . Израильский технологический институт . Проверено 21 января 2020 года .
  10. ^ Донохью, Райан. «Синхронизация в цифровых логических схемах» (PDF) . Стэнфордский университет . Проверено 21 января 2020 года .
  11. ^ a b "Интерфейсные ИС квадратурного декодера / счетчика" (PDF) . Agilent Technologies . Проверено 20 августа 2018 .
  12. ^ "Ошибка адресации кодировщика" . Машинный дизайн . Проверено 20 августа 2018 .