Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

What Sine-Wave Oscillator can be controlled with a microcontroller?

+1
−4

I need a Sine Wave Oscillator circuit that can allow me to control its frequency with a microcontroller. Until now all the topologies that I have found if the frequency is changed, a change in the circuit component is mandatory here is some topologies: :
Courtesy of TEXAS INSTRUMENTS

For now am going to be using Arduino as a microcontroller, some forums suggest the use of AD9850 module but I couldn't find it :( .

The frequency range that I am aiming is from 10 Hz to 10 MHz pure stable sinusoidal wave. And the amplitude of 10 Vpp ,1 mA , -28 dBc (if my calculation is correct), the two ways that i can think of to control the circuit is with the help of a digital potentiometer or a DAC of 8 bit or 12 bit.

Edite:
So i have found this circuit which is based on Varactor a VCO;



My question is why we need a DC isn't the AC enough?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

3 comment threads

Can't find AD9850 <-- you didn't look very far then!! (1 comment)
Quote: "Until now all the topologies that I have found if the frequency is changed, a change in the c... (3 comments)
Specs? (2 comments)

2 answers

+3
−0

10Hz to 10Mhz is a wide frequency range, it would be very hard to cover that whole range in the analogue domain, as you have discovered analogue oscillators that can span more than a factor of about 3 frequency are tricky. so far as I know the best perfoming tunable oscillator is the Vackář_oscillator.

But you're asking for 1:100000 range, in a simple oscillator that's not going to happen.

Early television sets used one oscillator for each channel, switching channels with a clunky channel selector that swapped the inductors and capacitors in the circuit, later designs mangaed a 1:3 tuning range and split the frequency range into 3 parts, approximately ( 45-115 , 115-300 and 300-900 )

for a 1:100000 range The only analogue approach that I can see working would be to make a higher frequency say 10.7MHz to 11.7MHz using some sort of tuned circuit and then "mix it down" by multiplying it with a fixed 10.7MHz perhaps using a Gilbert cell, and then a low pass filter to exclude the original signals and the upper sideband. (10.7 MHz chosen because it's used in FM radio receivers, so filters etc should be readily available)

Others have suggested using AD9850 which is a digital chip that uses DDS to produce a sine wave, this seems a far easier approach, copy the example design from the datasheet, or purchase a pre-assembled module.

If you don't want to learn all about radio design from the last century the DDS is the right approach.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

back on track (1 comment)
+0
−2
pure stable sinusoidal wave

This is impossible. Forget it. Go home.

No matter what you do, there will always be some noise added to the sine wave. Some random noise and some harmonic distortion are inevitable.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

" How accurate does this "sine wave" need to be? " (16 comments)

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate