I am currently in the process of designing my own triangle core VCO. I’m using bits and pieces of info from many sources, but the core of the synth is as shown below:
So far (at least in simulation) I have working Triangle, Saw, Sine, Pulse wave outputs, as well as an exponential converter.
What I haven’t worked out is how to give this triangle core a form of sync. If I “short out” the cap in the integrator I get a basic reset-to-zero, but the triangle continues in the same direction as it was going.
Does anyone know how I could get the more common “reverse direction” style sync to work on this circuit? Basically like the CEM3340’s “hard sync” effect on the triangle in the image on page 4 of the CEM3340 datasheet (sorry, as I’m still a new user I can’t embed a second image): CEM3340 Oscillator Datasheet pdf - Controlled Oscillator. Equivalent, Catalog (ignore the pulse and saw lines, just referring to the triangle line as it behaves from input like the sync line)
Hopefully I can get this all working and post up some proper schematics!
Good question! I’ve added sync to a triangle core LFO
but of the sort that resets the waveform to its maximum or minimum peak. If the voltage source is adjusted to give an intermediate value (such as 0) then the wave continues in whichever direction it was going before the sync.
I guess the oscillator direction depends on the MOSFET output which in turn depends on the output of the comparator on the right… do I have that right? In which case can you use a JFET to switch between that output and the same put through an inverting stage? But you’d need to switch it back once the comparator switches… I dunno.
Yes, this is where I got to in understanding it. I tried adding an inverter to switch in, but as you said I couldn’t get it to “stick”.
Hmmm… thinking out loud, maybe if I have the sync pulse act as a “flip flop” style switch in some manner to switch between those signals. Kind of like a two way multiplexer that switches inputs on each pulse.
I played around a bit more with this but any time there is an extra inverter in the line the oscillation stops once the voltage reaches the threshold. Not sure how I can have this change of direction “reset” the oscillator to think it is now at that point of the waveform so that the oscillation remains stable.
If I inject the inverted signal into the comparitor’s input, I can get the oscillator to switch directions if it has not yet hit the peak voltage (at either polarity) since it has crossed the zero line. In other words, it works in the first and fourth quarters of the wave, but not in the second and third.
I suspect it is losing the ability to “drive” the inverter in these two sections but I’m not knowledgeable enough to understand how to work around that.
Got it (kind of) working… From the sync input a positive pulse will set the triangle to rise and a negative pulse will set it to drop. Took more parts than I was hoping (three op-amps and two mosfets) but at least it is looking like a possible path.
See below image for details. Square wave is to generate example pulses.
Not sure if this is the “final” solution, or if I should have something more tied to the current triangle’s phase. That is, should a positive pulse always toggle the direction? If so I’ll probably have to add some kind of flip-flop to toggle between each side’s pulses.
Another update (and possibly the last unless someone has some interesting idea):
Realised I could combine the bottom two op-amps into one, so decided to use the freed-up one to take any input signal and output a square wave at the input. This way I can sync to any input wave and have the triangle act at the zero crossings. So when you have an input wave crossing the zero point in a positive direction the triangle with switch to increasing (if it isn’t already travelling that way) and vice-versa.
Hopefully this will be a more musical sounding sync than just changing on specific pulse inputs.
See below for “final” version (minus any input conditioning and switching etc.):