Un encoder incremental es un dispositivo que genera, cuando gira, una sucesión de números binarios de dos bits en código de Gray, es decir 00, 01, 11 y 10. La particularidad de este código es que los bits, que conforman el número, van cambiando de uno a la vez.

Con una sucesión de números con esta codificación lo que se hace para obtener el sentido de giro es:

  • Leer el número actual (uno de los cuatro posibles)
  • Compararlo con el anterior
  • Si los números son iguales “no hubo movimiento”
  • Si son diferentes entonces:

-  Se comparan el bit alto del número anterior con el bit bajo del actual

-  Si  los bits son iguales entonces el giro es horario

-  Por el contrario si los bits son distintos el giro es anti horario

     -    Se realizan las operaciones correspondientes al sentido de giro que se

          ha determinado.

     -    Se reemplaza el número anterior por el actual

La figura muestra cómo se puede generar la numeración codificada.El disco está dividido en octavos (blanco= 1, negro = 0) y gira en pasos de  1/16.

 En este ejemplo, una rotación competa generará cuatro grupos de números (16 pasos).

El disco está dividido en octavos (blanco= 1, negro = 0) y gira en pasos de  1/16.

Los sensores A y B leerán los colores frente a ellos y entregarán una salida igual a 1 si el color es blanco o 0 si el color es negro y formarán un par binario (A, B)

 En este ejemplo, una rotación competa generará cuatro grupos de números (16 pasos).

Para mayor seguridad puede agregarse un tercer sensor que active un bit de habilitación cada 1/16 para así leer el número (A,B) solo cuando se está en una posición determinada.