Convierta la desconexión del interruptor de lámina o SPST en un solo pulso “BAJO”

0

Estoy intentando activar mi Arduino y ejecutar algún código cuando se abre un interruptor Reed o SPST conectado a una interrupción. Si mi Arduino está en modo apagado, solo se aceptan las interrupciones BAJAS (no los cambios, lo que facilitaría las cosas).

¿Existe una forma sencilla de hardware para enviar un solo pulso BAJO cuando se desconecta el interruptor? Estoy tratando de evitar que la interrupción desencadene continuamente mi Arduino para que se despierte mientras el interruptor está abierto; Solo necesito que el código se ejecute una vez, y luego deseo que mi Arduino se apague hasta que el interruptor se cierre y se vuelva a abrir.

He estado explorando el uso de un temporizador 555 en modo monoestable, tal vez con un inversor de transistor para reducir el pulso, pero parece que esa solución finalmente se activará nuevamente (más de una vez) si el interruptor de lámina permanece abierto durante un tiempo. Periodo prolongado.

    
pregunta Victor Van Hee

3 respuestas

2

Suena como un acoplamiento capacitivo que podría funcionar bien. El interruptor de lengüeta pasa de la potencia a una resistencia de bajada y un lado de la tapa. El otro lado de la tapa va a una resistencia de pull-up y el pin GPIO. Cuando el interruptor de láminas está cerrado, ambos lados de la tapa se apoyarán en el riel de alimentación. Cuando abre el interruptor, la resistencia desplegable tirará hacia abajo ese lado de la tapa. Si la tapa es lo suficientemente grande y las resistencias tienen el tamaño adecuado, el pin GPIO también se bajará hasta que la tapa se pueda cargar. Cuando el interruptor está cerrado, el condensador se descargará. Podría ser una buena idea agregar un diodo de pinza para encender el lado del pin GPIO de la tapa para que la tapa pueda descargarse a través del diodo en lugar de los diodos de protección ESD del chip. Tendrá que jugar con los valores de las resistencias y el condensador para obtener un pulso de la longitud correcta, aunque el desplegable tendrá que ser significativamente más pequeño que el pull-up. Yo sugeriría probar un pull-down de 10k. con un pull-up de 100k. Para averiguar cuánto durará el pulso, calcule la constante de tiempo, tau = RC. Esto será aproximadamente la duración del pulso. Una resistencia de 10k y 100k con un condensador de 0.1 uF le dará una tau de aproximadamente 110e3 * 0.1e-6 = 0.011 segundos.

    
respondido por el alex.forencich
2

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Andy aka
2

En la línea de su uso investigativo de un 555, podría considerar usar un 74LS122 monoestable El uso de un monoestable proporciona un pulso cuadrado agradable en la salida con un ancho de pulso preciso (dependiendo de la tolerancia de la resistencia y el condensador).

A diferencia del 555, el 74122 siempre genera el pulso de salida de la misma longitud, sin importar el tiempo que la entrada se mantenga en tierra.

Losvaloresmostradosparalaresistenciayelcondensadorgeneraránunpulsode1ms.

Siestáutilizandouninterruptor,esposiblequedeseeaumentarlademoraa30msomenosparaenmascararcualquierrebotedelinterruptor.Esosignificaríausaruncapacitorde2000µFenlugarde68µF.Sinecesitaunretrasodemásde1msparaelreedreeddependerádelasespecificacionesparaelrelé.

El74LS122 está disponible en un DIP de 14 pin paquete por $ 1.25

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas