Auteur: Willy ON5KN
De titel vertelt ons al wat er in deze GPSDO (GPS-gedisciplineerde oscillator ) zit

De bedoeling van dit project is het bouwen van een accurate en stabiele generator met een frequentiebereik van ca. 1 tot 150 MHz . De instelstap is minimaal 1 Hz en de nauwkeurigheid minder dan 1 Hz van de ingestelde frequentie .
De stabiliteit is gegarandeerd door continu telling van de output en indien nodig gecorrigeerd om de 40 seconden .
De referentie van nauwkeurigheid wordt afgeleid van de GPS-klok van de satellieten die elke dag bijgesteld wordt en aldus een nauwkeurigheid heeft van een atomaire klok .
Deze nauwkeurigheid van tijd wordt doorgestuurd naar de GPS-ontvanger als een PPS-signaal (puls per second) , met een jitter kleiner dan 30 pS (picoseconde)

Eenmaal deze referentie van tijd present is in de ontvangst van de GPS , kunnen we ten allen tijde de frequentie van een signaal hiermee meten door telling van het aantal pulsen per seconde of een veelvoud hiervan.
Als oscillator wordt een Si5351A gebruikt door zijn veelzijdige instellingsmodi , zijn relatief goede stabiliteit en zijn mogelijkheid om de afwijking van zijn master-oscillator van 25 Mhz te compenseren op softwarematige manier.

De gebruikersinterfaces zijn :
Een OLED display 128 x 64 pixels met SPI interface

Een mechanische of elektronische ENCODER met drukschakelaar om de menu-keuzes te maken en te selecteren .

En een paar LEDs ter aanduiding van de nauwkeurigheid na bijsturing , kleiner dan 1 Hz afwijking , of optimaal kleiner dan 0,1 Hz afwijking .
Behalve deze GPS-module , de Si5351A oscillator , de ENCODER en de LEDs hebben we nog een microcontroller nodig om het geheel onder softwarecontrole te houden . Hiervoor gebruiken we een Arduino NANO.

Wie echter de tijdpulsen van het GPS-systeem correct wil ontvangen zal tevens een buitenantenne gebruiken voor ontvangst , dus liefst met lange aansluitkabel van 5m .

Hiermee hebben we alle vitale delen voor deze opzet .
Natuurlijk kunnen de functies van de encoder , switches en led’s geïntegreerd worden in bijvoorbeeld een tft-scherm . Dit vraagt dan weer om meer I/O pennen van de processor alsook meer interrupt mogelijkheden.
Om de prijs te drukken en om de software eenvoudig te houden werd gekozen voor de opstelling zoals eerst aangewezen te behouden.
Het principe van de werking :
Elke Si5351A heeft een kristaloscillator die hier gekozen werd op 25 MHz en laat door het synthese principe van zijn structuren ( delers en vermenigvuldigers ) toe om een heel bereik van eindresultaten te bekomen op zijn 3 afzonderlijke uitgangen .
Wij gaan er 2 van gebruiken die de meest gemeenschappelijke parameters bevatten.
De mogelijke problemen inherent aan deze oscillator :
- Je zal moeilijk 2 zulke synthesizers kunnen vinden die exact dezelfde kristalfrequentie hebben.
- Ook zoals bij elke schakeling zal temperatuur deze frequentie beïnvloeden.
Dus zitten we met een niet nauwkeurige oscillator die bovendien temperatuurafhankelijk is.
Geen probleem want we kunnen de tijdpulsen gebruiken op de interface van de GPS-module.
Deze interface beschikt meestal over volgende 5 pennen:
- een voeding-pen 3V of 5V belangrijk voor het bepalen van de interface elementen
- een massa-pen
- een ontvangst-pen rx-data
- een zend-pen tx-data
- en de PPS-pen.
Aangezien elke microcontroller zijn beperkingen heeft i.v.m. de maximum frequentie van pulsen die hij kan tellen is dit niet anders bij de Arduino NANO. Met een marge van veiligheid komen we amper aan 2,5 MHz of dus 2.500.000 pulsen/seconde. Dit betekent dat bij een meting met een referentie van 1 sec we slechts een beperkte meetmogelijkheid en dus ook meetresolutie hebben.
Daarom zullen we onze meettijd opvoeren tot 40 seconden en bekomen aldus een equivalent van een referentiesignaal van 100 miljoen pulsen of 100 MHz. Hiervoor gebruiken we uitgangspoort P0 van de Si5351A en sturen hierop vanuit de synthesizer 2,5 MHz , die we meten met onze microcontroller waarbij de start- en stop- verzekerd wordt door de PPS-pulsen onder controle van de NANO .
Op het eind van deze meetperiode van 40 sec , zouden we exact 100 miljoen pulsen moeten zien in onze teller bij 100 MHz , hetgeen weinig kans heeft gezien zijn gebreken .
We kunnen echter zien hoeveel de afwijking is en hierbij de 2,5 MHz aanpassen tot we het goede resultaat krijgen op de Hz na .
- Zodra de afwijking kleiner is dan 1 Hz gaat de led “-1Hz” aan .
- Bij een afwijking kleiner dan 0,1 Hz gaat de led “-0,1Hz” aan , en zijn we juist .
- Deze operatie blijft zich herhalen .
Aangezien het verkrijgen van 2,5 MHz op poort P0 , zowel de afwijking van het kristal als de temperatuurinvloed op de hele schakeling inhoudt , konden we op poort P1 een andere frequentie aanbieden die proportioneel op dezelfde wijze zou gecorrigeerd geweest zijn . Dit door de gemeenschappelijke delen van de Si5351A voor deze poorten 0 en 1.
Wel dat verklaart de werking van de schakeling waarvan je hieronder het blokschema vindt .

