GENERATORE PWM A FREQUENZA VARIABILE |
|||
|
|||
Introduzione Il
progetto presentato in queste pagine e' un generatore di segnale PWM a
frequenza variabile e con duty cycle variabile da 0% a 100%. Il
progetto, basato sul versatile
microcontrollore a 8 bit della famiglia 10F322
prodotto dalla Microchip, prende spunto dal funzionamento della
periferica PWM in esso presente. Le
applicazioni di
questo semplice progetto sono svariate e la sua presenza in un moderno
laboratorio per hobbista e' necessario. Il circuito e' implementato con
la nostra scheda di sviluppo PICCINO Idea
di base Il punto di partenza di
questo progetto e' il modulo PWM (Pulse Width Modulation) presente
nel micro controllore 10F322 e
il suo schema a blocchi e' mostrato in figura:
Questo generatore di segnale PWM permette di generare un segnale ad onda quadra di frequenza e duty cycle ben preciso agendo su specifici registri di configurazione. Come si vede dallo schema a blocchi del modulo PWM, nella generazione del segnale PWM entra in gioco il TIMER2 usato per la definizione della durata dell'impulso alto e per la definizione del periodo del segnale PWM quindi della sua frequenza: Per la definizione della
durata dell' impulso alto il valore del TIMER2 e' comparato con il valore
definito dai registri PWMxDCH e PWMxDCL. In particolare, gli 8 bit
piu significativi sono contenuti nel registro PWMxDCH<7:0> mentre i due bit
meno significativi sono contenuti nei bit 7 e 6 del registro PWMxDCH<7:6>. DC = (PWMxDCH:PWMxDCL<7:6>) / [4(PR2 + 1)] Per la definizione del periodo TPWM del segnale PWM e quindi della sua frequenza FPWM= 1/ TPWM, il valore del TIMER2 e' comparato con il valore definito dal registro PR2 secondo la formula TPWM = [(PR2) + 1] *4 *TOSC*(TMR2 Prescale Value) Un ruolo importante gioca il
prescaler del TIMER2 e il valore della frequenza dell'oscillatore
principale del microcontrollore FOSC=
1/ TOSC. |
|
||
|
|||