Ovenized crystal oscillator frequency stability

What it does

In this experiment I will use an Arduino and a DCF77 time signal radio receiver to measure the stability of an ovenized crystal oscillator running at 1 MHz. It demonstrates that 50ppb (or 50 milliHerz) can be achieved on the short term, whereby an aging effect of 0.1 ppb per day is demonstrated with a 18 month long dataset. The output of the 1MHz oscillator is fed into a 248 counter and six 74HC165 parallel in, serial out (piso) conversion ICs that are controlled by an ATMEGA 2560, the circuit is described here. With this setup running at 1 MHz you get a rollover every 10 years, the resolution is 1 microsecond. In principle you could do this also with an Arduino but I decided for this set-up since I already had most of the components left over from an earlier experiment.

With the 48 bit counter and compare the output to the time synchronization signal received from the DCF77 transmitter in Frankfurt Germany, about 450 km from Rotterdam in the Netherlands. Once you collect 720 data frames after 12 hours a regression can be made between the internal clock and the time standard. The slope of the regression curve results in the frequency offset relative to the nominal oscillator frequency. In fact, the oscillator runs currently at -27.40 +/- 0.05 Hz below the reference frequency, and it is mostly affected by temperature. For this reason the oscillator is kept in an oven at approximately 60 degrees, it comes with its own power supply and operational amplifiers that are separated from the digital part. I managed to get the annual frequency variation of 50 milliHerz (or 50 ppb) in this way.

The hardware

On the front panel you would see for instance:

timestandard

where the DCF77 receiver is put several meters away, via a DIN connector and a telephone cable (has a two wire core and a mantle that you put to the ground) you feed to signal to the case. On the inside you get the following photo, where on the left image you find the ATMEGA 2560 mounted on a green PCB above the counter/piso board and on the left board you find the temperature controlled oscillator (TCXO). The aluminum box is the oven, under this box you find opamps of the thermostat and the power supply is on the bottom right grey PCB left of the blue arduino. The LCD display is below the thermostat electronics.

IMG_2131

In the oven I soldered a transistor on the 1MHz crystal case (it survived the torture), the thermostat it continuous and the precision is as good as the NTC and the resistors are. There is Styrofoam on the inside of the aluminum box to provide some protection against heat losses which seem to occur during the winter. Maybe I should try a double thermostat at some point.

img_2132

Analysis of the data

The experiment assigns one microsecond counts originating from the TCXO to the one minute time frames received from the DCF time standard in Germany. This allows one to compute regression coefficients, after 12 hour they give me the frequency offset of the oscillator relative to the time standard. The frequency offset is continuously evaluated, after 12 hours an estimated value is stored in the EEPROM of an ATMEGA 2560 board that also displays in real time the received DCF data and the estimated frequency offsets. Every 6 weeks I read out the EEPROM, and that results in the following graph where the red line is a trend curve fitting the individual 12 hour measurements.

alldata_20062015

The current design requires about 180 days for the frequency to stabilize, I’m not sure what goes on, perhaps it needs to get rid of some of the volatiles before it stabilizes. Earlier I also noticed a 5 Hz jump, it occurred only once roughly 2 months before I arrived at this design in September 2013. When you leave out the first 180 days of data you get the following graph:

stabledata_20062015

This graph shows a short frequency standard deviation of approx. 40 to 50 ppb, (1 mHz (milliHertz) divided by 1 MHz (megahertz) equals to 1 ppb). Aging of the crystal (frequency reduction over time) is considered to be normal, I found 0.1 ppb/day or 40 ppb/year which is approximately 5 to 10 larger than what you can get from high quality crystals. In July to September it can occasionally become hot in my mancave, and in this case the temperature compensation may not be sufficient, so this explains the yearly amplitude of around 50 ppb that can be observed.

Allan deviation plots

After modelling the effect of voltage change of the thermostat on the oscillator, removing a (linear) aging effect and editing out the first 180 days of data where the system was converging to a stable frequency, I arrive at the following Allan deviation plot.

allanvariance

The Allan deviation analysis shows that 13 ppb can be obtained with an integration time of 35 days.  For integration times up to 10 days we see 1/f behavior indicative of sampling noise, between 10 days and 35 days we see a plateau, and beyond 35 days we see a random walk process. This is nowhere near what can be accomplished with a professional system, but these systems come at a cost, this DIY experiment born in the mancave is worth no more than $100.

Conclusions

What is demonstrated is 100 ppb frequency stability within 5 days and 10ppb within a month with a $5 dollar crystal in a thermostat at 60C. In order improve this experiment I would start to improve the sampling of the DCF signal. DCF77 reception is oftentimes noisy and in the current set up approximately 1 millisecond repeatability can be obtained after a minute. Frequently the DCF77 reception noise is such that no measurements can be obtained, typically I receive 70% of the frames and when there are thunderstorms near Frankfurt nothing is received at all.

To improve the reference time signal one could consider GPS with 1 pps output. With my wireless GPS receiver I demonstrated already 500 microsecond noise for 10 seconds pulses collected in a 10 minute data batch, (these statistics are based on the comparison between a non-ovenized Arduino oscillator measuring the 1pps output of a GPS chip). When we would use a latched counter running at 10 MHz and an ovenized quartz where the latch is triggered by the 1pps pulse and the Arduino reading out the counter then better results can be achieved. Yet GPS needs an outdoor antenna, and it would require a coax cable etc etc. This makes the design more difficult; with DCF77 technology (a 10 euro board that I got from CONRAD) I only have to keep the antenna somewhat away from switching power supplies etc.

Last update: 20-jun-2015

Advertisements

8 thoughts on “Ovenized crystal oscillator frequency stability

  1. I am sort of curious what your purpose for the ovenized time base is. I have a fair bit of experience with this but your application must be different from the usual ones. I was surprised to see the TXC crystal, as a former engineering manager for them that got my attention.

      1. Thanks for the info. You probably already know that at 1Mhz the crystal you are using is likely a BT cut rather than an AT cut. The BT has a quadratic temperature response as opposed to an AT which is cubic. The at is usually club rated to an inflection point at 25c. What temperature are you controlling for? One thing to keep in mind is that since you are not using a stress compensated crystal you are likely to find a continuous frequency drift that can be significant after about a year.

      2. I keep it at 60C, the way I made it the crystal keeps oscillating with 50 ppb at -27375 milliherz under the 1 MHz it was designed for. Probably the DCF77 readout adds most of the noise to the Allan Variances that I estimated.

      3. Sounds like it is working ok. The Allan varience excess noise can usually be surmised by the shape of it. Unless you have a very Goode test set it can be difficult to determine if the noise may actually be a test artifact since we’ll designed crystal oscillators can be very low noise. I have found that usually the problem lies in either insufficient insulation of the resonator or switching noise from the thermal controller.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s