Twitter   Patreon WIGGLING 'LITE' IN GUEST MODE

Author Another Expo-temp for 4069 VCO
MrKathode
 Hello, this is my first SOS post. I want to make my own VCO module, so after searching for information from different authors, sites and forums, I started simulating in software a circuit with the 4069 IC inverters based on the Rene Schmitz circuit [1]. I put a different square wave output with PWM, an inverted pseudo-ramp sub-oscillator, buffers with OpAmps, an octave selector and, with the rest of the inverters, an LFO to control the PW. Now, for frequency control, I am studying how to make an exponential conversion circuit similar to the Hoshuyama version [2] but with a temperature compensation system using a PTS sensor instead of NTC. In the simulation program, I used the PTS voltage divider values that were recommended in the final conclusion of the Openmusiclabs document [3] (10k // (100 RTD + 4.5)). These components are relatively cheap and easy to get on the Internet. To simulate the RTD sensor, I used a resistance of 109.73 (which is the value of the RTD 100 Ω PTS series of Vishay at 25ºC) and I put it in series with a 4.5 Ω resistor. For Iref I decided to use 2.15 nA, similar to the value used by Hoshuyama. At first I wanted to use the U1 summer inverter OpAmp with gain Av = 1 or lower, but I realized that this system did not get the ideal exponential current gain for 1V/oct and I placed an adjustment trim-pot with a 156 kΩ series resistor in the feedback of U1. Now the voltage gain is approximately Av = 1,6. There goes the scheme of the part in question: This is the frequency vs. CV curve: These are the values obtained in simulator. It can be seen that it goes out of tune between -3 and -1V: Well, now the exponential converter is something like 1V/oct but I did not like the result very much: (o) The gain is not exactly 1V/oct. , in the simulator it is very difficult to calibrate and the accuracy of the system seems bad. (o) I do not like that the "1V/oct" trim-pot is in the feedback of the OpAmp U1 because a small offset error in the inputs will alter the exponentiating voltage a lot. (o) If "in real life" the temperature compensation circuit is going to be worse than the NTC version of Hoshuyama, it is better to be still and leave the circuit as it is. The idea is to improve the temperature compensation (and the 1V / oct tracking) without complicating the circuit too much. Can you give me a hand? LINKS: [1] https://www.schmitzbits.de/vco4069.html [2] http://www5b.biglobe.ne.jp/%7Ehoushu/synth/VcoMos0212.GIF [3] http://www.openmusiclabs.com/files/expotemp.pdf
guest
 you should run at a reference current of 5uA or so. going lower puts your low end into the nA and below range, which is getting close to the leakage currents in your buffers. your schematic shows a 470k resistor, which would give 25uA. this puts the upper end of your scale above 500uA, which has a lot of emitter resistance effects. whether the trim is in the feedback loop or not, there will still be offset voltage errors from the opamp. the only hope here is to minimize them wtih a low drift opamp. typically they are not too horrible (5uV/C).
MrKathode
Oh thank you, quest. Now I can also thank you directly for your great tutorial, which I still want to understand 100%.

I was confused with Iref, but now I think it's clearer. I will experiment changing Rref for a 2.4M resistor.

 Quote: whether the trim is in the feedback loop or not, there will still be offset voltage errors from the opamp. the only hope here is to minimize them wtih a low drift opamp. typically they are not too horrible (5uV/C).

Maybe I will use LTC2058.
guest
 im glad you got some use out of that paper! the 2 main errors contributed by the opamp are the bias current and offset voltage. the equations are as follows: Vo = -Vi*(Rf/Rs) + Vos*(1+Rf/Rs) + Ib*(Rf) at the transistor, its 18mV per octave, 1.5mV per semitone, and 15uV per cent. the 10k/100ohm divider makes the input ~ 100x this, so 1.5mV per cent at the opamp output. so you can handle a fair bit of drift without accumulating too much error. if you want to handle 40C of temperature drift, thats 37.5uV/C at the output, and therefore 12.5uV/C of offset voltage at the input if you have a Rf/Rs = 2. the lowly TL072 has an offset voltage of 18uV/C, so pretty close to only 1.5 cent over 40C. the bias current itself isnt so bad, its the change in bias current over temperature that causes problems. to keep this under 37.5uV/C at the ouptut, the bias current change needs to be less than 187.5pA/C assuming a 200k Rf. since most datasheets dont give this as a single number, you have to look at bias current versus temperature graphs. so a total change of 7.5nA over the range of 25C to 65C is the thing to keep it under. again, the TL072 is only 1nA at 65C, so it works ok. the LTC2058 is way better in comparison, with 40pA at 65C and 25nV/C drift. but it doesnt need to be that good if youre looking to shave a few cents off the budget.
MrKathode
wow, thank you again! then I do not have to worry, not even using a TL072 or TL074! This is good!

May I have to worry more about how the drift could influence the temperature on the 1V/oct tracking trim-pot, assuming that almost all trim-pots are 10% tolerance, 100 PPM/C ?. If I have not calculated wrong, I will have 1 Ohm of drift in that trim-pot every 1ºC, so a total change of 40 Ohm over the range of 25C to 65C ??

 Quote: your schematic shows at 470k resistor, which would give 25uA. this puts the upper end of your scale above 500uA, which has a lot of emitter resistance effects.

About this comment that you made before, which are the emitter resistance effects? Did you refer to an extra heat because of excess current in the transistor?

The emitter resistance (R4 in my schematic), if Im not wrong, is there to stabilize the system against temperature changes too but can limit the gain if the value is high. What is the best way to size this resistor?.
elektrouwe
 Quote: "not even using a TL072 or TL074! This is good!

just an advice: simulation is good - I always do simulations befor prototyping - but do not overrate your simulation results. I don't know what simulator you are using, but from your graph, which is about 10cm high on my screen I can hardly compare values with the ideal (calculated?) values with 9 digits precision. Are you using a transistor level model of the 4069 ? I don't think so. This 4069 VCO with diode charge is far away from a perfect sawtooth VCO core. I bet if you treat your prototype with a heat gun or put it in an oven for a 40° temperature drift "test", you will not be able to see a difference between using a TL07x or a LTC2058.
So do yourself a favor and prototype first, then decide if the VCO is good enough for your practical needs or if you need a better core.

 Quote: ... which are the emitter resistance effects?

guest is talking about semiconductor bulk resistance ( Rbe, 1..10R range) and not about R4. Rbe causes a voltage drop proportional to Iemitter, that means it make your VCO going flat in the high octaves. This can be compensated(# Rossum compensation) with little hardware around the expo pair. But the effect of a slow VCO core might require more compensation (# Franco compensation). This is done by R3, which I would make adjustable - at least in the prototype
MrKathode
Thanks, elektrouwe.

 Quote: ... from your graph, which is about 10cm high on my screen I can hardly compare values with the ideal (calculated?) values with 9 digits precision

The ideal values I get from internet. There are the frequency at C note in each scale.

I know that the simulation is not completely real, especially with my software, that I use it because it allows me to see if more or less a project works. I can install spyce models but I can not make a quick and accurate reading of the frequency in this VCO (at high frequencies, it takes like 10 min). Maybe because the model is too poor and the frequency sometimes oscillates around 2 Hz.

 Quote: This 4069 VCO with diode charge is far away from a perfect sawtooth VCO core

 Quote: ...do yourself a favor and prototype first, then decide if the VCO is good enough for your practical needs or if you need a better core

I opted for the 4069 VCO just for its simplicity, and because I get to do several things with a single IC and few components. I already see deformations at low frequencies (the wave has no the same form in the full freq range). I definitely want to test on breadboard and see how it goes.

 Quote: Rbe causes a voltage drop proportional to Iemitter, that means it make your VCO going flat in the high octaves. This can be compensated(# Rossum compensation) with little hardware around the expo pair. But the effect of a slow VCO core might require more compensation (# Franco compensation). This is done by R3, which I would make adjustable

I’ve already read about the Rosum compensation on the Rene site. The truth is that I have not considered the Rbulk. I had thought to use the PMP4201V matched pair transistor because it is matched and not so expensive, but I do not know the value of Rbe. I'm going to try protoboarding just changing R3 for an HF trim-pot (as you say) and then see if Rosum compensation implementation is really necessary. I'm afraid of being confused with so many trim-pots, and then not knowing what the calibration steps are.
guest
 the 2N3904 has lower Rbe than the PMP4201. you can get them matched, or just buy a regular dual, and it will most likely be close enough.
MrKathode
 Quote: the 2N3904 has lower Rbe than the PMP4201

it is a sin that there is no SMT version...
J3RK
MrKathode wrote:
 Quote: the 2N3904 has lower Rbe than the PMP4201

it is a sin that there is no SMT version...

Look for MMBT as the prefix for SMT versions. There are SMT 3904s as well as pairs of them in SMT. I'll see if I can dig up a part number for you shortly.

Edit:

Single:

Dual:
https://www.mouser.com/Semiconductors/Discrete-Semiconductors/Transist ors/Bipolar-Transistors-BJT/_/N-ax1sh?P=1y95l6hZ1z0xz4p&Keyword=3904&F S=True

The first link/search is all SOT23 based SMT.

The second one includes all dual packages, so be careful there looking for the package you want.

Also, if you want fancier log comformant pairs that aren't terribly expensive, the Linear Systems pairs LS318 NPN and LS358 PNP are very nice, and only around \$4 each. They may be somewhat overkill for a 4069 based core (similar reasoning to what elektrouwe mentioned above with the low-drift op amp).

I definitely won't discourage you from going the 4069 route, as it's an intriguing design. However, if you're looking for simplicity, an inverting integrator core using an op amp and comparator isn't very complex, and may perform better. It's two ICs and a few passive parts. It's actually simpler than your CV circuit posted above.
MrKathode
Ok J3RK, thanks. SMT components are better to put them together and stick them with thermal paste or thermal something.

When I have all the ingredients, I will tests on breadboard with 2n3904 through hole. Then I'll decide if it's worth it or not invest in better components.

Before opening this topic, I thought that the tracking problems that other people had with this oscillator were due to temperature compensation with NTC thermistors and poor or not matched transistors in the expo converter. I did not know that was due to the core..
even so, since I have made an almost entire module design from the 4069 vco core, I want to finish it. Maybe I use it only for bass. But if I get too frustrated after testes, I will make another core.

This is an image of the virtual osciloscope showing every outputs of the design:

 Quote: ..an inverting integrator core using an op amp and comparator isn't very complex, and may perform better..
I remember that in the course of electronics I studied an oscillator like that!
J3RK
 I think it's still a worthwhile core to experiment with. In fact there was someone (I want to say it was DavidH on this site) that built a dual 4069 VCO with a ring modulator as a complex dual oscillator. It sounded extremely good. (actually just found it) I think it's quite a cool project to try and squeeze every ounce of performance you can out of this somewhat unique design. I kind of did something similar with my MirrorCore VCO. It was loosely based on the ideas behind the Thomas Henry X4046 VCO. Due to the 4046 being FET based internally (among some other things) it wasn't ideally suited for typical V/Oct applications (hence many brands of 4046 not working so well in the design) that a friend and I decided to dissect it and design a VCO that worked the same way as the internal VCO of the 4046 but out of separate logic ICs, bipolar transistors where needed, etc. It was a great project to learn from. (luckily I had lots of help ) Luckily in our case, the schematic for the internals of the 4046 was available in an application note on the TI site. It helped us determine what logic to use, how to charge the capacitor, etc. Maybe there's a similar App Note for the 4069 that might be useful to you. Personally I enjoy watching projects like this.
MrKathode
WOW!! the Transmisison VCO sounds really cool!

J3rk, also your MirrorCore is fantastic (I saw a video that the module seemed to talk) and with very cool panels. It's super nice you share your designs. I was looking your mirrorcore schematics and seems super hard to understand! What a crazy idea to do the internal circuit, but I can see that it was worth it!

A curiosity: how many octaves you can handle with the mirrorcore?

 Quote: Maybe there's a similar App Note for the 4069 that might be useful to you.

Sincerely, I'll think about that. I think the internal circuit of 4069 is not so complicated...
J3RK
 Thanks! As far as octaves on the Mirror Core, I've built them a few different ways using basically the same circuit (give or take a few things) but with differing parts selections. I've seen between 5 octaves and more than 8. I could only measure 8 reliably, so it could be a bit more on the ones that performed a bit better. On those ones I actually hand picked some of the parts/values in the exponential circuit. Basically swapping things around until they worked the way I wanted them to. A lot of the math with these things is lost on me unfortunately, so often a little extra leg-work is involved to get things right. I also have a decent amount of help in some cases. (I have a relative that designs high-end audio and broadcast electronics that I probably ask too many questions of ) I kind of approach electronics more from an artistic process point of view than a scientific one. (in some ways at least) Oh, and you're probably right about the 4069 internals. I didn't really think that comment through. It's inverters, not a VCO+PLL circuit inside the chip. Still, there may be ways to improve that if you broke the inverters out somehow.
windspirit
 I am curious, I see a lot of people put the 1v/o trimmer inside the op amp feedback loop instead of using it as an attenuator on the CV input. Every time I have made a synth/ VCO that was not able to be accurately tuned to 1v/o it was because the tuning trimpot was in this part of the circuit and not as an attenuator, then I have to replace the input resistor for the circuit with a trimpot to get it to scale correctly (R6 in the schematic above). Anyone care to enlighten me as to the advantage of having the trimpot in the op amp feedback loop?
guest
 in theory there shouldnt be any difference between using the trimmer inside of the feedback loop versus outside. there are some practical differences, though. in the feedback loop, the resistance is generally larger (not sure if larger value pots are less accurate or not - might not matter). for a pot outside of the feedback loop, it changes the impedance slightly at the input of the transistor. for most circuits this doesnt matter too much, but for the case of the PTS thermistors where a small offset resistance is applied to match the tempco, this effects the ideal value of the offset resistance.
J3RK
 I've actually been experimenting with removing the trims altogether, and using precision voltage references at all critical points. It took a while to find just the right values, but I tried this out on a hacked up version of my Operator VCO, and it probably scales better than any other VCO I've built before. I assume it also makes a difference for drift removing drifty trimpots, but I haven't tried to do any testing on that side of things.
MrKathode
J3rk sorry for the delay,
 Quote: Basically swapping things around until they worked the way I wanted them to

I do not have much math base either, and the one I had is rusting. I have become accustomed to doing "bruteforcing" values ​​in the simulator until I got what I wanted. But I realize that maybe I will arrive much faster if I make an effort to do it through the path of mathematics. The problem is that many times I do not know how to use them. For example, in the search for a simple VCO, a few months ago I tried to do an expo-tem-comp for the 4069 VCO with the blackmer IC 2162 from THAT Corp, in order to give me the pleasure of doing "something different". I've already seen VCOs here with 2164, and even in the openmusiclabs paper they talk about it, but I did not get it to work well with the 4069 core. They were many hours of struggle .. always stayed very flat at high frequencies. (also had a bit of embarrassment to write in forums like this).
Its nice when you have the luck of having help. I found a lot of help in this forum and in googy translate xD.
MrKathode
 the tolerance of the trim-pot tend to be between 10 to 5%, but then for the rest of the resistors of the compensation circuits it is required between 1 and 0.1% !!. The problem of replacing them with resistors must be that the characteristics of each circuit (even if they are the same) are different, so these resistances must be customized for each circuit and this would take a long time. For guys like me, who make designs for me, there would be good.
MrKathode
 Hello wigglers, after so much time I'm back ... but this time with the homework made. I got all the components and made the following circuit on the proto-board: After calibrating for 1v/oct with the help of a software for frequency measurement I started to play through my new CV sequencer that, unfortunately, only "sends" positive voltages. Despite not being able to experience the VCO with negative voltages, I can play without going out of tune in at least 4 octaves. This oscillator seems to have a sound with its own character. I have to say that I was quite surprised that everything worked the first time. Thank you very much again to those who helped me with this!. Here comes the bad part: The first scientific observation was that nothing else touching the transistors of the current mirror with my fingers, the frequency began to rise to almost half a tone. Then with these I made a thermistor sandwich with thermal sauce and wrapped it in heat shrink, all tight. I realized that doing this is very important. I also noticed that changing the value of the trim-pot HFT did not seem to improve tracking at high frequencies, but by increasing its resistance to 1k I noticed better stability in the oscillations. Days later I started doing the experiments to test the thermal stability of the VCO. For ambient temperature measurements I made them inside a truck with a thermal box at 20ºC and for measurements at 40ºC I used a yogurt maker that a friend left me. First I tuned the VCO at 131 Hz at 0 V at 20°C and recorded the frequencies on each scale. Then I put the prototype in 40ºC, I waited 15 minutes to stabilize the temperature and without tuning again I took the data again. Then I calculated, based on the frequency of the musical notes in each octave, the error percentage of each measurement. Here is a graph with the results: The results did not please me very much. The VCO is too vulnerable to temperature and therefore would have to tune it every time it was used. Another problem that I saw, and also quite serious is that when playing for a longer time at higher frequencies, such as after 2kHz, the oscillator starts to fall slightly in frequency ... and this is not good. Could it be that the compensation circuit is not working well, would it take a Rossum compensation circuit around, or is there nothing to do with this oscillator?
guest
 most pitch CV is positive, so you compensate by adding a bit of negative voltage into the first stage summing amplifier. so if the "initial" pot in your schematic went between ground and -Vcc, then when you apply 0V, it will start out at one end, and move up to the other. tracking over +4 octaves is pretty good, and will translate to 8 octaves when you reset the 0 point. the frequency drift you are seeing is most likely in the 4069, and not the exponential converter. also, putting a little bit of insulation around the transistor/thermistor helps a bit there.
J3RK
 Odd hypothesis here, but would heating the 4069 a bit help here? I never thought about heating "the rest" of the VCO core. Maybe something like epoxying a multi-package transistor upside down on top of the 4069 in an oven config. I realize this starts creeping out of the scope of a simple VCO core, which is a reason for going to the 4069 in the first place, but as far as interesting experiments go, I'm kind of curious. I don't know if the FETs in the 4069 respond to that in the same way that bipolar transistors in the exponential circuit do.
guest
 do you mean heat it to keep it at a constant temperature? that would help, but is rather complicated. one thing ive been meaning to try out, is using a spare inverter in the package to run a fixed frequency oscillator which is controlled with a feedback loop by a current. this current is then mirrored into the expo converter as the reference current. in this manner, as the comparison thresholds drfit on the inverter, the feedback will make the frequency stay consistent. now, why bother with this? an inverter is an extremely fast and cheap comparator compared to the other options, so for really high frequency VCOs it would bring down cost and not effect drift.
MrKathode
 Quote: an inverter is an extremely fast and cheap comparator compared to the other options

You mean to use the 4007?

I had also thought implementing the circuit in SMT and so the IC 4069 be in contact with the PCB to better dissipate the internally produced heating, but I would like to see other possibilities. It is interesting to use the 4007 or another array of JFETs.

I wonder why this problem occurs with the 4069 since this IC is used so widely in the industry in oscillator designs. Is it perhaps because of the internal resistance of the JFETs?

EDITED: they are MOSFETs no JFETs
elektrouwe
MrKathode wrote:
 Quote: an inverter is an extremely fast and cheap comparator compared to the other options

You mean to use the 4007?

yes, inverters are cheap and fast, but their switching thresholds vary with temperature. In the late 70s, Elektor's Formant VCO used a 74LS13 as Schmitt-trigger (ST), the only temperature compensated logic gate (nice graph in datasheet) I've ever seen. most 74HCxx and 40xx ST datasheets don't specify thresholds vs temp. "handmade" STs from unbuffered 4069 or 4007 are even worse, they also have a very strong supply voltage dependency.

In the "industrial oscillators" you mentioned, or in tri core VCOs, a stable ST is the key for precision.
In this 4069 saw core VCO it's not the ST alone: charging C1 via D1 is a very questionable way. Neither the charge voltage, nor the charge time are well defined. Both are supply voltage and temperature dependent. For a good VCO both parameters are well controlled e.g. by discharging C1 with a (FET-)switch == almost 0mV lower threshold) and keeping discharge time constant by using RC feedback in the ST (==oneshot) which then can be Franco compensated...

As always in life, you get what you pay for, the 4069 VCO is no exception. IMHO, it's ok for some applications and the cheap NPN/PNP expo is fits well for this purpose.
For more precision, you could use a crude logic gate VCO in a closed loop as discussed in this thread: https://www.muffwiggler.com/forum/viewtopic.php?t=208725
 Page 1 of 1