Hello All,

Thanks to the advice earlier, I’ve gotten my HP 10544A OCXO working well, and 
close enough in frequency that the EFC is useful. I’ve started work on putting 
together a home-brew GPSDO. In short, it’s an Arduino Due, and a u-blox MAX-7 
module. (I may think about grabbing a LEA module in the future, but the data 
sheet reference to PPS accuracy looks about the same, so for now, the MAX-7 
will work alright).

The Arduino Due has some nice 32bit timer/counters on board, and I’m clocking 
one of them from the 10MHz output from the 10544A. The PPS output of the GPS 
goes into a hardware trigger pin, so I can trigger a capture of the counter 
value in hardware without the delay uncertainty of trying to capture it in an 
Interrupt Service Routine.

I’m using one of the Due’s on board 12-bit DACs (Not PWM) to feed the EFC input 
of the 10544A. The Due’s DAC output is only 0-3.3V, which is a fair bit less 
range than the -5 to +5V of the EFC input. Since the EFC input is inverting, 
I’ve got the crystal coarsely set just slightly high in frequency, and the DAC 
operating from 0-3.3V will bring it down to where it should be.

To put a VERY basic disciplining scheme in place, I’ve set it up so I’m 
capturing the clock cycles of the 32bit counter (clocked from the 10MHz), every 
second on the PPS trigger, adding them up over 420 seconds (a few seconds shy 
of the 32-bit counter overflowing), and then taking the average. If it’s high, 
voltage goes up, if it’s low, voltage goes down.

I haven’t yet put in place, but I plan to:
Reconfigure the u-blox module into stationary position mode, which should help 
with accuracy over the default mode
Implement a survey routine to average some number of position samples on 
request/on power up?
Implement different disciplining modes, at power on, give the oven time to warm 
up, when first disciplining, average over shorter intervals to hone in on the 
proper EFC level quicker, move to longer intervals for long term disciplining.

I would like input on the control loop though. I can’t say I’ve done a lot of 
control loop theory, but I imagine folks have good ideas for better ways to 
discipline this crystal than just taking really long averages.

I haven’t put labels on the case yet, but here’s an album with some photos of 
the build so far. I still need to add a buffer amplifier for the 10MHz output 
so as to not load down the crystal too hard, but otherwise I’m fairly satisfied 
with the build so far. http://images.digitalnigel.com/index.php/GPSDO-Build 
<http://images.digitalnigel.com/index.php/GPSDO-Build>

Anyway, thanks again for the insight earlier regarding tuning the oven 
temperature, and I look forward to your thoughts regarding this build.

Thanks,
Nigel
_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to