Author Topic: Budget GPSDO - a work in progress  (Read 587 times)

0 Members and 1 Guest are viewing this topic.

Offline MIS42N

  • Regular Contributor
  • *
  • Posts: 176
  • Country: au
Budget GPSDO - a work in progress
« on: February 25, 2021, 01:47:30 am »
I have been working on this project for a few months, and was not intending to make it public until it was finished. But when is anything 'finished'?

I was posting bits and pieces in the lars GPSDO threadhttps://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/, and was encouraged to start a new thread.

At first I didn't like the idea - half finished - not very professional. Then again someone may find it interesting. The process of preparing a document was constructive, it forced me to consider the choices made and also to solidify ideas for future developments. So here it is [wall] warts and all.
 
The following users thanked this post: Bryan, Jacon, spostma, Johnny B Good

Offline MIS42N

  • Regular Contributor
  • *
  • Posts: 176
  • Country: au
Budget GPSDO - a work in progress - Update
« Reply #1 on: April 04, 2021, 03:18:13 am »
Built a second GPSDO based on the circuit published in the .PDF attached to the first post. Two variations:
(1) the power supply is a 7.8V wall wart, the board supply is via a 7805. The 7.8V is also sent to the line driver/receiver system. In V1 the driver/receiver had a separate supply. V2 has one supply for the whole system.
(2) An output to a BNC connector was added. This used a 74HC04 hex inverter, one inverter buffers the OCXO output and feeds it to both the microprocessor and to the other 5 inverters. These are paralleled to drive the BNC output.

The V2 oscillator is still 'burning in'. It is ageing at a calculated 5 ppb/day, about 10 times the rate in the specifications (the specification is after 1 month running). This initially was enough to unsettle the control algorithm. The design target is to maintain 10MHz+-0.01Hz, this was maintained most of the time, interspersed with corrections of up to +-0.5Hz to sync the phase. This is due to the algorithm using a linear interpolation of the data. To detect ageing requires a quadratic interpolation. I didn't implement the quadratic interpolation as it requires higher precision than the arithmetic provides.

Instead a sanity check was added to the algorithm to stop the wild corrections. In the day since it was put in, it was only used once. The ageing has slowed to the point where the control algorithm is working as intended and the +-0.01Hz limit has been achieved. It will be interesting to see how the OCXO behaves after a few days running.

The output is not yet categorised. It should be a square wave of around 2V p-p into 50 ohm. As a crude test it was used as the reference for an SDR, proving that there is some output and as far as we could see it was 10MHz. A search is on to find someone with decent test gear. Anyone in Newcastle NSW following this thread and willing to help?

The validity of using the line driver/receiver was proved. Another driver/receiver pair were constructed and used to drive a 30 meter CAT 6 Ethernet cable. The GPS antenna was placed on a garden shed roof, the GPSDO set up in a lounge room. The GPSDO parses the NMEA data and does the checksum to detect corruption. There were no errors.

There are now (annoyingly) four avenues of investigation:
(1) V3 using the same oscillator and a precision voltage source for the control voltage
(2) V4 using a higher spec oscillator
(3) A different control algorithm. (i) to handle measurement periods > 30 minutes (ii) to calculate more frequently (iii) maybe calculate ageing.
(4) A 10MHz to 49.152MHz converter, suitable to be the reference for an ICOM tranceiver.

At the moment, (4) is the focus until the V2 output is verified as usable.

Modified circuit and picture attached:

The picture shows power input top left, GPS input top, serial output top right.
 

Offline spostma

  • Contributor
  • Posts: 11
  • Country: nl
Re: Budget GPSDO - a work in progress
« Reply #2 on: April 15, 2021, 10:29:12 pm »
beautiful work!
Great that you did that all in 100% PIC assembly,
and that you use all PIC resources so efficiently  - I love that too...
Are you willing to share your source code?
 

Offline MIS42N

  • Regular Contributor
  • *
  • Posts: 176
  • Country: au
Re: Budget GPSDO - a work in progress
« Reply #3 on: April 16, 2021, 01:12:15 pm »
beautiful work!
Great that you did that all in 100% PIC assembly,
and that you use all PIC resources so efficiently  - I love that too...
Are you willing to share your source code?
Thank you.

I put the current source at http://www.cashin.net/gpsdo.asm. It is a work in progress, so it will probably be out of date next week but I'll leave it there. It is not a 100% reliable web server so if you can't get it first try, wait and try again. You will need MPLAB X IDE v5.35 to see it properly, v5.35 is not the current MPLAB X version. They discontinued support for MPASM (the compiler) after v5.35 and there isn't a good replacement (that I have found). It can still be downloaded from the Microchip website https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-ecosystem-downloads-archive

The source is a bit haphazard and the comments are meant for me so I can get back to it and remember what I did. If you want to rip some of it but not sure what it does, feel free to ask. I am rather pleased with the software UART to receive the 9600baud NMEA, I haven't seen a dropped message yet. It was a devious way of interfacing with a 3.3V device without a level shifter, and also freed up the real RX for user input.

It may seem odd that I chose a PIC processor with USB, but don't use the USB part. I looked at the specification and decided it did all the things I wanted, so bought it. Now I've got a few, no point in researching a different one.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf