Un encoder rotativo convierte el ángulo de un eje que gira en una señal eléctrica. En su interior hay un disco marcado con un patrón de zonas claras y oscuras, y un sensor que lee ese patrón desde una posición fija. Cambiar la forma de grabar el patrón cambia tanto lo que el encoder puede decirte como la manera en que falla cuando una lectura sale mal.
Esta serie recorre esos patrones estilo por estilo, con diagramas que puedes hacer girar. Esta página cubre los diseños absolutos multipista, donde cada pista lleva exactamente un bit, tanto en binario como en código Gray, junto con el clásico disco incremental que no lleva ninguna dirección absoluta.
Los diseños que comprimen la posición en una sola pista, como el disco PRBS, y los que combinan un código grueso con un ciclo fino, como los discos híbridos y vernier, se tratan en (2) Pista única e híbridos.
| Pregunta | Figura que la responde |
|---|---|
| ¿Por qué el ángulo es correcto en el instante en que se aplica la alimentación? | Encoders absolutos con código binario (figura 1) |
| ¿Por qué el código Gray se ha convertido en el estándar de los discos industriales? | Encoders absolutos con código Gray (figura 2) |
| ¿Cómo sabe un disco sin dirección absoluta hacia dónde está girando? | Encoders incrementales con canales A y B (figura 3) |
Todos los discos de abajo se pueden arrastrar. Mover uno poco a poco a través de una frontera entre sectores antes de leer el texto hace que el resto de la explicación se siga mucho mejor.
Conviene dejar algo claro desde el principio: cada figura es un dibujo simplificado hecho para explicar un mecanismo, no la copia del producto de ningún fabricante concreto. Allí donde el dibujo se aparta del hardware real, el apartado “En la figura de esta página” lo indica.
Encoders absolutos con código binario (figura 1)
Cómo funciona la codificación
El disco se divide radialmente en pistas concéntricas y cada pista lleva un bit. En un ángulo cualquiera, la combinación de claro y oscuro a lo largo de esas pistas es la dirección absoluta de esa posición. Grabado en binario natural, cuatro pistas dan dieciséis sectores direccionables; ocho pistas dan 256.
El atractivo de esta disposición es que la posición se conoce en el instante en que llega la alimentación. Nada tiene que moverse antes. La combinación que los sensores estén leyendo ya es el ángulo, así que no hace falta ninguna rutina de búsqueda de origen al arrancar.
La debilidad nace del mismo mecanismo. En la frontera entre dos direcciones, varios bits pueden conmutar en el mismo instante. Al pasar de 0111 a 1000, por ejemplo, cambian los cuatro bits a la vez. Si los sensores están montados con una mínima desalineación, cada bit cruza su borde en un momento ligeramente distinto y, durante un instante, la lectura no es ni 0111 ni 1000. Y el error no es pequeño: una lectura errónea momentánea puede caer a media vuelta de la posición real.
En la figura de esta página
El dibujo sigue la intuición de un encoder absoluto de tipo transmisivo, de modo que el blanco es 1 (la luz pasa) y el negro es 0 (la luz se bloquea). Las pistas van con el LSB en el exterior y el MSB en el interior. Una fila fija de sensores en la parte superior del disco lee cada pista, y las lámparas de debajo se corresponden con ellas: la de más a la izquierda es el MSB de la pista interior y la de más a la derecha el LSB de la exterior.
Al mover el deslizador cambia el número de bits y, con él, el número de pistas y de sectores. El disco está configurado para que, al girar en sentido horario, el número de sector aumente. Recórrelo despacio a través de una frontera y busca el momento en que cambia más de una lámpara a la vez.
Más bits significa mejor resolución, pero también más bits cambiando juntos en las peores fronteras. Subir el número de sectores manteniendo el binario natural hace que la lectura errónea ocasional salte más lejos, no menos.
Encoders absolutos con código Gray (figura 2)
Cómo funciona la codificación
Físicamente no cambia nada: una pista por bit, exactamente igual que antes. Lo que cambia es el código grabado en esas pistas. Los sectores se ordenan de forma que dos ángulos contiguos difieran en un único bit. Esa ordenación es el código Gray.
Como en una frontera solo puede haber un bit en transición, una lectura mal sincronizada solo puede devolver el sector que se abandona o el que se acaba de alcanzar. Los errores se quedan en la puerta de al lado en vez de saltar por todo el disco, y esa única propiedad es la razón de que el código Gray se convirtiera en el estándar de los encoders industriales multipista.
El inconveniente es que una lectura Gray no es un número que se pueda usar tal cual. El controlador o el PLC tiene que convertirla a binario natural antes de hacer cualquier operación con ella. Conviene tratar ese paso de conversión como parte del diseño y no como un añadido posterior.
En la figura de esta página
La disposición física coincide exactamente con la de la figura 1 — LSB fuera, MSB dentro, blanco para el 1, negro para el 0 — pero ahora cada sector lleva su patrón Gray. Al girar el disco en sentido horario, el número de sector sigue aumentando de uno en uno.
Con el valor Gray de la lectura ocurre otra cosa. Si se lee el patrón de bits del disco como un número decimal, sale 0, 1, 3, 2, 6 y así sucesivamente: da saltos en vez de subir. El equivalente en binario natural se muestra al lado, de modo que puedes ver cómo el número de sector y el valor convertido avanzan al mismo paso mientras el valor Gray en crudo salta.
Fíjate también en las lámparas. Al pasar a un sector contiguo suele cambiar exactamente una de ellas. Comparado con el disco binario de la figura 1, donde cambiaban varias a la vez, la diferencia salta a la vista.
Una lectura que va 0, 1, 3, 2 no es señal de un disco defectuoso. En un encoder Gray es exactamente lo que debes ver. Los valores que suben de uno en uno son los convertidos.
Encoders incrementales con canales A y B (figura 3)
Cómo funciona la codificación
Un disco incremental no lleva más que ranuras repartidas uniformemente por su circunferencia, y ninguna dirección absoluta. Se lee con dos sensores colocados aproximadamente a 90 grados eléctricos, en cuadratura. Por convención, esos dos se llaman canal A y canal B.
Juntos recorren cuatro estados, normalmente 00 → 10 → 11 → 01, o la misma secuencia al revés cuando el eje gira en sentido contrario. Lo que se suele pasar por alto es que hay tramos en los que A y B están ambos a nivel alto, y tramos en los que ambos están a nivel bajo. Los dos canales no son simplemente copias invertidas que se alternan.
Cuál de los dos canales va por delante indica el sentido de giro, y contar los flancos indica cuánto se ha desplazado el eje. Ahí termina lo que sabe un encoder incremental: solo informa del cambio. Si se corta la alimentación, o si el ruido hace perder una cuenta, la posición absoluta queda desconocida hasta que vuelve a pasar una marca de referencia como el canal Z.
En la figura de esta página
Hay una única pista de código con ranuras repartidas uniformemente. El canal A está en la parte superior del disco y el canal B está desplazado el equivalente a 90 grados eléctricos.
Verás momentos en los que ambas lámparas están encendidas y momentos en los que ambas están apagadas. Son los puntos de solapamiento propios de la cuadratura y son correctos. El deslizador de resolución actúa como número de divisiones, equivalente a los PPR (pulsos por revolución). Solo hay dos lámparas, A y B, sin fila de MSB ni LSB.
Ver A y B encendidos a la vez se diagnostica como fallo de cableado con sorprendente frecuencia. En cuadratura, dos de los cuatro estados tienen ambos canales iguales, así que es normal. Lo preocupante es lo contrario: una señal en la que 00 u 11 no aparecen nunca.
Dónde aparece realmente cada uno de los tres tipos
Las diferencias anteriores se corresponden bastante bien con el sitio donde acaba usándose cada tipo. Lo que sigue describe tendencias generales; qué tipo lleva dentro un modelo concreto varía, así que consulta la hoja de datos cuando estés especificando hardware real.
Encoders absolutos binarios
Los discos grabados en binario natural son raros en la detección de rotación práctica. El defecto de que varios bits cambien juntos en una frontera se traduce con demasiada facilidad en un mal funcionamiento aguas abajo. Cuando un disco multipista tiene que llevar posición absoluta, casi siempre ha sido sustituido por la versión Gray que se describe a continuación.
Eso no significa que el binario desaparezca. El valor leído de un disco Gray se convierte a binario natural en el controlador antes de cualquier cálculo de posición. El binario se ha retirado como forma de grabar el disco, pero sigue siendo la base del cálculo.
Encoders absolutos con código Gray
Es la opción estándar para los discos industriales multipista. Su punto fuerte, como se ha visto, es que el ángulo queda fijado en el momento en que llega la alimentación. Eso importa sobre todo donde no es aceptable mover la máquina para buscar el origen en cada arranque.
Entre las aplicaciones típicas están los ejes de indexado de máquina herramienta, los ángulos de articulación de robots, la apertura de válvulas y compuertas, la posición de polipastos y grúas, y la orientación de antenas e instrumentos de observación. En todos esos casos, o bien no conocer la posición tras un corte de luz sería peligroso, o bien referenciar el mecanismo resulta físicamente incómodo de partida.
Una vez que esas lecturas te dan los ángulos de articulación de un robot, las siguientes preguntas son dónde está ahora el extremo y cuánto hay que girar cada eje para llegar a una pose. Ese cálculo está en Cinemática directa e inversa explicada con diagramas interactivos (1), en un brazo plano de dos eslabones que puedes mover.
Encoders incrementales (A/B)
Es la construcción más sencilla de las tres y solo necesita una pista de código. Renunciar a la posición absoluta compra una forma barata de seguir la rotación con detalle.
Aquí viven la realimentación de velocidad y sentido en motores, el recorrido de cinta en transportadores, el avance de papel en impresoras y escáneres, los mandos de ajuste de paneles de control y la rueda del ratón. Lo que tienen en común es la libertad de restablecer una referencia al arrancar, o directamente no necesitar posición absoluta.
En vez de elegir por el nombre del tipo, resuelve primero una pregunta: ¿la máquina necesita saber dónde está en el momento en que se vuelve a encender? Si es así, quieres un encoder absoluto. Si no, con uno incremental basta.
Qué prioriza cada uno de los tres tipos
Los tres leen un patrón de un disco, pero se separan en lo que consideran más importante.
| Tipo | Posición absoluta | Lecturas erróneas en una frontera | Pistas de código necesarias |
|---|---|---|---|
| Binario | Conocida en cuanto hay alimentación | Puede caer muy lejos | Una por bit |
| Gray | Conocida en cuanto hay alimentación | Nunca peor que el sector contiguo | Una por bit |
| Incremental | Desconocida hasta encontrar una referencia | No aplica (solo relativo) | Una |
Resumiendo: la posición absoluta pide un disco absoluto multipista, y mantener pequeños los errores de frontera dentro de esa familia pide código Gray. El incremental se apaña con una sola pista y un disco mucho más simple, pero entonces la posición absoluta tiene que venir de otro sitio.
Lo que plantea la pregunta obvia: ¿puede un disco llevar posición absoluta sin añadir pistas? Esa línea de pensamiento lleva al disco PRBS de pista única, que escribe una secuencia pseudoaleatoria alrededor de un anillo, y a los discos híbridos que combinan un código grueso con un ciclo fino. De eso trata (2) Pista única e híbridos.
Preguntas frecuentes
P1. ¿Debo elegir un encoder absoluto o uno incremental?
R. La primera bifurcación es si puedes tolerar un movimiento de búsqueda de origen después de cada encendido. Si puedes, el incremental sirve; si no, necesitas absoluto. La decisión real depende también de los requisitos de seguridad de la máquina y de las capacidades del sistema de control, así que este artículo se detiene en la diferencia entre tipos.
P2. Mi lectura Gray va 0, 1, 3, 2. ¿El disco está defectuoso?
R. No. El código Gray está dispuesto para que ángulos contiguos difieran en un único bit, lo que hace que leer el patrón de bits directamente como decimal produzca un orden con saltos. Mientras los valores convertidos a binario natural vayan 0, 1, 2, 3, todo funciona.
P3. ¿Es anormal que los canales A y B estén altos a la vez?
R. Es normal. Leer en cuadratura implica recorrer 00, 10, 11 y 01, así que siempre habrá un tramo con ambos canales altos y otro con ambos bajos. Dos canales permanentemente opuestos significarían un desfase de 180 grados, y esa disposición no permite saber hacia dónde gira el eje.
P4. ¿Añadir bits mejora la precisión en la misma proporción?
R. Aumenta el número de divisiones, pero cada bit adicional añade otra pista y afina el patrón cerca del borde. Sube el deslizador de bits en las figuras y verás con qué rapidez se aprieta la pista más externa. En hardware real, esa finura choca con los límites de la tolerancia de fabricación y de la resolución del sensor.
P5. ¿Estas figuras se corresponden con un producto real?
R. No. Son dibujos simplificados pensados para mostrar un mecanismo. El orden de las pistas, la asignación de claro y oscuro y la colocación del sensor se eligieron para que la explicación fuera clara, y el hardware real puede añadir una pista de sincronización o varios cabezales de lectura. El apartado “En la figura de esta página” de cada sección detalla lo que es propio del dibujo.

Deja una respuesta