Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Sine wave generator

  1. Feb 2, 2010 #1
    As a circuit element I need a 60 Hz sinewave with low harmonic distortion (maybe 1-2% max.) and precision amplitude (1-2% max) of about 2.5 volts.

    It should be syncronous with an input reference frequency. The reference is about 30KHz and is some as-yet-undetermined multiple of 60 Hz.
  2. jcsd
  3. Feb 2, 2010 #2
  4. Feb 2, 2010 #3
    How about dividing 30KHz by 500 and filtering it out?
  5. Feb 2, 2010 #4
    It looks like opamp #2 in my previous post (Wein bridge oscillator) is a precision rectifier with a square wave output. Replace this with the 500th (or whatever) subharmonic of your 30 kHz oscillator. The last digital division in your chain should be a divide by two to assure a 50% duty cycle square wave output. 30 kHz; divide first by 10 by 5 by 5 then by 2.

    Bob S
  6. Feb 3, 2010 #5
    I've printed out the wein bridge oscillator so I can dwell on it later. But how can I sync it to 30KHz? I will invariably require a uC for other tasks so that I can develop a 60 Hz digital signal off the 30K, however, so I do have a source of 60Hz digital I might sync to.
  7. Feb 3, 2010 #6
    That's an OK idea. If I had a 60Hz square wave, how would I develop a 60 Hz sine wave with 2% distortion with 1/2% resistors and 2% caps, more or less?

    That's pretty narrow. Maybe 5% harmonic distortion is OK. I'm not that familiar with distortion on load devices.
    Last edited: Feb 3, 2010
  8. Feb 3, 2010 #7


    User Avatar

    Staff: Mentor

    How about just using a DAC and filtering around 60Hz?
  9. Feb 3, 2010 #8


    User Avatar
    Science Advisor

    I wonder how something like this would go?

    http://dl.dropbox.com/u/4222062/60%20Hz%20sinewave.PNG [Broken]

    The ICL 8038 function generator chip is apparently still available. It gives simultaneous sine, triangle and square waves out and can be controlled by a DC voltage. It has a linear frequency vs DC current relationship.

    So, you could compare the square wave with an incoming square wave in a phase comparator and use the difference to control the 8038 oscillation frequency. The square wave out requires a pullup resistor.

    Then take the sinewave out on the same frequency. Output is about 200 mV at 1 K output impedance. There are controls available to optimise distortion.

    The application sheets describe something quite similar to the above.
    Last edited by a moderator: May 4, 2017
  10. Feb 4, 2010 #9
    All good ideas.

    Since posting originally, I came up with a microcontroller idea. To my suprize, you can sync the uC clock of some of the motorola family of processors to an external source like ~30KHz. I've got to double check this information. I hope this is true, without locking onto a close-by match between the processor oscillator and the incoming freq.

    If so, I'll drive an interrupt input with the 30KHz signal as well. The controller clock has to lock faithfully or I end up with aliasing due to variable delay from the time the 30Khz edge is presented to the interrupt and the time it's noticed. Then I'll use one of the pulse width modulation (PWM) outputs driven by a look-up table with 500 values and filter it with an RC filter to get 60 Hz with a known amplitude good to maybe 2-2.5%. The PWM is less hardware than using an external DAC which would work, as well.
    Last edited: Feb 4, 2010
  11. Feb 4, 2010 #10


    User Avatar

    Staff: Mentor

  12. Feb 5, 2010 #11
    Thanks, berkemen. I've bookmarked it just in case. The site may also be a good source of other circuit blocks too. I'm all for plagiarism and adapting where I can get it. Why reinvent the wheel? In my own recent searching of the internet I haven't found many good circuit-block sites.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook