In un qualsiasi microcontrollore la tensione di alimentazione deve essere stabile e costante entro i limiti specificati dal costruttore. Se l’alimentazione scende al di sotto di un valore di soglia minimo, le istruzioni non vengono eseguite correttamente ed i registri interni del micro possono perdere la loro consistenza. Per prevenire questo inconveniente la maggior parte dei microcontrollori prevede un ingresso di reset che può arrestare l’esecuzione del programma per poi riprenderla successivamente garantendo la consistenza del contenuto dei registri.
Per il controllo del livello della tensione di alimentazione ed il conseguente pilotaggio del pin di reset, esistono delle tecniche circuitali a componenti discreti. Di seguito sono illustrate due tecniche di cui la prima è caratterizzata da basso consumo, quindi utilizzabile in applicazioni a batteria, mentre la seconda è caratterizzata da un basso costo di realizzazione. Entrambe le soluzioni attivano il reset sul livello basso.
TECNICA A BASSO CONSUMO
Lo schema di figura 1 rappresenta un brown-out detector che mantiene la linea di reset a livello basso se Vcc scende al di sotto di una soglia preimpostata. La figura 2 mostra il segnale di reset in funzione della variazione di Vcc.
La tensione di soglia Vt è data dalla relazione:
Vt=(R1+R2)(0.4/R2)
dove per R1 viene solitamente scelto il valore di 10Mo. T1 influenza il valore della costante nella formula precedente, per cui 0.4 è il valore da utilizzare con un BC548. R4 definisce l’isteresi del circuito e con il valore indicato l’isteresi è di circa 0.3Volt. La corrente assorbita è di 0.5mA a 3V e di 1mA a 5V. Nella tabella 1 sono riportati i valori dei componenti con la relativa tolleranza ammessa.
TECNICA A BASSO COSTO
La figura 3 mostra la soluzione a basso costo, visto il numero esiguo di componenti utilizzati.
In figura 4 è riportato l’andamento della tensione di uscita in funzione della tensione di alimentazione.
In questo caso la tensione di soglia è data da:
Vt=0.7(R1+R2)/R2
Il valore 0.7 è una approssimazione della tensione di conduzione tra base ed emettitore di T1 mentre per R1 è bene scegliere un valore al di sotto dei 200KΩ. La tabella 2 riporta i valori dei componenti con le relative tolleranze ammesse.

Circuiti molto interessanti per rafforzare l’operato di un mcu nel caso di variazioni di alimentazione (…e assenza di un dc-dc)