¿Cómo puedo convertir la salida de un interruptor momentáneo a un pulso al presionar y un pulso al soltar?

8

El título lo dice todo.

Tengo una idea para probar con un circuito diferenciador de amplificador operacional y un puente de diodos, pero estoy volando a ciegas.

También estoy tratando de lograr esto sin un microcontrolador.

ruido
fuente
Entre chiphacker y mis amigos @tcmaker tengo un montón de posibles soluciones. He simulado un par en SPICE y ciertamente hay algo de potencial, solo necesito ver si encajan con mi curva. Gracias por las respuestas a todos! Intentaré publicar cualquier actualización sobre mi progreso.
ruido
Aquí hay una solución escrita por un amigo mío, una explicación muy detallada e incluye un esquema LTSpice. uptownmaker.blogspot.com/2009/11/pulses-on-pushbutton.html
ruido

Respuestas:

8

Puerta XOR:

texto alternativo

He utilizado el NC7SZ58 para esto, que es barato ($ 0.04) y pequeño y tiene entradas de activación Schmitt, por lo que los pulsos tienen aproximadamente la misma longitud (que se puede establecer mediante los valores RC).

endolito
fuente
¿Quizás un RC de paso bajo en ambas entradas, pero diferentes constantes de tiempo, para eliminar el rebote?
DarenW
8

Si desea una buena solución analógica, existe este circuito que utilizan los simmers de vuelo:

"Lo sentimos, los nuevos usuarios no pueden usar etiquetas de imagen"
(fuente: simprojects.nl )

El esquema muestra la disposición de un interruptor de palanca, pero podría sustituirse fácilmente por un momentáneo.

Cada vez que el interruptor cambia de posición, el condensador tiene que cargarse y descargarse. Durante este tiempo, se desarrolla un voltaje a través de los contactos del relé, cerrando el interruptor. Una vez que el condensador se ha cargado, el relé se apaga nuevamente.

Más información aquí: http://www.simprojects.nl/toggle_to_momentary.htm

Inglés Dave
fuente
2
Este es inteligente para usar la cantidad mínima de componentes, solo un condensador y un relé. La desventaja es que el relé es bastante grande, pero el autor de la pregunta original podría encontrar otros más pequeños o de estado sólido que funcionen de la misma manera (puede requerir la adición de una resistencia adicional para disminuir el tiempo de carga / descarga del condensador)
davr
6

Dependiendo de cuánto desee invertir en el aprendizaje, la solución de rebote, xor y flip-flop sería la más "básica". Sin embargo, el 555 es un gran circuito para aprender. Aquí hay una página que muestra una gran cantidad de aplicaciones: http://www.kpsec.freeuk.com/555timer.htm

Si busca "Activación de bordes" en la sección monoestable, encontrará lo que parece ser la solución que está buscando.

jkopel
fuente
2
No le digas a la multitud "todo se debe hacer en una uC", pero me encanta el 555 y tengo un montón de ellos, ¡gracias!
ruido
6

Puede usar una puerta xor simple y una de las entradas conectadas directamente al interruptor, mientras que la otra entrada a través de un circuito RC que proporciona el retraso. Esto funciona bien como un "detector de bordes", pero no hace ningún rebote, no pediste esto :-). Probablemente sea la forma más barata si ya tiene una puerta xor sin usar en su diseño.

icabrindus
fuente
5

Permitir un 555 pero rechazar un microcontrolador es una tontería, puede obtener un microcontrolador en el mismo paquete o un paquete más pequeño que un 555, y como beneficio adicional puede eliminar el rebote en el software, ahorrando algunos componentes adicionales que serían necesarios para eliminar la señal para el 555. Lo mismo ocurre con el flip-flop D y la compuerta XOR ... son 2 IC que necesita, además de los componentes antirrebote.

¿Cuál es su razón para querer evitar un microcontrolador? Los más simples son $ 1, probablemente mucho menos en grandes cantidades. Si es espacio, hay un TSSOP AVR de 8 pines que es como 3x5 mm, bastante pequeño.

davr
fuente
Supongo que el Sr. Noise nos está pidiendo que lo ayudemos con su tarea y que no se le permite usar la solución obvia.
SiliconFarmer
2
La razón principal es porque estoy tratando de aprender algo sobre electrónica. Ya lo hice en un código en el que puedo recurrir si es necesario ... y no, no es una tarea, solo una modesta curva de circuito para mi propio entretenimiento y edificación. Gracias por la respuesta, me da una dirección para trabajar.
ruido
Eso es razonable, si especificas eso en tus preguntas en el futuro, la gente lo entenderá mejor.
davr
2
Tampoco es irracional evitar un microcontrolador debido a los costos de creación / mantenimiento / prueba del código. Eso es algo que pasó por alto como ingeniero junior, pero que he llegado a comprender muy bien a medida que he adquirido experiencia. La mentalidad de "oh, podemos hacerlo en software" puede meterte en problemas a veces cuando tienes que demostrar que algo va a funcionar.
Jason S
1
Estoy un poco confundido acerca de cómo usar una computadora y software en miniatura para implementar una función lógica simple es "la solución obvia".
Endolith
3

Puede haber una manera de hacerlo con un temporizador 555 configurado como un solo disparo.

Un flip flop D y una puerta XOR también lo harán. La lógica exacta dejada como ejercicio para el lector.

SiliconFarmer
fuente