De praktische uitvoering met schema en bouwbeelden
Toen ik het schema en het PCB wou ontwikkelen met Kicad 5.2…… was ik verrast door de diepgaande wijzigingen van deze software . Ik was niet meer in staat een programma te bedienen dat ik al meer dan 10 jaar gebruik doorheen zijn talrijke versies …
Beslissing werd genomen om op mijn oud systeem een versie 4 te gebruiken met zijn beperkingen maar met hetwelk ik het PCB wel kon maken en frezen .
Dus, aan een goede ziel, “Wie brengt dit naar een recente versie , en kan ik van die OM wat bijleren ? ….


Bedieningsprocedure MINI GPSDO
De MINI GPSDO is een zelfbouw GPS-signaal gestuurde oscillator .Dus een oscillator (in dit geval een si5351) , welke frequentie gecontroleerd wordt door signalen afkomstig van de GPS-satellieten .Hierdoor kunnen we frequentie-stabiele signalen verkrijgen over een breed spectrum .
Dit model laat toe 5 frequentie selecties te maken welke voorgeprogrammeerd zijn tot op de Hertz na .
Elke frequentie zit in een aparte BANK (=geheugen) en kan gewijzigd worden .
Om dit te bekomen laten we eerst kijken wat er gebeurt na een koude start of dus een voedingsonderbreking :
vereiste is wel dat de geïntegreerde SAT-module aangesloten wordt op een externe sat-antenne die vrij opgesteld staat
de eerste boodschap is het opzoeken van een aantal SAT’s eenmaal voldoende (minstens een zevental) , geeft de MINI GPSDO ons:
- het lokale uur in de vorm 14:43:05 (HH:MM:SS)
- de actuele datum 21/01/2023 (DD/MM/YYYY)
- het aantal SAT’s SAT: 10
- de frequentie op de uitgang van de MINI GPSDO in Hz 10.000.000 Hz
Indien er een afwijking zit tussen deze uitlezing en de waarde in de BANK zal de MINI GPSDO dit progressief corrigeren
- bij een verschil > dan 1 Hz zullen geen van beide LEDs branden
- bij een verschil <= 1 Hz zal de LED 1HZ branden
- bij een verschil <= 0,2 Hz zullen beide LEDs branden
De frequentie (hier 10.000.000 )wordt bepaald door de voorop gekozen BANK en de inhoud hiervan. 5 BANK’s (geheugens , zijn ter uw beschikking)
Keuze van een BANK:
- druk éénmaal op de encoder-switch dan kom je in het selectiemenu van de BANK’s
- draai aan de encoder om de gewenste BANK te selecteren
- Om terug in de display van deze BANK te komen druk je vervolgens 4 maal op de encoder-switch.
De MINI-GPSDO gaat zich nu synchroniseren op deze frequentie .Deze 5 geheugens zijn te wijzigen naar keuze zodat om het even welke frequentie kan gegenereerd worden binnen het bereik van deze GPSDO. Let wel dat elke frequentie gegenereerd wordt door synthese met delingen en vermenigvuldigingen en dat op de uitgang geen filters ingesteld werden. Zodanig kan de zuiverheid van het nabij gelegen spectrum fel variëren met ongewenste mengproducten . Tevens zal de amplitude verschillend zijn naargelang de gekozen frequentie .
Dus bekijk het uitgangsspectrum niet te breedbandig en wees zeker dat je de frequentie bekijkt of beluister die je wenst .
Met dit in acht genomen , laten we even kijken naar de mogelijkheden:
Voorbeeld je wenst BANK 5 in te stellen op 10.100.000 Hz
Ga als volgt te werk vanuit uw startscherm:
- Eerst kiezen we BANK 5:
- encoder-switch 1 maal
- rotary-encoder draaien tot we BANK 5 hebben noteer de waarde die in BANK 5 staat bijvoorbeeld : 3.700.000
- We merken dus dat de grootst mogelijke beweging de MHz is en moet van 3 naar 10
- encoder-switch 1 maal tot we 1 Hz resolutie hebben
- draai nu de rotary-encoder tot we 1 MHz hebben
- encoder-switch 1 maal
- nu krijgen we FREQ Bank 5 < >
- stel door de rotary-encoder de frequentie op 10.700.000 in
- druk 2 maal op de encoder switch (zodat je de lokale tijdsinstelling over slaat en opnieuw in het startscherm zit
- Herbegin dit nu maar met stappen van 100 kHz zodat je 10.100.000 Hz bereikt. (Een iets snellere methode zou geweest zijn om rechtstreeks in 100 kHz stappen bij te draaien. Met wat geduld kom je vrij snel tot het gewenste resultaat.
Ook het gebruik van een digitale encoder geniet mijn voorkeur .
De software werd niet geschreven om continu andere frequenties te implementeren , maar het kan .
Voor de lokale tijdsinstelling bij verandering van zomertijd naar wintertijd en omgekeerd moet dit manueel gebeuren in het menu TIME zone
Veel genot van de MINI GPSDO
Willy ON5KN 73