Инкрементальный энкодер
Инкрементный энкодер — это линейное или вращательное электромеханическое устройство, имеющее два выходных сигнала , A и B , которые выдают импульсы при перемещении устройства. [1] Вместе сигналы A и B указывают как возникновение, так и направление движения. Многие инкрементные энкодеры имеют дополнительный выходной сигнал, обычно обозначаемый индексом. [2] или З , [3] что указывает на то, что энкодер находится в определенной исходной позиции. Кроме того, некоторые энкодеры обеспечивают вывод состояния (обычно обозначаемый как сигнал тревоги ). [4] Это указывает на внутренние неисправности, такие как отказ подшипника или неисправность датчика.
В отличие от абсолютного энкодера , инкрементный энкодер не указывает абсолютное положение; [примечание 1] он сообщает только об изменениях положения [3] и для каждого сообщаемого изменения положения – направление движения. Следовательно, чтобы определить абсолютное положение в любой конкретный момент, необходимо отправлять сигналы энкодера на интерфейс инкрементального энкодера , который, в свою очередь, будет «отслеживать» и сообщать об абсолютном положении энкодера.
Инкрементные энкодеры почти мгновенно сообщают об изменении положения, что позволяет им отслеживать движения высокоскоростных механизмов практически в реальном времени . По этой причине инкрементные энкодеры обычно используются в приложениях, требующих точного измерения и контроля положения и скорости .
Квадратурные выходы
[ редактировать ]Инкрементный энкодер использует квадратурный энкодер для генерации A и B. выходных сигналов Импульсы, излучаемые с выходов A и B, кодируются квадратурно. Это означает, что, когда инкрементный энкодер движется с постоянной скоростью, A и B сигналы представляют собой прямоугольные волны составляет 90 градусов , а разность фаз между A и B . [2]
В любой конкретный момент разность фаз между сигналами A и B будет положительной или отрицательной в зависимости от направления движения энкодера. В случае поворотного энкодера разность фаз составляет +90° при вращении по часовой стрелке и −90° при вращении против часовой стрелки или наоборот, в зависимости от конструкции устройства.
Частота импульсов на выходе A или B прямо пропорциональна скорости энкодера (скорости изменения положения); более высокие частоты указывают на быстрое движение, тогда как более низкие частоты указывают на более медленные скорости. [1] Статические, неизменные сигналы выводятся на A и B, когда энкодер неподвижен. В случае поворотного энкодера частота указывает скорость вращения вала энкодера, а в линейных энкодерах частота указывает скорость линейного перемещения.
- Концептуальные чертежи сенсорных механизмов квадратурного энкодера
Выходные данные квадратурного энкодера могут формироваться с помощью шаблона квадратурного смещения, считываемого выровненными датчиками (левая диаграмма), или с помощью простого шаблона, считываемого датчиками смещения (правая диаграмма).
- Поворотный энкодер с соответствующими состояниями сигнала A / B , показанными справа при реверсе вала.
- Линейный энкодер; Датчики A и B смещены на 90° по фазе простого шаблона, индексный сигнал 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 нм.
Симметрия и фаза
[ редактировать ]При движении с постоянной скоростью идеальный инкрементный энкодер будет выдавать идеальные прямоугольные сигналы на A и B (т. е. ширина импульсов будет ровно 180°, а рабочий цикл будет 50 %) с разницей фаз ровно 90° между A и B. Б. Сигналы Однако в реальных энкодерах из-за несовершенства датчиков и изменений скорости ширина импульса никогда не бывает точно 180°, а разность фаз никогда не бывает точно 90°. Более того, ширина импульсов A и B варьируется от одного цикла к другому (и друг от друга), а разность фаз меняется на каждом A и B. фронте сигналов Следовательно, как ширина импульса, так и разность фаз будут меняться в диапазоне значений.
Для любого конкретного кодера диапазоны ширины импульса и разности фаз определяются спецификациями «симметрия» и «фаза» (или «фазировка») соответственно. Например, в случае энкодера с симметрией, заданной как 180° ±25°, ширина каждого выходного импульса гарантированно будет не менее 155° и не более 205°. Аналогично, если фаза указана как 90° ±20°, разность фаз на каждом ребре A или B будет составлять не менее 70° и не более 110°.
Типы сигналов
[ редактировать ]В инкрементных энкодерах используются различные типы электронных схем для управления (передачи) выходных сигналов, и производители часто имеют возможность создать конкретную модель энкодера с любым из нескольких типов драйверов. Обычно доступные типы драйверов включают открытый коллектор, механические, двухтактные и дифференциальные RS-422.
Открытый коллектор
[ редактировать ]Драйверы с открытым коллектором (использующие NPN-транзистор или драйверы с открытым стоком, использующие MOSFET n-типа ) позволяют работать в широком диапазоне сигнальных напряжений и часто могут поглощать значительный выходной ток, что делает их полезными для прямого управления токовыми петлями , оптоизоляторами и оптоволокном. оптические передатчики .
Поскольку он не может генерировать ток, выход драйвера с открытым коллектором должен быть подключен к положительному напряжению постоянного тока через подтягивающий резистор . В некоторых энкодерах для этой цели предусмотрен внутренний резистор; другие этого не делают и поэтому требуют внешнего подтягивающего резистора. В последнем случае резистор обычно располагается рядом с интерфейсом энкодера для повышения помехоустойчивости.
Напряжение логического сигнала высокого уровня энкодера определяется напряжением, приложенным к подтягивающему резистору ( VOH на схеме), тогда как выходной ток низкого уровня определяется как напряжением сигнала, так и сопротивлением нагрузки (включая подтягивающее сопротивление). резистор). Когда драйвер переключается с низкого логического уровня на высокий, сопротивление нагрузки и емкость цепи действуют вместе, образуя фильтр нижних частот сигнала , который растягивает (увеличивает) время нарастания и, таким образом, ограничивает его максимальную частоту переключения.
Механический
[ редактировать ]Механический (или контактный ) [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 и, в зависимости от знака разности фаз, подсчитывать или увеличивать его. вниз. Совокупное значение счетчиков указывает расстояние, пройденное с момента начала отслеживания. Этот механизм обеспечивает точное отслеживание положения в двунаправленных приложениях, а в однонаправленных приложениях предотвращает ложные подсчеты, которые в противном случае могли бы возникнуть из-за вибрации или механического сглаживания вблизи перехода кода AB.
Единицы водоизмещения
[ редактировать ]Часто показания энкодера должны быть выражены в таких единицах, как метры, мили или обороты. В таких случаях отсчеты преобразуются в нужные единицы путем умножения на коэффициент смещения энкодера. за счет :
- .
Обычно этот расчет выполняется компьютером, который считывает значения из интерфейса инкрементного энкодера. Например, в случае линейного инкрементного энкодера, который производит 8000 отсчетов на миллиметр хода, положение в миллиметрах рассчитывается следующим образом:
- .
Возвращение домой
[ редактировать ]Чтобы интерфейс инкрементального энкодера мог отслеживать и сообщать об абсолютном положении, показания энкодера должны быть сопоставлены с опорным положением в механической системе, к которой подключен энкодер. Обычно это делается путем возврата системы в исходное положение, которое состоит из перемещения механической системы (и энкодера) до тех пор, пока она не совпадет с исходным положением, а затем заклинивания. [примечание 2] соответствующая абсолютная позиция учитывается в счетчике интерфейса энкодера.
Для облегчения возврата в исходное положение в некоторые механические системы встроен датчик приближения , который выдает сигнал, когда механическая система находится в «исходном» (опорном) положении. В таких случаях механическая система приводится в исходное положение путем ее перемещения до тех пор, пока интерфейс энкодера не получит сигнал датчика, после чего соответствующее значение положения фиксируется в счетчике положения.
В некоторых вращающихся механических системах (например, вращающихся антеннах радаров) интересующим «положением» является угол поворота относительно базовой ориентации. Обычно в них используется поворотный инкрементальный энкодер, который имеет выходной сигнал индекса (или Z ). Индексный сигнал подается, когда вал находится в исходной ориентации, что приводит к тому , что интерфейс энкодера фиксирует опорный угол в своем счетчике положения.
В некоторых приложениях инкрементных энкодеров отсутствуют детекторы референтного положения, и поэтому их приходится реализовывать с помощью других средств. Например, компьютер при использовании указывающего устройства мыши или трекбола обычно устанавливает устройство в исходное положение, принимая центральное, начальное положение экрана при загрузке , и вводит соответствующие значения в счетчики положения X и Y. В случае, когда панельные энкодеры используются в качестве ручных элементов управления (например, регулятор громкости звука), исходное положение обычно извлекается из флэш-памяти или другой энергонезависимой памяти при включении питания и фиксируется в счетчике положения, а также при выключении питания. счетчик текущего положения сохраняется в энергонезависимой памяти и служит исходным положением для следующего включения питания.
Измерение скорости
[ редактировать ]Инкрементальные энкодеры обычно используются для измерения скорости механических систем. Это может быть сделано в целях мониторинга или для обеспечения обратной связи для управления движением , или и того, и другого. [5] Широко распространенные применения этого включают управление скоростью вращения антенны радара и конвейеров материалов , а также управление движением в робототехнике , CMM и CNC станках .
Интерфейсы инкрементных энкодеров в первую очередь предназначены для отслеживания механического смещения и обычно не измеряют скорость напрямую. Следовательно, скорость необходимо измерять косвенно, взяв производную положения по времени. Сигнал положения по своей сути квантован , что затрудняет получение производной из-за ошибки квантования, особенно на низких скоростях.
Скорость энкодера можно определить либо путем подсчета, либо путем синхронизации выходных импульсов (или фронтов) энкодера. [7] Полученное значение указывает частоту или период соответственно, на основе которых можно рассчитать скорость. Скорость пропорциональна частоте и обратно пропорциональна периоду.
По частоте
[ редактировать ]Если сигнал положения дискретизируется (сигнал дискретного времени), импульсы (или фронты импульсов) обнаруживаются и подсчитываются интерфейсом, а скорость обычно рассчитывается компьютером, имеющим доступ для чтения к интерфейсу. Для этого компьютер считывает отсчеты позиций. из интерфейса во время а потом, через какое-то время снова считывает счетчики, чтобы получить . Средняя скорость за интервал к затем рассчитывается: [2]
- .
Результирующее значение скорости выражается в количестве отсчетов в единицу времени (например, отсчетов в секунду). Однако на практике часто необходимо выражать скорость в стандартизированных единицах, таких как метры в секунду, обороты в минуту (об/мин) или мили в час (миль в час). В таких случаях программное обеспечение будет учитывать взаимосвязь между подсчетами и желаемыми единицами расстояния, а также соотношение периода выборки к желаемым единицам времени. Например, в случае поворотного инкрементного энкодера, который производит 4096 отсчетов за оборот и считывается один раз в секунду, программное обеспечение будет вычислять число оборотов в минуту следующим образом:
- .
При измерении скорости таким способом разрешение измерения пропорционально разрешению энкодера и периоду выборки (прошедшему времени между двумя выборками); Разрешение измерений станет выше по мере увеличения периода выборки. [2]
По периоду
[ редактировать ]Альтернативно, измерение скорости может сообщаться для каждого выходного импульса кодера путем измерения ширины или периода импульса. При использовании этого метода измерения запускаются в определенных положениях, а не в определенное время. Расчет скорости аналогичен показанному выше (отсчетов/время), хотя в этом случае время начала и окончания измерения ( и ) предоставляются привязкой ко времени.
Этот метод позволяет избежать ошибки квантования положения, но вносит ошибки, связанные с квантованием привязки времени. Кроме того, он более чувствителен к неидеальности датчика, например, к фазовым ошибкам, ошибкам симметрии и отклонениям мест перехода от их номинальных значений. [8]
Интерфейс инкрементального энкодера
[ редактировать ]Интерфейс инкрементного энкодера — это электронная схема, которая принимает сигналы от инкрементного энкодера, обрабатывает их для получения абсолютного положения и другой информации и делает полученную информацию доступной для внешних схем.
Интерфейсы инкрементного энкодера реализуются различными способами, в том числе в виде ASIC , IP-блоков в FPGA , выделенных периферийных интерфейсов в микроконтроллерах или программного обеспечения (через прерывания или опрос GPIO ).
Независимо от реализации, интерфейс должен достаточно часто производить выборку выходных сигналов кодера A и B, чтобы обнаружить каждое изменение состояния AB до того, как произойдет следующее изменение состояния. При обнаружении изменения состояния он будет увеличивать или уменьшать количество позиций в зависимости от того, опережает ли A или отстает от него B . Обычно это делается путем сохранения копии предыдущего состояния AB и, при изменении состояния, использования текущего и предыдущего состояний AB для определения направления движения.
Линейные приемники
[ редактировать ]В интерфейсах инкрементальных энкодеров используются различные типы электронных схем для приема сигналов, генерируемых энкодером. Эти линейные приемники служат буферами для защиты схем нисходящего интерфейса и во многих случаях также обеспечивают функции преобразования сигнала.
Односторонний
[ редактировать ]Интерфейсы инкрементальных энкодеров обычно используют входы триггера Шмитта для приема сигналов от энкодеров, имеющих несимметричные (например, двухтактные, с открытым коллектором) выходы. Этот тип линейного приемника по своей сути подавляет шум низкого уровня (посредством входного гистерезиса) и защищает нижестоящие схемы от недопустимых (и, возможно, разрушительных) уровней логического сигнала.
Дифференциал
[ редактировать ]Линейные приемники RS-422 обычно используются для приема сигналов от кодеров, имеющих дифференциальные выходы. Этот тип приемника подавляет синфазный шум и преобразует входящие дифференциальные сигналы в несимметричную форму, необходимую для последующих логических схем.
В критически важных системах интерфейс энкодера может потребоваться для обнаружения потери входных сигналов из-за потери питания энкодера, отказа драйвера сигнала, неисправности кабеля или отсоединения кабеля. Обычно это достигается с помощью усовершенствованных линейных приемников RS-422, которые обнаруживают отсутствие действительных входных сигналов и сообщают об этом состоянии через выходной сигнал состояния «потеря сигнала». При нормальной работе сбои на выходах состояния во время переходов состояний входов могут появляться (короткие импульсы); обычно интерфейс кодера фильтрует сигналы состояния, чтобы предотвратить ошибочную интерпретацию этих помех как потерянных сигналов. В зависимости от интерфейса последующая обработка может включать в себя генерацию запроса на прерывание при обнаружении потери сигнала и отправку уведомления приложению для регистрации ошибок или анализа сбоев.
Синхронизация часов
[ редактировать ]Интерфейс инкрементального энкодера в основном состоит из последовательной логики , которая управляется тактовым сигналом . Однако входящие сигналы кодера асинхронны по отношению к тактовой частоте интерфейса, поскольку их синхронизация определяется исключительно перемещением кодера. Следовательно, выходные сигналы от приемников линий A и B (также Z и сигнализации , если они используются) должны быть синхронизированы с тактовой частотой интерфейса, как во избежание ошибок из-за метастабильности , так и для перевода сигналов в тактовую область квадратурного декодера. [9]
Обычно эта синхронизация выполняется независимыми односигнальными синхронизаторами, такими как показанный здесь синхронизатор с двумя триггерами . На очень высоких тактовых частотах или когда требуется очень низкая частота ошибок, синхронизаторы могут включать дополнительные триггеры для достижения приемлемо низкой частоты ошибок по битам . [10]
Входной фильтр
[ редактировать ]Во многих случаях интерфейс энкодера должен фильтровать синхронизированные сигналы энкодера перед их дальнейшей обработкой. Это может потребоваться для подавления низкоуровневого шума и кратковременных всплесков шума большой амплитуды, обычно встречающихся в двигателях. [11] и, в случае энкодеров механического типа, устранить дребезг A и B, чтобы избежать ошибок счета из-за дребезга механического контакта .
Аппаратные интерфейсы часто предоставляют программируемые фильтры для сигналов энкодера, которые предоставляют широкий диапазон настроек фильтра и, таким образом, позволяют им устранять дребезг контактов или подавлять переходные процессы, возникающие из-за шума или медленно нарастающих сигналов, по мере необходимости. В программных интерфейсах A и B обычно подключаются к GPIO , которые выбираются (посредством опроса или пограничных прерываний) и устраняются программным обеспечением.
Квадратурный декодер
[ редактировать ]В интерфейсах инкрементных энкодеров обычно используется квадратурный декодер для преобразования сигналов A и B в сигналы разрешения направления и счета (включения тактовой частоты), необходимые для управления двунаправленным (с прямым и обратным счетом) синхронным счетчиком .
Обычно квадратурный декодер реализуется как конечный автомат (FSM), который одновременно производит выборку сигналов A и B и, таким образом, создает объединенные выборки «AB». При получении каждого нового образца AB FSM сохраняет предыдущий образец AB для последующего анализа. FSM оценивает различия между новым и предыдущим состояниями AB и генерирует сигналы разрешения направления и счета в соответствии с обнаруженной последовательностью состояний AB. [11]
Переходы между состояниями
[ редактировать ]В любых двух последовательных выборках AB логический уровень A или B может измениться или оба уровня могут остаться неизменными, но при нормальной работе A и B никогда не изменяются оба. В этом отношении каждая выборка AB фактически представляет собой двухбитовый код Грея .
- Движение в прямом направлении
- Движение в обратном направлении
- Нет движения
- Ошибка
Нормальные переходы
[ редактировать ]Когда только A или B меняют состояние, предполагается, что кодер переместил свое разрешение измерения на одно приращение, и, соответственно, квадратурный декодер подтвердит свой выход разрешения счета, чтобы позволить счетчикам измениться. В зависимости от направления движения энкодера (вперед или назад) декодер будет устанавливать или инвертировать выходной сигнал направления , вызывая увеличение или уменьшение счетчиков (или наоборот).
Когда ни 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 для выборок. [1] По мере получения каждой выборки она сохраняется в FIFO. Когда компьютеру требуется образец, ему разрешается прочитать самый старый образец в FIFO.
Примечания
[ редактировать ]- ^ энкодера Выходные сигналы A и B не указывают абсолютное положение. Однако индексный сигнал, если он присутствует и установлен, указывает, что кодер находится в своей исходной позиции, которая в некоторых приложениях может быть абсолютной позицией.
- ^ В контексте синхронных цифровых счетчиков «заклинивание» - это изменение сохраненных значений на определенное значение. Значение применяется к параллельным входам данных счетчика, а входу Load Enable (или эквивалентному) счетчика присваивается значение, вызывающее изменение счетчика. Во время этой операции нормальный подсчет на мгновение отключается.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д и Сенсорный. «Введение в инкрементальные энкодеры» . Проверено 18 июля 2018 г.
- ^ Перейти обратно: а б с д и Крейг, К. «Оптические энкодеры» (PDF) . Проверено 25 июля 2018 г.
- ^ Перейти обратно: а б с д «Основы работы кодировщика» (PDF) . Компания Encoder Products . Проверено 23 июля 2018 г.
- ^ «Основы кодирования» (PDF) . ИКС А/С.
- ^ Перейти обратно: а б с д и «Букварь по энкодеру» (PDF) . Инфракрасный телескоп НАСА (IRTF) . Институт астрономии Гавайского университета . Проверено 17 августа 2018 г.
- ^ «3 шага к указанию правильного типа выхода кодера» . Продукты для кодирования . Проверено 20 августа 2018 г.
- ^ Коллинз, Даниэль. «Как энкодеры используются для измерения скорости?» . Мир дизайна . Проверено 22 сентября 2020 г.
- ^ Петрелла, Роберто; Турсини, Марко; Перетти, Лука; Зильотто, Мауро. «Алгоритмы измерения скорости для приводов, оснащенных инкрементальными энкодерами низкого разрешения: сравнительный анализ» (PDF) . Проверено 22 сентября 2020 г.
- ^ Гиносар, Ран. «Метастабильность и синхронизаторы: Учебное пособие» (PDF) . Израильский технологический институт . Проверено 21 января 2020 г.
- ^ Донохью, Райан. «Синхронизация в цифровых логических схемах» (PDF) . Стэнфордский университет . Проверено 21 января 2020 г.
- ^ Перейти обратно: а б «ИС интерфейса квадратурного декодера/счетчика» (PDF) . Аджилент Технологии . Проверено 20 августа 2018 г.
- ^ «Устранение ошибки кодировщика» . Дизайн машины . Проверено 20 августа 2018 г.
Внешние ссылки
[ редактировать ]- СМИ, связанные с инкрементальными кодировщиками, на Викискладе?