I swear, pulse width control is going to be the death of me.

Hard to believe but it looks like there’s a rather serious design flaw in Ray Wilson’s Music from Outer Space Voltage Controlled Low Frequency Oscillator (or, as its friends call it, MFOS VC LFO). With no pulse width CV plugged in, changing the CV attenuator changes the pulse width and its range from the PW knob! For a demo see this video:

Take a look at this part of the schematic:

A cleaned up version:

There’s a 100k pot with two 100k resistors connected to ±12 V; this gives the manual pulse width setting voltage, PWC. There is also a PW control voltage, PWXV. Both go via 10k mixing resistors into a comparator op amp. Their combined value serves as the reference voltage, so they determine the pulse width. There’s also a 1M to ground, which we can pretty much ignore.

Looking at this, a couple of things wave warning flags. First, what’s the relationship between PWC and Vpin2? They’re pretty much the same, because no (or very little) current flows through R58 — the op amp presents a high impedance, R59 connects to nothing, and R34 is huge. If PWC varies then Vpin2 varies too, by the same amount.

But suppose you plug in a control voltage? Now PWXV is generally different from PWC, so current flows through R58 and R59 and they form a voltage divider — Vpin2 is the average of PWC and PWXV, and if PWC varies (and PWXV is held constant) then Vpin2 varies by half as much as PWC does.

So just by plugging in a control voltage, the range of pulse width voltages drops by a factor of two.

But there’s more. If a CV is not plugged in then PWC depends on R37: If it’s all the way down, PWC is closer to -12 V than to +12 V so its value is negative (-4 V in fact), and if it’s all the way up PWC is closer to +12 V and its value is positive, +4 V.

But R58 and R59 are much smaller than R36, R37, and R42. So if there’s a CV plugged in, PWC is much closer to that CV than it is to either -12 V or +12 V, so its value is close to the CV. Changing R37 will only change PWC by a small amount, and Vpin2 by half that.

Do the calculation and you find if no CV is plugged in, Vpin2 varies about ±4 V, but if you plug in a 0 V CV, its range drops to about ±0.5 V!

Moreover, suppose there’s an attenuator on the CV. There is one in my version of the module; there isn’t one in Wilson’s version, but you can always (and sometimes you’d probably want to) run a CV through an external attenuator module. Now we have this:

(Switch SW1 represents whether the CV is plugged in or not, and SW2 is whether the attenuator is plugged in or not.)

Now if the CV attenuator is all the way down, R59 connects directly to ground, and if it’s all the way up, it connects to CV. Either way, the pulse width range is greatly reduced, as before.

But if the attenuator is halfway up, R59 connects via 50k to both ground and CV. The greater resistance means the pulse width range is larger than at the two ends.

Or if there’s an attenuator connected, but no CV plugged in, then R59 connects to ground either directly or via a resistance of up to 100k. So again — even with no CV connected — the pulse width and its range depend on the setting of the CV attenuator. And that’s what we’re seeing in the video.

Here’s a plot showing how as you go from one end of R100 to the other (left to right), with 0 V plugged into the CV attenuator, the range of values you get for Vpin2 by changing R37 (the distance between the blue and orange lines) changes, from around ±0.5 V at the ends to ±1.2 V in the center:

Summing up, there are problems caused by two things: A dangling CV input that can be connected to a voltage or not, and mixing resistors that are much smaller than the voltage divider resistors. I’m really quite surprised to see such things in Wilson’s design — these are things you learn early to avoid, unless you have some good reason. But Wilson did them, with no evident good reason I can see, and not just once, but twice! The MFOS VCO has nearly the same setup for its pulse width control. And in all the time I spent tweaking the VCO pulse width range I never noticed the CV attenuator’s effect on it. Embarrassing.

The YuSynth VCO also has similar pulse width controls, but there is a built in attenuator for the pulse width CV, so that input is never floating, and there are differences in the resistance values: The pots are 25k instead of 100k, the fixed resistors in the pulse width divider are 12k instead of 100k, and the mixing resistors are 100k instead of 10k. Also, the power rails are ±15 V instead of ±12 V. (And the resistor to ground is 470k instead of 1M, but I’m still ignoring it here.) Here’s the same plot for that design:

Look closely and you’ll see a little variation in the pulse width range as the attenuator is changed, but it’s pretty much negligible.

Is there any reason not to change the resistance values in the MFOS LFO — and the MFOS VCO — to something more like the YuSynth design? I don’t know of any. I mean, besides not having any 25k pots at the moment…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s