[Project] Variable Wave shape / Wave shape transition VCO

From circuitbending to homebrew stompboxes & synths, keep the DIY spirit alive!

Moderators: Kent, luketeaford, Joe.

Post Reply
Highcooley
Learning to Wiggle
Posts: 5
Joined: Tue Mar 11, 2014 4:32 am
Location: Aarau, Switzerland

[Project] Variable Wave shape / Wave shape transition VCO

Post by Highcooley » Fri Mar 28, 2014 2:30 pm

Hey guys!

Introduction
This if my first real post on this forum next to the robot dance :intellijel: I was a silent reader and learner for about a year now, since I started my project to build my own synth. It all started with the trailer of “I Dream of Wires" which led me to seriously dive into analog synthesis and hooked me to the idea. My goal is to build a digitally controlled analog synth with similar features like Moog's Voyager. It won't be a true modular, as I plan to build more compact, but the different sections will be independent. I would be more than happy to get your comments on the Voyager idea and what features you think are missing or could be solved better.

The original idea was to use the Moog D schematics and as many original parts as possible. But after already acquiring many old parts for a reasonable amount of money, I dumped the idea when the last Chinese seller of UA726 remakes went off market. However, I don't regret the decision, as I am very happy with my results so far with more modern parts, which are not nearly as energy hungry as the old stuff.

Since my project start, I successfully built a Midibox SID kit as well as a Midibox SEQ4 as a warm up in the subject of sound synthesis, spent hours online researching on different forums, consulting schematics and finally bred boarding my first VCO.

And here I am with what my solution for the variable wave shape module looks like, eager to hear what you think about it. Basically, it is a chain of slightly modified circuits I found online, combined with my rusty electronics knowledge back from when I was working as an electronics technician. I am sure there is a ton to improve and maybe some bright mind who dares to understand my contraption comes up with a better solution. I am also quite sure that there is a way to get rid of a couple of OP amps, as I don't know how to combine the basic OP functions and also had to chain them.

Where this module fits in
- I decided to go for +/-12V and am currently torn between an old-school 3A analog and a Meanwell switched PSU.
- The digital part of my synth is an LPC17 based Midibox with its AOUT NG module (0-10V CV).
- My VCO is Bergfotron's Minimoog style VCO and I am tapping into the circuit at the node between pin 2 of the first TL072, the emitter of the third BC550C and pin 2 of the first LM2903.

Variable Wave shape - what this sub project is about
I was intrigued by Moog's idea to morph from triangle over saw tooth to rectangle and set the pulse width all in one go . However, I couldn't find anybody who attempted to do this. Usually, when people are talking about variable wave shapes, they either blend multiple basic shapes together or construct new shapes in a step-sequencing like fashion.

I took the challenge to build a circuit which does the wave shape transition in the Voyager's fashion and here is what I came up with (wave shaper including mixer VCA):
Image
In real life, all the OP amps are TL072. The LM13700's input at the top and output at the bottom are connecting to the high impedance buffer.

And that's how the contraption looks like on the breadboard including the VCO :hmm: :despair::
Image

Tringle to Saw tooth
This part was actually pretty easy. A misused version of the way the triangle wave is formed in the original Moog D does the job by adjusting the transistor's collector voltage from 5V-0V to define the point at which the slope changes from falling to rising (sorry for my bad electronics English, but I don’t know the term for that particular circuit or the described spot).
The results are shown in pictures 7 and 8:
Image

Image


The hard part was to compensate the volume, which doubles from triangle to saw tooth. It's done with an LM13700 which acts as a VCA. The resulting volume is almost linear (pictures 9 and 10):
Image

Image

And that's where my struggle begins. Despite a lot of literature and the datasheet, I never fully understood how to properly calculate an LM13700. I figured out, that I always had to take care, not to get out of voltage range of the amplified signal. Especially the DC part of the signal gave me headaches several times. And although I think that I should be well within the current limits, one LM13700 blew in the test circuit. I was not able to reproduce the error. So I think that I must have accidentally shorted two adjacent leads for just a fraction of a second with my sleeve or something like that :oops:. Or is there an error in my calculation?

What I don't like with that solution is that I still didn't manage to fully compensate the volume of the signal (7.6V PP vs. 9V PP). Maybe this can be optimised? Another thing is that the signal's positive peak gets slightly flatted. Where it is barely audible in the triangle, the saw tooth loses its edginess quite a bit. Is there a way to get around this problem?

