Codificador rotatorio incremental

En aplicaciones industriales, a veces puede requerir medir la posición o la velocidad de un objeto giratorio como una rueda o un eje / eje. El codificador rotatorio es un dispositivo electromecánico que se puede utilizar para obtener estas medidas.

Hay dos tipos de codificadores rotativos: codificadores rotativos incrementales y codificadores rotativos absolutos. En este artículo, veremos codificadores rotativos incrementales, su principio de funcionamiento y aplicaciones.

¿Qué es un codificador rotatorio incremental?

Los codificadores incrementales pertenecen a la familia de codificadores rotativos. Se utilizan para obtener información como:

  • Puesto de trabajo
  • Ángulo
  • Velocidad rotacional

Los codificadores rotativos incrementales se encuentran principalmente en aplicaciones donde se requiere la medición de velocidad / velocidad angular. Esto se hace contando el número de pulsos por unidad de tiempo generados por el codificador.

A diferencia de su hermano, el codificador rotatorio absoluto, los codificadores incrementales no pueden proporcionar información cuando el eje no está girando. Solo pueden proporcionar información sobre el movimiento del eje.

Los pulsos generados por el codificador rotatorio incremental deben calcularse y procesarse en otro lugar. Puede ser un microcontrolador o un PLC (controlador lógico programable). Usando el conteo de pulsos, el controlador puede convertir la información en información como posición, velocidad y distancia.

¿Cómo funciona un codificador rotatorio incremental?

Los codificadores rotativos incrementales vienen en dos configuraciones:

  1. Encoders incrementales de un solo canal
  2. Codificadores de doble canal (cuadratura)

Sus funcionalidades son casi similares entre sí. Sin embargo, los codificadores de doble canal nos permiten detectar la dirección de rotación que un codificador de un solo canal no puede.

El principio funcional de un codificador rotatorio incremental es bastante sencillo. El sensor consta de un disco ranurado giratorio unido al eje del mismo.

Cuando el eje está girando, el disco también gira como se muestra en la siguiente figura. Esto también se conoce como 'rueda de código'.

Las ranuras de la rueda se utilizan para generar "pulsos" cada vez que una ranura se alinea con el sensor. Los codificadores rotativos incrementales utilizan tecnologías como magnético, óptico, inductivo, capacitivo y láser para generar esto tren de pulso.

El diagrama anterior ilustra el funcionamiento de un codificador rotatorio incremental óptico. Se coloca una fuente de luz (LED) a través del disco y el dispositivo receptor (un fotodiodo / fototransistor) se coloca en la línea de visión.

Cuando el disco gira, las ranuras dejan pasar momentáneamente la luz. En este momento, el haz de luz llega al receptor y emite una señal lógica ALTA.

Cuando el disco gira más, el haz de luz se obstruye y el receptor no recibe el haz. Esto hace que la salida de ese canal correspondiente sea lógicamente BAJA.

Los codificadores rotativos incrementales de dos canales tienen dos de estos canales denominados canal A y B. La ubicación de las ranuras para el canal B está ligeramente desplazada de las ranuras para el canal A.

A veces, el sensor utiliza un solo conjunto de ranuras y los receptores se colocan en un desplazamiento.

Esta disposición especial permite que las salidas A y B estén "desfasadas".

El microcontrolador o el PLC pueden monitorear ambos canales para detectar la dirección de rotación.

Dependiendo de qué canal (A o B) indique primero un flanco ascendente, también se puede detectar la dirección. Los codificadores de un solo canal solo tienen la salida del canal A y solo pueden generar un único tren de pulsos.

Por ejemplo, en el diagrama anterior, un flanco ascendente en A después de un flanco ascendente en B indica que la rueda está girando en sentido antihorario. De manera similar, un flanco ascendente en B después de un flanco ascendente en A indica que la rueda / eje está girando en el sentido de las agujas del reloj.

En algunos sensores, hay un tercer canal llamado 'Z'. A diferencia de los otros dos canales, normalmente solo hay una ranura para este canal. Esto se usa para generar un pulso por revolución para tareas como homing y verificación del conteo de pulsos.

Codificador incremental vs absoluto

