Function generator with adjustable frequency from 0 Hz to over 400 kHz, adjustable amplitude, DC offset, duty, and of course the function selection – square, triangle, and sine. Generator based on good old ICL8038 integrated chip generator that gives pretty good shaped signals as for amateur purposes.
This circuit has been designed a little differently than ICL’s note or other similar circuits are suggesting. I tested a bunch of different configurations with different peripherals and chosen the best – so to get good waveshape at 400kHz. I got rid of some of the elements, I added my own solutions. The two ICL chips that i have can oscillate around up to 420-430kHz, and practically we can get good waveforms up to that frequency.
The biggest problem of these circuits generators is strong distortion on sine wave output pin 2 at frequencies above 100kHz – so most of the solutions based on this chip has a limited frequency. I found a workaround by not putting the load on the square wave output from pin 9 (open collector that needs to be pulled up to the power supply). In some way the quality of other waveforms is dependent on the load on this pin. Pull-up resistor is activated only when switching output to the square waveform – with the same switch. I got rid of the recommended in the note 10M pot to “improve” the vaweforms. As it turned out its only making them worse, and add a characteristic spout on the top of the upper half of the sine.
Square output pin 9 with open collector, normally would never be able to give a good square wave at these frequencies. Rising edge depends only on the pull-up resistor and its growing very slowly. If we give too strong pull-up resistor, in turn, the trailing edge will be weak because the internal transistor is too heavily loaded. Here, i fixed the square wave with a comparator so that the slope is pretty steep, steep as applied comparator can give. Shown in the schematic LM393 (1.3μs response time) has been replaced by LM293 comparator with 300ns response time – so square wave is acceptable at 400kHz, but it would be good to use even faster model of comparator.
For more detail: 400kHz function generator with ICL8038
This free embedded project also found using:
- Abgleich ICL8038 Funktion Signal Generator
- function generator ICL8038