Triangle to Rectangle, followed by PWM
The Micromoog actually already had half of the feature built in. Luckily, I was able to find the schematics in Fantasyjackpalance's collection. The transition from +/-15V to +/-12V went pretty well with the help of some LT spice trial and error. The only thing which could be improved here again is the volume of the different waveforms. The rectangle is 6V PP whereas the saw tooth is only 4.4V PP. However, if the signal flattening of the previous LM13700 can be solved, the volumes will be a lot closer and maybe even solved.
Here the result of the whole waveform transition (pictures 11-14):
Image

Image
The flattening of the saw tooth seems to be even more severe here!

Image

Image

Mixer VCA - Volume Control
The hardest part here was to amplify the whole spectrum as much as possible without hitting the bottom or ceiling of the LM13700 as the rectangle signal literally sits on top of the saw tooth. A simplified version (no error voltage compensation of the OP amps) of MFOS' VCA #2 was used, which is pretty much the same as the one shown on the datasheet of the VCA. I used linear amplification, as it is done the same way for the Moog D.
After all the trouble, this is the part which I understand the least and really could use some :help: with. MFOS has a nice picture of a scope, which shows the signal to sit right at 0V DC level. However, in my circuit the signal moves from -5.84V to +9.76V, depending on the amplification. That’s why I was only able to amplify the final signal to 2.88V PP max (pictures 1-6, 1-5 being at full amplification and 6 in off position):
Image

Image

Image

Image

Image

Image

I recalculated and tried several things without the desired result and am sure, it is an obvious mistake, which I currently oversee. So please :help: :help: :help: :help: :help:

Conclusion and plea
I barely believed my eyes and ears, when I was able to transit from triangle to saw tooth to rectangle to PWM and control the volume in one go for the first time after almost a year of tinkering. However, there are still a couple of major and minor issues I was not able to find a solution for. If some of you fellow synth aficionados would find the interest and time to have a shorter or longer look at my suggestions, I would be very happy :yay: to get your feedback and inputs how to improve the circuit. I attached the LT spice file as well as the LM13700 part model (don't forget to adjust the path in LM13700.asy). There can be switched between wave shape and VCA simulation by uncommenting and commenting the pairs of spice directives on the top left.

I am looking forward to read from you guys very much! :tu:
Attachments
Waveshaper_TRI_SAW_RECT_1.zip
LT spice file of the wave shaper circuit including VCA as well as the LM13700 part model (don’t forget to adjust the path in LM13700.asy). There can be switched between wave shape and VCA simulation by uncommenting and commenting the pairs of spice direct
(5.92 KiB) Downloaded 19 times
Last edited by Highcooley on Tue Mar 31, 2015 7:17 am, edited 1 time in total.

frijitz
Super Deluxe Wiggler
Posts: 1658
Joined: Mon Aug 31, 2009 3:37 pm
Location: NM
Contact:

Re: [Project] Variable Wave shape / Wave shape transition VC

Post by frijitz » Fri Mar 28, 2014 5:50 pm

Nice project. You've put a lot of work into your circuit and have obviously learned a lot. I haven't time right now to go over your circuit in detail, but you might be interested in my SNIC approach to the Saw - Tri morphing problem:
http://home.comcast.net/~ijfritz/sy_cir10.htm

Ian

nigel
Ultra Wiggler
Posts: 772
Joined: Wed Jan 16, 2013 6:49 am
Location: Melbourne, Australia

Post by nigel » Fri Mar 28, 2014 10:41 pm

Interesting idea. I'm not sure that the Moog video shows actual morphing between waveshapes - it looks like it's just crossfading between them, which is much simpler. Does either one give more interesting results, I wonder?
I've been thinking about putting together a circuit with:
* a standard oscillator with multiple waveform outputs.
* a bunch of VCAs arranged as a three or four input voltage controlled mixer.
* an arrangement of clamped and offset op amps, to turn a single -5V to +5V control voltage into a set of ramps, which fade each channel of the mixer in and out in turn. One of these could also be fed into the PWM of the oscillator.
That wouldn't be very hard to do.

User avatar
guest
Super Deluxe Wiggler
Posts: 5612
Joined: Mon Aug 19, 2013 11:49 am

Post by guest » Fri Mar 28, 2014 11:58 pm

nice project Highcooley! i noticed on your schematic that your input resistors for the lm13700's seemed a bit different than normal. for example, at R59/R45, usually the 1k (smaller) resistor is connected directly to pin2, with the 200k (larger) resistor feeding it. this way it makes a voltage divider and reduces the input signal. the LM13700 is only linear over 50mV or so of input voltage, so the signal needs to get knocked down to work properly.

Also, since you are using opamps to buffer the output of the LM13700s, you should skip the internal buffer. the internal buffer adds an ofset, and makes it next to impossible to keep a decent DC signal near ground.

finally, if you drive the LM13700s with a current source, you will get much more linear response out of the gain, although this may not be necessary with your application.
openmusiclabs.com

frijitz
Super Deluxe Wiggler
Posts: 1658
Joined: Mon Aug 31, 2009 3:37 pm
Location: NM
Contact:

Post by frijitz » Sun Mar 30, 2014 1:37 pm

nigel wrote:Interesting idea. I'm not sure that the Moog video shows actual morphing between waveshapes - it looks like it's just crossfading between them, which is much simpler. Does either one give more interesting results, I wonder?
That was the impression I always had, that Moog used x-fading.

I have two dedicated zero-drift VCOs with the Saw-Tri morpher as the output. I use this output to drive other waveshapers Double-Pulse, 5Pulser, Analog XOR, Wavolver). I'm quite happy with the versatility of this setup.
The 5Pulser demo here is an example:
https://www.youtube.com/user/frijitz001

