Quad VCO

This was my first module for the Bergfotron. It was originally based on a Doepfer PMS quad VCO board. The PMS was a polyphonic modular synthesizer kit, that Doepfer developed in the early 80s. The board worked fairly well, but consumed quite a bit of power, because of the chip heaters. Also the oscillators had a slight tendency to sync (lock) when the frequencies were really close. Therefore I have replaced it with ASM-1 VCOs.
The VCO board only has sawtooth and pulse waves. Therefore I have added waveshapers that produce triangle and sine waves. These are
my own circuit, based on the Moog 921.
I have also included a VCA for each VCO. This can be used for velocity sensitivity or connected to an envelope generator, if I want loundess control of an indivdual VCO. It is also useful if you want one VCO to amplitude modulate another.
On the module there is a mixer, with level knobs for each VCO. If you turn the mix knob fully anti-clockwise, that VCO will be removed from the mix and routed to the jack that normally outputs the raw triangle wave. This is important if you want to route one VCO to another destination, but still want to use the VCA.
To control the pitch, I have designed
my own CV quantizer. It is based on John Simonton's 4 bit digitizer. It outputs calibrated octaves and fifths. Because it has 16 steps, it covers 8 octaves and a fifth. It is controlled by a normal pot on the panel. In addition, there is a fine tune pot. As the quantizer outputs fiths, the fine tune pot only needs to cover a little over a fifth. This makes tuning the VCOs easier.

Circuits

VCO core

I have crammed four ASM-1 VCOs on a single 100x160 mm circuit board, to make it a drop-in replacement for the Doepfer board. The module already had four boards and it would be too much work if I had to change the mechanical design.

Issues with the Doepfer PMS VCO

The ASM-1 VCO

My quad VCO board layout is avaliable for download as two PDF files. One file is the actual board artwork and the other is a component placement plan. This board could be an excellent choice for those of you who build a polyphonic synth or for other reasons need a lot of oscillators in a small space.
There has been numerous request for board layouts for the other circuits in this module. Therefore I designed two new boards, one containing four octave quantizers and the other four saw to triangle/sine converters. These are improved designs, compared to my original module.

Basic quad VCO, board layout

Basic quad VCO, component placement plan

Octave quantizer, board layout

Octave quantizer, component placement plan

Saw to triangle/sine, board layout

Saw to triangle/sine, component placement plan

The ASM-1 VCO clone prototype.

I have designed, etched and populated a small PCB with a clone of the ASM-1 VCO for evaluation purposes. I have also used it to test different matched transistors for the exponential converter and different temperature compensation resistors. The test results were quite satisfactory. As I mentioned in the beginning, I have repalced the Doepfer board with oscillators of this design.

This is my SMD-module with a BC847BS and a tempco resistor. It fits in an ordinary 8 pin IC socket. The top will be covered with a bead of Araldite, as seen on the VCO prototype board.

Temperature compensation

The ASM-1 VCO uses temperature compensation resistors to compensate for the temperature dependency in the transistors that are used as exponential converter.
I used two different tempco resistors and compared the tuning error over an eight octave range. I also measured with an ordinary metal film resistor instead of the tempco. Measurements were done at 25 degrees and 38 degrees (centigrade) and the tuning difference was plotted (see diagram below). My CV quantizer was used to get repeatable control voltages.
Without compensation, the error is quite small att the high frequency range. At 7V CV (4186 Hz) it is 19 cents sharp. But with lower CVs the error increases linearly. At 0V CV (32,7 Hz) the error is a hefty 300 cent. No, that's not three dollars. It is three semitones. Completely unacceptable, in other words.
With the 3000 ppm/C tempco, things looked completely different. Now it went slightly flat in the top range, when the temperature was rised. The error was -19 cent at 7V CV (4186 Hz). In this case the error didn't increase at lower frequencies. It got smaller. At the lowest frequency the error was so small that it couldn't be measured with my frequency counter.
I also tried with a 3900 ppm/C tempco. This overcompensated slightly. At 7V CV (4186 Hz) the VCO went 30 cents flat. Lowering the frequency caused it to get flatter still. At the lowest frequency the error was -50 ppm.
For the tests I used the 1k SMD tempcos that Farnell sells (catalog number 732-310 for 3000 ppm, 732-369 for 3900 ppm). The expo converters were BC847BS dual transistors. They were potted together with the tempcos to keep them at the same temperature. Without potting even the smallest movement of air caused the frequency to drift.

