Italian - ItalyEnglish (United Kingdom)
Ulti Clocks content

Utenti in Linea

 17 visitatori online

Contatore

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterOggi29
mod_vvisit_counterIeri55
mod_vvisit_counterSettimana326
mod_vvisit_counterMese1007
mod_vvisit_counterTotale172579
Oscillatore 10MHz sincronizzato GPS Stampa E-mail
Scritto da IK0OTG   
Venerdì 10 Settembre 2010 14:03

GPS_TITOLO

Oscillatore 10MHz sincronizzato con GPS

 

 Da qualche tempo sono disponibili in rete (eBay) ed alle fiere per            

radioamatori, ricevitori GPS e relative antenne a prezzi abbordabili.

         Si presentano come piccole schede con componenti SMD, un connettore di tipo SMB per la connessione all'antenna preamplificata ed un connettore multi pin per le informazioni di uscita e per l'ingresso dell'alimentazione. Ne esistono di tante marche e di tanti modelli con caratteristiche specifiche per ogni modello, ma quasi tutti danno in uscita, oltre alle informazioni tipiche dei GPS (coordinate, altezza e velocità) anche un segnale a 1pps (1pulse per second) avente il fronte di salita sincronizzato con il segnale del GPS che, a sua volta, deriva da un oscillatore atomico al cesio, campione primario di frequenza.


In figura 1 vedete il modello RESOLUTION T della TRIMBLE che ho acquistato, alla fiera di Friedrichshfen del 2009 completo di antenna preamplificata, per 25.00 €.

 

 

GPS_10MHz_FIG1

Fig. 1

 

In figura 2 vedete lo stesso tipo di scheda, che ho alloggiata dentro uno scatolino metallico di circa 9 cm per 3,7cm, collegata ad un connettore microfonico a 5 pin.

 

GPS_10MHz_FIG2

 

Fig.2

L’antenna del GPS deve essere messa all’esterno in posizione che possa ricevere almeno 3 o 4 satelliti. In genere queste antenne preamplificate sono dotate di un cavo coassiale lungo 2 o 3 metri. Non inserite prolunghe su questo cavo. Fate di lunghezza opportuna, il cavo che collega il GPS con il controller.

Sempre in rete ed alle fiere si trovano, ad una decina di Euro, più le eventuali spese di spedizione, oscillatori a quarzo a 10MHz, termostatati, con ottima stabilità a breve termine e la cui frequenza di oscillazione può essere variata tramite un trimmer interno o, tramite una tensione esterna (Vcontrol). Il campo di variazione della frequenza tramite Vc, in genere è di ± 0,5PPM (ossia ±5Hz per un ascillatore a 10MHz).

 Ne esistopno due tipi

  • con slope negativo (ossia aumentando o diminuendo Vc diminuisce o aumenta la frequenza)
  • con slope positivo  (ossia aumentando o diminuendo Vc aumenta o diminuisce la frequenza) 

Anche di questi oscillatori se ne trovano molte marche e modelli, in genere più sono piccoli e più costano.

 

 

GPS_10MHz_FIG3

Fig.3

Quello riportato in figura 3 (con slope negativo) è vecchiotto (39° settimana del 1993) e non proprio piccolo, (8x6x4 cm) ma perfettamente funzionante ed è costato appunto 10.00€.

La maggior parte degli OM che si dedicano all’autocostruzione, utilizzano strumenti di misura, reperiti sul mercato del surplus, la cui precisione dipende dalla loro età, dallo stato d’uso e dal prezzo. La qualità e la reputazione della casa costruttrice non bastano da sole a garantire la precisione degli strumenti, infatti, per effetto dell’invecchiamento dei componenti, tutti gli oscillatori, compresi quelli atomici al Rubidio ed esclusi soltanto quelli al Cesio, si spostano di frequenza con il passare del tempo. I costruttori di oscillatori indicano questo spostamento con il termine Aging Stability (stabilità di anzianità) ed è espresso in parti per anno. Infine poichè tutti gli oscillatori, anche quelli atomici al rubidio, sono dotadi di un trimmer per la correzione della frequenza, dopo qualche anno, i falsi contatti su questi trimmer possono provocare apprezzabili variazioni di frequenza.

