Other components

 

I build the VCO box in a alu box with two compartments. The right compartment keeps the VCO box and the DAC with a second temp device (also the tmp117), including the filter and the setup resistors for the control voltage on the Bliley. This part is very temperature sensitive. I will control that with a resolution of 0.01 degrees Celsius. It also will give the VCO box a very temperature controlled environment. Between the VCO box and the aluminum case I also let a space of one centimeter, also the bottom. Additional buffer for temperature sensitivity. In the left compartment I build the Arduino, the GPS radio, the LCD screen, the power adapters (5V), and the phase comparator, including all the rest of the logic. And a third temperature sensor, again the tmp117.

All devices have separate power supply from individual 5V regulators. These are powered by 8V input power.

 

The GPS radio is the NEO M8T on a break out board. It gets 5V from a seperate adaptor to avoid influence from other circuits.The PPS is going to the hex invertors for buffering and making 50 Ohm output impedance. Available at the back panel of the Box.The PPS also goes to D8 of the Arduino via a 100R, and to the SIG_IN of the phase detector.

 

For a liquid crystal display we use the LiquidCrystal_I2C.h library. 4 rows, 20 colums. Address is 0x27.Next device is a TMP117 precision temperature sensor, which is build in the VCO. Also over I2C, address is 0x48.Next device is a second TMP117, which is in the case space, where the Arduino is. Address (pin to VCC) is 0a49.Next device is a third TMP117, which is in the Box space where the VCO is resided. Address (pin to SDA) is 0x4A.Next device is the AD5693 DAC, which is also in the space where the VCO is. Address is 0x4C.

 

After we did some programming in the Arduino via Arduino IDE, The start up goes like this:

During start up, we get the message GPSDO starting up, on the LCD. The temperature sensor in the VCO is checked on responding. And if ok we get the message "warming up to x", and Temperature = <temp> until x degrees Celsius. After the VCO has reached the set temperature the sw continues with further tests.

Other two TMP's are checked and if ok the DAC is checked.

 

D8 is connected with the 1 PPS pulse of the GPS receiver. On the rising edge of the PPS pulse, the Timer1 capture interrupt routine is run. The interrupt system is set on capturing D8 rising edge.The interrupt routine does a few things:- Timer1CounterValue is set to nr of captured 200ns pulses (Input is 5MHz). At the start the counter has a random value. It counts for a second  so can get the max value 49,999.- TIC_Value is read (ns) from input A0 in the original design, but I will acquire the NPO capacitor voltage with an ADC.   In this phase of the build the ADC is not connected yet. - Decharge the capacitor on A0 with D12, not yet connected. - PPS_ReadFlag is set 'true'  We are going to test the output of the DAC with several values corresponding with several voltages on the output of the DAC. We check the value with a scope, and check the freq of the VCO with a Spectrum analyser which is GPSDO stabelised. In this check we have a max value of the DAC of 2,5V. This works, see doc for exact values. Next device added is the ADC, ADS1115. Address is 0x4B, address pin connected to the SCL. Works also good.

 

Go to declarations