Vai al contenuto
PLC Forum


Differenze tra quarzo ed oscillatore ceramico?


Darlington

Messaggi consigliati

Sto realizzando un'applicazione (un timer) per la quale non posso usare l'oscillatore interno del 16F628, lo scostamento temporale è molto evidente (si nota osservando per un minuto un led che lampeggia a 1Hz e confrontandolo con la lancetta di un orologio da polso), quindi all'inizio avevo pensato ad un banale quarzo da 4MHz, poi mi è venuto in mente che esistono gli oscillatori ceramici.

 

C'è qualche differenza evidente tra le due soluzioni, a parte la realizzazione facilitata con l'oscillatore dal momento che non ha bisogno di componenti esterni?

 

Cambia la precisione, l'immunità ai disturbi?

Link al commento
Condividi su altri siti


La frequenza dell'oscillatore interno può avere un errore intorno al 5% ma la deriva nel tempo è molto bassa.

 

Si deve agire via software per ottenere le temporizzazioni richieste. In una specie di orologio che ho fatto usando l'oscillatore interno, ottengo un errore di poco meno di un minuto ogni 2 mesi.

 

Utilizzando un quarzo o un risuonatore ceramico ti troverai più o meno nella stessa situazione. In termini di deriva, il quarzo è molto più preciso di un risuonatore, ma sia l'uno che l'altro non oscilleranno MAI alla loro esatta frequenza.

 

Oltre alle loro naturali tolleranze, ciò che determina il drift sono i due condensatorini che di solito sono di qualità superscalercia e ai quali quasi nessuno dà la necessaria importanza.

 

Si ottiene così che, già quarzo e risuonatore non oscillano mai alla frequenza stampigliata sul loro corpo, in più si aggiunge la deriva in temperatura dei due condensatori.

 

A questo punto, o si usa un quarzo appoggiato a due compensatori di qualità tramite i quali centrare la frequenza,

o si usa un oscillatore esterno con i contro....quarzi :whistling: o si usa l'oscillatore interno, più preciso di un risuonatore e si lavora sul software e sul registro osctune se c'è.

 

 

 

 

Link al commento
Condividi su altri siti

Non lo ricordo a memoria se c'è anche nel16F628, ma per la realizzazione di orologi e timer di precisione i PIC solitamente danno la possiiblità di usare un oscillatore quarzato esterno a frequenza più bassa per usare quarzi più stabili.

 

Concordo con quanto affermato da Stefano.

 

nei primi anni 70, quando mi occupavo ancora di telecomunicazioni, progettai un oscillatore a 29Mz con precisione totale migliore di 1 / 107 (+/-2.9 Hz), serviva come clock per un sintetizzatore di frequenza per Rx/Tx SSB.

Dovetti usare quarzi speciali (ne ho ancora un paio) caratterizzati con curva di deriva di freqeunza per temperatura, ed inserirlo in un contenitore termostatizzato a circa 50°C. La temepratura precisa corrispondeva al valore di minima derivata della freqeunza in fuzione della temperatura, perchè l'andamento è sinusoidale con i due punti posti a circa 205°C e circa 50°C.

Ovviamente la componentistica, condensatori, resistori, etc. era di alta qualità e stabilità.

Abbandonammo il priogetto dopo la costruzione di un paio di prototipi non perchè i risultato non forssero in linea con le aspettative, ma perchè sul mercato ne reperimmo alcuni con prestazioni identiche ad un costo inferiore al solo costo della componentistica.

 

Darlington, poi molto dipende da quello che ti necessita come precisione.

Solitamente per gli usi di regolazione e controllo è sufficiente la precisione garantita dal quarzo da usato con il PIC.

Link al commento
Condividi su altri siti

Se lo scopo è realizzare un timer che conti minuti, ore, etc. prendi in considerazione anche di usare un modulo RTC esterno, quelli basati sul DS3231 sono abbastanza precisi ed economici.

 

 

Ciao, Ale.

Link al commento
Condividi su altri siti

1 ora fa, ilguargua scrisse:

sono abbastanza precisi ed economici

 

La precisione dipende sempre dalla sorgent di riferimento; anche per i pic è possibile usare una sorgente di riferimento più precisa del solito quarzo.

Comunque le prestazioni di questo dispositivo sono più che buone perchè l'errore è dell'ordine di 3.5 ppm, errore che dovrebbe essere più che sufficiente per la maggior parte delle applicazioni normali.

 

Link al commento
Condividi su altri siti

