Flip-flops tipo T con tiempos de conmutación dependientes del estado

1

Un simple circuito de pulsador "On-Off" se implementa fácilmente con un flip-flop tipo D. Sin embargo, necesito que mi flip-flop se encienda cuando se presiona el pulsador y se apaga cuando se presiona el pulsador y se mantiene pulsado durante varios segundos .

Los pocos criterios simples de la siguiente manera. El último criterio está ahí para eliminar cualquier ambigüedad en el escenario:

  • El pulsador momentáneo es parte de un codificador rotatorio y comparte su ánodo común;
  • El 'tiempo de presión' de ENCENDIDO debe estar por debajo de 0,5 segundos, pero aún así debe incorporar algo de rebote;
  • El 'tiempo de presión' de OFF debe ser de al menos 5 segundos;
  • El dibujo actual cuando el ralentí debe ser lo más bajo posible;
  • La solución debe ser puramente de hardware, no puedo usar una unidad de usuario.

Después de mucha deliberación y gritos, di con el siguiente circuito. Funciona según la especificación, excepto que me gustaría saber si hay una forma de hacerlo con un menor número de componentes.

Vcc = 3.7V. U1 (MAX942) es actualmente una brecha de simulación y es probable que se reemplace con un equivalente de menor potencia, si existe. Los valores de R / C dan tiempos adecuados en la actualidad.

El circuito es bastante simple: Q2 carga las resistencias C1 y C2 a 1k. Cuando se presiona 'SWITCH', las tapas se descargarán a través de R3 y R5, respectivamente. Cuando el voltaje de un capacitor cae por debajo de THR , el compartimiento irá ALTO, proporcionando un borde ascendente a CLK . Sin embargo, cuando el flip-flop está activado, Q4 corta la salida de U1:A , negando CLK de dicho borde. Si se mantiene presionado el botón durante el tiempo suficiente, C1 finalmente se descargará por debajo de THR y U1:B proporcionará el flanco ascendente a CLK .

No puedo pensar en una solución más simple; Todo lo que he intentado termina en espiral hacia la complejidad. Cualquier recomendación sería apreciada.

    
pregunta CharlieHanson

1 respuesta

2

Permítanme comenzar diciendo que, en realidad, usar un μC es infinitamente más fácil. Tiny10, por ejemplo, incluso sería más barato que muchos otros chips que necesitarías en cualquiera de las soluciones y sería tan pequeño como un transistor. Pero oye, aquí va:

Si no te importa "flip-flop'ing" cada 5.5segundos, esto hará:

simular este circuito : esquema creado usando CircuitLab

Diga que la salida es baja, NOT1 está levantando el condensador a través de R3, para compensar la fuga, y al presionar el interruptor, se descarga C1 a D1 y R1 a una velocidad dictada por R1. En algún punto, la salida cambiará a alto.

Ahora NOT1 mantiene el condensador descargado, al igual que lo mantuvo cargado antes. También volverá a cargar la tapa si mantuviste presionado el interruptor durante 2 segundos, luego esperaste un rato antes de intentar apagarlo.

Si ahora presiona el interruptor, cargará el condensador a través de D2 y R2 a una velocidad más baja dictada por R2.

La presión de NOT1 y R3 afectará un poco a la regla NE555 estándar de t = 1.1 * RC, por lo que se necesitarán algunos ajustes de la tapa o resistencias, pero en principio, estos valores deben estar cerca de lo que necesita .

Sin embargo, como se dijo, mantener presionado SW1 se activará / desactivará repetidamente hasta que lo sueltes.

Si hay inestabilidad cuando no se presiona ningún botón, R3 podría ser demasiado débil para competir con las corrientes de los pines de entrada, eso depende de la antigüedad de su NE555, lo más probable, en cuyo caso, la reducción de los Resistores y el aumento de C1 en consecuencia deberían ser de ayuda. p>

Incluso podrías deshacerte de NOT1 mediante:

simular este circuito

(y luego agrega el resto del esquema anterior)

Dado que el 100k en 3.3M no hará ninguna diferencia en la sintonía a cualquier extensión notable.

Si necesita un aumento gradual, también puede hacer algo como esto:

simular este circuito

Cuando presiona el interruptor, C1 se cargará a través de R2 y finalmente pasará el umbral de OA2, lo que activará la salida SET. Si mantiene presionado el botón, pasa el umbral OA1, activando la salida RESET, que luego también se restablece. el SET a bajo.

Puedes incluir eso en tu fevourite R-S-Latch / FlipFlop. Si necesita alimentarlo en un JK Flipflop con R y S, es probable que necesite salidas bajas activas, por lo que deberá voltear las entradas de los amplificadores operacionales para obtener una operación invertida y luego hacer que el transistor sea un PNP conectado a VCC. en lugar de la GND.

Cuando sueltes el interruptor, el condensador se descargará a través de R1 y D1, lo que irá mucho más rápido. La carga residual dejada por la caída de voltaje del diodo eventualmente será eliminada por R2 y R1 juntos, pero con un tipo BAT54 el residual estará por debajo de 0.25V.

Primero, ajuste el tiempo establecido con R2 y C1 o juegue con R5, luego puede ajustar el tiempo de restablecimiento jugando con el equilibrio entre R3 y R4 (manteniendo R4 + R3 aproximadamente igual, de lo contrario también cambiar de nuevo el tiempo establecido).

Algunos tipos de pestillo / flip-flop R-S tienen un comportamiento de última señal cuando tanto Set como Reset están activos, entonces no necesitará el R7 y el Q1. Solo son necesarios si el pestillo elegido tiene "Comportamiento indefinido" cuando tanto S como R están activos.

Verifique que la elección final del amplificador operacional llegue lo suficientemente cerca como para que ambos rieles de suministro puedan brindar un acoplamiento confiable a la lógica. Los muy anticuados (uA741, por ejemplo) ni siquiera pueden administrar eso cuando se alimenta con solo 5V. Pero la mayoría de los más modernos probablemente lo harán.

    
respondido por el Asmyldof

Lea otras preguntas en las etiquetas