Incertezza su frequenzimetro con PIC18F47J53

10 Anni 5 Mesi fa - 10 Anni 5 Mesi fa #1 da thexeno

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.

  • thexeno
  • New Member
  • New Member
Di più
10 Anni 5 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Incertezza su frequenzimetro con PIC18F47J53
Benvenuto nel Forum!

Ammetto di non aver visto il codice nel dettaglio ma ti posso dare alcune informazioni.

Normalmente la misura di un periodo di clock di un oscillatore a bassa frequenza lo si fa proprio come hai fatto tu, ovvero usi un cristallo a più alta frequenza e vedi quanti periodi entrano della frequenza alta, nel periodo del segnale a bassa frequenza.

Questo però viene fatto quando il segnale a bassa frequenza e´ generato con oscillatore di tipo RC con tolleranza in frequenza piuttosto alta.
In questo caso ha senso usare un cristallo normale per implementare la misura sopra.

Usando però un cristallo pure per il 32KHz che e´ ad alta risoluzione, gli errori in gioco sono molti e dove siano realmente distribuiti e´ difficile saperlo.

Considera la tolleranza del cristallo (quasi trascurabile)
La tolleranza di C di carico (5%) sia sul clock a bassa freq. che in quello ad alta freq.
Variazione di C con la temperatura
C parassite dei pin 1-3pf
C parassite delle linee

I ritardi introdotti dal microcontrollore per eventuali interrupt sono noti e li puoi eliminare

Per la misura di un tempo preciso hai bisogno di un riferimento ancora più preciso…

La maxim-ic (maxim integrated) vendeva dei cristalli da 32768 Hz già calibrati e stabilizzati in frequenza.
Potrebbero essere un ottimo componente di riferimento sulla quale basare la misura o costruire uno strumento.
Usi i 32KHz di qualità per calibrare o conoscere la frequenza del cristallo ad alta frequenza, che poi puoi usare per fare le misure…

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
10 Anni 5 Mesi fa #3 da thexeno
Risposta da thexeno al topic Incertezza su frequenzimetro con PIC18F47J53
Innanzitutto scusa il ritardo, ma tra università e altre cose il tempo è raro.

Comunque grazie! Avevo dedotto una cosa simile con un mio amico.
Quindi, non posso correggerlo per rientrare in una tolleranza più stringente in quanto sono comparabili. Quando inserisco le capacità al quarzo da 32, la misura si assesta al valore "preciso" di 32768Hz mentre varia di 2Hz e raddoppio o tolgo i condensatori, in modo coerente come ci si aspetta (aumenta senza il carico). A spanne quindi la misura è giusta, ma se ho capito bene sarà sempre affetta dall'errore del quarzo del PIC e di tutto il resto.

Ora non lo implemento ma, per curiosità, la cosa può cambiare se, derive a parte, misurassi con un oscilloscopio la reale frequenza del quarzo di sistema a 12MHz nominali e compensassi la cosa nel firmware?

Tutto questo è nato dal fatto che sul datashee, al paragrafo 17.2.9 (Calibration), è scritto:

"The real-time crystal input can be calibrated using the
periodic auto-adjust feature. When properly calibrated,
the RTCC can provide an error of less than three
seconds per month."

e poi dice di usare un timer sul PIC per fare la misura (seguono poi le formulette per trovare il valore del registro di calibrazione).

A cosa si riferiscono con quel paragrafo? Fanno riferimento a oscillatori più precisi in modo implicito? E' una cosa che non mi spiego...

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

  • thexeno
  • New Member
  • New 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