< Timer AVR in 5min: 5) Gen. forme d'onda PWM (fast) |
Timer AVR in 5min: 7) Un foglio di calcolo > |
Ultima revisione: 29/Apr/2012
TIMERS_ATMEGA168.ZIP
A conclusione della serie di post: "i timer AVR in cinque minuti" presento un semplice foglio elettronico (in formato OpenOffice.org Calc), che calcola i valori necessari per le configurazioni delle modalità di funzionamento viste.
Una volta appreso il metodo per calcolare, con carta e penna, i valori di N (e di NA) da caricare nei registri, a seconda della modalità di funzionamento del timer, può tornare utile uno strumento di calcolo che agevoli tale lavoro.
Esso è valido per le mcu AVR ATmegaxx8 (ATmega88/168/328) e - al momento - per il solo Timer1 (16bit); può essere sicuramente fatto meglio, per cui gradirei ben volentieri migliorìe e soprattutto correzioni.
Vediamo come si usa.
Le celle con sfondo colorato sono quelle nelle quali l'utente deve immettere una variabile.
La prima variabile richiesta, per tutti i modi di funzionamento, è la frequenza di clock (fc) del sistema espressa in MHz, nella cella C3 (sfondo colore celeste):
Nella cella immediatamente inferiore comparirà il relativo periodo di clock (Tc) espresso in microsecondi.
MODO NORMALE
A sinistra compariranno i vari valori di tempo, per ciascun fattore di prescaler:
MODO CTC
Sarà richiesto il tempo desiderato T (cella F13, sfondo colore verde lime) espresso in secondi:
A sinistra comparirà una tabella con i valori di N calcolati per ogni fattore di prescaler. I valori che riportano la dicitura "N.R." in rosso, sono non utilizzabili in quanto non possono essere rappresentati nel registro del timer, perché sono maggiori di quello massimo (65535, ricordarsi del +1) oppure minori di zero:
I valori N non interi (cifra decimale diversa da zero) sono comunque riportati, lasciando dunque piena flessibilità di scelta, caso per caso, se approssimare il valore all'intero successivo o precedente.
MODO CTC GEN. FORME D'ONDA
Sarà qui richiesta la frequenza desiderata del segnale (fs), nella cella F3 di colore verde oliva, espressa in Hertz:
A sinistra, verranno visualizzati i valori di N, per ciascun fattore di prescaler k:
Eventuali valori che riportano la dicitura "N.R." in rosso, sono non utilizzabili in quanto non possono essere rappresentati nel registro del timer, perché sono maggiori di quello massimo (65535, ricordarsi del +1) oppure minori di zero. Anche per questo modo di funzionamento i valori N non interi (cifra decimale diversa da zero) sono comunque riportati, lasciando dunque piena flessibilità di scelta se approssimare, o meno, per difetto o per eccesso all'intero immediatamente vicino.
MODO PWM FAST GEN. FORME D'ONDA
Per questa modalità c'è una prima tabella riportante tutte le frequenze fisse, che possono essere ricavate nelle singole modalità fisse (8, 9 e 10bit), per i diversi valori di prescaler (k):
Più sotto c'è una seconda tabella, che, invece, riporta i valori di N e NA necessari per generare un segnale rettangolare con una frequenza fs e duty cicle desiderati:
Valori che riportano la dicitura "N.R." in rosso, non sono utilizzabili in quanto o sono valori N che non possono essere rappresentati nel registro del timer, perché sono maggiori di quello massimo (65535, ricordarsi del +1) oppure perché minori di 3 (la risoluzione variabile minima è 2bit, quindi il valore minimo è 3 - cfr. Datasheet) oppure perché il valore NA è negativo.
I valori N e NA non interi (cifra decimale diversa da zero) sono comunque riportati, lasciando dunque piena flessibilità di scelta se approssimare, o meno, per difetto o per eccesso all'intero immediatamente vicino.
Per popolare questa tabella ovviamente occorre definire la frequenza fs (in Hz) nella cella F41 (sfondo colore marrone chiaro) e il duty cicle (in percento) nella cella F42:
MODO PWM A CORR. DI FASE E FREQUENZA
Essendo questa modalità tipicamente usata per il controllo di motori, si è preferito far immettere il periodo del segnale Ts (piuttosto che la frequenza) e la durata della larghezza dell'impulso Ton (piuttosto che il duty cicle); questi due tempi vanno inseriti, rispettivamente, nelle celle F52 (sfondo colore magenta) e F53 (sfondo colore celeste) e devono essere espressi in ms:
Una volta definita questa coppia di dati, nella tabella a sinistra appariranno i valori di N e NA, a secondo del fattore di prescaler k:
Per quei valori di N e NA che riportano l'indicazione "N.R." vale lo stesso discorso fatto per il modo PWM Fast.
Buon divertimento!
TIMERS_ATMEGA168.ZIP