In conventional triangular-wave oscillators, hysteresis from positive feedback in the Schmitt trigger determines the voltage levels and amplitude of the triangular waves. With this topology, it’s difficult to independently vary the voltage levels and amplitude of the output waveforms. To combat this limitation, a more versatile oscillator was designed (Fig. 1).
With this circuit, the voltage levels and amplitude of the triangle waves can be precisely and independently varied by changing the reference voltages VR1 and VR2. After setting VR1 and VR2 using two potentiometers, the frequency can be adjusted using the variable resistance R1 without affecting the amplitude of the triangle waves. The beauty of the circuit lies in the fact that VR1 and VR2 can be fed from any external source and, if DACs are used, a digitally amplitude-controlled triangular-wave oscillator is created.
Assuming identical Zener diodes with breakdown voltages of VZ, the period of the oscillation is given by:
T = 2RC(VR2 − VR1)/(VZ + 0.7)
As can be seen from the equation above, the time period of the oscillations can be linearly varied with VR2 or VR1 by keeping R, C, and VZ constant. Thus, the same circuit also can generate square waves whose period can be varied linearly with VR2 or VR1. The period of the oscillation can be increased by boosting VR2 and keeping VR1 constant, or decreased by increasing VR1 and keeping VR2 constant. The output of the versatile triangular-wave/square-wave oscillator is shown in Figure 2. Here, TR1A is the triangular waveform seen at point “a” in Figure 1. TR3A and TR4A are the voltage levels VR2 and VR1 set by two potentiometers. TR2A is the waveform as seen at point “b” of the circuit.