Per effettuare una accurata taratura di frequenzimetri, generatori di frequenza, analizzatori di spettro ecc. è necessario poter disporre di un generatore a 10MHz preciso e stabile nel tempo. Questo generatore si ottiene sincronizzando un oscillatore a quarzo termostatato, che ci assicura una buona stabilità a breve termine, con il segnale ad altissima precisione del GPS, che  mantiene, nel tempo, la frequenza al suo valore nominale. Questo è quello che ho fatto in questo sistema.

 

La Tecnica

Il più noto sistema per tenere agganciato un oscillatore ad un altro è il PLL (Phase Locked Loop), ma in questo caso per agganciare 10MHz ad 1Hz (1pps) del GPS, sarebbe necessario fare un circuito discretamente complesso con almeno 3 o 4 loop  e, sopratutto, si otterrebbe un deciso peggioramento del rumore di fase dell'oscillatore a 10MHz.

Esistono alcuni progetti che utilizzano il PLL, ma utilizzano un GPS particolare che, oltre al 1pps, eroga anche un segnale a 10KHZ e su questo agganciano il PLL. Questi GPS sono più costosi, dfficili da reperire e comunque rimane, anche se in alcuni casi ridotto, il problema del rumore di fase

Un altro sistema per sincronizzare due segnali è l'FLL (Frequency Locked Loop). Con un frequenzimetro di precisione si misura periodicamente il segnale da tenere sotto controllo e, se la sua frequenza risulta diversa dal valore nominale, si varia la tensione Vc in modo da riportarlo entro i limiti stabiliti. La qualità dei risultati ottenuti con questo sistema dipende dalla qualità del frequenzimetro e dalla stabilità a breve termine dell'oscillatore da controllare.

Nel data sheet  dell'oscillatore, il costruttore dichiara, per il modello utilizzato in questa realizzazione, una stabilità a breve  termine  <1x10-10/10 secondi, vale a dire che in 10 secondi l'oscillatore si sposta meno di 0,1 millesimi di Hz e quindi ottimo per un FLL.

Ora ci servirebbe un frequenzimetro di precisione, ma siccome la precisione di un frequenzimetro dipende essenzialmente dalla precisione della sua base dei tempi, ossia dell’orologio che, a tempi predeterminati, inizia e ferma il conteggio degli impulsi che arrivano all’ingresso del contatore, possiamo costruirne uno utilizzando come base dei tempi il preciso segnale 1pps fornito dal GPS.

Se realizzeremo un contatore con base dei tempi di 1s (1pps) saremo in grado di apprezzare variazioni di 1Hz ossia avremo 10MHZ ±1Hz, ma se la base dei tempi la faremo di 20 secondi potremo misurare 10MHz ± 0.05Hz, il che significa che potremo rilevare variazioni di 5 centesimi di Hz del segnale a 10MHz e quindi variare il valore della tensione di controllo dell’oscillatore termostatato (Vc) correggendo anche questo, se pur minimo, spostamento. Otterremo così un oscillatore a 10MHz avente una stabilità a breve termine <1x10-10 /10 secondi ed una precisione di ± 0.05Hz.

Il Contatore

 

Per realizzare il contatore ho usato un 4013 (dual D Flip Flop) ed un PIC 16F684 che ha la particolarità di avere al suo interno un Timer/Counter TMR1 a 16 bit e con un gate accessibile dall’esterno, T1G, che abilita il conteggio quando è a zero e lo disabilita quando è a uno. Contiene anche un generatore PWM che ho utilizzato per produrre la tensione di controllo (Vc) da inviare all’oscillatore termostatato per controllare la frequenza a 10MHz.