Los codificadores incrementales solo pueden funcionar cuando el eje está girando.

Los sistemas que utilizan codificadores rotativos incrementales deben tener un programa sofisticado en ejecución para contar los pulsos que produce el sensor para determinar la posición del eje. Tienen un disco ranurado igualmente espaciado que actúa como rueda codificadora.

Los codificadores absolutos tienen una rueda codificadora especializada. Contiene un patrón de ranura no uniforme, un código único para cada posición del eje.

Para cualquier posición de eje dada, un codificador rotatorio absoluto genera un código binario único que describe con precisión la posición. También retiene la salida incluso cuando está apagado, ya que la propia rueda de código contiene el patrón.

Los codificadores incrementales deben estar encendidos todo el tiempo para generar constantemente el tren de pulsos para los cálculos de velocidad y distancia. Sin embargo, los codificadores absolutos se pueden encender cuando sea necesario para obtener una lectura.

En cuanto a la complejidad, los codificadores incrementales son más simples que sus contrapartes absolutas. Por lo tanto, los codificadores incrementales son menos costosos que los codificadores rotativos absolutos.

¿Para qué se utilizan los codificadores incrementales?

Los codificadores rotativos incrementales encuentran sus aplicaciones desde electrodomésticos hasta automóviles y aplicaciones de automatización industrial.

Una de las aplicaciones más populares para la detección de posición son las perillas de control en equipos electrónicos, como configuraciones de radio de automóvil. Las perillas giratorias son infinitamente ajustables y solo funcionan cuando el dispositivo está encendido.

En los primeros días, los ratones de computadora electromecánicos también usaban estos sensores para rastrear la posición a lo largo de los dos ejes.

En aplicaciones industriales, los codificadores incrementales se utilizan para medir la velocidad de los sistemas mecánicos. Esto es particularmente útil en sistemas de control de movimiento como transportadores de material, brazos robóticos y máquinas CNC.

Especificaciones del codificador incremental

Al elegir un codificador para una aplicación en particular, hay que considerar varios factores.

  • Diámetro exterior
    • El diámetro exterior de la carcasa del sensor (útil al montar)
  • Tipo y diámetro de eje
    • Hay opciones para el tipo de eje, como eje hueco, semieje hueco, eje hueco ciego y orificio pasante.
    • El diámetro debe estar dentro de las tolerancias para acoplarse correctamente con el objeto. Hay disponibles ejes de 20 mm, 25 mm y 30 mm.
  • Forma de salida y longitud del cable
    • La posición de la conexión del cable de salida. Hay dos configuraciones: de lado y hacia afuera.La configuración lateral permite la conexión de un cable desmontable en el lateral. El tipo de salida de cable tiene un cable fijo que sale de la parte posterior de la carcasa del sensor.
    • Para cables fijos, los sensores generalmente vienen equipados con un cable de color negro de 2M.
  • Tensión de alimentación
    • Indica la tensión máxima de funcionamiento del sensor. Hay opciones para suministros de CC de% v (fijo), 5-12 V, 12-24 V y 24 V (fijo).
  • Tipo de señal de salida
    • A para codificadores de un solo canal, A y B para codificadores de dos canales (en cuadratura) y una Z opcional para la salida de pulsos de índice
  • Recuento de pulsos
    • Este parámetro describe los valores de pulsos por revolución (PPR) y contador por revolución (CPR) que admite el sensor.
  • Método de salida de señal
    • El tipo de señal de salida: salida de voltaje (V) / corriente (C), salida complementaria (F) o salida de unidad de línea (L, T)

Características eléctricas del codificador incremental

  • Tensión de alimentación
    • Puede variar de 5 V a 24 V
  • Consumo actual
    • Para los tipos de salida de voltaje y corriente, el consumo de corriente típico es inferior a 60 mA. Los tipos de controladores pueden consumir hasta 100 mA.
  • Voltaje de salida (para el tipo de salida de voltaje)
    • Voltaje de nivel ALTO:> = 3.5 V
    • Voltaje de nivel BAJO: <= 0.5V
  • Tiempos de subida y bajada
    • Describe el tiempo que tarda el sensor en cambiar la salida de alta a baja (caída) o de baja a alta (subida)
    • Tiempo de aumento típico para el tipo de salida de voltaje: <= 500ns
    • Tiempo de caída típico para el tipo de salida de voltaje: <= 100ns
  • Respuesta frecuente
    • Frecuencia máxima que el sensor puede cambiar sus salidas
    • Normalmente cae por debajo de 300 kHz

