The saw tooth waveform is produced by charging capacitor C1 via a current source on VT1 and VT2. The current can be adjusted with R2 which results in varying the waveform period in the range 1 Hz - 1 KHz as the resistance of R1+R2 varies between 1K and 1M. The generated waveform has a pretty high linearity.
Schematic | Oscillograms | |
This principle is not new, but the main question is how to discharge the cap. Standard solutions are based on using tunnel diodes and uni-junction transistors. Those approaches are very sensitive to the parameters of the used components and do not provide a complete discharge of the cap. For my application it was essential that the saw tooth waveform starts at 0V.
The voltage on C1 is monitored by a comparator embedded into the microcontroller DD1. As this voltage becomes greater than 3.59V (which is determined by the voltage reference R6 - VD1) the comparator changes its state. This signal is used to reconfigure pin 3 of the microcontroller from input to output and driving it low for about 100 microseconds. This way the cap gets completely discharged and the voltage on it drops down to 0. After this pin 3 is configured back to input, which releases the cap for charging and the process repeats. Using microcontroller makes it easy to tune the circuit to meet the desired parameters by modifying its program. It also makes it possible to easily get short sync pulses at pin 4 at the beginning of every change period. The duration of these pulses and their polarity can be adjusted by software.
I needed a waveform of amplitude up to 40V for tuning a varicap. This is achieved by using an amplifier based on DA1. The amplifier is powered from a 40V DC/DC converter on DA2. Its switching frequency is 1.3 MHz. The voltage regulator DA3 stabilizes the amplitude of the generated waveform.
PCB bottom | PCB top | |
The oscillator is assembled on a one sided PCB, which is designed with Eagle software and available for download. Most of resistors and capacitors are in 0603 package. Exclusions are C3(1206), C4 (0805), and C5 (tantalum of size A).
If you wish to generate waveforms of frequencies below 1 Hz, I recommend to add 1K resistors to emitters of VT1 and VT2. This helps to increase the internal resistance of the current source and improve the waveform linearity. Alternatively, one can use a cap C1 of a larger capacitance. In this case, however, one might need to increase the discharge delay time in the microcontroller code.
Last modified:Mon, Jan 23, 2023.