convertire onda quadra in sinusoidale

13 Anni 7 Mesi fa #6 da Guido
Risposta da Guido al topic Re: convertire onda quadra in sinusoidale
Ciao, scusami cerco di spiegarmi, per far uscire dal pic una frequenza diversa da quella che hai impostato (620Hz), ti scrivo una feq. a caso 450 oppure 730Hz, quali parametri del codice devo variare. Sii gentile me li commanti.

Io ho provato a variare questi:

// Set the PWM frequency
PR2 = 149;


// Turn ON TMR2 and set Prescaler to 0
T2CON = 0x04;

CCP1CON = CCP1CON | 0b00000100;

ma con scarsi risultati.
Grazie.

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

  • Guido
  • Platinum Member
  • Platinum Member
Di più
13 Anni 7 Mesi fa #7 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: convertire onda quadra in sinusoidale
Ciao Guido,

per variare la frequenza del segnale in uscita devi solo variare quella del segnale PWM.
La frequenza del segnale in uscita dipende dal numero dei campioni e dal numero di ripetizione di ogni campione.
Stai usando il programma di esempio che ho presentato nella Brief Note?

Quando hai affermato che hai ottenuto un segnale bellissimo cosa hai ottenuto?
Posteresti una immagine dello schema usato e del risultato dell'esempio funzionante?
Sono curioso di vedere Proteus e la visualizzazione delle simulazioni.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
13 Anni 7 Mesi fa #8 da Guido
Risposta da Guido al topic Re: convertire onda quadra in sinusoidale
Ciao, purtroppo non si può oppure non ne sono capace di fare copia ed incolla per mostrarti la forma d'onda con Proteus.
Ho notato che se imposto i tuoi parametri sul uscita RC2 esce un onda quadra e con un filtro RC da 110K e 4.7nF mi esce l'onda sinusoidale, se vario i parametri qui:
// Set the PWM frequency
PR2 = 149;


// Turn ON TMR2 and set Prescaler to 0
T2CON = 0x04;

CCP1CON = CCP1CON | 0b00000100;

da RC2 non esce nulla e su RC0 esce un onda a dente di sega.

Nella BriefNotes parli di TIMER0 (Il Duty Cycle deve essere cambiato ad ogni nuovo ciclo del nostro segnale PWM. Per tale ragione sarà bene far uso delle interruzioni sul Timer TMR0 al fine di effettuare l'aggiornamento in modo corretto, ovvero all'inizio di un nuovo periodo.) mentre nel codice vedo i parametri del TIMER2, per cortesia mi spieghi.
Grazie
E' un bel rompicapo.

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

  • Guido
  • Platinum Member
  • Platinum Member
Di più
13 Anni 7 Mesi fa #9 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: convertire onda quadra in sinusoidale

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
13 Anni 7 Mesi fa #10 da Guido
Risposta da Guido al topic Re: convertire onda quadra in sinusoidale
Sono sbalordoto, la soluzzione era cosi semplice, grazie.
Se invece volessi ottenere l'onda sinusoidale in uscita dal Pic con un integrato (in modo hardware) come posso fare?
Grazie
Per cortesia commentami il procedimento con termini non tecnici.

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

  • Guido
  • Platinum Member
  • Platinum Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

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

Registrati al sito LaurTec.

Login