MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

LM13700 as temperature controlled EXPO converter
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author LM13700 as temperature controlled EXPO converter
elektrouwe
background : After TI announced end of life for the good old LM3086 I was looking for another "El Cheapo" solution for exponetial VC stuff.
I started with simulations using a MC1496 as expo, which looked promising ( https://www.muffwiggler.com/forum/viewtopic.php?t=187994&highlight= )
While I was waiting for my ordered 1496s, I continued my simulations with an LM13700. And it looked even better :-)

My findings :
it's possible to use the Iabc control input of 1/2 LM13700 as 1 expo transistor and the 2nd OTA as 2nd expo transistor with V- supply beeing the common emitter !
Because the "expo base" (Iabc input) is not just a single transistor but a current mirror, it was necessary to drive the "emitters", (V- rail ), straight from the reference loop opamp.
Due to the diode in series with the expo transistors, V- is about -1,2V if the base of the ref.expo transistor is grounded as usual. This means that the output voltages of the OTAS must be >= 0V.
Also, both +,- inputs must be kept at >= 2.5V to keep the OTA functioning properly.
The transistors used in the LM13700 have small geometries and have a much bigger bulk resistance than a dedicated transistor(array). This makes a good Rossum compensation a must.
Good news: it's easy to measure the expo transistors input or output current (which will be used for Rossum compensation), because they are both ground referenced (in contrast to the standard
expo, where you need a diode for Rossum compensation, which is not necessarily on the same substrate(temperature) as the expo transistors).
Last but not least I use the 2 buffers of the LM13700 as temperature sensor (~4.4mV/K) and the other as heater.

applications:
triangle and sawtooth VCOs are very easy to implement with this method. Maybe someone could try a 3rd order VCF: 1 chip as reference and 1st filter OTA, another chip as 2nd and 3rd filter OTA.
both chips are heated and share 1 temperature setting trimmer ( 4mV offset between chips are only about 1K in temperature).
I'm just designing a TZVCO where I will use 1 LM13700 in "expo mode" for the tri core, and another LM13700 in "standard mode" (+-supply), but heated, 1 OTA for FM multiplication and
2nd OTA for a temperature compensated tri to sine converter.

pictures:
Here are some screenshots from the simulations.
2 different Rossum style HF-compensations are shown. The easiest method is to measure the OTA outputcurrent over a shunt (HF-trimm) and adding the shunt voltage straight to the CV input opamp. This requires the exponential current flowing into a (virtual) GND (eg. integrator).

If the OTA output current is bipolar (eg. tri core VCO) this does not work and the shunt must be shifted to the input ( measuring "base" current).
In this case, a n additional inverting opamp is required to feed back the compensation voltage.
Both methods don't need a diode as in the original Rossum circuit, which only works well with tempco expos but not with heated expos, except the diode is part of the heated array.

Finally there are 3 different VCO simulations as proof of concept: a saw core, a tri core and a tri core based TZVCO.

I was able to build a tri core VCO prototype with a tuning range >=7 octaves. More would have been possible: I identified the frequency dependent delay time of the TLC555 as the source of the problem.
In the next version, I will use fast comparators and hope,I can get >=9 octaves from the LM13700. " Look Ma', no more transistor matching or expensive duals/arrays " :-)
VCOs made with this "EXPO-OTA" method will soon be available from www.klangbauk├Âln.de
This is open hardware (CC: BY NC). feel free to play with it an[/img]d post your results here

EDIT: appended a picture showing the temperature control. LM13700 Darlington buffer 1 is the sensor: base is connected to 5V ref. output (emitter) voltage is the actual temperature value. Set temperature is set by Rht1. Darlington buffer 2 is the heating element. Heater current is limited by R24
Gotovo
This seems like exciting stuff, but with my current skill level, I don't understand any of it. seriously, i just don't get it
Waiting for the big boys to check it out w00t
frijitz
I seem to remember that activating the input linearizing diodes compensates for temperature. Does anyone recall a reference for this? I never looked at it carefully.

Ian
KSS
Didn't John Simonton try this for the PAIA 9700 VCO's?
guest
frijitz wrote:
I seem to remember that activating the input linearizing diodes compensates for temperature. Does anyone recall a reference for this? I never looked at it carefully.


as it was pointed out to me in this thread:
https://www.muffwiggler.com/forum/viewtopic.php?t=168692

