# Sine wave generator

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.

Related Electrical Engineering News on Phys.org
How about dividing 30KHz by 500 and filtering it out?

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

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.

How about dividing 30KHz by 500 and filtering it out?
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:
berkeman
Mentor
How about just using a DAC and filtering around 60Hz?

vk6kro
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:
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:
berkeman
Mentor
Here's a nice IC suggested in another thread:

It works in your frequency range, but you might not be able to phase lock it to your external signal.

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.