[sdiy] VCPO Variable-Phase Oscillator

Phillip Gallo philgallo at gmail.com
Thu May 23 01:25:05 CEST 2024


.... and NO reference within the ETI article to Electronotes Application
Note #73. 1978.

p

On Wed, May 22, 2024 at 4:42 PM S Ridley via Synth-diy <
synth-diy at synth-diy.org> wrote:

>
> Like this?  Page 71-74:
>
>
> https://www.worldradiohistory.com/UK/Electronics-Today-UK/80s/Electronics-Today-1983-01.pdf
>
>
> Steve
>
>
>
>
> On Wed, 22 May 2024 at 19:38, Brother Theo via Synth-diy <
> synth-diy at synth-diy.org> wrote:
>
>> Hi, this looks like a lot of fun. Are you producing them? Have you
>> thought of adding one or two more phased stages?
>> --Tim Ressel
>>
>> On Sun, May 19, 2024 at 7:12 PM Tim Parkhurst via Synth-diy <
>> synth-diy at synth-diy.org> wrote:
>>
>>> Hi All,
>>> Here's a weird little something I came up with several years ago that I
>>> think might be fun. It uses two VCO cores and a special synchronization
>>> circuit that allows voltage control of the phase between the two cores
>>> while they track at the same frequency. It's something I haven't seen
>>> before, so I'm thinking it's a super-special invention I came up with. In
>>> any case, that's my story, and I'm sticking to it. The theory below is a
>>> bit of a read, but I've got a little more documentation to go with it if
>>> anyone is really interested.
>>> ============================
>>> The VCPO features two triangle core oscillators in a setup that allows
>>> one core to drive the second. The output from the second core is variable
>>> in phase relative to the first. Let's see if I can give it a decent
>>> explanation...
>>> ===
>>> The circuit uses two triangle core VCOs. It derives a signal from the
>>> first core (call it A) and uses that to drive the second core (B). In the
>>> schemo here, I'm using two VERY simple 2164 VCOs, but the same sync / drive
>>> scheme could be applied to other triangle cores. This particular setup
>>> doesn't quite track 1 v/oct, but that is just because I used the simplest
>>> setup I could come up with for this first shot. With some adjustments and
>>> component tuning, I think it could be made to track just fine. As an LFO
>>> though, it works nicely. You could probably build one of these that tracked
>>> pretty well with a 13700-based core, or a slightly more elaborate 2164
>>> circuit.
>>>
>>> Core A is based around U5, U6, and U7. U1 and U2 form the CV summer. The
>>> CV drives U6 (Core A) and U6 (Core B). Core A is just a basic, plain
>>> vanilla tri core, with U5 acting as the comparator, and U7 acting as the
>>> integrator.
>>>
>>> Core B is based around U8, U6, and U9. Core B is also fairly standard,
>>> BUT NOTE that there is no hysterisis feedback around the comparator, U8
>>> (Core A uses R10). This is important, because the comparator gets an input
>>> signal that is a combination of the Core B integrator (through R21) and the
>>> Core A integrator (through R20). This is a big part of what keeps the two
>>> cores locked to the same frequency.
>>>
>>> Now here's the "secret sauce:" U4 and Q1 change the polarity of the
>>> reference voltage going to the comparator of Core B. Normally, if you have
>>> a triangle going to a comparator input and you vary the reference voltage,
>>> you'll get pulse-width modulation. However, what we do here is use Q1 and
>>> U4 as a sign flipper, so that the reference voltage to the comparator
>>> SWITCHES POLARITY depending on whether the triangle at the comparator input
>>> is on the up slope or the down slope. The result is that we get a variable
>>> PHASE square wave coming out of the comparator.
>>>
>>> Basically, we take the triangle from Core A, and compare it in U4 to a
>>> reference voltage that changes polarity with the slope of the triangle.
>>> This gives us a variable phase square, and we use THAT to drive the Core B
>>> integrator. R21 provides a 'weak feedback' that helps keep the Core B
>>> triangle levels correct. The sign flipper (Q1, U4) is driven by the square
>>> wave from the Core A comparator (U5).
>>>
>>> In the Phase CV Summer / Sign Flipper (U3, U4, Q1), I use R37 to
>>> compensate for a slight offset that was introduced into the Core B outputs
>>> (B1=Square, B2=Tri). A better method  might be to use R33 instead. I have
>>> not tested the R33 method, but you would adjust this until the Phase CV
>>> coming out of U4 was equal in magnitude when it flipped sign. Again, if you
>>> use R33, you might not need R37. D3 and D4 are also untested, but are meant
>>> to avoid having the Phase CV from U4 exceed the +/-5V limits of the
>>> triangle outputs. If this CV goes above +5 or below -5, a DC offset will be
>>> introduced into the Core B outputs.
>>>
>>> So basically, that's it. Two triangle cores, remove the hysterisis
>>> feedback from the B comparator, and use the sign flipper to derive a
>>> variable phase square wave from Triangle A to drive Comparator B. Again, my
>>> guess is that the U3, Q1, U4 circuitry could be applied to sync just about
>>> any two triangle core designs. Ideally, you want the two tri cores to track
>>> together fairly well to avoid introducing more level differences between
>>> the A and B outputs. This might work well with the two gain cells available
>>> in an LM13700. Also, the output current from the CV Summer would need to be
>>> doubled from that of a typical application, since it will be driving two
>>> VCO cores.
>>>
>>> I've tested this circuit on a breadboard and it's a lot of fun. The sign
>>> flipper scheme allows you to vary the phase of the Wave B outputs, but it
>>> avoids the waveform discontinuities you'd get with a traditional capacitor
>>> reset "sync" circuit.
>>>
>>> One limitation of this circuit is that it 'only' allows the B output to
>>> vary up to 180 degrees from the A output. This means that you can't quite
>>> get 'through zero' phase cancellation between the two outputs. To overcome
>>> this, I've thought of using the output of Core B to drive a third VCO core
>>> (C) utilizing another Phase CV Summer / Flipper. In theory, this would
>>> allow the C outputs to vary by up to 360 degrees from the A outputs.
>>> =============================
>>> Okay, there it is. Whaddaya think?
>>>
>>> Tim (going through a phase) Servo
>>> ---
>>> "Imagination is more important than knowledge." - Albert Einstein
>>> ________________________________________________________
>>> This is the Synth-diy mailing list
>>> Submit email to: Synth-diy at synth-diy.org
>>> View archive at: https://synth-diy.org/pipermail/synth-diy/
>>> Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
>>> Selling or trading? Use marketplace at synth-diy.org
>>>
>> ________________________________________________________
>> This is the Synth-diy mailing list
>> Submit email to: Synth-diy at synth-diy.org
>> View archive at: https://synth-diy.org/pipermail/synth-diy/
>> Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
>> Selling or trading? Use marketplace at synth-diy.org
>>
> ________________________________________________________
> This is the Synth-diy mailing list
> Submit email to: Synth-diy at synth-diy.org
> View archive at: https://synth-diy.org/pipermail/synth-diy/
> Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
> Selling or trading? Use marketplace at synth-diy.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20240522/e64c2d70/attachment.htm>


More information about the Synth-diy mailing list