Function Generator Sine / Triangle / Square / Saw ( PIC16F870 )


Posted on Feb 15, 2013

After the recent demise of our multifunction signal generator, we decided to make one of our own. The circuit uses a PIC16F870 (about $3), an R/2R resistor ladder network (for a real fast and cheap D/A), and a few other parts. You can check out the schematic and the current source file. Also the object (hex) file. All of the sine wave functions utilize a full 256 byte by 8 bit lookup table. Contrary to what you may have heard elsewhere, it is possible to use a full memory page in the PIC for a lookup table - check it out.


Function Generator Sine / Triangle / Square / Saw ( PIC16F870 )
Click here to download the full size of the above Circuit.

The only real elaboration was the design of the low-pass filter. With the present design running on a 20 mhz clock, you can get over 60 khz of very clean sine waves. The frequency is adjustable in 1, 25, and 500 hz steps. The unit produces accurate frequencies down to 1 hz. Since all of the waves are generated in software, the 'user interface' had to be kept to a minimum. Three LED's indicate the functions (which vary depending on the type of wave being generated). Three more LED's indicate the step rate of the adjustment control. Pushing the RATE button advances to the next step rate and pushing the select button goes to the next function. The wave function itself is selected by holding down the select button while rotating the adjustment control. Since there is no visible indication of the wave type or frequency, you need to have a scope hooked up to see what you are doing.




Leave Comment

characters left:

New Circuits

.

 


Popular Circuits

12 Volt Fluorescent inverter for 20 - 40 Watt tubes
450W Power Factor Controller with Universal Input Voltage Range
6 - 12 Volt Adjustable Power Supply Circuit Schematic Diagram
Oscillator circuits
avr How to redesign a circuit to use a current sinking IC rather than a current sourcing IC
overtone crystal oscillator
40mhz rf amplifier circuit
555 pulse timer circuit diagram basic
Implementing A Sewing Machine Controller With An Mc9rs08ka2 Microcontroller



Top