# VCO from a rectangular and triangular signal generator

I need to create the simplest rectangular and triangular signal VCO I can using op amps. The output frequency should be changeable between 1k and 15k. I should also be able to change the amplitude of rectangular signal between 2 and 4 V. The triangular has to have the amplitude 5V. I was hoping I could modify this circuit by adding a DC voltage source somewhere to the V- input of the integrator, but I don't know how or if that's the answer to my issue. Can this circuit be modified for what I need or am I wasting my time and should look for something else?

simulate this circuit – Schematic created using CircuitLab

• That is not a VCO of any kind. Its frequency should be almost entirely independent of the operating voltage. Dinking around with the DC voltages inside the circuit will probably stop it from oscillating at all. – JRE Jul 21 '18 at 12:01

simulate this circuit – Schematic created using CircuitLab

Figure 1. A "get you going" modification.

Your circuit isn't voltage controlled but can be modified to give manual control.

• Addition of R7 varies the rate that C1 charges (the integral time) and hence the frequency.

• For single-ended supply you need to bias the op-amps to mid supply. This is done by R8 and R9 and an additional non-inverting, voltage follower, op-amp (OA3) here would help buffer the V+/2 voltage.

• For 0 - 5 V triangle output with a 5 V supply you need op-amps with rail to rail outputs.

• To attenuate the squarewave you can add a potential divider or pot, R6, from the output to mid-supply will suffice.

• The circuit was cobbled together with components salvaged from my junk box. Fixed, thanks, @Andy. – Transistor Jul 21 '18 at 12:37
• Maybe make R7 a digipot? – Andy aka Jul 21 '18 at 12:49

Considering your circuit, it would help if some explanation of it was given: -

IC1a, R1 and C form an integrator such that if the square wave (from IC1b) is in its negative half-cycle, there is a positive ramp on the triangle wave output. The ramp rate is dependent on the magnitude of the negative portion of the square wave. A more negative value creates a steeper slope in ramp; a smaller negative value creates a shallower ramp.

Likewise on the positive sections of the square wave; a larger positive value of the square wave creates a steeper negative slope; a smaller positive value of the square wave creates a shallower negative slope.

So, if the output of IC1b were somehow clamped to a smaller p-p voltage, the triangle wave output would take a longer to reach the trigger threshold point of IC1b (determined by R2 and R3 in my diagram). And it is this fact that can be used to create a variable frequency triangle wave whilst keeping the triangle wave amplitude stable.

Consider the voltage clamp circuit: -

On pin 5 is 3.3 volts but it doesn't have to be 3.3 volts - it could be "voltage controlled". If you duplicated this circuit for negative square wave excursions by reversing the diode and using a negative reference voltage, you have the ability to clamp a square wave from a very small value (say 200 mVp-p) to say 20 volts p-p. That's a 100:1 amplitude range and this will produce a frequency range of 100:1.

You need two reference voltages (one being the negative of the other) but, this is easily changed to a singlecontrol voltage by using another op-amp to invert the positive control reference voltage to a negative value: -

Can this circuit be modified for what I need

I think it's worth doing if only to learn from it. I'm not sure that 5 op-amps (including your original two plus the VCO input inverter) is as far as you would wish to go but it should work reasonably with half-decent op-amps on a +/- 15 volt rail and with a little effort and better choice of op-amp on a +/- 5 volt rail. Or use a modern version of the ICL8038 (35:1 range on frequency adjust).