Grazie dei consigli, non mi serve la precisione di un orologio atomico, devo realizzare un timer per un'attrazione per bambini (tappeti elastici), quindi se 8 minuti in realtà durano 7:58" nessuno ci farà mai caso, se 8 minuti diventano 7:30" rischia di diventare un problema (anche se ho avuto a che fare con dei timer per macchinine a gettone, realizzati professionalmente da una ditta, che determinavano il tempo della corsa sulla carica di un condensatore, con scostamenti anche di 40" tra il tempo settato e quello reale della corsa, ma lasciamo stare)

 

Non so che valore possa avere come prova, ma ho confrontato l'oscillatore interno con un orologio da polso, facendo fare ad un led un lampeggio al secondo e ho notato che già attorno ai 30" il battito del led non coincideva più con quello della lancetta, poi via via andava a regolarizzarsi.. per scostarsi di nuovo. Facendo lo stesso test con un quarzo, il problema spariva.

 

Via software non posso fare granché, intanto perché a programma terminato nel 628 mi rimarranno una quindicina di words libere in memoria programma, poi perché ldmicro non permette chissà quali raffinatezze, a meno di non sbatterci sopra la testa tanto.

 

Potrei anche usare il quarzo e stop, visto che funziona, ma il dubbio che mi viene è sui condensatorini e sulle eventuali interferenze esterne che può raccattare.

 

Io per test ho usato due condensatori da 15pF ma c'è chi dice che per i 4MHz sarebbe meglio usare i 33pF..

Link al commento
Condividi su altri siti

SI per 4 MHz è più cirretto usare i 33pF, i 15 pF su usano per i cristalli da 16MHz.

 

Tu come lo hai realizzato il tuo timer? Hai usato un contatore del clock interno con interrupt? oppure hai risolto in altro modo.

Dalla mia esperienza con i pic vari ci si accorge dell'imrecisione del quarzo solo se si fa un orologio che conta secondi, minuti e ore. Dopo alcune ore di funzionamento senza iterruzioni si cominciano a notare le differenze

Ma su 10' siamo ancora alla frazione di secondo.

Link al commento
Condividi su altri siti

4 ore fa, Livio Orsini scrisse:

Tu come lo hai realizzato il tuo timer? Hai usato un contatore del clock interno con interrupt? oppure hai risolto in altro modo.

 

Ho usato i ritardi di ldmicro, un contatore conta un tot di cicli (ognuno da 10ms) e quando arriva alla fine da un impulso, quindi ho un impulso (software) ogni secondo, che poi va a sottrarre 1 dalle variabili fino a portarle a zero. Non credo venga usato il timer hardware del micro.

 

4 ore fa, Livio Orsini scrisse:

Dalla mia esperienza con i pic vari ci si accorge dell'imrecisione del quarzo solo se si fa un orologio che conta secondi, minuti e ore

 

Ok, sono d'accordo che il quarzo è sufficientemente preciso per la mia applicazione, mi chiedevo piuttosto se fosse più o meno sensibile alle interferenze esterne rispetto all'oscillatore ceramico.

 

Se le differenze di precisione rispetto al quarzo sono minime, rimane comunque accettabile.

Link al commento
Condividi su altri siti

Il quarzo sente solo la variazione di temperatura. Ha un andamento frequenza-temperatura di tipo sinusoidale. A seconda del tipo di quarzo la variazione picco-picco può essere frazioni di ppm sino ad alcuni ppm. poi c'è la variazione di frequenza dovuta alla variazione di capacità in funzione della tmperatura.

Il risonatore ceramico ha una variazione similare ma di ampiezza superiore.

Link al commento
Condividi su altri siti

Grazie dei consigli, credo che alla fine andrò col quarzo sperando che le piste corte e un abbozzo di piano di massa attorno ai due piedini OSC del pic bastino a non farlo bloccare dai disturbi :)

Link al commento
Condividi su altri siti

mai avuto problemi di disturbi sul quarzo, anche con i quarzi a16MHz che uso di solito con i PIC

Link al commento
Condividi su altri siti

Io invece avevo realizzato una sveglia (il codice non era opera mia) che aveva una certa tendenza a bloccarsi, pic 18F4620 e quarzo da 20MHz se non sbaglio, ma forse il problema era da qualche parte nella realizzazione del pcb, ero ancora alle prime armi quando lo ho disegnato...

Link al commento
Condividi su altri siti

L'importante è tenere i 2 condensatori ed il qurzo "appiccicati" ai due pins del pic; ovviamente anche lo 0V ai ci connettere i 2 condensatori ha la sua importanza, meglio se la lunghezza tra il punto comune dei 2 dondensatori ed il pin di 0V del pic è ridotta la minimo indispensabile.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...