Reset Automatico

Circuito supervisore watchdog timer ADM1232

Come utilizzare un circuito di supervisione hardware usando l’ADM1232

L’architettura dei microcontrollori ha raggiunto ottimi livelli di affidabilità con elevati livelli prestazionali. Solitamente, quando si parla di affidabilità, si intende la capacità del micro di funzionare in ambienti critici, dove gli intervalli di temperature sono estesi (-40°C +85°C) o dove la presenza di rumori elettromagnetici o altri elementi fisici non deve certamente bloccare il funzionamento del microcontrollore.

Nella maggior parte dei casi i blocchi software sono ancora causati da errori di scrittura del firmware che gira sul micro. Questi blocchi sono tipicamente dovuti a loop infiniti o deadlock; errori che aumentano all’aumentare della complessità del codice.

Quando non possiamo permetterci nessun tipo di blocco vengono impiegati sistemi di supervisione hardware che, tramite sistemi integrati all’interno del micro stesso (Watchdog Timer) o con specifici moduli esterni, possono eseguire un reset del micro appena ‘si accorgono’ che l’esecuzione del codice del micro è bloccata.

Alcuni moduli permettono anche di controllare la qualità della tensione di alimentazione, e di eseguire un reset non appena si verificano abbassamenti di tensione.

Il dispositivo che ho utilizzato per questo tutorial è l’integrato ADM1232 prodotto da Analog Device, molto semplice da utilizzare e dal costo contenuto (circa 2 €).

Continua a leggere

Riavviare Arduino via software

Come eseguire un riavvio dello sketch via software

Avere la possibilità di riavviare l’esecuzione del programma può risultare utile nei casi in cui ci sia l’esigenza di ripristinare la board a una condizione iniziale certa, soprattutto quando si trova in una posizione non accessibile o remota.

Riavviare Arduino Ethernet via software

Sul sito Arduino.cc ho trovato una utile funzione che permette di far ripartire l’esecuzione del programma, ovvero riavviare Arduino. Il codice che segua mostra come avviene il reset software e come il codice venga eseguito nuovamente.

Continua a leggere

Arduino resettare automaticamente la scheda utilizzando il WatchDog Timer

Watchdog, come creare un sistema che auto resetti la scheda in caso di blocchi o attese infinite

Il watchdog è un sistema molto interessante atto a supervisionare il normale ciclo di istruzioni della cpu. L’idea è quella di monitorare l’esecuzione del programma; in caso di blocchi o cicli infiniti, che rischiano di mettere il microcontrollore in uno stato di inutilizzo, il watchdog interviene resettando il microcontrollore e riavviandolo automaticamente.

Questo meccanismo è solitamente implementato in hardware e, anche Arduino, basato sul microcontrollore ATMega328, supporta questa funzionalità

Arduino atmega328 watchdog timer

Continua a leggere

Offerte del giorno Amazon
Preferiti
Rimani aggiornato

Sondaggi
Sorry, there are no polls available at the moment.
Seguimi su Twitter