Arduino Uno 555 controller

I have several projects that call for frequencies greater than 20 KHz.
A simple 555 circuit can produce the frequencies needed; however, all have either an unknown frequency target or must constantly change.
Since arduino does not seem to be able to do the job, it can be used to control a digital Potentiometers and hopefully a Digital capacitor.
I have a schematic of a concept curcuit, if I can figure out how to include it, I will.

The 555 frequency generator, generates a frequency based on one variable resistor and one capacitor.

Looking at: http://www.digikey.com/product-search/en/integrated-circuits-ics/data-acquisition-digital-potentiometers/2556350?k=Digital%20Potentiometers
and http://www.digikey.com/product-search/en/integrated-circuits-ics/specialized-ics/2556114?k=Digital%20capacitor
for the digital pot and cap.

One question I have is how to use an arduino uno to control a digital cap?

Ok. got picture included.
The wiring for the AD5171 came from this arduino site.
Second question is, is the DS1801 wired correctly?

There are two sets of digital pot and digital cap shown, may add more for more precise control of frequency.

Third question is there a better why to get computer control over frequencies? And preferable less parts.

I'd be inclined to just use a faster main MCU that can generate the frequencies you're after. Maybe an Arduino Due would fit the bill...?

The problem with using the 555 is that of duty cycle. It's incredibly hard to get both accurate frequencies and 50% duty cycles.

The 555 is not very good at high freqencies above 1MHz, a better method my be to use a crystal controlled oscillator and frequency dividers, the Arduino controlling the frequency divider output. Just a thought.

Chris

mightyruler:
I have several projects that call for frequencies greater than 20 MHz.
A simple 555 circuit can produce the frequencies needed

Heh, you're definitely barking up the wrong tree here!

You are looking for something like this?

Using a AD9850 chip.

Is there a chip that works like a 555, and can be used for frequencies above 20KHz?

Using two Extech EX330 meters i was able to test frequencies above 80KHz and think i got 100KHZ+. But that is the best test equipment i have. The chip did not get warm after a few minutes. I think around 100KHz it was very unstable, just touching the pot would cause big changes.

Google for "Voltage Controlled Oscillator", and "Clock Generator Chip".

oops.
Thanks for you help. After looking up Voltage Controlled Oscillator, I noticed I goofed on MHz which should be KHz, so the 555 is back in the game. I doubt I will be getting close to 1000 KHz.

D'oh

Ok, so you don't want high frequencies then. So yes, you could use the 555. Or just generate the frequencies directly using the Arduino - it shouldn't be difficult.

Hi, if you are going to use a 555, you will probably need 50% duty cycle, look up the 555 applications, NATIONAL SEMI, is the best, there is a specific circuit config to get 50% duty cycle output.

Tom..... :slight_smile:

majenko:
Or just generate the frequencies directly using the Arduino - it shouldn't be difficult.

It would be nice to just use the Arduino to find the target frequency and produce the frequency, but tone() max to low and no matter how large the number pasted into tone(), the frequency is to low.
How to use Arduino to make frequency other then with tone()?

And how to use Arduino to control a variable capacitor?

Don't use tone(). You could use the PWM system, or a timer to manipulate an IO pin.

majenko:
Don't use tone(). You could use the PWM system, or a timer to manipulate an IO pin.

??
looks like PWM is very highly limited.
http://arduino-info.wikispaces.com/Arduino-PWM-Frequency
List of Possible Frequencies: only has 10 frequencies.