Indicar de qué manera se ha convertido un codificador rotatorio KY-040

0

Estoy eliminando este problema al mínimo.

Tengo KY-040 Rotary Encode, Cuando se gira hacia la derecha, quiero que parpadee un LED azul por cada incremento que se gire. Cuando se gira en el sentido contrario a las agujas del reloj, quiero que parpadee un LED rojo por cada incremento.

Puedo tener cualquier cosa entre ellos (pero no una computadora barebone tipo PI o arduino)

He visto chips de flip flop pero con la señal de onda que sale del codificador rotatorio KY-040, me confundí rápidamente.

    
pregunta Ashley Kilgour

5 respuestas

3

probablemente las 2 salidas tienen un cambio de longitud de cuarto de pulso. Use una salida como indicador de rotación de cantidad conocida (= cada flanco ascendente significa un incremento de ángulo conocido) y la otra es la dirección; Comprobado cuando se produce el incremento del ángulo.

Su circuito de parpadeo del led:

ADDENDUM: La salida de fi2 del sensor de rotación indica cuánto tiempo está encendido el pulso de luz led. Por supuesto, es posible que desee limitarlo en caso de que la rotación se detenga solo cuando fi2 = Alto. Para eso, puede agregar un multivibrador monoestable entre fi2 y las nand gates para limitar la longitud del estado.

    
respondido por el user287001
0

No creo que sea una sorpresa cuando te digo que a menudo solo escribes un poco de software que se ejecuta en un microcontrolador para hacer exactamente eso.

Sin embargo, la lógica del codificador es tan simple que puede escribirla como una combinación booleana de los sensores. Entonces, con una cantidad mínima de puertas lógicas discretas, puedes hacer eso.

Por lo tanto, el mecanismo para este tipo de problema es anotar su problema como máquina de estados (usted es una persona de CS - debería conocer las máquinas de estados) y luego implementar estos estados en hardware, simplificando donde sea posible.

    
respondido por el Marcus Müller
0

Los codificadores bidireccionales generalmente emiten dos señales en cuadratura. Es decir, dos ondas cuadradas de 90 grados fuera de fase. Puede indicar la dirección según el estado de la segunda línea en el borde ascendente o descendente de la primera línea.

BTW:Aquíestáel Spec

Re sus LEDS ....

Simplemente introduzca una fase en el reloj de un pestillo de tipo D y la otra fase en el D-Pin. La salida Q cambiará con la dirección de rotación. Utilícelo para habilitar la alimentación al extremo superior del LED apropiado (Resisitor). Utilice una fase para controlar el extremo inferior de ambos LEDS.

    
respondido por el Trevor_G
0

simular este circuito : esquema creado usando CircuitLab

  • R! Es la entrada lógica negativa.
  • A conduce B para arriba
  • También puede utilizar S con lógica positiva y salidas de barra Q.
  • SIM
respondido por el Tony EE rocketscientist
-1

Conocer la dirección de un codificador cuádruple es una combinación de conocer el ESTADO ANTIGUO, el ESTADO NUEVO y tener una tabla de búsqueda para determinar la dirección.

Por ejemplo, en la Figura en Respuesta de Trevor , digamos que comienza en el estado del canal superior siendo cero, y el canal inferior es cero (es decir, "00"). Si el siguiente estado es "10", ha avanzado y el siguiente estado es "01" ha retrocedido.

Entonces, \ $ 00 | 10 \ rightarrow \ $ forward motion, lo que significa que agrega uno a su conteo y \ $ 00 | 01 \ rightarrow \ $ backward, y resta uno. Encontrarás que hay 16 posibilidades, y algunas de ellas no pueden existir a menos que hayas saltado un tic.

La forma más fácil de implementar esto es probablemente un circuito integrado diseñado específicamente, como this , que Se encarga de todo el asunto. El segundo más fácil es probablemente un microcontrolador. El último sería escribir la máquina de estados, generar un Mapa de Karnough y gruñir una implementación de flip flop.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas