Een poging tot het maken van de ultieme GPSDO voor in de shack.
BG7TBL commercial GPSDO Ik ben al jaren in het bezit van een gekochte referentie van BG7TBL.
Een prima apparaat in combinatie met een kleine standaard actieve antenne buiten op het dak.
Helaas vind ik nogal wat bezwaren aan het apparaat kleven waardoor ik een iets betere versie in elkaar probeer te knutselen.

Even op een rijtje wat ik als nadelen zie:

  1. Maar 1 10 MHz uitgang. (Heb er meerdere nodig en ook 1 MHz)
  2. Geen eigen voeding dus lastig 24/7 aan te laten.
  3. Maximale spanning is 12,9 Volt in plaats van 13,8 Volt
  4. Alleen RS-232 uitgang met de GPS info wat leuk is voor oudere apparaten maar niet echt bruikbaar meer in de huidige tijd waar alles USB is.
  5. Geen display dus altijd PC nodig voor status informatie.

Een antenne zoals rechts afgebeeld ligt momenteel buiten op het dak maar is niet echt bedoeld voor gebruik in de open lucht dus daar zou een soort dome overheen moeten komen of een echte buiten antenne.
Voor nood een afgeknipte PET fles van een niet nader te benoemen frisdrankmerk erover gezet maar dit is niet echt een oplossing voor de lange termijn.

Hieruit volgt dan eigenlijk al gelijk de wensenlijst voor mijn ultieme GPSDO.

  1. Meerdere 10 MHz uitgangen. (minstens 4 mogelijk 8)
  2. 1 MHz. uitgang als referentie voor mijn Marconi 2955 meetzender.
  3. Eigen voeding met eventuele batterij backup voor een aantal uren.
  4. GPS info via zowel USB als RS-232.
  5. Display met minimaal de lock status, aantal satellieten, tijd in UTC of lokaal, positie en/of locator en wat je nog meer kan bedenken.
  6. schakelaars om via menu's wat instelling te kunnen doen.

In de basis spreekt het ontwerp uit de Electron van oktober/november 2017 mij wel aan met de simpele gps ontvanger en een arduino nano voor de programmering van deze gps module en het display.
De daar beschreven PLL kan bijna 1 op 1 gebruikt worden en met een kleine aanpassing ook direct de 1 MHz uitgang aansturen.

De nodige andere oplossingen bekeken in de diverse bladen, boeken en internet maar het in de Electron beschreven PLL gedeelte bleef mij toch het meeste aanspreken door de eenvoud en volledig gelijkwaardige schakelingen voor de terugkoppeling van het 10MHz signaal uit de OCXO en de GPS ontvanger naar de fase detector
Eigenlijk zijn alleen de toleranties de enige looptijd verschillen voor de twee signalen wat in de basis dus al een voorzet is om beide signalen gelijk te krijgen.

Links het eerste gebouwde prototype van het PLL gedeelte zoals ik het ongeveer wil hebben.
Na alle jaren niets meer zelf bouwen is alle kennis wat roestig geworden dus natuurlijk een aantal kleine foutjes in het ontwerp gemaakt.
(Ik moest beginnen met een nieuw software pakket omdat ik Eagle waar ik aan gewend was van mijn oude werk situatie niet meer kon gebruiken. Even dus een behoorlijke leercurve naar Kicad)
Uiteindelijk toch een ontwerp gemaakt en verstuurd naar China om de printjes te laten maken.
Na 2 weken de printjes ontvangen en zeer tevreden met het resultaat.
Omdat ik binnen de 100x100 mm. blijf was het heel aantrekkelijk om ze bij pcbway te bestellen en te laten verzenden als Epacket.

Er is bewust voor gekozen om het PLL gedeelte los te bouwen om uiteindelijk tot een soort modulair systeem te komen met 1 print voor de besturing, voeding en i/o en een print print voor de PLL en mogelijk nog een derde voor de distributie versterker.
Door deze dan te stapelen kan er een vrij compacte opbouw bereikt worden en uiteindelijk er geen 19inch kast nodig is om alles in te bouwen. (Mag natuurlijk wel)

Nu er een prototype print voor de PLL ligt toch ook maar de rest op gaatjesprint gemaakt om het geheel een eerste test te kunnen geven.
Hier even de opzet uit de Electron gevolgd om snel resultaat te kunnen behalen en de eerste testen te kunnen doen.

 

Rechts de eerste test opstelling.

Met een eerste prototype werkend kan er een begin gemaakt worden met een aantal vergelijkende metingen want deze nieuwe unit moet toch minstens net zo goed of beter worden als de referentie van BG7TBL en het niet alleen winnen op de extra opties.

Dit is gelijk een mooie kans om de nieuw aangeschafte Owon XSA1015-TG spectrum analyzer wat beter te leren kennen.
Als eerste de BG7TBL op de SA aangesloten na deze eerst even 30 minuten op te laten warmen. (De BG7TBL staat altijd aan)
Tot mijn schrik geeft de frequentie meting aan dat ik niet op 10 MHz zit maar op 9,999985 MHz dus 15 Hz te laag.
De Marconi 2955 op laten warmen en die geeft netjes 10,000001 MHz aan dus rijst de vraag wie heeft er gelijk?

