Frequenzimetro con pic18

10 Anni 8 Mesi fa #1 da paoletto
Frequenzimetro con pic18 è stato creato da paoletto

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.

  • paoletto
  • Avatar di paoletto
  • Elite Member
  • Elite Member
Di più
10 Anni 8 Mesi fa #2 da +RGZ
Risposta da +RGZ al topic Frequenzimetro con pic18
Salve lo sbaglio del 0,36% secondo me è dovuto al ritardo fra l'intercorrere dell'interrupt causato da TMR0 e la scrittura (dopo il calcolo) del valore Frequenza in memoria, non a caso a 10Khz entrano in TMR1 36 impulsi in più mentre a 20Khz sono 72 impulsi (il doppio esatto). Per ovviare a questo bloccherei subito il timer1 all'intercorrere dell'interupt su TMR0 anche se (prova a guardare il disassemblato) l'istruzione if(INTCONbits.TMR0IF==1) ci metterà del tempo ad essere eseguita (dipende dal clock) e a seconda della frequenza che stai misurando sarà più o meno tascurabile. La base tempi la manterrei vicino a limite della saturazione di TMR1 per la frequenza che stai misurando e non fissa a 1 HZ. Prendi quello che ti ho detto con le pinze devi fare delle prove e dei conti. Saluti Gabriele

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

  • +RGZ
  • Junior Member
  • Junior Member
Di più
10 Anni 8 Mesi fa #3 da paoletto
Risposta da paoletto al topic Frequenzimetro con pic18
Grazie mille Gabriele, bisogna ragionarci un pò. Ieri ho fatto tutto in fretta e furia.
Però penso che il modo migliore sia usare il modulo capture essendo quest'ultimo nato proprio per questi scopi, ma non sono riuscito a farlo funzionare.

Come faresti a non mantenere fissa la base dei tempi?

Saluti
Paoletto

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

  • paoletto
  • Avatar di paoletto
  • Elite Member
  • Elite Member
Di più
10 Anni 8 Mesi fa #4 da +RGZ
Risposta da +RGZ al topic Frequenzimetro con pic18
Io farei due o più basi dei tempi dipende dal range di frequenza che voglio misurare, all'inizio manterrei quella più breve poi se Tmr1 va in overflow commuto alla successiva in automatico se invece vedo che il valore di impulsi catturato è più piccolo di un certo valore scelgo la base tempi precedente...facile a parole !! ..non ho mai usato il capture Saluti Gabriele

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

  • +RGZ
  • Junior Member
  • Junior Member
Di più
10 Anni 8 Mesi fa #5 da paoletto
Risposta da paoletto al topic Frequenzimetro con pic18
Proverò a fare qualche prova :)
Grazie mille.
Paoletto.

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

  • paoletto
  • Avatar di paoletto
  • Elite Member
  • Elite Member
Di più

Registrati al sito

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

Registrati al sito LaurTec.

Login