its from electronotes 129. i saw another interesting "linearizing" scheme that elimintaed the gm variation with temperaature of the 13700, by using a 2.5V bandgap voltage across a resistor into the bias input. this way, as the temperature increases (and Vt increases), and Vbe goes down, the current goes up to match Vt so I/Vt stays constant. this was from the lt1228 datasheet.
guest
KSS wrote:
Didn't John Simonton try this for the PAIA 9700 VCO's?


this was a different scheme that used the inherent gm drift with Vt of the OTA to compensate for temperature. the issue is that the gain of the OTA is nonlinear, so you dont get accurate scales out.
guest
elektrouwe wrote:
background : After TI announced end of life for the good old LM3086 I was looking for another "El Cheapo" solution for exponetial VC stuff. . . .



this is awesome. i was just thinking about using the bias inputs on an OTA last week, and started drawing up some plans. my recent work on the 2164 got me thinking about it, as i wanted to use a 13700 to do something similar, with the two bias inputs being used differentially. but, when i started to look at it, i saw that they could be used as an exponential pair if the input of one was held at a fixed voltage. i hadnt thought about the heater applications, though, thats pretty cool.

here are some comments, if interested:

1. use diodes to set the voltage at the input pins of the OTA. it would be ideal if the input side that is off is at the the same voltage as the emitter of the other input transistor. this way there is no leakage. by using diodes, you can fix this exactly, and have it track with temperature. one of the diodes comes free in the package with the "linearizing diodes". if you want bipolar output, youll have to add another.

2. use an opamp to servo around your HF tracking resistor (47ohms in your schematics - but with the opamp you can make it much larger). this will keep the input at 0V regardless of current, which can get quite large. at the upper end you might want to drive 200uA, which is 10mV across a 47ohm resistor. thats almost a full octave of error. granted, the resistor should self cancel some of that, but it would be best to not have it in the first place, as second order effects might come in to play.

im looking forward to seeing the progress on this.
elektrouwe
guest wrote:

here are some comments, if interested:
1. use diodes to set the voltage at the input pins of the OTA...


your comments are always valuable and welcome, guest. That's why I posted everything, before ordering expensive PCBS :-)
re. 1.
don't get it. You mean biasing the +- inputs with 2 diodes instead of 2.5V Vref ? the reason for a 2.5V bias was, that I could use a 5V squarewave from the comparator output to generate a sym. tri VCO.

guest wrote:

2. use an opamp to servo around your HF tracking resistor (47ohms in your schematics - but with the opamp you can make it much larger).


my simulations show, that any bulk or series resistance, in either base or emitter path, can be compensated by Rossum compensation !
I'm not a semiconductor guru, so I have to believe in LTSPICE so far :-) What could be possible side effects could affect this expo?
At least there is the Early effect at the expo out collector.
I guess I can proof the expo quality only after measuring with a very fast comparator circuit which does avoid additional Franco compensation.

Attached pics.: simulation with different sense resistors that show that adjusting Rossum compensation always leads to full compensation (straight line in log scale)



guest
heres what i mean by using diodes:



if you take a look at the leftmost OTA, you can see that the internal diode at the negative input is being used to bias the negative input to one Vbe below ground. if the current through that 100k is the same as the current going through the OTA, then the Vbe of the diode and the internal transistor will match, and there will be 0V between the base of the transistor that is off, and the emitter of the transistor that is on, meaning there is no base leakage (there is still collector leakage).

as for the emitter resistance compensation, you have a number of components in that loop, such as resistors and opamps, and if any of those drift, then you will start to get errors. with the extra 47ohms of sense resistance, those errors are larger than without. typically, bulk emitter resistance is a few ohms. the 47 ohms you have added is in series with this, and acts identically, so although you have put correction in, you have also increased the problem you are correcting by over an order of magnitude.

some other thoughts:

1. if you regulate at the input to the constant current OTA, rather than the output, you can still use that OTA as an amplifier. this would require switching the CV drive to the other side.

2. on the exponential current OTA, you have the current going through 2 current mirrors and a differential amp (being run single sided, so really a common base amp). although the thermal oven technique will keep any temperature variations down, the beta of these transistors vary with current. this means that there will be losses that are operation point dependent.

3. you can also just use the linearizing diodes on the OTA for your exponential current generator. there is an example of this here:

http://www.openmusiclabs.com/files/expotemp.pdf

