Il Pierin e il modulo PWM
Ciao a tutti,
grazie all'iniziativa di TardoFreak mi ritrovo tra le mani il famoso Pierin; e cosa c'è di meglio del modulo PWM per testarlo!
Mi metto subito all'opera e strano ma vero riesco a farlo funzionare.
Non soddisfatto cerco di capire con più precisione come ottenere un periodo PWM desiderato modificando i valori del registro del timer2 (PR2) e il prescaler.
Ed è qua che iniziano i primi problemi.
Nel primo esperimento ho fatto questi settaggi:
e questo è il risultato:
La formula per il calcolo del periodo PWM è:
PWMperiodo= [(PR2)+1] x 4 x Tosc x (TMR2 valore prescaler)
dove PR2 è 149
Tosc è 1/12.000.000
TMR2 prescaler è 1.
E fin qua tutto ok.
A questo punto ho provato a settare il valore del prescaler a 2 (cioè divide per 16)
e ho rifatto il calcolo con il risultato di 0,0008s invece di 200uS.
Qualcuno sa darmi un seggerimento.
Grazie.
grazie all'iniziativa di TardoFreak mi ritrovo tra le mani il famoso Pierin; e cosa c'è di meglio del modulo PWM per testarlo!
Mi metto subito all'opera e strano ma vero riesco a farlo funzionare.
Non soddisfatto cerco di capire con più precisione come ottenere un periodo PWM desiderato modificando i valori del registro del timer2 (PR2) e il prescaler.
Ed è qua che iniziano i primi problemi.
Nel primo esperimento ho fatto questi settaggi:
- Codice: Seleziona tutto
// prescaler divide per 1
T2CONbits.T2CKPS = 1;
// Postscaler divide per 1
T2CONbits.T2OUTPS = 1;
// Imposta il valore comparatore a 149
PR2 = 149;
e questo è il risultato:
La formula per il calcolo del periodo PWM è:
PWMperiodo= [(PR2)+1] x 4 x Tosc x (TMR2 valore prescaler)
dove PR2 è 149
Tosc è 1/12.000.000
TMR2 prescaler è 1.
E fin qua tutto ok.
A questo punto ho provato a settare il valore del prescaler a 2 (cioè divide per 16)
e ho rifatto il calcolo con il risultato di 0,0008s invece di 200uS.
Qualcuno sa darmi un seggerimento.
Grazie.