Friday, 1 June 2018

How to build an accurate oscillator around 1 kHz?


Is there a way to build an accurate oscillator producing a sine wave for a single fixed frequency in the 500 Hz - 5 kHz range, using relatively common components?



  • Any frequency within this range would be fine (although somewhere around 1 kHz would be preferred), as long as this frequency can be accurately obtained in practice, within 1% or better of the theoretical value.

  • Some distortion of the sine wave is not critical, as long as the fundamental frequency is at the specified value. (In fact, other wave forms would be an acceptable comprise if a sine wave is too difficult.)

  • The only power supply available is 0-5V DC. The output should also be within 0-5V (although not necessarily reaching those values).




Answer



I think the DDS is the way I'd do it but, if you want a straight 5V logic solution you can use a 4060 logic chip. Here's one - the device uses a reference frequency from a crystal (or RC network) and offers a frequency divided down version - it's a 14-stage binary ripple counter and if you use a 1MHz clock you can easily derive 976.56Hz.


Next, if you are not happy with a square wave you can apply low-pass filtering to extract the fundamental frequency. Depending on how much low-pass filtering you do determines how pure the sinewave is. Here is a good application note about turning squares into sines. None of it is rocket science hence I'm letting the links speak for themselves.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...