Without an encoder, the motor doesn’t know where it is. The encoder is the sensor that closes the loop: the PID compares its reading with the desired position.
Incremental (quadrature)
Two channels, A and B, shifted by a quarter of a period.
Counting edges tells you how far it has turned; seeing which channel leads tells you the direction.
With a single channel there is no direction.
x1 / x2 / x4 modes: counting more edges gives more resolution from the same disc.
Absolute
Every position has a unique code, so you know where you are at power-up. It uses Gray code: only one bit changes between neighbouring positions, so a reading taken halfway never gives a wild value.
Resolution
A 12-bit encoder has 4096 positions per turn: one step is 360/4096 ≈ 0.088°.
In the demo: drag the disc, switch between x1/x2/x4 and then go to the absolute tab with Gray code.
Interactive demo
Encoders rotativos
Un encoder convierte el ángulo del eje en números que un microcontrolador puede leer. Los encoders incrementales cuentan cambios. Los absolutos leen un código distinto en cada ángulo.
Count
0
Parado
El sentido sale del orden de A y B
Counts por vueltaGrados por countResoluciónArco a 100 mm de radioVelocidad, solo con A
Secuencia de estados (A B)
¿Por qué dos canales? Un canal da una frecuencia de pulsos (velocidad), pero los pulsos son iguales en los dos sentidos. B va desfasado un cuarto de ciclo (90 grados eléctricos), así que cuál de A o B cambia primero da el sentido.
Solo se cuentan los cambios, así que la cuenta se pierde al apagar. Z (index pulse) da un pulso por vuelta.
Decodificación
Girarlo
Palabra de código bajo el lector
Posición decodificadaÁngulo que indicaÁngulo real del ejeError de lectura
Código binarioGray codePosición del lector
Código impreso en el disco
¿Por qué Gray code? En binario simple, pasar de 7 (0111) a 8 (1000) cambia cuatro bits a la vez. Los sensores reales nunca conmutan en el mismo ángulo, así que el lector ve un instante una mezcla como 0000 y da una posición lejana. En Gray code cambia un bit por paso, así que el peor error es un paso. La desalineación es el desplazamiento de cada sensor, una fracción de paso.
Tras perder la alimentación: el ángulo está impreso en el disco, así que la posición se conoce al volver la corriente. Un encoder incremental pierde la cuenta y hay que hacerle homing.