dannyf wrote: Sat May 29, 2021 11:19 pm
...
Re his approach of using a phase comparator: I was actually thinking about this the other day. Use a divide-by-N device (a mcu for example) to divided your local oscillator to a 1pps, and run it into a phase comparator (4060 or an xor) and the resulting voltage can be used to control the LO.
Yes, that is the phase-locked loop (PLL) control method. I am using a frequency-locked loop control method. Both methods work and achieve the same result, while each method has its advantages and disadvantages.
If you want the absolute minimum complexity GPSDO you can take a look at the Lars' DIY GPSDO thread here:
https://www.eevblog.com/forum/projects/ ... ution-tic/
This is how my design compares with Lars':
- It's based on a powerful 32-bit STM32F411 MCU running at 100MHz, instead of a 16-bit AVR MCU.
- It uses a digital FLL, not a digital/analog PLL.
- It can be put together on a breadboard in one afternoon (provided one has all the parts).
- It works practically "out of the box". There is nothing to adjust.
- It has an optional small OLED display.
- It has an optional BMP280 atmospheric pressure and temperature sensor.
- It has an optional AHT10 temperature and humidity sensor.
- It has an optional Bluetooth interface, so you can control it from your smartphone.
- The BOM is very short and all the bits and pieces are easy to find and order.
- Total cost is < 30€ (that's about US $35).
I don't think it makes much sense to design another minimal DIY GPSDO these days, since Lars' design is as basic as it can get. And unfortunately "basic" does not mean "easy to understand/maintain", at least when it comes to embedded software. If you compare Lars' Arduino sketch to mine, you'll immediately notice they are miles apart in terms of software design. The spirit is completely different. For one, one of my objectives was to get from start to the finish line (design, development, implementation and testing) in a matter of weeks, not months/years like Lars'. For that, I decided very early to use as many readily available libraries as possible, whereas Lars' uses exactly none...
Another objective was to write code that is highly "maintainable": easy to understand, modular, abundantly commented, and as short as possible, and again, that relies on libraries and functions that simplify the program logic. Some DIY GPSDO projects use thousands of lines of PIC or AVR assembly language code...
