Come posso impostare un timer watch dog hardware con un Arduino?
Come posso impostare un timer watch dog hardware con un Arduino?
Risposte:
Sono disponibili numerosi chip watchdog hardware dedicati, ma è abbastanza semplice utilizzare un normale timer IC 555 e un paio di parti di supporto. Con il 555 configurato in modalità astable con un periodo "HIGH" molto lungo e un periodo "LOW" relativamente breve (forse 0,3 secondi), l'uscita può essere collegata al pin di reset dell'Arduino tramite un diodo per rendere il watchdog un open-collector dispositivo. L'Arduino può quindi reimpostare periodicamente il watchdog utilizzando un'uscita digitale per attivare un transistor che scarica il condensatore di temporizzazione collegato al 555, impedendo che raggiunga mai un punto di trigger che gli causerà il ripristino dell'Arduino.
Alcune informazioni di base su un progetto per farlo sono disponibili su http://www.practicalarduino.com/news/id/471
Ho sentito parlare di alcuni problemi segnalati con il WDT e il normale bootloader, quindi potresti provare un altro bootloader con esso, ad esempio Adaboot.
Inoltre, puoi fare un sacco di cose con il WDT oltre a un reset. Raccomando http://www.atmel.com/dyn/resources/prod_documents/doc2551.pdf