Ian

Highcooley
Learning to Wiggle
Posts: 5
Joined: Tue Mar 11, 2014 4:32 am
Location: Aarau, Switzerland

Post by Highcooley » Sun Mar 30, 2014 4:10 pm

Thanks for the quick replies!

I'm not exactly sure whether it is crossfading or morphing. To me it looked like morphing. However, I never tried the crossfading approach. Late in my design phase, I found the Kobol Waveshaper. As it needs 4 OTAs compared to the two I am using, I never gave it a try. And since I found the circuit which was used in the Micromoog, it never occurred to me, that they could have solved it by simply crossfading.

Ian, your SNIC approach also sounds very interesting! Gonna compare the two different sounds, as soon as my morphing approach works more flawlessly. I didn't exactly understand how the 5pulser works, though.
guest wrote:nice project Highcooley! i noticed on your schematic that your input resistors for the lm13700's seemed a bit different than normal. for example, at R59/R45, usually the 1k (smaller) resistor is connected directly to pin2, with the 200k (larger) resistor feeding it. this way it makes a voltage divider and reduces the input signal. the LM13700 is only linear over 50mV or so of input voltage, so the signal needs to get knocked down to work properly.

Also, since you are using opamps to buffer the output of the LM13700s, you should skip the internal buffer. the internal buffer adds an ofset, and makes it next to impossible to keep a decent DC signal near ground.

finally, if you drive the LM13700s with a current source, you will get much more linear response out of the gain, although this may not be necessary with your application.
Also thanks guest for these specific inputs. Obviously a design error with the two resistors. I'm gonna change this, recalculate and give it another try, also without the internal buffers asap.

Wow, cudos to you guys...this is a great community :yay: I hope, I find some time to redo my design soon, to be able to show you the results.

Highcooley
Learning to Wiggle
Posts: 5
Joined: Tue Mar 11, 2014 4:32 am
Location: Aarau, Switzerland

Post by Highcooley » Tue Apr 01, 2014 6:13 pm

Thanks again for your input on my circuit design!

I think, I managed to successfully iron out the design mistakes with the OTA input resistors. Despite some still needed tweaks in terms of more exact resistor values to get the desired amplifications, the signal now once again works through the circuit successfully.

Both of the OTA's internal transistor buffers are now out of the equation, the second one, as I had the feeling that they are pretty noisy compared to OPAmps. Can anybody confirm this or was it just my feeling staring at the DSO image?

What I don't like is the first OTA circuit. The inverted input signal is -10 to 0V, so I have to adjust the output with the summing buffer OPAmp. Is there a better way to do that?

Feel free to comment and test the simulation yourself, if you are interested in the circuit. Feedback is highly welcome!

Image
Attachments
Waveshaper_TRI_SAW_RECT_2.zip
The second version of the simulation with corrected voltage dividers prior to the OTAs and removed transistor buffers. Again including the LM13700 model.
(5.89 KiB) Downloaded 23 times

Highcooley
Learning to Wiggle
Posts: 5
Joined: Tue Mar 11, 2014 4:32 am
Location: Aarau, Switzerland

Sum up Minimoog VCO & variable waveshape

Post by Highcooley » Wed Apr 01, 2015 2:21 am

Hey everybody

Almost exactly a year ago, you people helped me out a great deal with my VCO & wave shaper design. After my last post, I had some ample discussions with guest and bergfotron concerning several design issues, mainly concerning the LM13700 as well as my interpretation of bergfotron’s great original Minimoog style VCO design.

Meanwhile, I prototyped everything and etched three PCBs, which are fully functional. Again, I had some great help from guest and bergfotron during the troubleshooting phase, for which I am very grateful.

Shortly after this success, my job started to consume me a lot, so progress on the synth project got less and less until it came to a complete stop. Nevertheless, lately I was able to pick it up once again and I think it is time to pay my debts. Here is the result of the VCO, wave shaper, mixer (sheet 3) combination and a documentation of all the most valuable inputs by guest, which helped to make the whole contraption run in the end:

Image
The stack of three VCO PCBs, combined with the VCM (the yellow goo is a self-potted 2SC1583 dual NPN die together with a tempco resistor on an 8 pin carrier PCB)

Supply voltage choice
First, I decided to go for +/- 15V supply, since bergfotron’s VCO runs on that voltage. I tried to change several other modules to +/- 12V as well but had to learn that it can be very complex to achieve since most designs rely on certain rail voltage effects or suffer massive constraints on +/- 12V. In addition, my wave shaper design relies on voltages of +/- 10V which when only slightly shifted off 0V cause problems on +/- 12V as well.

LM13700
The main thing here is that the output of the LM13700 is a current. To keep noise and distortion as low as possible, it is important to keep the output at a constant voltage. A good way to do this is to feed the output directly into an inverting opamp without any resistors.
Likewise with the control input (which I only realised with IC3B). The PNP transistor/ opamp combination on sheet 2 acts as a current source, converting 0-10v input voltage to 0-45uA with R67 being 22k (100k would lead to 0-10uA). This way, the LM13700’s response gets linear and it is possible to shut the output off completely, which is important for the volume control. This would not be possible with a voltage source, since the voltage would need to be at rail level to completely shut off the output.

My simulation of the LM13700 circuit for IC3A resulted in an output current of about 50uA. I needed an output signal range of about 10-11V, so 10V/50uA resulted in 220k for R50. The input signal of the subsequent Micromoog saw to square morpher needs to be between the odd range of -1V an +11V, so I had to shift the LM13700’s output signal by about 7V with R44. The amount it shifts is R50*Vsupply/R44, which resulted in about 560k.

Volume Control Distortion
While the circuit worked a treat on the breadboard, I saw myself confronted with massive distortion in the saw-rectangle stage on the final PCB. Guest helped me to track it down to some feedback loop problems on two opamps of IC6. There was a signal coupling into the loops on the PCB. 22pF caps over R73 and R78 helped to get rid of the problem.

Thoughts on eBay part suppliers
During my journey to a working VCO, I struggled several times with fake parts from Asian eBay suppliers. Usually, random parts are marked as genuine products (one NPN was in fact a PNP transistor of unknown type). Figuring these out is always a big hassle since replacing them with a part of the same batch results in the same faulty circuit. This lead to several days of unnecessary troubleshooting during this build.
Unfortunately, in Switzerland we have the choice between either massive overpriced local retailers or expensive shipping, VAT, duty and handling fees from international suppliers. In the end I far too often tend to the cheap eBay scum even for the most standard parts. However, I have to endorse that if possible, parts should be bought from reliable suppliers whenever possible. Ignoring certain eBay suppliers does not help, since 9 times out of 10 the parts are ok from most suppliers.

Future prospect
With three VCOs harmonically and reliably humming together, the most challenging part of my build is hopefully done. My VCF design (a combination of two Minimoog LPs and a Moog 904b HP) is just around the corner and more modules are soon to be built.
For further information, please visit my project forum thread over on midibox.org.

Resources
Bergfotron modular synth by Ninni Bergfors
http://hem.bredband.net/bersyn/

Minimoog VCO
Original schematics
Bergfotron version

Micromoog saw to square waveshaper
http://www.fantasyjackpalance.com/fjp/sound/synth/synthdata/07-micromoog/300_dpi_gif/micromoog_multimoog_main_2.gif
Attachments
VCO_WS_VCM15V.pdf
VCO, wave shaper & mixer schematics
(69.03 KiB) Downloaded 63 times

äggmedskägg
Common Wiggler
Posts: 76
Joined: Tue Mar 14, 2017 2:09 pm

Post by äggmedskägg » Thu Mar 16, 2017 9:32 am

This is cool, the triangle-saw is something I want too, but I think my analog electronics knowledge is on the weak side. ;-)

User avatar
guest
Super Deluxe Wiggler
Posts: 5612
Joined: Mon Aug 19, 2013 11:49 am

Post by guest » Thu Mar 16, 2017 11:04 am

awesome to see this all in one piece. great job.
openmusiclabs.com

User avatar
fuzzbass
Super Deluxe Wiggler
Posts: 2089
Joined: Thu Feb 06, 2014 6:08 pm
Location: Florida, USA

Post by fuzzbass » Thu Mar 16, 2017 1:15 pm

If you already have a VCO with various shapes, the J3RK-FADR works very well for a continuous morph between the shapes, and has CV control.
Wired for weird

Post Reply

Return to “Music Tech DIY”