Dit is toch wel even schrikken als een toch wel prijzig apparaat nieuw uit de doos komt.
Dan toch maar het prototype op laten warmen en na ongeveer 3 uur dezelfde testen uitgevoerd met exact dezelfde uitkomsten.
Om helemaal zeker te zijn een 2de prototype opgebouwd en exact dezelfde resultaten.

Ik durf hierdoor wel te stellen dat de originele GPSDO en de 2 nieuw gebouwde units hun werk boven verwachting doen en alle 3 na de stabilisatie tijd netjes 10 MHz afgeven.
De noodzaak van een goede referentie voor HF-meet apparatuur acht ik hiermee wel bewezen.

Tijdens het testen een aantal plaatjes van de SA opgeslagen en die staan hieronder.
Links de commerciële unit van BG7TBL en rechts de zelfgebouwde unit.
Bij alle testen dezelfde antenne gebruikt.

BG7TBL 5to15 PE1GIJ 5to15
BG7TBL 5to65 PE1GIJ 5to65

Tijdens het testen ook nog even de op Ebay gekochte OCXO's met een potmeter getest op hun regel bereik.
Dit zit bij de 2 geteste units op + en - 30 Hz dus eigenlijk zitten ze allebei precies op frequentie bij 2,5 Volt.
Ook de stromen een beetje bekeken om straks een juiste keuze voor de voeding te kunnen maken en de PLL zoals hij nu is heeft minimaal 500 mA. nodig in koude toestand.
Na opwarmen zakt dit naar ongeveer 250 mA..

Met de signalen zoals die er nu uitzien ben ik zeer tevreden en dit is net zo goed bruikbaar als het signaal wat uit de gekochte unit komt.
Zo tevreden als ik ben over het PLL gedeelte zoveel bedenkingen heb ik bij de besturing en de software zoals in de Electron beschreven.
De keuze voor een Arduino Nano is wel erg minimaal omdat deze maar 1 echte RS-232 poort heeft.
Deze zit ook aan de USB en de GPS module moet dus altijd losgekoppeld worden voordat er iets aan de software gewijzigd kan worden.
Een poging om met de SoftSerial lib de GPS unit op een software matige RS-232 poort te hangen was niet echt bevredigend en in mijn ogen zelfs instabiel.
Ook voor de verdere voortgang denk ik IO lijnen te kort te komen omdat in mijn optiek niet gebruikte 10 MHz/1 MHz uitgangen uitgeschakeld moeten kunnen worden of allerlei ongewenste signalen te voorkomen.
(Ongebruikte uitgangen kunnen natuurlijk met een afgeschermde afsluitweerstand gedempt worden maar mijn ervaring is dat die altijd kwijt raken)
Zeker als de GPS info op externe poorten beschikbaar moet zijn dan zal er een andere oplossing voor de besturing in moeten.

In de software vind ik het heel jammer dat de programmering voor de GPS hard is vastgelegd en heel moeilijk naderhand nog te wijzigen is als je niet het hele reference manual van de Ublox module begrijpt.
Ook het niet omrekenen van de gps coördinaten naar locator vind ik een gemiste kans net als de keuze om allen de UTC tijd weer te geven.

Ik zit voor een iets sterkere besturing te twijfelen tussen de Arduino Mega2560 of de STM32F103C8T6 (Bluepill)
Ze hebben beide voldoende I/O poorten, snelheid en geheugen om de wat zwaardere klus die ik er voor in gedachten heb te kunnen klaren.
Mijn voorkeur gaat uit naar de STM32 i.v.m. de afmetingen maar als nadeel is er dan weer dat deze volledig 3,3 Volt is en er dus de nodige level shifters op de print bij moeten komen.
Qua prijs en afmetingen wint de STM32 het dan nog riant van de Mega2560 dus dat zal hem in de volgende test wel worden.
Ik wil dan gelijk voor het display op 2 varianten door borduren.
De in het originele artikel gebruikte LCD2004 display met 20x4 karakters in samenwerking met een encoder voor de bediening of een Nextion 3.5inch display. (geen enhanced).
Vast een voorschot op de verdere ontwikkeling genomen en met de 3D-printer vast frontjes ontworpen voor in het door mij veel gebruikte Hammond 1598E kastje gemaakt.