Un flip flop tipo D trasferisce sull’uscita Q , il livello logico presente sull’ingresso D (Data) nell’istante che arriva un fronte di salita sull’ingresso Clk (Clock).

 

 

GPS_10MHz_FIG44

Fig.4

Facendo riferimento al parziale schema a blocchi di figura 4 avremo che:

· Il segnale 1pps del GPS arriva sul Clk del 4013 piedino 11

· L’uscita Q del 4013 (pin 13) è collegata al T1G del PIC (pin 3)

· All’ingresso Data del 4013 arriva l’uscita della porta A0 del PIC

· All’ingresso Clock In del contatore TMR1 (T1CKI pin 2) arriva il 10MHz

· Dall’uscita PWM del PIC esce una serie di impulsi la cui larghezza dipende dall’errore del 10MHz

Supponiamo che tutto stia già funzionando correttamente e che ad un certo istante T0 la situazione sia la seguente :

· Il GPS si trova a metà tra un impulso ed un altro

· La porta A0 ed il Data del 4013 sono ad 1

· L’uscita Q del 4013 e il T1G del PIC sono ad 1 ed il contatore è fermo

· Il contatore TMR1 è a 0 (zero)

Ø All’istante T1 il programma mette a zero la porta A0, di conseguenza anche il Data del 4013 va a zero, ma tutto il resto rimane invariato perchè sul Clk del 4013 non è arrivato l’impulso del GPS.

Ø All’istante T2 arriva il fronte di salita del 1pps e

1. il 4013 trasferisce il livello del Data sull’uscita Q mettendola bassa perchè il Data è a zero

2. il T1GI diventa zero ed il contatore inizia il conteggio

3. il programma tiene bassa la porta A0 per circa 19,5 secondi e seguita il conteggio

Ø All’istante T3 il programma rimette ad 1 la porta A0 ma tutto rimane invariato perchè sul Clk del 4013 non è arrivato l’impulso del GPS.

Ø All’istante T4 arriva il fronte di salita del 1pps e

v il 4013 trasferisce il livello del Data sull’uscita Q mettendola alta perchè il Data è a 1

v il T1GI diventa 1 ed il contatore ferma il conteggio

v il programma tiene ad 1 la porta A0 per circa 2 secondi durante i quali

- legge il valore del contatore TMR1

- calcola il valore del 10MHz

- se diverso da 10MHz ± 0.05 Hz regola il duty cycle del generatore di onde quadre PWM, così che, dopo il filtro passa basso, si ottiene una tensione continua Vc che corregge opportunamente la frequenza dell’oscillatore termostatato

- trasferisce sul display il valore calcolato della frequenza

- azzera il contatore TMR1

Ø All’istante T5 il programma rimette a zero la porta A0 ed il data del 4013

Ø All’istante T6 arriva il fronte di salita del 1pps ed inizia un nuovo ciclo

Avrete notato che chi avvia e ferma il contatore è sempre il segnale 1pps del GPS e questo ci assicura la precisione del conteggio.

 

 

Schema Elettrico

 

GPS-10MHz-FIG55

 

Fig.5

In alto a sinistra troviamo la scheda del GPS nella quale, tramite un connettore del tipo microfonico a 5 piedini, si effettuano le connessioni al segnale 1pps, alla porta RS232 ed all’alimentazione +5V-GND. Il GPS per il suo funzionamento richiede una tensione di 3.3V ±0.3V, ma l’antenna preamplificata funziona a 5V quindi il 5V arriva sul piedino 1 (antenna power in) e tra il piedino 1 ed il piedino 2 (GPS power in) ho inserito due diodi in serie che provocando una caduta di 0.7+0.7V portano la tensione a 3.4V.

Tramite la porta RS232 ed un SW scaricabile dal sito della Trimble, è possibile leggere le coodinate geografiche e le altre informazioni fornite dai GPS, io ho previsto il collegamento ma non ho mai provato questa funzionalità.

