Circuito temporizador Astable 555 que se reinicia en un instante

Estoy tratando de diseñar un circuito que restablecerá mi ESP8266 cuando se bloquee o cuelgue. Lo hace enviando un latido a un temporizador 555 cada minuto, lo que reinicia el temporizador 555. El temporizador 555 está configurado en una configuración astable que envía un pulso al pin de reinicio cada minuto y medio a menos que reciba un latido. Este es el diseño de mi circuito que se basa en desde aquí .ingrese la descripción de la imagen aquí

Sin embargo, después de simular este circuito en una placa de pruebas, parece que no funciona. No estoy muy familiarizado con los temporizadores 555, el enlace proporcionado brinda una mejor explicación sobre el circuito. Cualquier ayuda será muy apreciada.

(1) ¿El ESP8266 no tiene un temporizador de vigilancia interno? (2) ¿Por qué se cuelga/colga? ¿Código incorrecto?
1 minuto espera mucho para un tiempo de caída de RC analógico debido a la elección limitada de tapas de plástico para una corriente de fuga baja mucho menor que la corriente de arranque o R equivalente. Diseño muy pobre para copiar. Desea un puerto reactivable sensible al borde que nunca entre en fibrilación o activaciones falsas repetitivas. Así que elija una mejor especificación o diseño para copiar.
@Transistor No estoy seguro por el motivo del bloqueo/bloqueo, pero esto es lo que recibí del cliente.
@TonyEErocketscientist Posiblemente pueda reducir el intervalo de tiempo a 30 segundos, es solo que no quiero aumentar el código enviando un pulso cada 30 segundos. Pero el problema ahora es que el circuito ni siquiera funciona, ¿hay algo que pueda recomendar para solucionarlo?
No sin números de pieza. Supongo que no está utilizando IRQ en tiempo real, lo que facilita esta tarea. Necesitas una tapa de plástico para cronometrar 60 s.
Voto para cerrar esta pregunta como fuera de tema porque "no parece funcionar" no es una descripción válida del problema. Las preguntas deben ser específicas sobre la diferencia entre el comportamiento esperado y el comportamiento observado . ¿Qué pasos de depuración se han tomado? Monitoree la entrada y la salida con un osciloscopio, o si el tiempo es a escala humana, agregue un LED a cada uno, teniendo cuidado de hacerlo de una manera que no interrumpa el funcionamiento del circuito (es decir, posible después de un amplificador de búfer).
NE555DR no funcionará en 3.3V, use TLC555C o 7555, etc.
@Transistor: aparte, pero en general prefiero los perros guardianes externos a los internos. Demasiado fácil para que el código que se comporta mal se vectorice accidentalmente a una rutina que deshabilita el perro guardián. Un perro guardián externo (preferiblemente un perro guardián de ventana) que el procesador no puede desactivar es mucho más robusto.

Respuestas (1)

Cuando vi el circuito por primera vez, tenía algunas dudas de que hiciera algo, ya que los pines de trilla y activación no parecen estar conectados a nada excepto a sí mismos. Al ir a la fuente que publicaste, se puede ver que el esquema también parece afirmar esto ... Sin embargo, en la imagen publicada de todo el circuito construido en la placa de pruebas, se puede ver que hay un cable verde que va desde el pin 2 al condensador. , que es exactamente lo que necesitarías para que este circuito funcione. Este es probablemente el problema del circuito.

Ahora en algunos otros problemas potenciales.

Busqué la primera hoja de datos para el temporizador 555 que pude encontrar, que resultó ser este: http://www.ti.com/lit/ds/symlink/ne555.pdf. En esta hoja se especifica que la operación solo se define para voltajes de suministro de 4.5 a 15 voltios, mientras que parece estar operando el IC a 3.3V. Recomendaría operar el temporizador 555 a 5V a menos que tenga una versión especial de 3.3V del IC. No hay problema con los voltajes que no coinciden en la salida, ya que el diodo en la salida del 555 hace que el temporizador del 555 solo pueda poner el reinicio bajo y no puede presionar el reinicio alto. Para hacer esto más seguro, agregaría un pequeño filtro RC antes del diodo para que la velocidad de conmutación del temporizador 555 no provoque un parpadeo momentáneo de 5 V si la capacitancia parásita del diodo es significativa, pero esto probablemente sea demasiado cauteloso. Estos componentes adicionales son R3 y C3.

El otro problema de interfaz de 5V 3.3V se puede ver en la entrada de pulso. Nuevamente, puede usar un diodo simple para que pueda descargar el capacitor configurando el pin de pulso bajo, sin embargo, esto solo descargaría el capacitor a alrededor de 0.7 voltios en cada ciclo. Para arreglar esto, en su lugar usé un transistor. Tenga en cuenta que esto significa que el pulso debe ser un pulso alto ahora en lugar de un pulso bajo para hacer latir el circuito.

Una última cosa a tener en cuenta, los valores que elegí para todos los condensadores de las resistencias y otras partes fueron en su mayoría números arbitrarios, ya que su publicación tampoco especificó ningún valor. Probablemente, la parte principal de esto que desearía cambiar para su aplicación específica son los valores para la parte de temporización del circuito, R1, C1 y R2.

EDITAR: tenga en cuenta que también estoy de acuerdo con lo que han dicho otros comentaristas, debido a las corrientes de fuga, las variaciones de temperatura del temporizador y la complejidad general, este diseño probablemente no sea el mejor para usar, de manera óptima estaría usando un temporizador de vigilancia incorporado o simplemente arreglando su código para que no se cuelgue. Otras soluciones de hardware que pueden ser más confiables podrían involucrar un microcontrolador completamente diferente para realizar este control del temporizador o chips digitales más complicados.

esquemático

simular este circuito : esquema creado con CircuitLab

EDICIÓN 2: Jasen sugirió un condensador en serie para evitar que la entrada de pulso mantenga el circuito alto durante demasiado tiempo, así como un diodo para descargar el condensador. Edité esto en el diagrama y agregué una resistencia en paralelo con el diodo solo para asegurarme de que el capacitor se descargue por completo en un ciclo, en lugar de descargarse en una sola caída de diodo. Está compuesto por C4, D4, R7 y R8. Tenga en cuenta que, al igual que con los otros valores en este esquema, estos valores también se eligieron arbitrariamente, así que modifique la constante de tiempo RC para su aplicación.

Sugiero agregar un condensador en serie (y un diodo de tierra) en la entrada para que una entrada de "pulso" atascada no duerma el perro guardián para siempre.
Una buena sugerencia, la editaré.
@KevinBrant Muchas gracias por la ayuda y me disculpo profundamente por la falta de datos, ya que soy bastante nuevo en 555 temporizadores. Simulé el circuito que recomendó en una placa de prueba sin los componentes de protección como el filtro RC en la salida y la entrada (pulso) para probar la prueba de concepto. Cuando el pin de pulso se deja flotar, la salida envía un pulso en cada intervalo establecido, cuando el pulso se tira hacia abajo, la salida es ALTA, cuando el pulso se tira hacia arriba, la salida es BAJA. Aunque actualmente estoy buscando circuitos integrados específicos para solucionar este problema, todavía me gustaría solucionar este circuito.