the left hand OTA in figure 23. the linearity graph for that configuration is misleading, as its using OTA Vt compensation, which is extremely nonlinear. i would think it would peform better than using the current mirrors, as there are far fewer transistors involved. but, if youre intent is to send the current through an OTA anyways to make it reversable for triangle generation, maybe that doesnt matter.
guest
got curious about this, so i ran some tests. gave me an excuse to finally replace my protoboard with non-corroded contacts (im gold plated now baby!).

here is my circuit:



i set this up slightly differently. i regulated the current into the first OTA, rather than the output current. i felt this was preferable as you were not regulating around all of the current mirror losses, and just the current into the transistors used for exponentiation. the CV is applied to the other OTA, and you can take the HF tracking off the output of that opamp. the third opamp there is just converting the current to a voltage so i can measure it. the drawback here, is that you would want to use a fourth opamp to difference V+ from Vout of that second opamp to create the HF tracking signal. there might be ways around this, not sure.

here is the linearity:



and a zoom into the linear section:



its not bad, but no where near as nice as just using an a matched pair. the emitter resistance is terrible, kicking in at around 30uA. this can be fixed with feedback compensation, but thats typically not fun to trim. leakage starts much earlier as well, around 100nA. this is without a heater, and im not sure if that will help the above curve or hurt it. on the one hand, some of that curvature is from temperature variation as the device draws more power, but on the other hand, leakage gets worse as a chip warms up.

ultimately, these leakage issues will exist in any VCO that uses an LM13700 to reverse the current, so its just the high emitter resistance thats the real bummer.
guest
i implemented a heater as well, and gave it another go. i also changed my test setup to get more accurate results, so some of that low current error in the previous graphs may not have been circuit error, but measurement error. im not 100% of this, though, as the error also decreased dramatically with the heater before i switched measurement methods. it could just be that the extra heat caused leakage in the "right" direction. i also had some issues with latchup in the circuit.





this is my first time building a heated expo converter, and im not too impressed. it took a long time (~15mins) for everything to settle out, and the stability once it was running wasnt that great. i havent run any drift tests yet. i ran the heater at 200mW.
elektrouwe
Thanks a lot for your tests and the graphs, guest !
guest wrote:

i set this up slightly differently. i regulated the current into the first OTA, rather than the output current. i felt this was preferable as you were not regulating around all of the current mirror losses, and just the current into the transistors used for exponentiation.


hm, and I felt just the oposite way, I thought I better don't bet on the quality of the current mirror and use the OTA output, because the "OTA in duty" ( the non-ref. half) also uses the output - so I would use both OTAs as symmetrically as possible.

I ran a quick LTSPICE simulation of your variant and it looks not so nice @ the low end. Maybe this comes from the current mirror ?


guest wrote:

its not bad, but no where near as nice as just using an a matched pair. the emitter resistance is terrible, kicking in at around 30uA. ...
ultimately, these leakage issues will exist in any VCO that uses an LM13700 to reverse the current, so its just the high emitter resistance thats the real bummer.

yes, as I wrote Rossum compensation is a must with these tiny transistors, but it is so easy to implement here and it was not too complicated to adjust in my prototype. Please give it a try.
It would also be very kind if you could compare both our solutions. I'll not be able to continue my measurements before 2 weeks.


guest wrote:

this is my first time building a heated expo converter, and im not too impressed. it took a long time (~15mins) for everything to settle out, and the stability once it was running wasnt that great. i havent run any drift tests yet. i ran the heater at 200mW.

I adjusted the set-temperature trimmer to 35mA heater current (>=300mW). After power up the OTA draws 80mA and within a couple of seconds 35mA are reached. After 1 minute VCO frequency was stable and I could start V/oct and Rossum trimming.
My LM13700 is a SMD version and covered with foam tape (incl. pins).
When switching from very low to very high frequencies I could hear a small thermal "tune in" effect on the VCO frequeny which must come from the self heating of the current mirror which is immediately regulated away. But this is a "feature"(character:-)) of all temp. controlled expos, I don't worry about.

guest wrote:

i also had some issues with latchup in the circuit.

with my prototype I also had latchup problems on startup sometimes. I could cure it by adding a diode into the V- drive of the OTA (anode to OTA, so the opamp only can pull down).
I also could find this during simulations. The I changed the circuit to the current state, where the simulation did't show latchups anymore. But since the 2nd prototype is not finished, I don't know if the real circuit is cured too. In worst case I will stay with the diode.
guest
there is a difference in your simulation and my schematic. you have R3 as a 10k going from Iabc input to opamp input. on mine, its a 1k going from opamp output to OTA V-. perhaps this accounts for the peformance difference?

