Short-term stability of the completed oscillator was good – so long as the temperature didn't change! The room where the transmitter was destined to live is unheated and has a wide temperature range between night and day.
I plotted the temperature change per degree shift in ambient temperature and ran a regression analysis… this suggested I'd see several HUNDRED hertz shift across the diurnal range. This is "Not good" when the QRSS window is 100 hertz wide!
The time-honored approach to stabilizing a crystal oscillator is a crystal oven to keep a constant temperature on the crystal (the dominant source of drift) and use capacitors with highly predictable temperature coefficients.
I haven't seen a reasonably priced crystal oven in a long time – EBay didn't provide much hope either so I consulted "The Google"….
I found a great article on the RSGB website (Radio Society of Great Britain – the UK version of the ARRL) by Des M0AYF – you can find his article on Crystal Ovens here. Des had successfully implemented two different types of crystal "oven" using analog control with a thermistor to monitor the temperature and a hefty power resistor as the heater.
Inspired by his success, I opted to build a variant of his Mk-1 design – turn the entire oscillator and its enclosure into a temperature-controlled environment.
The PIC I had chosen for the system controller has a 10-bit analog-to-digital converter built in – so it was an easy choice to use digital control in software rather than implementing the op-amp analog control used by Des.
National Semiconductor makes an inexpensive precision temperature sensor – the LM35 – available in a plastic package for a little more than $1 (and conveniently stocked by one of the local component stores). The LM35 generates 10 mV per C – so at my planned "oven" temperature of 40-50 C, would put out almost 0.5V.
I soldered the LM35 to a small scrap of double-sided copper board together with a current reservoir (electrolytic capacitor) capable of driving the capacitance of the wires from the oscillator enclosure to the PIC board. This small PCB bolts to the inside of the oscillator enclosure with a large washer at the top of the bolt and on the bottom between the copper board and the nut. Heat conducting grease (copper impregnated) covers the backside of the copper board to improve heat conduction between the enclosure and the board.
The datasheet for the LM35 highlights that for the plastic version, the majority of heat conduction occurs into the device via its leads. I kept the leads short and soldered them to the top side foil of the board.
A 20-ohm (35 watt power dissipation) resistor provides the heat source. I found an aluminum-packaged version for < $2. The resistor bolts to the oscillator enclosure with heat conducting grease between the two surfaces. The PIC controls power to the resistor via a small relay applying 12v to the gate of a power MOSFET such as the IRF511. The relay is necessary as the PIC TTL driver can only apply 5V on its own – this isn't enough to drive the MOSFET into saturation. There are some specialized MOSFETs made for the automotive industry that will saturate on 5V but none in my junk box!
The oscillator enclosure mounts in the larger transmitter enclosure on nylon standoffs and screws. Foam board provides thermal isolation. Here are three pictures that show the oscillator with power resistor and mounting inside the transmitter enclosure.
The power resistor is at the lower left (bronze colored) – the silver device (soldered on one end to the power resistor and crimped with a red butt splice on the other) is a temperature sensitive fuse that will blow open at 72C. Call me paranoid but I wanted to eliminate the potential for a software bug causing thermal runaway or worse… set the insulation on fire! The heat fuse is a UL rated device used in a wide range of consumer devices to protect against such failures.
Disclaimer: If you decide to implement any aspect of this transmitter design including the oscillator enclosure heater, you are responsible for all consequences. You agree to hold the technical contributors and authors of this information harmless. The technical contributors and authors of this information disclaim all responsibility for consequential damages to person or property or other loss. You should consult a certified engineer if you have any doubts about your own abilities to understand or implement this or similar designs.
Here's a larger view of the oscillator in the transmitter enclosure with the insulation cover removed…
And finally, one with the insulation in place…
I was initially skeptical that the foam board would provide enough insulation and intended to replace it with fiberglass pipe wrap (3" wide, 0.5" thick – very inexpensive) once testing was complete. However, testing found that it was more than adequate!
The control loop for the "oven" runs in software on the PIC. My good friend and hardware mentor (Kevin K6TD ) pointed me at an article in December 2008 Circuit Cellar – "PID Control Without Math" by Robert Lacoste – you can purchase a PDF copy of the article from Circuit Cellar via this link. The article was well worth the $1.50 charge!
I implemented a version of the algorithm described in this article – initially in PIC assembler (which was laborious) and subsequently in C (much easier!). I'll post a link to the full C implementation of the PIC software in a later post.
The control loop keeps the oscillator enclosure to within ± 0.25C – this in turns keeps the oscillator stable to ± 0.25 Hz - more than adequate for both QRSS and WSPR operation.
I chose 40 C as the set point for the heater – I may have to revisit this if we get a hot summer here in California but in most places, 40 C should provide some buffer over the local summer high. The summer record at my location is 45C so we will see!
From room temperature, the heater takes less than 10 minutes to the point where it starts to cycle heat on and off – the oscillator is fully stable to the limits above within 15 minutes. Once at operating temperature, the heater goes on for 3-4 seconds every 40 seconds – better thermal insulation would cut this down even further.