Encoder‎ > ‎

Encoder por Hardware

El encoder por hardware tiene la particularidad de ser tremendamente rápido y los que aquí se describen pueden llegar a funcionar a más de 500 KHz de frecuencia de entrada y diría que soportan varios MHz. Si necesitas una lectura de encoder extremadamente rápida esta información te será muy útil. Los circuitos que se muestran más adelante son compatibles para encoders incrementales ópticos y magnéticos.



Observa el gráfico de arriba. La idea principal es obtener un nano pulso cada vez que A está a 1, y en B se produce un flanco de subida. Cuando el encoder gira hacia la derecha se producirá el pulso para contar y cuando gira a la izquierda se producirá el pulso para descontar. Fíjate que para contar tenemos la entrada B y para descontar tenemos B negado. Como veremos más adelante, a través de dos flip-flops conseguimos discriminar cuándo lo hace en un sentido o en el otro.

Existen dos tipos de contadores: por incrementos y reversibles. Nos interesa que sea reversible para poder contar y descontar. A su vez los contadores reversibles existen dos tipos, los que tienen entrada Up y Down (ó cpU y cpD) independientes, como por ejemplo el 74LS192; y los que tiene U/D y CP, como por ejemplo el 74LS191.

Sería necesario que tuvieras claro conceptos básicos de electrónica digital para poder comprender el funcionamiento que se explica a continuación. Se trata de crear pulsos de periodo muy corto, del orden de nano-segundos (10^-9). Poder leer este tipo de pulsos de periodo tan corto sólo lo pueden hacer contadores, en nuestro caso contadores reversibles. Otra electrónica no serviría, por eso es necesario poner contadores como salida para visualizar el conteo en binario, o bien, para meter esos datos de salida del contador a un microcontrolador.

A continuación se explica cómo hacerlo con los dos tipos de contadores reversibles. El principio de funcionamiento es el mismo en ambos casos y para no repetirme lo haré en el primer apartado.


Contadores con entradas Up y Down independientes.


Las señales del encoder entran por A y B. Cada vez que el CP (o clock) de cualquiera de los 74LS74 recibe un flanco de subida, y si la entrada D de los Flip-Flops está a 1, Q se pone a 1 y /Q se pone a 0. La señal de /Q va a una red de atraso de 4 inversores para crear el nano-pulso. Cuando esto sucede hay un tiempo de demora (de nano-segundos = 10^-9) provocado por las cuatro puertas NOT consecutivas. Una vez que la señal se hace presente en el "clear" del Flip-Flop (se activa por cero), Q pasa a valer 0. Dependiendo de si el disco del encoder va hacia delante o hacia atrás, sucede en un flip-flop o en el otro, nunca ocurre en los dos a la vez.

Si quieres montarlo en una protoboard te será más sencillo usar como red de atraso el integrado 74LS240 porque es un buffer inversor con 8 entradas/salidas. Se usa 4 puertas NOT (de las 8 que tiene el 74LS240) para el flip-flop de arriba y las otras 4 para el flip-flop de abajo.


Necesitarás un contador reversible con salidas a LED para poder probar el circuito, si no, no podrás ver nada, ya que la electrónica para este tipo de encoder son de periodos muy cortos, de nano-segundos, y estos son invisibles a la vista. Sólo los contadores son capaces de percibir periodos de pulsos tan pequeños, cualquier otra electrónica no sería capaz de contabilizarlos, esto quiere decir que ni un micro-controlador ni un PLC es capaz de poder leer pulsos tan breves. Es obligatorio usa contadores reversibles.

Normalmente los contadores reversibles son de 4 bits. Poniendo 2 contadores en cascada tienes 8 bits de resolución (0..255), y poniendo 4 contadores reversibles tienes 16 bits de resolución (0..65535), así sucesivamente dependiendo de la resolución que necesites.

Aquí tienes el esquema completo para ver el conjunto de funcionamiento con un contador reversible con entradas UP y Down independientes:




Contadores con entradas U/D y CP

No todos los contadores reversibles tienen Up y Down independientes. Los más usados (y baratos) tienen una entrada llamada U/D (Up/Down) y la otra entrada se llama CP (Clock Pulse). Para este tipo de contador el esquema queda de la siguiente manera:


Al igual que en el primer esquema podemos usar un 74LS240 para la red de atraso, quedando así:


Necesitarás un contador reversible con salidas a LED para poder probar el circuito, si no, no podrás ver nada, ya que la electrónica para este tipo de encoder son de periodos muy cortos, de nano-segundos, y estos son invisibles a la vista. Sólo los contadores son capaces de percibir periodos de pulsos tan pequeños, cualquier otra electrónica no sería capaz de contabilizarlos, esto quiere decir que ni un micro-controlador ni un PLC es capaz de poder leer pulsos tan breves. Es obligatorio usa contadores reversibles.

Esquema completo con un contador reversible con entradas CP y U/D:


Para este circuito has de usar disparadores Schmitt de tecnología TTL (7414 ó 74LS14) para acondicionar las señales del encoder óptico. Nunca uses disparadores Schmitt de tecnología CMOS (HC y HCT es CMOS), como por ejemplo el 74HC14, te daría fallos intermitentes, para el resto del circuito puedes usar la tecnología que quieras.

Este enlace explica una forma parecida a lo que aquí he expuesto y además tiene la posibilidad de aumentar la resolución del encoder hasta por cuatro.

Recuerda que siempre es aconsejable poner condensadores de 100nF en las alimentaciones de los integrados (entre VCC y GND), especialmente en circuitos secuenciales: contadores, registros de desplazamientos, Flip-Flops (también llamadas "básculas"), PICs, etc.

Ir a Encoder por Software.          Ir a Encoder con efecto Hall.