Honestly, I would not claim that a saw-tooth signal is crucial for tuning audio amplifiers and similar stuff. It's rather a matter of convenience and helps to spot several non-linearities easier than a sine-wave. I've assembled this generator in order to top off the Wien bridge based sine wave generator. Since then I use it regularly because it helps to reveal subtle oscillation issues in amplifiers way better that any sine or square wave can do.
In this article:
High quality saw-tooth generator using CMOS 555 timer chip
Buffer amplifier stage with nearly infinite input impedance
Variable gain buffer with gain from -1 to +1
Linearity of professional equipment using budget OpAmp
Important: in this design only a quality CMOS variants of 555 timer can be utilized. For example: TLC555 datasheet by TI.
Older bipolar 555 timers give horribly dirty results and literally stink into the power rails. The current spikes that 555 oldies produce are nearly impossible to suppress.
To my mind here is one of the most clear representations of what ticks inside 555:
Here we use the 555 timer almost in its standard application.
Saw-tooth signal generator
R1, R3 = 36 kOhm
R2, R4 = 100 kOhm
VT1 = MPS2907A
C4 = 10 nF
C1, C3 = 0.1 uF
C2 = 10 uF
The VT1 forms the constant current source (CCS). This CCS is responsible for charging C4. The constant charging current forms the voltage that raises linearly on that capacitor.
The value of the current generated by this CCS is almost proportional to the power supply voltage. Threshold voltages in 555 are also proportional to the VDD. That in turn provides nearly constant generator's frequency regardless the power supply voltage variations.
In this circuit the threshold voltages of the 555 timer (input 5 "CONT") slightly lowered by adding R4. That trick adds more room for the CCS, assuring generator's exemplary linearity at low supply voltages of around 6V.
Discharging of the time and signal shape setting capacitor C4 happens via the pin 7 "DISCH". It is worth mentioning that the output MOSFET in the 555 provides quite constant discharging current. Therefore the falling side of the generated signal is very linear too.
High impedance buffer
Unfortunately the nearly ideal saw-tooth signal on C4 can not be fed directly to the load. Because any additional current will distort its shape and change the oscillation frequency. Therefore we need a buffer with infinite input impedance. In the proposed solution even a budget BJT-inputs OpAmp LM324 (datasheets: National/TI, Fairchild, OnSemi) can do the job extremely well. Provided it was loaded by the external CCS (I'll explain it shortly).
The buffer amplifier with almost infinite input impedance
R5, R6 = 330 kOhm
C5, C6 = 0.1 uF
Probably one can do without these complications and simply utilize a conventional non-inverting buffer using some top-quality OpAmp with FET inputs.
Variable gain from -1 to +1
The saw-tooth signal is slow one way and fast another way. I wanted to be able to test my creations both ways. This attenuated buffer solves the puzzle quite elegantly without the use of a switch and allows to invert and tune the output signal amplitude.
Variable gain (-1...+1) buffer OpAmp stage
R7, R8, PR1 = 10 kOhm
Operating in a real single-ended class "A"
In order to obtain exemplary linearity here we use the same trick as in the Wien bridge generator: loading OpAmp outputs using external CCS. By doing that the mediocre output stages of LM324 that normally operate in class "B" get shifted into the real single-ended class "A" operation mode.
The magic CCS load for a single-ended class "A" OpAmp
R9 = 6.2kOhm
VT2-VT4 = 2n2222
In fact in my design I used 5 BJT transistors in order to load every output of the quad LM324.
Single power supply
How and why to form a virtual ground for using the single power supply or batteries was described in details here. I used this one circuit for both sine-wave and saw-tooth generators.
Virtual ground for single power supply operation
VD2 = red LED 1.7V
R10, R11 = 2kOhm
C10, C11 = 0.1 uF (ceramic or film)
C12, C13 >= 10 uF
Let's test it!
The saw-tooth signal at the generator's output:
Nearly ideal saw-tooth form already at 6V power supply
The oscillogram above was obtained while feeding the generator from 4 alkaline batteries. Shall you raise the supply voltage a tad - the linearity becomes indistinguishable from ideal by a naked eye.
I have to note that the output signal amplitude of this generator is proportional to the power supply voltage. It was not the case for the Wien bridge oscillator because there we had AGC circuitry.
TLС555CP + LM324 = two generators
Note: in case one also decides to assemble two generators described in this blog on a single board (same way as I did) - it is strongly suggested to supply a separate power switch for the 555 timer. A simple "jumper" would do - check the blue square left from the 555 on the picture above.