Fork me on GitHub

Project Notes

#487 Crystal-locked 1kHz Oscillator

A 4.096MHz crystal oscillator divided by a CD4060, governing a wien-bridge oscillator to produce buffered sine and square wave outputs locked at 1kHz.

Build

Notes

This circuit is based upon an article by Michael Harvey in Silicon Chip 2018-12 p80. I’ve made a few changes:

  • modified to work from a single +5V supply (no longer needing +/- 12V in addition to 5V)
  • some component substitutions:
    • TL074 replaces LF347 op-amp
    • J201 replaces MPF102 JFET
  • removed the phase-lock indicator LEDs
    • I’m aligning with an oscilloscope
    • and using the 4th op-amp unit to generate the “half-voltage” virtual ground

Circuit Schematic

Schematic

Three key changes were required to get this circuit to work well with a single 5V supply:

  • use an op-amp unit to generate/buffer the “half-voltage” virtual ground
  • R11 increased to 3kΩ (from 1kΩ), required to provide enough adjutment headroom to lock-on in phase
  • R10 increased to 68kΩ (from 47kΩ), to reduce the gain of the Wien-bridge oscillator and prevent clippping of the resulting sine wave

The RC filter in the breadboard build is a bit lose, as I substituted 12kΩ resistors for 15kΩ (due to parts availability), so the corner frequency is around 1.326kHz instead of the desired 1.061kHz. It works “well enough” but distorts the sine wave somewhat.

Breadboard Build

Breadboard

CrystalLocked1khzOscillator_bb_build

Breadboard Test Results

I used an oscilloscope to verify the individual subsystems before integration.

First, the 1kHz pulse generator, nicely locked on to 1.00000kHz:

scope-bb-1khz_po

Next, the free-running Wien-bridge oscillator showing a natural frequency of around 971Hz:

scope-bb-wien_fr

Next, the buffered sine and square wave outputs with the Wien-bridge oscillator running free (not crystal-locked yet):

scope-bb-out_fr

Finally, crystal-locked and aligned:

  • CH1 (Yellow): crystal-oscillaotr pulse out
  • CH2 (Blue): buffered sine wave out
  • CH3 (Red): buffered square wave out

scope-bb-locked

Protoboard Build

I built the oscillator as a seperate module that plugs into the main circuit but can also be used on a breadboard:

cxo_mod cxo_mod_back cxo_mod_front

Final construction:

Build

Oscilloscope capture of the crystal oscillator, showing

  • CH1 (Yellow): raw 1kHz pulse
  • CH2 (Blue): RC-filter output

scope-cxo_mod

Oscilloscope capture of the final build:

  • CH1 (Yellow): raw 1kHz pulse
  • CH2 (Blue): square-wave output
  • CH3 (Red): sine-wave output

scope-locked

Note that the square and sine wave outputs are locked 180 degrees out of phase. Locking without a phase shift seems to require a bit more work to refine the circuit. I’m not sure if that was the design intention of the original circuit, but it works well and the outputs can always be inverted to bring in phase.

Credits and References

About LEAP#487 Oscillators
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.