im betting it doesnt matter a whole lot whether the input comes from the Iabc input or the OTA output. the reason why i say this, is that the whole point of the circuit is to keep that current constant. and since temperature isnt changing, there really isnt going to be much to change the current. so although there may be slight differences in the exact current going through those bottom transistors, it will always be held constant.

the datasheet lists 20mA as the max output current of the darlington transistors. but it also has a footnote about limiting current to keep heat dissipation within limits, so im not sure how that 20mA is derived, and how hard of a limit it is. i was running up to 40mA and it seemed to work fine.

i ran my tests on the PDIP part, which has a max power dissipation of 500mW, so i wanted to leave some headroom for the heater. the SOIC can handle 1W, so higher power is ok. the datasheet doesnt list a limit for the SOIC, but it can be derived from the thermal resistance (44C/W) and max temperature numbers (70C). so at 25C ambient you get (70-25)/44 = 1W. i was hoping to run some thermal tests at the same temperatures as my other work (65C), but thats awfully close to the device limit, so im not sure ill be able to keep the temperature regulated up that high (die temperature needs to be higher than ambient).

as for insulating the packge with foam, this helps minimize the heat required to heat up the die, but increases the thermal resistance, thereby increasing the thermal time constant. that means its slower to respond. it also will have a much harder time loosing heat, so if ambient goes down, response time is much worse.

i think latchup on mine was from the darlingtons getting reverse biased during cold transitions. this probably causes conduction through the substrate. diodes and such should fix that.
guest
ok, so i increased my heater current to 30mA and ran some quick drift tests. i ran it at -3V CV and over a 20C range. the drift was 2.7%, which is twice as bad as a 10% thermistor would be. i tried both your method and my method, and both were identical. i thought thermal gradients were the problem, so i tried a couple of different insulation methods. all were the same. the settling time increased with more insulation, though. in general, i found the settling time to be less than a minute to within 10%, and then 15 minutes to be within 0.1%.

i think thermal gradients on the die are the issue. if you look at the die:

http://www.idea2ic.com/LM13700.html

youll see that the large output transistors at top are quite a distance from the small Iabc transistors at the bottom. since a lot of the heat is carried out via the pads, im not sure there is a good way to insulate it.

i have never seen drift charts for the uA726 or LM3046 heater cores, so i dont know if this is normal or not. i somewhat suspect it is. also, i couldnt run ambient hotter than 50C, or the circuit would come out of thermal regulation.

on the positive side, the output of the thermal regulator makes a great noise source. its this really random, low frequency stuff.
guest
ok, so i changed things up a bit to deal with the thermal gradients:



rather than taking the temperature reference from one of the darlington buffers, i take it directly off the reference current source transistors. these are the ones we are concerned about keeping at a constant temperature anyways. i then use both darlington pairs as heaters to keep the temperature as even as possible. there are a number of places the temperature reference can be taken from, like the linearizing diodes, but i think the Iabc input is probably the best.

and here are the results:



it has a linear shift of 0.5%, which is pretty good. this could be entirely due to offset shifts in the opamps. i used OP297, which have a typical shift of 0.6uV/C, so that might account for some of it. one of the disadvantages of this topology, is that the input CV is reduced before it goes to the opamp, so the offset voltage is a much larger percentage of signal than in a usual topology. at that level, its 15uV per Cent detune. the worst case offset drift of the OP297 is 2uV/C, which gives 40uV @ 20C shift (which is what was used here), which is 2.5cents. a 0.5% error is closer to 10cent, so the error is probably coming from some other place.

all in all, it was pretty solid once it thermally stabilized, but this took a while. i ran it at 40mA (2x20mA), and couldnt press the ambient temperature above 50C without saturating the thermal control drive. its assuredly an interesting option, and the fact that its an offset error is nice, as thats fixable with the tune knob on the synth.

also, just for completeness, the LM13700 under test was insulated and covered so the heat gun didnt hit it directly.
elektrouwe
guest wrote:
there is a difference in your simulation and my schematic.

oops, corrected it, but sim. result is the same.
I still don't understand your +-input configuration: Vdiff=0 (both in's tied to +5V) for the ref OTA, the other OTA 1 pinput NC.
Vdiff=0 on the ref OTA is because you don't use the output stage at all, right ? But why no proper biasing for the "OTA in duty" ?
So I tried biasing the inputs the same way as in my circuit. Now the curve looks right ! the current peak in your circuit does not appear in the Iabc current and not in the V- ("emitter") current. The only remaining pin was the was the input pin tied to +5V, which indeed reflected the current peak that was missing in the output current !???

