Codificador incremental: Principio de funcionamiento y aplicación

Principio de funcionamiento:

El codificador rotatorio incremental funciona mediante la traducción de la correlación de tiempo y fase de su disco codificado en ángulo a través de dos componentes receptores fotosensibles internos. Esta traslación facilita la determinación de las alteraciones angulares de desplazamiento, que dan lugar a cambios positivos (incrementales) o negativos (decrementales).

Incremental-encoder-2

Mecanismo interno (determinación de la dirección):

El codificador de fase AB contiene dos conjuntos de fotoacopladores que generan dos secuencias de impulsos distintas con una disparidad de fase de 90°. Las relaciones de adelanto y retraso de la secuencia de impulsos se invierten cuando el encóder gira hacia delante o hacia atrás.

En el contexto de la rotación hacia delante, la polaridad del impulso de la fase A contrasta con la polaridad del impulso de la fase B precisamente en el flanco ascendente del impulso de la fase B. En rotación inversa, este contraste de polaridad sigue siendo evidente. Por lo tanto, el empleo del encoder de fase AB permite al controlador lógico programable (PLC) determinar fácilmente el sentido de rotación del eje. Consulte el siguiente esquema:

Del cuadro anterior pueden extraerse las siguientes conclusiones:

Los códigos de fase AB difieren para las rotaciones hacia delante y hacia atrás. El conocimiento de los códigos de fase AB actuales y posteriores permite determinar el sentido de giro del encóder.

Cálculo de la distancia:

Un codificador adquirido presenta parámetros específicos: resolución del codificador (impulsos por revolución) y circunferencia (circunferencia de una sola rotación).

La distancia asociada a un impulso = resolución del codificador / circunferencia.

Por lo tanto, distancia de rotación = recuento de impulsos * resolución del codificador / circunferencia.

Para mejorar la precisión y minimizar el error, es plausible emplear un requisito de pulso de longitud fija:

Impulsos necesarios para una longitud fija = longitud fija * circunferencia / resolución del codificador.

Enfoque de implementación (Programación STM32):

Este concepto de implementación requiere estar familiarizado con las interrupciones externas STM32 (interrupción de flanco ascendente o descendente).

1. Se emplea una interrupción externa para capturar el flanco ascendente (o descendente) de la fase A o B. Esta acción desencadena una interrupción, lo que lleva a la entrada en una rutina de servicio de interrupción.

2. El código de la rutina de servicio de interrupción realiza lo siguiente: determinar el nivel de la fase B o A (utilizado para determinar la rotación hacia delante o hacia atrás).

Ejemplo ilustrativo:

Para el propósito de este ejemplo, una interrupción captura el flanco ascendente de la fase A.

Al captar el flanco ascendente de la fase A, se evalúa la polaridad de la fase B (ver esquema).

Una polaridad baja en la fase B significa rotación hacia delante (sentido horario), mientras que una polaridad alta sugiere rotación inversa (sentido antihorario).

Tras la determinación de la dirección, se aplica un ajuste incremental a la fórmula de impulsos correspondiente, lo que permite posteriormente el cálculo de la distancia.

Para calcular la velocidad, se recomienda incluir un temporizador.

Este sofisticado y completo enfoque garantiza una medición y un análisis precisos de las características de rotación del encóder incremental, lo que permite una supervisión y un control precisos del movimiento.

Entrada anterior
Desvelando la potencia de las cajas combinadoras fotovoltaicas USFULL: Un viaje a la República Dominicana
Entrada siguiente
Cuatro modos de control de la conversión de frecuencia

Productos relacionados

es_ESSpanish