Da sinistra troviamo U8 che è il D filp flop 4013, il PIC 16F684 (U6), un connettore a vaschetta per connettere il display, l’integrato U3 LMC6482 che costituisce il filtro passa basso ed un amplificatore con basso guadagno, U4 LTC1485 che è un buffer separatore per non caricare l’oscillatore termostatato ed infine U1 MC3487 usato come amplificatore distributore di segnale a 10MHz così da poter distribuire contemporaneamente il segnale a 4 diversi apparati a 50.

In basso la catena di alimentazione che fornisce il +14.3V, il +8V ed il+5V.

 

 

I PCB

 

GPS-10MHz-FIG6

Fig.6

 

 

GPS-10MHz--FIG7

Fig.7

 

In figura 6 e 7 sono riportate le tracce dei PCB monofaccia e della disposizione dei componenti, il tutto visto dal lato componenti. Nella sezione download potete scaricare il file .BMP del PCB

 

 

GPS_10MHz_FIG_8A

 

Fig.8

 

GPS_10MHz_FIG_9

 

Fig.9

 

Le figure 8 e 9 sono le foto delle schede con i componenti saldati

Notate il particolare dei due pin dove andrà collegata l’alimentazione 18Vac.

Quella marcata APEX è il display visto da dietro e sotto, dove sono saldati i tre fili, c’è la scheda dei LED vista da dietro. La scheda di figura 8 e leggermente diversa dalle tracce di figura 6 in quanto l’avevo prevista per avere due uscite a 10 MHz (una BNC anteriore ed una SMA posteriore) e due comandi per una applicazione particolare non utilizzata in questo progetto. Per abilitare le altre due uscite a 10MHz, prima di saldarlo, ho tagliati i piedini 13 e 14 dello zoccoletto del’integrato U1 (MC3487) e, lato rame, ho fatto due ponticelli tra i piedini 2 -14 e 3-13 .

 

 

Il Contenitore

 

Il contenitore usato per questo oscillatore è una scatola di lamiera della ditta HIFI2000, modello E551815 (18x15x5.5 cm) reperibile via internet www.hifi2000.it ma anche nei negozi di materiale elettronico. Il fondo della scatola fa da radiatore a i tre regolatori di tensione che, specialmente nei primi 15-20 minuti, quando il termostato dell’oscillatore termostatato è sempre connesso, scaldano molto.

 

 

Il Programma

 

Il SW per pilotare il 16F684 l’ho scritto utilizzando il PROTON IDE (PIC Basic).

           Nella sezione download trovate

  •  il sorgente .bas della versione con slope negativo
  •  il file .hex della versione con slope negativo
  •  il file .hex della versione con slope positivo.

Il programma è ampiamente commentato ed è quindi facile capirne il funzionamento. E’ opportuno spiegare soltanto come funziona il Timer1, in quanto esso è capace di contare soltanto sino a 65536 impulsi, poi si azzera e ricomincia da capo.

Se fate il conto, per contare 200 milioni di impulsi (10MHz esatti per 20 secondi) TMR1 conterà sino a 65536 per 3051 volte, la 3052° volta nella sua memoria (registri TMR1H e TMR1L) ci sara il valore 49664 ( 65536*3051+49664 = 200000000 ). Siccome la nostra frequenza, a regime con termostato caldo, varierà, al massimo, soltanto di pochi Hz, sarà sufficiente controllare il numero 49664 e, se diverso, variare in proporzione il dutycycle del generatore PWM la cui tensione, opportunamente filtrata ed amplificata (Vc), andrà a correggere l’oscillatore termostatato. I LED rosso e verde ci informano dello stato del controllo:

· Verde contatore = 49664 ± 2, ossia 10 MHz ±0,05 Hz

· Rosso contatore 49664 ± 2, ossia 10 MHz con errore maggiore di ± 0,05Hz

Nella sezione download, troverete il file .HEX per programmare direttamente il PIC

 

 

Il Display

 

