Watchdog with 555?
jmspaggi
Posts: 629
Hi there,
I'm trying to draw a watchdog for my Javelin based on a 555 component.
Why a 555? Because it's cheap and because I already have 100 like him on my desk [noparse];)[/noparse]
The idea is simple.
Take a look at this schema (Sorry, it's in French)
http://www.ptitrain.com/electronique/meccano/pages2002/mst555a.htm
Google translation:
http://translate.google.ca/translate?u=http://www.ptitrain.com/electronique/meccano/pages2002/mst555a.htm&sl=fr&tl=en&hl=&ie=UTF-8
The idea:
When the 555 is triggered, he keep a pin at 1 for a specific duration. So in my main loop, I will call the triger as often as I can, and put resistors to have a delay = 5s. So if the trigger is not called after 5s, the output will come down, and I have to reset the Javelin.
So if I connect the 555 output to my Javelin pin 22, with a pulldown resistor, as long as my 555 pin is up, it will works.
The probleme is when I start the Javelin. If I cut the power off, the 555 output will get down, and he will reset the Javelin, who will never start.
So I have 2 questions.
- Do you think this can works?
- Is there a way to have the Javelin starting, which mean disable the the 555 for about 10 seconds when it's powered?
Also, I'm doing that for my Javelin, but I think it can works for any other controller.
JM
I'm trying to draw a watchdog for my Javelin based on a 555 component.
Why a 555? Because it's cheap and because I already have 100 like him on my desk [noparse];)[/noparse]
The idea is simple.
Take a look at this schema (Sorry, it's in French)
http://www.ptitrain.com/electronique/meccano/pages2002/mst555a.htm
Google translation:
http://translate.google.ca/translate?u=http://www.ptitrain.com/electronique/meccano/pages2002/mst555a.htm&sl=fr&tl=en&hl=&ie=UTF-8
The idea:
When the 555 is triggered, he keep a pin at 1 for a specific duration. So in my main loop, I will call the triger as often as I can, and put resistors to have a delay = 5s. So if the trigger is not called after 5s, the output will come down, and I have to reset the Javelin.
So if I connect the 555 output to my Javelin pin 22, with a pulldown resistor, as long as my 555 pin is up, it will works.
The probleme is when I start the Javelin. If I cut the power off, the 555 output will get down, and he will reset the Javelin, who will never start.
So I have 2 questions.
- Do you think this can works?
- Is there a way to have the Javelin starting, which mean disable the the 555 for about 10 seconds when it's powered?
Also, I'm doing that for my Javelin, but I think it can works for any other controller.
JM
Comments
I found a case where it's not working...
In my main loop, I have to put a pin at 1, then at 0 to reset the 555. If the Javelin crash when the pin is at 1, then he will never reset [noparse]:([/noparse]
So maybe I should use 2 NE555... One which is reset when the pin is at 0, one which is reset when the pin is at 1. So if any of the 2 stay in that position for more than 5 seconds, then I reset.
I still have the same issue for the initial statement, but at least, one issue is solved [noparse];)[/noparse]
Maybe the initialisation statement issue can be fixed by using the NE555 that way? translate.google.ca/translate?u=http://www.ptitrain.com/electronique/meccano/pages2002/mst555c.htm&sl=fr&tl=en&hl=&ie=UTF-8
so at the beginning, it's waiting 5s before resetting the Javelin, which will give me the time to start to triger NE555 reset pin?
JM
But I would use a series resistor of 470 ohm from output 3 to the
javelin reset pin (pin22). No pullup or pulldown resistors.
The javelin has an internal pullup to 5V, so when the 555 output
goes low. the javelin should be kept in reset while it remains low.
regards peter
So I will just have to connect the 2 NE555 outputs to a 470 ohms resistor each, and then both of them to the Javelin pin 22?
Regarding the trigger (BP in the schema), do you think I can you the ATN pin or something like that? If I have data displayed on the terminal, that should works, no?
JM
I usually use a pin for led output that toggles every time through the mainloop.
This gives a visible indication the javelin is running.
That led signal can also be used to keep the watchdog from expiring.
Instead of 2 resistors, you can·use 2 diodes (like 1N4148) with cathode connected
to 555 pin 3, and anodes to javelin reset pin.
This prevents an ambiguous voltage of 2.5V if both pin 3 outputs are different.
(The diodes create a wired AND).
regards peter
I'm trying to build this, and I think something which not work. If the Javelin crash, which mean PIN will be low for more than 5 s, the NE555 will reset the Javelin. But it will remain like that until the PIN come high, which will not occur until the Javelin restart, so the NE555 will never stop reseting it.
Not sure I'm clear [noparse];)[/noparse] Do yo use what I mean?
So maybe my NE555 should command another NE555 which will rst the Javelin for only one second?
JM
When the output move to 0, I'm able to reset the Javelin. My probleme is that it will never stop reseting it since when it's resetting, the pin is not "moving" [noparse]:([/noparse]
Any idea what I can put on my output to have only an pulse to 0 instead of a 0 state? Maybe with a capacitor, or something like that?
Thanks,
JM