lcd2004 front nextion front
Ondertussen wat meer onderzoek gedaan voor de besturing en het blijkt dat het aantal level-shifters van 3,3 volt naar 5 volt best mee gaat vallen omdat het LCD2004, Nextion display en de GPS module geen problemen met de 3,3 volt logica van de STM32 lijken te hebben.
De STM32 module krijgt dan toch mijn voorkeur boven de Arduino Mega2560 voor wat betreft de prijs en de afmetingen.
Met deze beslissing wel een kist vol ellende open getrokken.
Achteraf blijkt dat de modules uit China (en veel kleine Nederlandse webshops) een foute weerstand bevatten waardoor de meeste computers de usb poort niet willen herkennen.
Hieronder vallen dus ook mijn computers en ik moest dus op alle 5 printjes een smd weerstand gaan vervangen.
Het gaat om R10 waar blijkbaar vaak een 10k of 4k7 weerstand zit in plaats van 1k5. (Mijn bordjes hebben 10k)
Het is aan te raden dit te controleren voor de pin-headers op het printje gesoldeerd worden want dan is deze weerstand nog redelijk toegankelijk.
Daarna nog genept door een USB-->RS232 module met zogenaamd een FTDI chip die dus geen FTDI chip was en daardoor het programmeren van een andere bootloader behoorlijk vertraagde.
Gelukkig nog een een printje met een CH340 chip gevonden in de bakken waardoor ik wel door kon gaan.
Standaard hebben deze printjes geen bootloader via de USB geprogrammeerd en moet je dus altijd de jumpers omzetten en via de RS232 programmeren.
Er bestaat dus een experimentele bootloader via de USB maar die moet dus wel eerst via RS232 geprogrammeerd worden.
De procedure hiervoor staat uitgebreid beschreven in de wiki van STMduino waarna het bordje zich via de USB laat programmeren via de arduino IDE software.
(Wel weer een week verder)
Ublox NEO7 Ondertussen zijn ook de GPS modules die ik wil gaan gebruiken binnen gekomen.
Het is wel belangrijk dat het een NEO-7 module is en niet de veel aangeboden NEO-6 want deze kan op de puls uitgang geen 10 MHz signaal maken.
Deze mini uitvoering is de kleinste en goedkoopste uitvoering die verkrijgbaar is en voldoet voor deze toepassing.
In het eerste printje wat bij de test opstelling zichtbaar is gebruik ik de iets duurdere variant met ook al een eigen usb aansluiting zodat deze direct met de Ublox software te gebruiken is.
Dit printje heeft ook al een patch antenne op de print maar die is voor deze toepassing nutteloos.

Ondertussen is er weer aardig wat tijd verstreken wat nuttig gebruikt is om te testen en de eerdere keuzes verder te evalueren.
De eerdere voordelen die in het gebruik van een STM32 module leken te zitten zijn allemaal achterhaald en er is besloten om in de definitieve uitvoering toch voor een Arduino Mega2560 te gaan maar dan wel in de Pro Embedded uitvoering i.v.m. de afmetingen.
Hierdoor wordt het geheel wat nabouw vriendelijker en is het voor anderen wat eenvoudiger om later zelf met de software aan de slag te gaan. (Wie kan er nu niet met de standaard Arduino IDE overweg)
Door voor een standaard arduino te kiezen kan er voor grote delen van de software gebruik gemaakt worden van de vele gerijpte bibliotheken die er voor allerlei toepassingen zijn.
Als nadeel komt dan wel weer het punt dat er op sommige plaatsen van 5volt naar 3volt logica omgezet moet worden.

Er zijn nieuwe printen getekend waarbij een 3 lagen structuur aangehouden wordt en de printen op elkaar stapelen op dezelfde manier als een arduino met shield.
Er is bij de nieuwe ontwerpen wel een overgang naar SMD gemaakt omdat de verkrijgbaarheid van vooral de logica in DIP uitvoering nu al problematisch is en voor de toekomst dus echt een probleem zou worden.
De bovenste laag is voor de sturing met de mega2560, gps, voeding en de diverse connectoren naar de buitenwereld.
Tweede laag is geheel gereserveerd voor de eigenlijke PLL met zijn OCXO en 4 uitgangen. (1 uitgang kan naar keuze als 10MHz of 1MHz)
Een derde print met hierop een Si5351A kan zorgen voor 3 vrij programmeerbare generator uitgangen tussen 1MHz en 60MHz.
Dit is veel minder als wat de Si5351 chip volgens de datasheet kan maar bewust zo gekozen omdat de chip buiten zijn specificaties gebruikt wordt.
Ook zijn er op diverse connectoren aansluit mogelijkheden voor extra I2C, SPI of I/O lijnen aanwezig.
Hiermee zou b.v. een BME280 chip aangesloten kunnen worden om luchtdruk, luchtvochtigheid en temperatuur te kunnen meten.

