How can I build a circuit to generate sine waves? What I am working on is building a 555-timer circuit that gives 50% duty cycle square wave, then using a low-pass or band-pass filter tuned to the frequency of the square wave to get a sine wave from the square wave (because square wave consists of infinite number of sine harmonics).

I haven't tested the circuit in the lab but I've used LTSpice to simulate it and the results was acceptable for low frequency (~72 Hz) but bad for high frequency (~72 kHz). I used this guide from Texas Instruments to build the narrow-band band-pass filter: link. Here is the simulated circuit:

and here is the result for frequency of 72 Hz:

and for 72 kHz:

The output of the 555-timer is a square wave with 50% duty cycle as wanted.

How can I improve this design to get better results?

Are there other ways to generate sine waves with controlled frequency? I don't want ready-made ICs that do this. I want to build a circuit.

  • 4
    \$\begingroup\$ Google 'wien bridge oscillator' \$\endgroup\$ – Wouter van Ooijen Apr 6 '16 at 19:06
  • 1
    \$\begingroup\$ The opamp you've chosen is old & slooooow. Its slew rate isn't fast enough to give you the result you're expecting at 72kHz. \$\endgroup\$ – brhans Apr 6 '16 at 19:17
  • \$\begingroup\$ In combination with which, you should be aware that "infinitely many" is only true in a very broad theoretical sense. It only contains harmonics of the base frequency (and noise + reflections/interference), and they extinguish in amplitude the higher they get. \$\endgroup\$ – Asmyldof Apr 6 '16 at 19:27
  • 3
    \$\begingroup\$ If you want a crappy sinewave: use a faster opamp, use steeper filtering. If you want a good sinewave: use a proper sinewave oscillator like Wouter suggested or a DDS like Sphero suggets. \$\endgroup\$ – Bimpelrekkie Apr 6 '16 at 20:15
  • \$\begingroup\$ the amplitude is too high for starters. \$\endgroup\$ – JonRB Apr 6 '16 at 21:59

DDS chip + filter is one way that's pretty common these days.

You can try to round off and then filter triangle waves with diode or active circuits.

At 72kHz, an LC oscillator would not be bad (wind your own high quality inductor or tapped inductor on a pot core if you like) and pair it with quality PPS or other film capacitors.

Or a Wien bridge oscillator.

If you want low distortion with an LC or Wien bridge you need to have a good AGC that controls the output level without adding too much distortion (so it will necessarily take many cycles to stabilize).

  • \$\begingroup\$ Thanks, but I can't understand all of your answer. \$\endgroup\$ – ammar Apr 7 '16 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.