Circuito codificador rotatorio incremental

Como se mencionó anteriormente, los codificadores rotatorios se pueden conectar con PLC o microcontroladores para medir la velocidad, la posición, la distancia y la dirección de rotación de un eje. Estos dispositivos deben estar especialmente programados para calcular estos valores y tomar decisiones.

También hay dispositivos especializados como contadores y tacómetros que pueden realizar estos cálculos de forma inmediata e indicar directamente los valores. Echemos un vistazo a algunos de los circuitos que podemos construir usando codificadores rotativos incrementales:

Tacómetro autoalimentado

Usando el H7ER tacómetro autoalimentado de la serie Omron, se puede utilizar un codificador incremental de un solo canal para configurar un tacómetro que pueda mostrar las RPM de un eje.

El E6A2 es un codificador incremental en cuadratura de tipo AB con salidas de colector abierto NPN. Conectándolo con el H7ER, el sistema actúa como un tacómetro que cuenta la frecuencia de los pulsos para determinar las RPM del eje conectado.

Contador progresivo / regresivo de alta velocidad

El K3NC es un contador progresivo / regresivo de alta velocidad con una variedad de modos de salida. Este dispositivo se puede conectar con un codificador rotatorio tipo AB para formar un contador ascendente / descendente de acuerdo con el sentido de rotación.

Con esta configuración, el medidor de conteo se puede configurar para generar una señal para encender / apagar una máquina comparando el conteo de pulsos. También admite la comunicación con un PLC para aplicaciones de control de procesos.

El uso de estos componentes estándar puede eliminar la necesidad de un dispositivo complejo como un PLC donde no es absolutamente necesario. Esto es especialmente útil para sistemas de menor escala.

Para el uso en un sistema basado en PLC, se recomienda una tarjeta HSC (Contador de alta velocidad) para aplicaciones de alta velocidad. La siguiente figura muestra la conexión de un codificador rotatorio incremental de tipo colector abierto PNP a una tarjeta de entrada HSC junto con un PLC.

El sensor tiene salidas A, B y Z y están conectadas a la tarjeta HSC como se muestra arriba. La tarjeta de contador se puede configurar para enviar la lectura del contador de la velocidad del eje del codificador al PLC. Esta configuración reduce la sobrecarga de procesamiento en el programa del PLC.

Codificador rotatorio incremental Arduino

En los circuitos basados ​​en Arduino, los codificadores rotatorios se utilizan como entradas para nuestros programas.

Podemos usarlos para aumentar / disminuir el valor de una variable para tareas como controlar la velocidad de un motor o el brillo de un LED. En aplicaciones más avanzadas, los codificadores giratorios también se utilizan para navegar por los menús.

El KY-040 es un módulo codificador rotatorio estándar disponible para Arduinos. Tiene el siguiente pinout:

  • GND - Conexión a tierra
  • VCC - Suministro de 5 V o 3.3 V
  • SW - salida del interruptor de botón (0V cuando se presiona, 5V cuando está en reposo)
  • DT - Salida de datos
  • CLK - Salida de reloj

Como circuito de ejemplo, echemos un vistazo a un circuito de prueba donde el codificador está conectado a un Arduino UNO. El pin SW del sensor está conectado al pin 4, CLK al pin 2 y DT está conectado al pin 3 del Arduino.

VCC está conectado a + 5V y GND está conectado al pin GND de la placa de desarrollo Arduino como se muestra a continuación.

Código Arduino para codificador rotatorio

Este código de ejemplo ha sido adaptado de ultimominutoingenieros.com. Realiza dos funciones principales:

  1. Espere la señal CLK (pin 2) para cambiar
  2. Observe si se presiona el botón (el pin 4 es BAJO)

Cuando se gira la perilla del codificador, el programa detecta el cambio en la línea CLK. Luego verifica el estado del pin DT.