Exponential converters

The two transistors for the exponential converters should be matched for best tracking. But how well must they be matched and how large is the error when they aren't quite perfectly matched? To find out, I plugged in different transistor types and measured. In some cases I also tested with several units of the same transistor type, to see how much they differed.
The transistors were three different BC847BS dual SMD transistors, two different CA3046 transistor arrays, one CA3086 and two BC550C matched to within 1 mV. The BC8477BS a and b differed 2 mV and the one marked c differed less than 1 mV. I didn't measure the matching of the CA3046, but if I remember correctly it it specified for max 3 mV difference. The CA3086 is normally quite a bit worse, although I didn't measure this sample.
The conclusion is that if the Ube matching is within 2 mV, the tracking error is less than 5 cents within an eight octave range. This should be good enough for most cases. If the thermal coupling of the transistors and the tempco resistor isn't very good, the tuning error will be larger than the tracking error, as soon as there is a movement of air inside the synth. It was wery difficult to measure the tracking of the dual BC550C, because it drifted slightly, all the time. And bear in mind that these transistors were fitted with a large cap for thermal coupling.

A note to the diagram: Because the frequency counter can't display fractions of a hertz, the measurement error gets higher at lower frequencies. So the large deviation in the lower octaves is really a result of measurement error and not bad matching of the transistors.

Octave quantizer

This circuit consists of a 4 bit analog to digital converter that drive a 4066 quad analog switch. Basically, the swiches select different points on a voltage divider, consisting of five matched resistors and a trimmer. These voltages are summed to get 16 calibrated voltage steps. The summing amplifier needs to have three matched resistors. Total parts count is two TL074, one 4066 and a stack of resistors.
Although I call it Octave quantizer, it actually outputs control voltages for both octaves and fifths. It also incorpoates the fine tuning pot.

My prototype quantizer output the following voltages (with fine tuning disconnected):
-0,002 V
0,583 V
0,997 V
1,580 V
1,999 V
2,582 V
2,999 V
3,582 V
3,997 V
4,580 V
4,998 V
5,581 V
6,000 V
6,583 V
7,000 V
7,583 V
The exact voltages of course are dependent on the matching of the resistors.

Saw to triangle/sine converter

I developed this circuit, with the Moog 921B VCO as inspiration. It uses the classic one-transistor approach for folding the sawtooth wave into a triangle wave. But I added a special RC-network to cancel the glitch that comes from the less-than-instant reset time of the saw wave. I also replaced the emitter follower transistor with an op-amp buffer. This was necessary to get the output voltage up to 10 volts peak to peak. In addition, the circuit was adapted for +-15 volts supply, instead of Moog's +12 and -6.
The triangle to sine converter consists of two transistor pairs from a CA3046 array. Properly adjusted, this gives a very good sine wave. It sounds much cleaner than the diode-limiters that many synths use to approximate a sine wave. Again the emitter follower is replaced by an op-amp.

This is the triangle wave at 1047 Hz.

This is the sine wave at the same frequency.

VCA

