Hi!
First I want to thank all the people that helped me when I asked questions about this project on this great forum.
This is my function generator based on a XR2206 IC. The XR2206 monolithic function generator IC is available on ebay for 3$.
The Arduino (ATMEGA8) handels the frequency counter.
I wanted to build a XR2206 synth but changed my mind.
I thought it would be better to start with something easy and learn how the XR2206 work before trying to control it digitaly.
The XR2206 is controlled with resistors and capacitors.
Frequency range is adjusted by changing a capacitor.
The frequency inside the range is controlled by a resistor (pot).
One problem (at least for me) was that the different waves had different voltage levels.
I ended up with two outputs. One 0-5V and a second adjustable 0-12V.
The knobs on the frequency generator controlls the following (from left to right):
-
Frequency range
1-10Hz
10-100Hz
100-1000Hz
1000-10000Hz
10000-100000Hz -
Frequency
-
Duty cycle (Used by pulse and sawtooth wave)
-
Voltage level for second output
-
Wave type.
Square
Pulse
Sine
Triangel
Sawtooth
Part list:
XR2206 (Monolithic function generator IC)
ATMEGA8 (Counts the frequrency and controlls the MAX7219)
7-segment display with integrated MAX7219.
TL072 op-amp (used to adjustable voltage on second output)
ICL7660 (Produces negative voltage to the op-amp)