Si ambos son iguales, el codificador se gira en el sentido de las agujas del reloj y en sentido contrario a las agujas del reloj en caso contrario. Mientras tanto, para cada detección, la variable mostradorEl valor de también aumenta / disminuye según la dirección.

El programa también comprueba el estado del botón del codificador. Si se presiona, el programa imprime 'botón presionado' en el monitor serial. También imprime el valor actual del número de pulsos contados.

// Entradas del codificador rotatorio
#definir CLK 2
#definir DT 3
#definir SW 4int contador = 0;
int estadoActualCLK;
int últimoEstadoCLK;
String currentDir = ””;
no firmado Corto última pulsación de botón = 0;vacío Configure() {

// Establecer los pines del codificador como entradas
pinMode (CLK, ENTRADA);
pinMode (DT, ENTRADA);
pinMode (SW, INPUT_PULLUP);

// Configurar el monitor serial
Serial.begin (9600);

// Leer el estado inicial de CLK
lastStateCLK = digitalRead (CLK);
}

vacío loops() {

// Leer el estado actual de CLK
currentStateCLK = digitalRead (CLK);

// Si el último y el estado actual de CLK son diferentes, entonces ocurrió el pulso
// Reaccionar a solo 1 cambio de estado para evitar el conteo doble
if (currentStateCLK! = lastStateCLK && currentStateCLK == 1) {

// Si el estado DT es diferente al estado CLK, entonces
// el codificador está girando en sentido antihorario, así que disminuya
if (digitalRead (DT)! = currentStateCLK) {
encimera -;
currentDir = ”CCW”;
} más {
// El codificador está girando CW, así que incremente
contador ++;
currentDir = ”CW”;
}

Serial.print ("Dirección:");
Serial.print (currentDir);
Serial.print (”| Contador:“);
Serial.println (contador);
}

// Recuerda el último estado CLK
últimoEstadoCLK = EstadoActualCLK;

// Leer el estado del botón
int btnState = digitalRead (SW);

// Si detectamos señal BAJA, se presiona el botón
if (btnState == BAJO) {
// Si han pasado 50ms desde el último pulso BAJO, significa que el
// el botón ha sido presionado, liberado y presionado nuevamente
if (millis () - lastButtonPress> 50) {
Serial.println (“¡Botón presionado!”);
}

// Recuerda el último evento de pulsación de botón
lastButtonPress = millis ();
}

// Ponga un ligero retraso para ayudar a eliminar el rebote de la lectura
retraso (1);
}

Cómo comprobar el codificador incremental con un multímetro

Para solucionar problemas de un codificador con un multímetro, debe estar encendido. Después de encenderlo, configure el multímetro en el modo de medición de voltios CC y conecte la sonda negra con el cable GND del sensor.

Gire lentamente el eje del sensor mientras prueba las salidas A o B del sensor.

La medición de voltaje debe fluctuar entre cerca de 0 V y VCC del sensor. Tenga en cuenta que el eje debe girar extremadamente lento para permitir que el multímetro estabilice su lectura.

Si la medición de voltaje no cambia, cambie el multímetro al modo CA y repita las mismas mediciones. Esta vez, gire el eje más rápido. Si la lectura del multímetro indica un voltaje distinto de cero, se puede concluir que el codificador es funcional.

Sin embargo, este no es un método 100% exacto de resolución de problemas. Aunque el multímetro muestra una lectura de voltaje, es posible que el sensor aún no funcione correctamente. En este caso, es necesario analizar la sincronización del sensor. Para tales tareas, se requiere un osciloscopio.

Conclusión

En este artículo, discutimos el funcionamiento, el principio de funcionamiento y las aplicaciones de los codificadores rotativos incrementales.

Si bien los codificadores incrementales son los más populares, los codificadores rotativos absolutos pueden ser ventajosos en ciertos casos. Seleccione el sensor más adecuado para su aplicación considerando las características que discutimos en este artículo.

No solo mejorará el rendimiento y la confiabilidad de su sistema, sino que también reducirá los costos innecesarios involucrados.

Facebook
Twitter
Etiqueta LinkedIn
Pinterest
Últimas Publicaciones

Índice del contenido

Envíanos