Вычислите положение квадратурного энкодера
Motor Control Blockset / Декодеры Датчика
Блок Quadrature Decoder вычисляет положение квадратурного энкодера. Блок использует текущее значение счетчика энкодера и значение счетчика энкодера в предыдущем импульсе индекса, чтобы вычислить угловое положение квадратурного энкодера (и ротор) или в степенях, радианах, или в на модуль.
Этот рисунок показывает квадратурный диск энкодера с двумя каналами (QEPA и QEPB) и импульс индекса (QEPI):
В этом примере таймер, управляемый QEP, постепенно увеличивается четыре для каждого разреза:
Блок вычисляет угловое положение (в количествах) квадратурного энкодера как:
Когда энкодер вращается в направлении по часовой стрелке:
Если ,
Если и вал продолжает вращаться в направлении по часовой стрелке,
Если и вал начинает вращаться в против часовой стрелки направление,
Когда энкодер вращается в против часовой стрелки направление:
Если ,
Если и вал продолжает вращаться в против часовой стрелки направление,
Если и вал начинает вращаться в направлении по часовой стрелке,
Когда вы очищаете параметр External index count, импульс Idx сбрасывает Cnt, чтобы обнулить, поэтому:
где:
угловое положение квадратурного энкодера в количествах.
количество количеств в одном цикле вращения квадратурного энкодера.
Блок вычисляет выход θm как:
(в градусах)
(в радианах)
(в относительных единицах)