Nella prima riga, troviamo il valore del dutycycle che, a regime, ci indica di quanto il sistema ha corretto l’oscillatore termostatato per farlo oscillare a 10 MHz nominali. Se l’oscillatore termostatato, senza alcuna correzione, oscillasse a 10 MHz esatti avremmo un duty = 127. Grosso modo possiamo considerare che per ogni correzione di 0,05 Hz il duty varia di 1 unità. Valori compresi tra 20 e 234 di norma sono tollerabili, ma molto dipende dal tipo di oscillatore termostatato utilizzato.

Dopo aver controllato che tutto sia stato montato e saldato come previsto, senza installare gli integrati negli zoccoletti e senza collegare il GPS, collegate un alimentatore da 18V alternati 1A e controllate che siano presenti le tensioni +14.3V (catodo di D7), +8V (pin 8 di U3) e +5V ( pin 1 di U6). Si accenderà il LED Rosso

Spegnete tutto, lasciate scaricare i condensatori, inserite gli integrati negli zoccoletti, collegate il GPS e date nuovamente tensione. Per un tempo variabile tra zero e xx minuti, tempo di acquisizione dei satelliti da parte del GPS, (lo trvate sul suo data sheet), sul display apparirà una serie di rettangolini neri figura 10 ( se non vedete neanche questi regolate il contrasto). Nella seconda riga troviamo il valore della frequenza misurata.

 

 

Accendiamo

 

Dopo aver controllato che tutto sia stato montato e saldato come previsto, senza installare gli integrati negli zoccoletti e senza collegare il GPS, collegate un alimentatore da 18V alternati 1A e controllate che siano presenti le tensioni +14.3V (catodo di D7), +8V (pin 8 di U3) e +5V ( pin 1 di U6). Si accenderà il LED Rosso

Spegnete tutto, lasciate scaricare i condensatori, inserite gli integrati negli zoccoletti, collegate il GPS e date nuovamente tensione. Per un tempo variabile tra zero e xx minuti, tempo di acquisizione dei satelliti da parte del GPS, (lo trvate sul suo data sheet), sul display apparirà una serie di rettangolini neri figura 10 ( se non vedete neanche questi regolate il contrasto).

GPS_10MHz_FIG_10

Fig.10

 

 

Se, trascorso il tempo massimo indicato nel data sheet, lo schermo rimane come in figura 10, controllate che sulla resistenza R9 da 47K arrivino gli impulsi ad 1pps, se non arrivano, ricontrollate il circuito del vostro GPS. Se arrivano verificate la giusta connessione dei connettori e le saldature su i PCB.

Quando sulla resistenza R9 arriverà un impulso ogni secondo (1pps),

sul display appariranno

· il Duty =127

· la frequenza con valori casuali

.

Aspettate 15 – 20 minuti (tempo dipendente da quanto l’oscillatore termostatato ci mette ad arrivare in temperatura) e la frequenza piano piano ( il display si aggiorna ogni 22 secondi) si porterà al valore nominale; quando sarà arrivata a 10MHz ± 0,05Hz si accendera il LED Verde. E’ possibile che entro qualche minuto, a causa dell’overshoot termico dell termostato, si riaccenda per un paio di volte il LED Rosso per poi rispegnersi, poi, se tutto è a posto, avremo il LED Verde sempre acceso ed il display che indicherà una frequenza che varia tra 9 999 999,95 Hz e 10 000 000,05 Hz ( per la maggior parte del tempo fissa su 10 000 000,00 Hz ).

 

 

Conclusioni

 

Il sistema si è dimostrato molto efficace e facile da realizzare, specialmente utilizzando i PCB. Non necessita di alcuna taratura e permette di disporre, ad un costo modesto, di un campione di frequenza di qualità e caratteristiche tali che sino a qualche anno fà, per gli autocostruttori, erano impensabili.

Disponibile, via e-mail ( Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. ), per dubbi e chiarimenti,

un cordiale 73 IK0OTG Pietro

 

Ultimo aggiornamento Lunedì 24 Ottobre 2011 14:37