Ondertussen is alles getest en is er voor alle 3 de printen een versie 2 gekomen die volledig voldoet aan alle wensen.
Bij het testen is naar voren gekomen dat er nog een extra display optie op de I2C bus kan en dat is een kleine Oled van 0,96" of 1,3".
(Met wat extra software moet het mogelijk zijn 2 display's tegelijk aan te sturen.)
Op de optie print is er nog een extra aansluiting bij gekomen om via SPI op 3,3 Volt niveau een ADF435x module aan te sturen voor het opwekken van een Local Oscillator signaal tussen de 35 MHz en 4400 MHz. (ADF4350 vanaf 137 MHz)

3D view stuurprint

De stuur print met de GPS, Arduino Mega2560, voedings-circuit en de aansluitingen naar de buitenwereld.
Bij de laatste versie is alleen een extra connector voor de RS-232C geplaatst zodat er voor een goedkope China module gekozen kan worden i.p.v  U4 en C17, C18, C19 en C20 direct op de print.
Voor de veiligheid R13 op de uitgang van +5Volt regelaar toegevoegd.
Plaatsing van de spannings-regelaars en omringende componenten iets gewijzigd.
De maat voor U5 (ATtiny85) aangepast. Wordt wel niet gebruikt maar is nu correct.

Voor de werking is er geen echt verschil tussen de V2 en V3 print.

 

3D view PLL print

De PLL print met de OCXO en de 4 uitgangen. (1 uitgang met een soldeer jumper om te zetten naar 1MHz)

3D view Si5351 print

De optionele 3de print met daarop de S15351A voor de 3 vrij programmeerbare uitgangen.
Er is ruimte om de uitgangen van een filter te voorzien.
Op de extra connectoren kunnen verdere uitbreidingen aangesloten worden.

 Als de printen binnen komen zal er in ieder geval van elke print 1 gebouwd gaan worden voor eigen gebruik en testen.

Van de 3de print is ook een kleinere afgeleide variant gemaakt met daarop een een Arduino micro pro 8MHz/3v3 en een Si5351A voor gebruik bij de QO-100 experimenten waar de elektronica buiten aan de mast in een waterdichte kast gemonteerd wordt.
Er kan dan volstaan worden met alleen 1x 10MHz naar de kast om daar de nodige frequenties te maken.

Ondertussen zijn de printen voor de hoofd print, pll print en optie print binnengekomen en de bouw van het eerste test exemplaar is afgerond.

Bij het opbouwen houd ik als volgorde aan dat ik van klein naar groot en van binnen naar buiten. In dit geval dus eerst de smd componenten en dan pas de TH componenten.
Per print zal ik in grote lijnen mijn volgorde aangeven.

stuur1 Klein

Mijn montage volgorde:
Q1 - MMBF5485, Q2 - BC857W, Q3 en Q4 - BSS138P
R1 4k7, R2 - 100k
R3, R4 - 56 ohm
R5 - 22 ohm
R6, R7, R8, R9 - 10k
R12, R13 - 1k (R13 alleen bij V3)
RV1 - 1k of 2k instel potmeter
L1 - 100uH
C4, C5, C6, C7, C8, C9, C12, C14, C15 - 100nF
C10, C11, C13, C16 - 1uF
U4 - MAX232EIDR - Optie RS232-C
C17, C18, C19, C20 - 2,2uF/20Volt - let op de polariteit - Optie RS232-C
C21- 10uF/16Volt - Let op de polariteit
D1, D2, D3 - SS13+
U1 - BD80C0AFP
U2 - NCP1117DT50G
U3 - LD1117S33TR
C1, C2, C3 - 100uF/50v
J1 - 2-polige schroef terminal
5mm afstand busje voor de gps module.

stuur2 KleinSchroef de GPS-module samen met de haakse connector vast zetten voordat de haakse header vast gesoldeerd wordt. Eigenlijk zou hier een 4 mm. steuntje onder moeten i.p.v. 5 mm. mega2 KleinPlaats de headers eerst op de Mega2560 om alles op maat te maken en goed uit te lijnen met de print.
De headers zijn uit lange strips geknipt en de zijkanten moeten dus wel even nabewerkt worden.
Zeker de 2 korte met 3 pinnen anders gaat het niet goed passen.

 stuur3 Klein

Op de hier afgebeelde Mega2560 staan 2 kristallen. (12 MHz en 16 MHz)
Er zijn ook uitvoeringen waarbij het 12 MHz kristal met een aantal componenten in de buurt niet geplaatst zijn. Op deze foto is dat het kristal rechts boven.

 De overige onderdelen kunnen nu geplaatst worden waar wel opgelet moet worden dat de langere stapel connectoren J3, J4 en J8 goed recht komen te zitten i.v.m. de uitlijning naar de volgende print.

De onderdelen voor de RS-232C uitgang zijn niet geplaatst omdat ik nog niet zeker weet of ik deze ga gebruiken.
Eventueel kan er ook met een goedkope China module via de de 4 polige RS-232C connector gewerkt worden.

!!!Als de PLLprint ook gebruikt gaat worden de lange uiteinden van de stapel connectoren niet afknippen!!!

stuur4 Aangepast

Op de Mega2560 print wordt een CH340 chip voor de USB gebruikt en als je nog nooit iets eerder met deze chip gedaan hebt onder Windows 10 dan moet er een aanvullende driver geïnstalleerd worden.
Voor het gemak staat hier de installatie file CH340 driver.
In de nieuwere Windows 10 versies (21H2) wordt de driver automatisch geïnstalleerd.

De software groeit op het moment en om deze te kunnen compileren moeten er een aantal aanvullende bibliotheken toegevoegd worden aan de Arduino IDE.
De meeste bibliotheken kunnen direct vanuit de Arduino IDE via 'Schets->Bibliotheken beheren' toegevoegd worden.
Vaak is het genoeg om in het zoekvak van bibliotheek beheer de naam uit de tabel te plakken en op de installatie knop te drukken.
Ook de Arduino IDE ontwikkeld zich steeds verder en probeert je steeds meer naar de cloud omgeving te sturen.
Dit project werkt beter met de lokaal geïnstalleerde IDE en bij de laatste test met versie 1.8.19 bleken zelfs de bibliotheken die eerst handmatig toegevoegd moesten worden via bibliotheek beheer te vinden en installeren.
Bibliotheken via bibliotheek beheer verdienden de voorkeur omdat er dan in de IDE een melding komt als er updates zijn.

Om de Arduino te kunnen programmeren is het wel noodzakelijk dat JP1 open staat.
(JP1 dicht is om te voorkomen dat elke keer de Arduino opnieuw opstart als er een computer met de USB poort verbonden wordt,)

Bibliotheek Installatie methode Opmerkingen Versie
LiquidCrystal_I2C Via bibliotheek beheer. Nodig om de LCD1602 en LCD2004 via I2C te kunnen gebruiken.
Zoek naar LiquidCrystal_I2C. Gemaakt door Frank de Brabander en onderhouden door Marco Schwartz.
V001
si5351 Via bibliotheek beheer. Nodig om de Si5351 chip op de optieprint te laten werken.
Zoek naar Etherkit Si5351 gemaakt door Jason Milldrum
V001
TinyGPSplus Via bibliotheek beheer of zelf ophalen via de website.  url: https://github.com/mikalhart/TinyGPSPlus V001
SimpleRotary Via bibliotheek beheer Nodig om de encoder en drukknop te laten werken.
Zoek naar SimpleRotary by MRPrograms
V002
Time Via bibliotheek beheer of zelf ophalen via de website url: https://github.com/PaulStoffregen/Time V002
Timezone Via bibliotheek beheer of zelf ophalen via de website url: https://github.com/JChristensen/Timezone V002

Download links voor de bijbehorende documenten en software stuur print (GPSDO2):

Schema: stuurprint-V3-C1-sch.pdf
Layout: stuurprint-V3-lay.pdf
Materiaal lijst: BOM-GPSDO2-V3-C1.pdf
Software:

Filename Size Date
A Text file release.txt 800 bytes 2021-11-15
A compressed ZIP file GPSDO2-V010.zip 28.93 KB 2021-11-15
A compressed ZIP file GPSDO2-V009.zip 27.72 KB 2021-11-15
A compressed ZIP file GPSDO2-V008.zip 27.7 KB 2021-11-15
A compressed ZIP file GPSDO2-V007.zip 27.28 KB 2021-11-15
A compressed ZIP file GPSDO2-V006.zip 27.03 KB 2021-11-15
A compressed ZIP file GPSDO2-V005.zip 24.96 KB 2021-11-15
A compressed ZIP file GPSDO2-V004.zip 24.43 KB 2021-11-15
A compressed ZIP file GPSDO2-V003.zip 19.86 KB 2021-11-15
A compressed ZIP file GPSDO2-V002.zip 17.85 KB 2021-11-15
A compressed ZIP file GPSDO2-V001.zip 8.66 KB 2021-11-15
A compressed ZIP file CH34x_Install_Windows_v3_4.zip 189.07 KB 2021-11-15


!!! Let op !!!
Het download bestand bevat meerdere files die allemaal in dezelfde map moeten staan.
Open het bestand GPSDO2-Vxxx.ino in de editor.
De andere .ino bestanden laten zich wel kompileren en uploaden maar dan zal de print niet werken.

Na het compileren van de software en uploaden van de software zou het display moeten werken en de GPS moeten ontvangen.
Dit is ook het moment om de instelpotmeter RV1 even af te regelen op minimale vervorming van de buffer.
(meten op C13)

IMG 0914 Aangepast

Mijn montage volgorde:
U1, U2, U3 - 74HC86 - Let bij U3 op de plaatsing
U4 - 74HC390
U5, U6 - CD4040
R1 - 47k
R2, R3, R4 - 15k
R6 - 470k
R7, R8, R9, R10, R11, R12, R13, R14 - 100 Ohm
C1, C2, C3, C8, C9 - 100nF
C4, C5, C6, C7 - 1uF
C10, C11 - 10nF
C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23 - 220pF
L1, L2, L3. L4, L5, L6, L7, L8 - 2,7 uH

!!! Er blijkt een serie printen te zijn waar een stukje printspoor mist tussen C22 en J6 !!!
Dit is met een klein stukje draad te verhelpen.

Hierna kunnen de overige onderdelen gemonteerd worden.

De jumper staat bij mij in de positie 2-3 omdat ik 1 MHz uit wil hebben voor de marconi 2955 meetzender.
De componenten hebber daar dan dus ook een andere waarde.

De jumper op de print is altijd open dus voor 10 MHz moet er een tin klodder tussen 1-2 gelegd worden.

In de 3 stapel connectoren wordt een extra set met ingekorte pinnen gestoken om voldoende hoogte te krijgen naar de stuur print.

 

Ook hier geld weer dat de lange pinnen aan de onderzijde niet afgeknipt moeten worden als ook de derde print met de Si5351 er nog onder komt.

IMG 0917 Aangepast

Download links voor de bijbehorende documenten PLL print (GPSDO3):

Schema: pllprint-V2-sch.pdf
Layout: pllprint-V2-lay.pdf
Matriaal lijst: BOM-GPSDO3.pdf

Bij het monteren van de optieprint begin ik zelf met U1 (Si5351A) omdat dit het kleinste onderdeel is met zijn MSOP10 behuizing en redelijk in het midden.
Het is te doen met een soldeerbout met een hele fijne punt maar persoonlijk ga ik voor soldeerpasta en hete lucht.

Eerst plaats ik de chip en fixeer deze met een stukje kapton tape.

S15351kapton Aangepast

Als chip helemaal naar mijn zin geplaatst is smeer ik de vrijliggende kant in met een beetje soldeerpasta m.b.v. een tandenstoker.

Met soldeerpasta bedoel ik niet het loodgieters soldeer vet maar een echte SMD pasta met flux en tin korrels.
Dit wordt in China verkocht in potjes en spuiten onder de naam 'Mechanic Solder Paste' met verschillende nummers.
Meestal ga ik voor XG-50 (potje) of XG-Z40 (spuit) die een smelt punt van 183 graden hebben.
Nadeel is de korte houdbaarheid en na een paar maanden kan je het restant weg gooien.


Met een hete lucht station op 220 graden en een klein blaas mondje laat ik eerst deze kant vloeien en solderen.
Daarna kan de andere kant gedaan worden.
Als er per ongeluk toch sluiting is tussen 2 poten kan dit met een beetje desoldeer-litze opgelost worden.
Omdat er verder nog niets op de print zit kan er met een paar hele dunne meet pennen nog gemeten worden of alle poten vastzitten er er geen sluitingen zijn.

Si5351resultaat Aangepast

Als alle sporen die aan U1 goed meten kan de rest van de SMD onderdelen gemonteerd worden.

Q1, Q2, Q3, Q4, Q5, Q6 - BSS138
C1, C2, C3 - 100nF
R1, R2, R3, R4, R9, R10, R11, R12, R13,, R14, R15, R16 - 10k
R5, R6, R7 - 51 Ohm
R8 - 10 Ohm

Vergeet niet om de jumpers indien nodig met een druppel tin te sluiten.

IMG 0923 Aangepast

Hierna kunnen de resterende componenten gemonteerd worden.


De lange pennen van de stapel connectoren (J1, J2 en J7) mogen nu wel afgeknipt worden omdat dit de onderste print zal zijn.

Voor meer output mogen de weerstanden R5, R6 en R7 verlaagd worden. Zelfs 0 Ohm mag.

Voorbeelden voor filters:

 Frequentie  C  L
1 MHz 2,2 nF 33 uH
10 MHz 220 pF 2700 nH (of 3300nH)
24 / 25 MHz 82 pF 1500 nH
27 MHz 68 pF 1500 nH
40 MHz 56 pF 820 nH
IMG 0924 Aangepast

Download links voor de bijbehorende documenten Optie print (GPSDO4):

Schema: optieprint-V2-sch.pdf
Layout: optieprint-V2-lay.pdf
Materiaal lijst: BOM-GPSDO4.pdf

Na montage RV1 afregelen tot er ongeveer een signaal van 1,5 ... 2 Volt top-top naar de Si5351 chip gaat.
(Meten op  C3)

Nu alle 3 de printen gebouwd en getest zijn begint het proces om de software af te maken.
Alle losse delen werken in de software maar het zal nog aardig wat werk worden om alles samen te laten werken en met alle opties rekening te houden.

Om het geheel te laten werken is een gestabiliseerde voeding van 12 Volt / 1 Ampère voldoende.
Spanning mag tussen de 10 en 16 Volt zijn. (9 Volt waarschijnlijk ook maar niet gegarandeerd.)

Hieronder een impressie hoe het geheel er samengebouwd uit ziet.

IMG 0925 Aangepast IMG 0930 Aangepast

Voor de aansluiting van de led's en de encoder zijn er natuurlijk meerdere opties.
Standaard staat de software op optie A dus de uitgangen van de arduino schakelen naar "0" om de led aan te zetten.

Led Enc 1b

Rechts staan twee alternatieven maar die zijn nog niet in de software verwerkt.

Led Enc 2

Led Enc 3

Aanvullende informatie over de connector voor de encoder en de leds.
De connector is al bedraad dus het is simpel de kleuren met juiste onderdeel verbinden.

Pin Kleur Functie  
1 rood +5 Volt  
2 bruin Encoder A D2 Arduino
3 blauw Encoder B D3 Arduino
4 wit Schakelaar D4 Arduino
5 oranje Led 1 D5 Arduino (Led rood)
6 geel Led 2 D6 Arduino (Led geel)
7 groen Led 3 D7 Arduino (Led groen)
8 zwart Massa  

Als alles werkt met de nieuwste software in de Arduino is het leuk om te kijken hoe sterk de Gps satellieten worden ontvangen en of er mogelijk een blinde hoek in de ontvangst zit.
Hier zijn een aantal bruikbare programma's voor en voor Windows is de gratis software VisualGPS van de gelijknamige firma.
Het is al een wat ouder programma maar voldoet nog prima.
Er is ook een nieuwere betaalde versie beschikbaar voor als je het nieuwste van het nieuwste wil hebben.

Om dit te kunnen gebruiken moet natuurlijk wel de optie 'NMEA USB' op 'On' gezet worden met de gewenste baudrate.
Het is ook wel handig om JP1 op de print te sluiten om te voorkomen dat de Arduino elke keer opnieuw opstart.
(Om later een software update te kunnen doen moet JP1 wel weer geopend worden)

In V003 is er een extra instelling bijgekomen om de achtergrond verlichting van de lcd na een voor ingestelde tijd uit te schakelen.
Bedienen van de encoder of een fout in de GPS ontvangst schakelt de verlichting weer in.

Bij het testen van de software voor de aansturing van de ADF4351 print die optioneel aan de optie print aangesloten kan worden is het pijnlijk duidelijk geworden dat er vanuit het oosten een kloon van het originele evaluatie board geleverd wordt maar soms ook een wat mindere kloon van deze kloon .

Links op de afbeelding de direct werkende kloon.
Ze hebben zich hier aan het originele schema van het evaluatie board gehouden en de data lijnen worden netjes met 10kOhm naar massa getrokken en de CE lijn met 10kOhm naar de 3,3Volt.

Het probleem is dus eigenlijk al te raden.
Bij de kloon van de kloon is er bezuinigd en zijn deze 4 weerstanden niet aanwezig.

Voor de data lijnen is dat geen probleem omdat die 'hard' door de Arduino aangestuurd worden.
De CE lijn geeft wel problemen want die mocht volgens de data sheet zwevend blijven wat dus dus op de print ook het geval is met tot gevolg dat bij de kloon van de kloon de chip nooit aan gaat.

ADF4351comp Aangepast

Even wat duidelijker in beeld.
Dit is de direct bruikbare kloon.

ADFcloon Aangepast

En dit is de niet werkende kloon van de kloon.
Gelukkig met een simpele ingreep op te lossen.

ADFclooncloon Aangepast

Rechts zie je mijn oplossing van het probleem.
Ik plaats een 1206 weerstand van 10kOhm tussen de weerstand van 1kOhm die naar de CE van de chip gaat en de twee daaronder aanwezige C's.
Die 2 zitten op die plaats aan elkaar en aan de 3,3Volt.

Een andere optie is aan de onderkant van de header een weerstand tussen de pinnen van 3v3 en CE.

Dit kan eventueel ook nog op de optie print gedaan worden en daar heb je zelfs ruimte om het met een gewone weerstand met draadjes te doen.

 

Nu dit opgelost is zal de software voor het aansturen van dit printje niet zo lang meer op zich laten wachten.

ADFsolution Aangepast

Vanaf software versie GPSDO2-V004 kan via de optie print met een simpele bandkabel de ADF4351 print aangesloten en gebruikt worden.

De referentie ingang van deze print kan met een T stukje afgetakt worden van de 10 MHz die als referentie naar de optie print gaat.

IMG 0950 Aangepast

In deze laatste software versie kan ook op het lcd de fase indicator bekeken worden
Dit is niet meer als een indicator maar de werkelijke waarde kan nogal afwijken van de ideale situatie door toleranties en het wel of niet aansluiten van een analoge meter op de connector.

In tegenstelling tot wat er op de print en in het schema staat moet er een 1 kOhm weerstand op de meter aansluiting als er geen analoge meter is aangesloten.

Er is een kalibratie mode toegevoegd aan de software.
Vanaf het opstarten gaat de arduino continu bijhouden wat de absolute maximum waarde is die op de aansluiting gemeten wordt.
Na enige tijd zal deze waarde dus niet meer verder stijgen en kan dan in de EEprom bewaard worden zodat de meter altijd het volledige schaal bereik gebruikt.
Dit is ook van belang voor de werking van de 3de (groene) led.

De gemeten waarde en de EEprom waarde kan onder de Meter getoond worden door 1x op de encoder te drukken.

Draaien past de schaal van de meter aan.
Als de meter goed werkt kan met 1x drukken op de encoder deze functie verlaten worden en wordt de ingestelde waarde in EEprom bewaard.
Het aanpassen van de waarde in het bestand komt hierdoor direct te vervallen.

Voor nu zal de software blijven zoals deze nu is en alleen grote fouten of het toevoegen van ondersteuning voor de andere displays zal een nieuwe versie opleveren.

Na wat langer gebruik is naar voren gekomen dat de Si5351 chip waarschijnlijk gevoelig is voor statische ontladingen bij het aansluiten van apparatuur op de uitgangen.
Dit heeft waarschijnlijk geleid tot het vroegtijdig overlijden van een aantal chips.
Zeker als de GPSDO gebruikt wordt bij het Eshail verhaal kunnen er hele rare spanningen op de connectoren komen en omdat deze meestal van het F-type zijn wordt eerst de kern aangesloten en dan pas de buitenmantel.

Het is mogelijk op de SMA connectoren een 47kOhm weerstand grootte 0805 en een een speciale ESD diode in de maat SOD-323.
Het is een aardig priegelwerk maar met wat extra inspanning wel te doen.
De uitgangen zijn dan behoorlijk beveiligd tegen ESD met een minimale invloed op het signaal.
ESDonSMA Aangepast

Nu het project bij meerdere mensen in gebruik is blijkt dat het 10 MHz signaal voldoet als referentie voor meet apparatuur maar dat voor het gebruik bij Eshail de jitter op het signaal wat aan de hoge kant is.
Als de 25 MHz uit de optie print gebruikt wordt om een LNB te locken aan de GPSDO komt dit heel duidelijk naar voren als vervorming op het signaal en allerlei ongewenste mengproducten.

Na lang zoeken bleek deze jitter volledig te herleiden naar de gebruikte GPS module.
Een oplossing zou kunnen zijn om hier een veel duurdere module te plaatsen die wel probleemloos een 10 MHz puls uit kan gegeven.
OM toch binnen het low budget idee van het project te blijven is er naar een andere oplossing gezocht en gevonden om de GPSDO naar een hoger niveau te tillen ver boven de oorspronkelijke ontwerp ideeën.

Uiteindelijk is het time puls signaal uit de GPS terug gebracht naar 100 kHz i.p.v. 10 MHz wat de gebruikte NEO-7 module ook kan met veel minder jitter op dit signaal.
Om dit te kunnen doen moet wel het GPSDO3 bord (pll print) gemodificeerd worden. Deze modificatie is niet makkelijk maar met wat beleid wel te doen.
Om de modificatie uit te kunnen voeren zonder de print om zeep te helpen is een hete lucht station wel een vereiste.
Er moeten 4 ic's van de print verwijderd worden en na het ombuigen van wat pootje en zelfs 2 poten helemaal verwijderen waarna de ic's weer netjes terug geplaatst moeten worden. (Te verwijderen U1, U4, U5 en U6)
De vrijstaande poten en sommige vrijgekomen eilandjes kunnen dan met wire wrap opnieuw verbonden worden.
Daarnaast nog 2 condensatoren vervangen door 0 ohm weerstanden en 1 weerstand verwijderen maar dat is simpel.

De modificatie vraagt wel om een aangepaste software maar dit zal in een volgende update verwerkt worden.

Als dit goed gedaan wordt zijn de delers aangepast en zal de pll weer vrolijk in lock komen maar met een factor 100 lagere frequentie op de referentie ingang en een evenredig lagere jitter.

Als overzicht is er een schema met daarop de oude en de nieuwe situatie en een lijstje met een stap voor stap handleiding.
Volgens dit schema zijn er al meerdere gemodificeerd. Bij twijfel niet zelf aan beginnen.

Modificatie PLL van 10 MHz naar 100 kHz : Modificatie-GPSDO3.pdf

IC's U1, U4, U5 en U6 verwijderd. C10 en R5 verwijderd. C11 moet nog.

IMG 0959 Aangepast

IC's terug geplaatst en draad verbindingen gemaakt. C10 vervangen door 0R weerstand.

IMG 0961 Aangepast

Na de modificatie en daarmee ook het verlagen van de frequentie uit de gps naar 100kHz rees ook de vraag of nog verder verlagen naar 10kHz of zelfs 1kHz zin zou hebben.
Dit kon niet meer op de bestaande print gerealiseerd worden en is er daarom maar een nieuw ontwerp voor de pll print gemaakt waar alle modificaties al op zitten en de mogelijkheid om de andere frequenties te kunnen testen.

(om het onderscheid simpel te houden dus een rode print)

Mijn systeem staat nu al geruime tijd met een 10kHz signaal vanuit de gps te draaien maar ik heb geen verbetering kunnen meten ten opzichte van een 100kHz signaal uit de gps.
Dit kan dus eigenlijk simpel vertaald worden naar de conclusie dat we met 100kHz uit de gps aardig op de limiet van de gebruikte componenten zitten.

Schema: GPSDO3-V4-sch.pdf
Layout:
Materiaal lijst: BOM-GPSDO2-V4.pdf

GPSDO3 V4 Aangepast

Een laatste modificatie die nog uit getest moest worden waren de gestapelde connectoren tussen de stuur print (GPSDO2) en pll print (GPSDO3).
Als de inzet stukken op de pll print niet 100% goed geplaatst en geborgd waren dan was dit een steeds terug kerende bron van storingen.

Uiteindelijk uit de stuur print de stapel connectoren verwijderd en vervangen door headers met extra lange pennen. (25mm.)
Hierdoor komen de pennen van de stuur print direct in de connector op de pll print onder tussen komst van de extra connector.

Het verwijderen van de stapel connector uit de stuur print is redelijk eenvoudig als eerst de plastic behuizing gekraakt wordt.
Niet zover door knippen met de knip tang dat de contacten afgeknipt worden.
Nu kan pin voor pin uit de print gehaald worden wat mij het beste lukte met hete lucht..

Conn1

Hierna de smelt lijm van de connectoren verwijderd waardoor de extra connectoren verwijderd konden worden.

(smelt lijm laat zich prima verwijderen als het eerst met koud spray hard gemaakt wordt)

Conn2

Op de stuur print de lange pinnen van 25mm gemonteerd en alles weer samen gebouwd.

Als resultaat geen slechte verbindingen tussen de printen meer.

Conn3