Perro guardián de Arduino con temporizador 555 y un MOSFET

0

Quiero proteger un Arduino para que no se ejecute usando un temporizador 555. Vi algunos proyectos que usan el pin RESTABLECIMIENTO de Arduino para hacer eso, pero hay casos en los que mi proyecto Arduino aún deja de funcionar, incluso cuando hago un reinicio con el pin RESET.

Así que utilicé el siguiente circuito para cortar la línea 5v de mi Arduino. Elijo la línea 5v en lugar del suelo porque solo tengo un pin de 5v y más de un terreno en Arduino.

Mi problema es ¿cómo puede Arduino restablecer el contador 555? ¿Cómo puedo pulsar el 555 para evitar que desactive el Arduino? Si conecto el pin Arduino D2 al pin Threshold / Trigger / Capacitor como vi en algunos proyectos, y mantengo el capacitor cargado, funciona cuando Arduino está funcionando pero si se desactiva, nunca se vuelve a encender porque Arduino no lo hace. Permita que el condensador se cargue de nuevo y se queda apagado para siempre.

simular este circuito : esquema creado usando CircuitLab

    
pregunta Victor Santos

4 respuestas

2

Estos microcontroladores utilizados en Arduinos suelen contener un llamado Watchdog , que cumple exactamente el papel de su 555, pero es

  • ya integrado, por lo tanto, necesita cero componentes adicionales (y, por lo tanto, fuentes de falla),
  • utiliza una cantidad de energía que es, incluso con equipos de laboratorio, prácticamente imposible de medir, mientras que el clásico 555 es un verdadero cerdo de poder,
  • puede ser mucho más preciso,
  • reiniciará tu sistema de manera confiable exactamente una vez hasta que se reinicie (lo que normalmente haces al principio en tu firmware),
  • está diseñado y probado por expertos para producir entre millones y miles de millones, por lo que espero que sea mucho más confiable que su propio circuito analógico y
  • deja su Arduino en un estado definido en lugar de desconectarlo violentamente del poder, lo que conduce a una situación de apagón con corrientes que fluyen en direcciones que nadie prevé.

Entonces, abandona el enfoque 555 y simplemente aprende a usar el perro guardián. Es superior en cualquier aspecto que pueda pensar.

    
respondido por el Marcus Müller
0

Un perro guardián, como lo describe Marcus, es la mejor solución que un temporizador 555. La forma en que uso un temporizador 555 es mediante el uso de un pulso (basado en su programa) fuera del Arduino en su caso en el pin de reinicio del temporizador. Mientras su programa se esté ejecutando, el 555 se reinicia antes de que se "apague". Si el programa deja de ejecutarse, no se restablecerá y se activará el reinicio del procesador cuando se agote el tiempo.

    
respondido por el Norm
0

Algunos mencionaron usar el perro guardián. Debo decir que mientras el perro guardián está presente, también me ha fallado varias veces. Un perro guardián de reinicio de hardware es la única forma segura. Yo también estoy buscando una solución como esta, pero mi solución apunta a arrancar el pin de reinicio. Ahora bien, si un reinicio como este no reinicia el arduino, entonces puede tener otro problema más serio.

P.S, el FET que está utilizando es ese nivel lógico?

    
respondido por el Concerned Citizen
0

Hay formas más fáciles de hacer esto. Hay un temporizador interno de vigilancia (WDT) en el Arduino, pero también hay IC de vigilancia dedicados. Estos son más fáciles que usar un 555 porque son de muy baja potencia y tienen períodos de tiempo configurables. Un ejemplo es el TI TPL5010 pero hay muchos. Cuando se trabaja en aplicaciones de muy bajo consumo, a veces, el controlador externo IC usa menos corriente que el WDT interno.

    
respondido por el Fix It Until It's Broken

Lea otras preguntas en las etiquetas