EDIT: picture removed, current peak came from bad SPICE model !

I also realized that your ref current is 12uA. My ref current is about the same, but it comes from OTA output; my Iabc current is about 3 times higher which makes sense, because the Iabc current mirror just bypasses most of the ref. current straight to V-.

guest wrote:

as for insulating the packge with foam, this helps minimize the heat required to heat up the die, but increases the thermal resistance, thereby increasing the thermal time constant. that means its slower to respond. it also will have a much harder time loosing heat, so if ambient goes down, response time is much worse.

hm, my thoughts were: the internal (fast) thermal time constant is not affected, at least not delivering heat, so why should response time be slower if ambient goes down ? I think making ambient influence slower while keeping a relatively fast integrator time constant and internal heater response makes loop regulation better.

guest wrote:

i found the settling time to be less than a minute to within 10%, and then 15 minutes to be within 0.1%.

that's a lot ! I don't remember such a bad behaviour, but I will check it as soon as possible.

guest wrote:

i think thermal gradients on the die are the issue....
i have never seen drift charts for the uA726 or LM3046 heater cores, so i dont know if this is normal or not.

At least for the uA726 I guess that the designers checked the thermal topology carefully. But for "misused" circuits we can't expect it.
If this is really comes out as a major problem, we should think about using the voltage over the Iabc mirror as sensor signal for the temp. control loop and use both darlington buffers
as, better distributed, heating elements.



guest wrote:

on the positive side, the output of the thermal regulator makes a great noise source

nice one, lol :-)
well, in worst case we have a good LF-noise source and use the ExpoOTA - VCO as modulation LFO ;-)
guest
elektrouwe wrote:
If this is really comes out as a major problem, we should think about using the voltage over the Iabc mirror as sensor signal for the temp. control loop and use both darlington buffers as, better distributed, heating elements.


did you see my post above?
elektrouwe
guest wrote:

did you see my post above?

haha, funny , no - you made your post while I was writing mine ( which took a longer time due to the simulations)
so our developments converge now :-)
guest
its interesting that the simulation and tested version of my circuit varied so much. i left the other pin unconnected, as i thought that would ensure that no base current could flow. its possible that there could be leakage through the linearizing diodes, and a floating pin might also pickup hum, so tying it off might be better.

also, there is a mistake in the schematic i drew. i used 2M for the bias resistors, so 6uA of bias. but thats not too relevant. ive started in on my ua726 analysis as well, and so far it looks much worse than what weve got going on here.
elektrouwe
guest wrote:
its interesting that the simulation and tested version of my circuit varied so much.

all-clear - it' the spice model ( original Nat.Semi.) I searched the web and found Don Sauer's LM13700 model. With this model, your open input pin behaves well applause !



finally, after I couldn't see the wood for the trees, I understand your open inputs and got rid of my input resistors. thank's guest !
elektrouwe
guest wrote:
ive started in on my ua726 analysis as well, and so far it looks much worse than what weve got going on here.

i've seen your post; didn't expect this golden oldie to behave so bad.
and street price in Germany for a NOS UA726 is almost 100x LM13700 price !
guest
yeah, i was little suprised it didnt do so well, but not too much. its a pretty old device, and the internal temperature sense circuit isnt so good. i think i can add external circuitry to make it run better, but im not sure its worth the effort, as no one is going to use it.

as for leaving the pins floating vs not, im not sure which is the better option. i tested both, and they seem to behave the same, but perhaps there would be less noise on the non-floating system? also, they should probably be non-floating on the reference OTA, so the other side of that current mirror has a place to send its current. tying both to 5V and sending the output to ground (if its not used as the reference) would be easy enough.
elektrouwe
UPDATE : meanwhile the "ExpoOTA" VCO turned from prototype to a final tri core version. I will publish this in a own topic. Here comes the updated documentation of the "ExpoOTA" core, changes are:
temperature sensing using the voltage over the "reference transistor" (Iabc circuit) behaved better than using the linearizing input diodes or one of the darlingtons.
Using both Darlington buffers as heaters also improved stability.
The picture shows the updated bipolar core.
EDIT: link to the new ExpoOTA VCO
https://www.muffwiggler.com/forum/viewtopic.php?t=204795

MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group