Uno dei principali aspetti da tenere in considerazione quando si lavora con microcontrollori e circuiti digitali è la corretta alimentazione. I problemi più comuni che si potrebbero verificare sono legati innanzitutto alla stabilità e alla pulizia del segnale.

Una buona stabilità dell’alimentazione garantisce segnali logici stabili e accurate conversioni dei segnali analogici mentre una buona pulizia evita possibili comportamenti imprevedibili del microcontrollore come reset improvvisi o errori nella scrittura delle eprom.

 

Il problema

Le principali cause di instabilità dell’alimentazione sono: nel caso di alimentazione da rete le fluttuazioni della tensione fornita dalle compagnie di distribuzione dell’energia elettrica; nel caso di alimentazione da batteria il progressivo scaricamento della batteria stessa.

 

Rappresentazine della variazione di tensione nel tempo dovuta a instabilità e rumorosità

 

Per quanto riguarda la rumorosità, limitando l’analisi alla sola sorgente, la rete elettrica è soggetta a picchi anche considerevoli dovuti, ad esempio, alle correnti di spunto dei motori elettrici. Viceversa le batterie forniscono un’alimentazione praticamente esente da rumore se collegate unicamente al microcontrollore.

 

Come risolvere?

Nel caso di realizzazioni con livelli 0/5V (TTL) una soluzione semplice ed economica per ottenere un’alimentazione di qualità per l’ATmega è l’impiego di un regolatore di tensione tipo LM7805 che consentirà di ottenere 5V stabilizzati partendo da una sorgente di alimentazione in continua compresa tra 7.0V e 35V (Valori massimi assoluti).

 

                         

 

Il circuito di base è semplicissimo: è costituito dal regolatore LM7805 e da due condensatori, uno da 0.33uF tra l’ingresso e massa e uno da 0.1uF tra l’uscita e massa, necessari per garantire la stabilità e la soppressione di eventuali alte frequenze.

Sebbene i datasheet indichino come valore massimo assoluto della tensione d’ingresso un valore pari a 35V, come parametro di progettazione è consigliabile mantenere la differenza tra tensione di ingresso e tensione di uscita compresa tra 3V e 10V. Questo suggerisce per un 7805 una tensione di ingresso compresa tra 8V e 15V, cosa che ben si adatta alla regolazione delle tensioni fornite dalle batterie da 9V (6LR61) o 12V.

 

Riassumendo: le tensioni in gioco

  • Tensione minima ingresso 7805: 7V
  • Tensione massima ingresso 7805: 35V
  • Tensione tipica ingresso 7805: 8-15V

 

Note sulla potenza e sulla temperatura

Quando si affrontano temi  legati all’alimentazione elettrica è d’obbligo una attenta riflessione sulle potenze in gioco nel progetto che si sta sviluppando. Nel caso dei regolatori di tensione, e il 7805 non fa eccezione, esiste una relazione tra tensione di ingresso, tensione di uscita e corrente erogata: la potenza dissipata.

 

Potenza dissipabile in funzione della temperatura ambiente
(da: datasheet LM78XX Series Voltage Regulators – National Semiconductor)

 

La potenza dissipata, si può calcolare (trascurando la corrente che dal terminale comune fluisce verso massa) con la formula:

 

 Pd=(Vin-Vout)*Ic 

 

dove Vin è la tensione di ingresso, Vout la tensione di uscita e Ic la corrente sul carico.

Il calcolo della potenza dissipata consente di determinare quale tipo di dispositivo utilizzare nel progetto (TO-220, TO-39, TO252, ecc…), in che modo collocarlo fisicamente sulla PCB e se sarà necessario intervenire in qualche modo per garantirne il corretto funzionamento (ad esempio collocando dei dissipatori di calore).

 

Ci vuole un dissipatore?

Anche se il regolatore possiede una sistema automatico di protezione che ne previene la rottura in caso di surriscaldamento, per garantire un funzionamento stabile e affidabile è importante mantenere la temperatura della giunzione al di sotto dei 125°C. E’ quindi necessario stabilire se il dispositivo è in grado di dissipare il calore autonomamente o deve essere aiutato con un sistema di raffreddamento.

 

Per prima cosa è necessario calcorare il parametro:

 

θ(JA) = TR (max)/Pd

 

dove Pd è la potenza calcolata con la formula vista sopra e TR(max) è l’aumeto massimo di temperatura della giunzione rispetto alla temperatura ambiente.

Calcolato il valore di θJA per le specifiche condizioni di funzionamento è sufficiente confrontarlo con quello del componente che desideriamo utilizzare: se il valore che abbiamo calcolato è maggiore o uguale a quello trovato sui datasheet non sarà necessario alcun dissipatore di calore; viceversa se il valore calcolato è minore di quello trovato sui datasheet, il componente non sarà in grado di dissipare autonomamente tutta la potenza e la sua temperatura crescerà quindi oltre i limiti consentiti.

 

Esempi di calcolo

La resistenza termica tipica di un 7805 in formato TO-220 è θ(JA) = 60 °C/W che con TR(max)=100°C fornisce Pd=1.6W. Con Vin=9V e Vout=5V consente una Ic massima di 400mA.

 

Un 7805 che alimenta ATmega328 standalone

 

Un altro tipo di calcolo potrebbe essere quello che consente di determinare la temperatura di lavoro conoscendo Vin, Vout e Ic. Prendiamo ad esempio il circuito mostrato nella figura qui sopra: Vin=9V, Vout=5v, iC=20mA (è la corrente assorbita dal ATmega328P), quindi

 

Pd=(Vin-Vout)*Ic=(9V-5V)*0,02A=0,08W

 

da cui

 

TR(max)=θ(JA)*Pd=60°C/W*0,08W=4,8°C.

 

Supponendo la temperatura ambiente di 25°C, la temperatura di lavoro sarà 29,8°C.