PWM

  • Enzo
  • Autore della discussione
  • Giovane Utente
  • Giovane Utente
Di più
12 Anni 7 Mesi fa #1 da Enzo
PWM è stato creato da Enzo
Salve Mauro, sto appunto usando le librerie ed il codice che hai messo a disposizione per la scheda PJ3007, ho notato che il valore della frequenza PWM si discosta pochissimo da quello impostato, sto lavorando con 20 kHz, mentre la risoluzione del duty cycle calcolata con la formula del data sheet dobrebbe essere di circa 10 bit ma in realtà è di 7 bit 0-128, io non ho nessuna necessità di avere una risoluzione più alta, era solo per capire come mai questa differenza.
Vorrei anche fare delle prove con il modulo QEI ed il modulo Power control PWM ma nel web non trovo nulla in italiano, quindi se tu o qualcuno ha del materiale in italiano oppure qualche link da consigliarmi ve ne sarei grato altrimenti dovrò studiarmi il data sheet con grandi difficoltà.
Un saluto a tutti.

Enzo

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 7 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: PWM
Ciao Enzo,

nella formula del datasheet devi tenere conto del valore del prescaler, non ho ricontrollato la libreria ma se non ricordo male per 20KHz la risoluzione che ottieni e' proprio quella che hai trovato.
La frequenza e' coretto che sia esatta, indipendentemente dalla risoluzione, ed e' impostata dal timer.

Che valori hai messo nella formula del datasheet al fine di ottenere 10bit di risoluzione?

Per il modulo QEI e PWM ho fatto riferimento al datasheet, non sono a conoscenza di documenti in italiano.

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Enzo
  • Autore della discussione
  • Giovane Utente
  • Giovane Utente
Di più
12 Anni 7 Mesi fa #3 da Enzo
Risposta da Enzo al topic Re: PWM
Salve Mauro, non ho risposto prima perchè come dici tu sono molto lento, i valori usati nella equazione 15-3 di pagina 157 del data sheet PIC 18F4431 sono 40000000 per la frequenza Fosc, 20000 per la frequenza PWM per cui risulta log(2000)/log(2) = 10.96, dove sbaglio ?
Un saluto a tutti.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 7 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: PWM
Ciao Enzo,

la formula e' corretta ma questa specifica la massima risoluzione che puoi ottenere.
In realta' il Timer 2 non ha in ingresso Fosc ma Fosc diviso 16.
Nella libreria, come detto, ho ottimizzato il valore per supportare il numero maggiore di frequenze e non la risoluzione.
La configurazione del Timer e' :
Code:
OpenTimer2 (TIMER_INT_OFF & T2_PS_1_16 & T2_POST_1_1);

se ripeti i conti con Fosc = 40.000.000Hz
PWM = 20.000Hz
e tieni conto che Fosc viene divisa per 16 prima di entrare nel timer (T2_PS_1_16), ottieni i 7 bit che vedi.

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi