[sdiy] VCPO Variable-Phase Oscillator

Roman Sowa modular at go2.pl
Mon May 20 12:58:01 CEST 2024


I had similar idea long time ago, using 3 or 4 synced VCOs with 
individual phase control, but also never made it a reality simply 
because I soon realized the same can be done using simple manipulation 
of voltage offsets and wraps, or in another words - wavefolder. It seems 
to be easier done with saw core as then we have linear relation between 
voltage and phase in full 0-360 range without any flipping, making it 
possible to do even FM this way.

Roman

W dniu 2024-05-20 o 01:09, Tim Parkhurst via Synth-diy pisze:
> 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


More information about the Synth-diy mailing list