A simple logarithmic VCA is added to the output of each VCO. It is based on the trusty old CA3080 OTA.
This VCA is either controlled from an envelope generator that is selected with the thumbwheels or an external signal connected to the jacks. The AM knob controls the amount of modulation. It is bipolar, as most of my modulation knobs. So the "off" position is in the middle (12 o'clock). Turning it introduces either positive or negative modulation, depending on direction.
If you don't want to modulate the amplitude at all, the VCA needs to be fully open. Otherwise the signal would not come through. A special feature takes care of this. In addition to the AM signal, the VCA is controlled from another signal, that the dual ganged pot provides. It is 10 volts when the knob is in the middle position. Turning it either way reduces this DC voltage down to 0 volts at the extreme positions. So when you turn the modulation amount up, the fixed voltage is automatically reduced.

Waveform router

Used to select among four waveforms. This avoids using an expensive and space-consuming rotary switch. I employed one 4053 analog switch per VCO.
To be able to break out the signal from the VCO to separate outputs, I use a 4066. The signal then replaces the triangle wave in the front panel jacks. The reason I used the triangle jacks for this "double duty", is that this feature was added after I had cut the front panel.

Output mixer

Just a simple summing amplifier with level pots to set the mix. The pots have a built in switch, that breaks out the signal to a separate jack when they are turned beyond zero, counterclockwise (see waveform router).

Signal indicator

Because adding the waves from several VCOs can create an amplitude that clips the mixer and following modules, this LED indicator was added. It glows green when there is enough signal and red when there is danger of clipping.

Controls

The following functions are available separately for all four VCOs:
Octave / fifths selector. Rotary pot with 16 quantized control voltage steps.
Frequency fine. Rotary pot with a range of little over a fifth.
Control source. Three position toggle switch seletcts between Keyboard A, Keyboard B or Off.
FM. Rotary switch for negative or positive FM amount. Because the exact position for no modulation can be hard to find in 12'o clock positon, the pot has a built in switch that turns the modulation completely off. Just turn the pot fully counterclockwise. It's the old transistor radio volume knob concept.
PW. Rotary pot for pulse width. Turned maximally counterclockwise, it engages the sine wave.
PWM. Rotary pot for positive or negative pulse width modulation.
Waveform. Three position toggle switch seletcts between sawtooth, triangle and pulse wave. It only governs which waveform is sent to the VCA. All waveforms are available simultaneously at the separate jacks.
AM. Rotary pot for positive or negative amplitude modulation. This is a stereo pot which also adds a DC component. With the pot in off-position (12 o'clock), it adds 10 V DC, to open the VCA fully. When the modulation amount increases, the DC decreases to 0V at the maximum positive or negative setting. That allows the AM signal to take the amplitude between off and full.
Envelope source. Thumbwheel selector that selects among the nine most used envelope generators, envelope follower or similar modulation sources.
Output level. This rotary pot controls the level to the mix output. The built-in switch connects the signal from after the VCA to the triangle output jack (instead of the triangle signal), when the pot is turned fully anticlockwise. This feature came about because there was no room on the panel for "after the VCA but before the mixer" signal jacks.
Bicolor LED. Glows in various shades between red and green, depending on the pulse width.

Jacks

CV 1 – 4. These are 1 volt per octave inputs for connecting to keyboards, midi-to-CV, sequencers etc. Inserting a jach disconnects the internal routing from keyboard A or B:
FM 1 – 4. This is logarithmic frequency modulation. Disconnects the internal connection to a future patch matix.
PWM 1 – 4. input for pulse width moulation. Disconnects the internal connection to a future patch matix.
AM 1 – 4. Controls the VCA, to modulate the amplitude of the VCO signal. Disconnects the internal connection to a future patch matix.
Saw 1 – 4. Outputs for the sawtooth wave
Pulse 1 – 4. Outputs for the pulse wave
Tri 1 – 4. Outputs for the triangle wave. These outputs also double as post-VCA outputs, when the mix knobs are turned fully counterclockwise and the built-in switch is engaged.
Mix out. The mixed signal of all four VCOs is output on this jack. This is the normal output for connecting to another module, like for instance a filter.

The quad VCO module, seen from the back.