Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/11/2012 #1


Decodificar señal de Encoder Incremental en cuadratura (x4)
Hola a todos!!

Necesito desarrollar un circuito que me detecte el sentido de giro de un eje y su velocidad. como elemento de medida tengo un encoder de 1024 pulsos por revolución y me proporciona 2 señales en cuadratura de las cuales debo extraer la información.

El proyecto lo tengo que implementar en Labview ya que después se programará en un chip FPGA. En una primera parte desarrollé una lógica basada en un único contador bidireccional que se incrementaba o decrementaba según el sentido de rotación, pero dicha lógica se ha demostrado ser ineficiente en cuanto a las condiciones finales de uso (es para controlar un motor dc de una maqueta) y mi tutor me ha orientado hacia una lógica que funcione bien en los cambios de dirección y frente a vibraciones (dithering) lo que pasa es que no me ha sabido dar literatura concreta.

El tema es que no encuentro nada por la red y por eso os pido ayuda. Aunque sea si alguien me puede indicar por dónde buscar. En principio sería implementar un circuito de detección de dirección (lo que he estado viendo tiene como dos partes de lógica digital una para cada sentido de giro (CW y CCW) y un Flip-Flop JK, y he implementado una lógica a través de las tablas de verdad pero no me funciona correctamente) y después sería otro bloque con dos contadores (para cada sentido de giro) que se restan para dar la posición final.



A ver si alguien con experiencia me sabe orientar. Y gracias de antemano!!

Javier.
07/11/2012 #2

Avatar de Gudino Roberto duberlin

Amigo, las salidas CW o CCW, entregan un pulso muy pequeño por cada paso del encoder, con esta señal puedes accionar un contador asc/desc., el ancho del pulso puede ajustarse segun los valores de RC.
07/11/2012 #3

Avatar de Eduardo

Tenés descripción y métodos de filtrado en notas de aplicación de Microchip sobre la interfaz QEI
Archivos Adjuntos
Tipo de Archivo: pdf Quadrature Encoder Interface.pdf (240,7 KB (Kilobytes), 142 visitas)
07/11/2012 #4


Hola chicos, la descripción y el funcionamiento de los encoder ya lo entiendo, así como las diferentes formas de encoding. Lo que intento hacer es algo así como plasmar con puertas lógicas lo que dice en la página 6 de este paper:

http://www.docstoc.com/docs/20974431...ncoder-Used-in

es decir, construir primero un bloque que me diga el sentido (en base a las transiciones entre estados, y que contemple los cambios de dirección) y en función del sentido de giro se incremente el correspondiente contador (cuyos conteos se suponen ya válidos) para después calcular el ángulo total girado.

Lo tengo que hacer con puertas lógicas ya que programo en LV (que es un lenguaje gráfico) y no en C o otro lenguaje de texto.

Gracias de nuevo!!
07/11/2012 #6


Hola Eduardo, muchas gracias lo primero de todo.

Te quiero preguntar algo en cuanto a la notación de tu post: Ao, Bo se supone que son las señales A y B previo paso por un registro no? y después cuando pones tilde.. ´ .. te refieres a la señal negada?
07/11/2012 #7

Avatar de Eduardo

Correcto .
07/11/2012 #8


Edito: cometí un fallo en el mapa de Karnaugh

Me queda para CCW: (A XOR Bo) + (Ao XNOR B) y para CW: (Ao+!B)(!Bo+!A)(Bo+A)(!Ao+B)
07/11/2012 #9

Avatar de Gudino Roberto duberlin

Amigo rookie, pregunto has chequeado el esquema que subi?.
07/11/2012 #10

Avatar de Eduardo

rookie dijo: Ver Mensaje
A mi en realidad lo que me sale es Ao XOR B para el sentido CW y Ao XNOR B para CCW, no sé si es lo mismo. Después tengo que implementar un FF JK (¿Cuál me recomendáis... Con NAND, NOR...?) y detrás de eso 2 contadores para cada uno de los sentidos que se restarán para darme la posición angular final.
Tranquilo. En este momento está trabajando un equipo de 6 pitonisas de Delfos adivinando que fué lo que hiciste. Así te ahorrás el molesto trabajo de andar dibujando y explicando.
07/11/2012 #11


Eduardo dijo: Ver Mensaje
Tranquilo. En este momento está trabajando un equipo de 6 pitonisas de Delfos adivinando que fué lo que hiciste. Así te ahorrás el molesto trabajo de andar dibujando y explicando.
Tabla de verdad con las 8 transiciones posibles (4 CW y 4 CCW) y mapa de Karnaugh. Perdonad si no la escribo.
08/11/2012 #12


Sigo con el tema para ver si alguien me puede ayudar. Pido perdón por las molestias que mi desconocimiento pueda causar.

Bueno, ya he desarrollado la aplicación, pero todavía no la he podido probar, lo haré mañana. Pero hablando con mi tutor me ha dicho que tengo que implementar la detección por flancos y no por niveles lógicos como hasta ahora. Es decir, debería hacer sampleos de las señales de los encoders tratándolas como analógicas y tener una lógica que me indique cuando se produce efectivamente un cambio de estado. No se muy bien porqué quiere ir en esa línea ya que creo que la decodificación por niveles lógicos va a funcionar.

Alguien lo ha hecho así alguna vez?
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.