Having a reel or two of reasonably consistent NTC caps would be a win.
The datasheet limits are generally +-30% IME, so it takes a bunch of cut-and-try to get good compensation. With repeatable parts, ideally you’d only have to do it once.
How good is the consistency of your custom ones?
Cheers
Phil Hobbs
Didn't find your answer? Ask the community — no account required.
J
john larkin
I've only measured the TCs of a couple; both were about -5200. They do seem to compensate the oscillators well in production. The main problems are the inductor and the FR4 capacitance.
The NTCs are 3.3 pF and are padded with a series NP0, also 3.3. Net LC capacitance is around 50 pF, so the NTC cap has a small influence.
Capax made them for us.
B
Bill Sloman
I'm sure it makes you feel better to think that.
By which you mean that I don't flatter you as fulsomely as you think you deserve.
You need ceramic caps - with pretty horrible voltage dependent capacitance - to get that. NP100 is roughly as good as mica or polypropylene.
The 1% tolerance 15nF caps that Edward Rawde would use - if he ever built his Wein bridge - use a polypropylene dielectric film which is remarkably good - better than polycarbonate (which is marginally better than polyester).
But nobody has, certainly not with plastic film capacitors.
You really do seem to be sliding off into senility.
B
Bill Sloman
Even so, the third harmonic is 78dB below the fundamental. The simulation runs slowly on my computer, so it may take me a while to get the schematic to where the designer intended it to be.
The choice of op amp is what I'd expect from an audio group - it does seem to be a low distortion part.
I just seem to have wrecked the .raw file from the simulation, so it may be a while before I have more to say.
B
Bill Sloman
"Crud" is a pretty unspecific term, and Edward Rawde didn't specify what he was seeing in a way that directed me to any feature visible to me in the output waveform.
There's a lot more data in the .raw file than you can see even on a cycle by cycle waveform plot, and the mechanics of translating that data into lines we can see on the screen may produce it own distortions.
B
Bill Sloman
The file wasn't wrecked, just huge (4.063 GB) and slow to load, despite the fact that I've a solid state disk on my computer put in to hold LTSpice .raw files and load them tolerably quickly.
The circuit uses a half-wave rectifier, then runs the error signal into an integrator wrapped around U4. C4 -at 6.8u - is a biggish integrating capacitor. R7 - at 120k - has the main purpose of stabilising the feeback loop controlling the amplitude and also delivers around 6mV of
1kHz sinusoidal ripple into the gate of the FET. There about 12mV of
1kHz sine wave across the FET channel so this minimises any channel modulation. Ingenious.
It would have been even move impressive if he'd intended to do that from the start, but R5 and R6 make look like it was an afterthought.
My feeling is that an AD734 could do better. Jim Williams did better with his FET controlled version, but I've no idea how.
78dB below the fundamental is respectable, but not impressive.
J
JM
On the bench the THD in the audio band is approx. -140dB (I think - it's years since I looked into the performance of this). Not measured by myself, but there are hundreds of measurements documented on diyaudio and other audio forums. Viktor used to (possibly still does) sell these oscillators on ebay for a few pounds. I have a couple and borrowed an audio precision analyser to test them - I think the AP measured to about -115dB, and the oscillators performed better than that. That level of distortion was much better than I required so I didn't attempt the find the true value.
I doubt if LTSpice will give accurate distortion figures with the simulation models I provided, they have not been verified in isolation. Very few opamp macro models provide realistic distortion results.
There may be a more recent schematic available as this circuit has been tweaked over the years.
I think when I simulated this only the 2nd or 3rd harmonic was visable in a 1 second FFT at about -120dB. However, I didn't spend any time on it, just enough to see that it did actually oscillate, and posted it only because it's real performance is very well documented, and it may be of use to the OP. I could spend some time validating the models and simulating in spectre but real measurments trump simulations.
J
JM
I still had the .raw file available. I measure the 3rd harmonic at -118dB with a blackman-harris window with a 1s FFT.
B
Bill Sloman
On 25/10/2024 7:45 pm, JM wrote:
Here's the .asc file that I ran
Version 4 SHEET 1 2964 1136 WIRE -896 -176 -960 -176 WIRE -800 -176 -816 -176 WIRE 288 -176 -640 -176 WIRE -960 -160 -960 -176 WIRE -896 -96 -960 -96 WIRE -800 -96 -800 -176 WIRE -800 -96 -832 -96 WIRE -224 -80 -272 -80 WIRE -112 -80 -160 -80 WIRE 176 -80 128 -80 WIRE 288 -80 288 -176 WIRE 288 -80 240 -80 WIRE -800 16 -800 -96 WIRE -800 16 -832 16 WIRE -768 16 -800 16 WIRE -640 16 -640 -176 WIRE -640 16 -688 16 WIRE -960 32 -960 -96 WIRE -896 32 -960 32 WIRE -272 32 -272 -80 WIRE -224 32 -272 32 WIRE -112 32 -112 -80 WIRE -112 32 -144 32 WIRE 128 32 128 -80 WIRE 160 32 128 32 WIRE 288 32 288 -80 WIRE 288 32 240 32 WIRE -800 48 -832 48 WIRE -640 48 -640 16 WIRE -800 96 -800 48 WIRE -640 144 -640 128 WIRE -528 144 -640 144 WIRE -272 144 -272 32 WIRE -272 144 -432 144 WIRE -240 144 -272 144 WIRE -1200 160 -1248 160 WIRE -1136 160 -1200 160 WIRE -960 160 -960 32 WIRE -800 160 -960 160 WIRE -112 160 -112 32 WIRE -112 160 -176 160 WIRE -80 160 -112 160 WIRE 16 160 -16 160 WIRE 128 160 128 32 WIRE 128 160 96 160 WIRE 160 160 128 160 WIRE -1248 176 -1248 160 WIRE -240 176 -272 176 WIRE 288 176 288 32 WIRE 288 176 224 176 WIRE 320 176 288 176 WIRE 464 176 400 176 WIRE -1136 192 -1136 160 WIRE -800 192 -800 160 WIRE 160 192 112 192 WIRE -464 208 -464 192 WIRE -416 208 -464 208 WIRE -272 208 -272 176 WIRE -272 208 -336 208 WIRE 464 208 464 176 WIRE -464 224 -464 208 WIRE -272 224 -272 208 WIRE 112 240 112 192 WIRE -960 256 -960 160 WIRE -800 288 -800 272 WIRE -800 288 -880 288 WIRE -1248 304 -1248 256 WIRE -1136 304 -1136 256 WIRE -1136 304 -1248 304 WIRE -1104 304 -1136 304 WIRE -800 304 -800 288 WIRE 464 304 464 288 WIRE -1248 320 -1248 304 WIRE -1136 320 -1136 304 WIRE -640 352 -640 144 WIRE -608 352 -640 352 WIRE -464 368 -464 304 WIRE -464 368 -544 368 WIRE -608 384 -640 384 WIRE -1248 416 -1248 400 WIRE -1136 416 -1136 384 WIRE -960 432 -960 352 WIRE -800 432 -800 384 WIRE -800 432 -960 432 WIRE -752 432 -800 432 WIRE -640 432 -640 384 WIRE -640 432 -672 432 WIRE -640 480 -640 432 WIRE -624 480 -640 480 WIRE -464 480 -464 368 WIRE -464 480 -480 480 WIRE -272 560 -272 544 WIRE -272 560 -320 560 WIRE -640 576 -640 480 WIRE -592 576 -640 576 WIRE -464 576 -464 480 WIRE -464 576 -528 576 WIRE -320 576 -320 560 WIRE -272 576 -272 560 WIRE -944 672 -944 656 WIRE -912 672 -944 672 WIRE -800 672 -832 672 WIRE -768 672 -800 672 WIRE -640 672 -640 576 WIRE -640 672 -688 672 WIRE -592 672 -640 672 WIRE -464 672 -464 576 WIRE -464 672 -528 672 WIRE -944 688 -944 672 WIRE -800 688 -800 672 WIRE -800 768 -800 752 FLAG -272 464 vcc FLAG -272 656 vee FLAG -320 576 0 FLAG 192 144 vcc FLAG 192 208 vee FLAG 112 240 0 FLAG -272 224 0 FLAG -208 128 vcc FLAG -208 192 vee FLAG 464 304 0 FLAG -864 0 vcc FLAG -576 400 vcc FLAG -576 336 vee FLAG -864 64 vee FLAG -800 96 0 FLAG -1136 416 0 FLAG -1200 160 vcc FLAG -880 352 0 FLAG 464 176 vout FLAG -800 768 0 FLAG -1248 416 0 FLAG -944 768 0 FLAG -944 576 vee SYMBOL OpAmps\\opamp2 192 112 R0 WINDOW 3 11 165 Left 2 SYMATTR InstName U1 SYMATTR Value LME49710 SYMBOL voltage -272 448 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 15 SYMBOL voltage -272 560 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V2 SYMATTR Value 15 SYMBOL res 208 32 R90 WINDOW 0 -18 8 VBottom 2 WINDOW 3 15 10 VTop 2 SYMATTR InstName R1 SYMATTR Value 16K SYMBOL res 64 160 R90 WINDOW 0 -15 12 VBottom 2 WINDOW 3 19 7 VTop 2 SYMATTR InstName R2 SYMATTR Value 8K SYMBOL res 368 176 R90 WINDOW 0 -16 11 VBottom 2 WINDOW 3 21 4 VTop 2 SYMATTR InstName R3 SYMATTR Value 600 SYMBOL cap 240 -96 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C1 SYMATTR Value 10n SYMBOL cap -16 144 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C2 SYMATTR Value 20n SYMBOL OpAmps\\opamp2 -208 96 R0 WINDOW 3 6 168 Left 2 SYMATTR InstName U2 SYMATTR Value LME49710 SYMBOL res -176 32 R90 WINDOW 0 -14 7 VBottom 2 WINDOW 3 21 6 VTop 2 SYMATTR InstName R4 SYMATTR Value 10.02K SYMBOL cap -160 -96 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C3 SYMATTR Value 10p SYMBOL njf -528 192 R270 SYMATTR InstName J1 SYMATTR Value MMBF4391 SYMBOL res -368 208 R90 WINDOW 0 -15 10 VBottom 2 WINDOW 3 19 7 VTop 2 SYMATTR InstName R5 SYMATTR Value 2.2K SYMBOL res -464 272 R180 WINDOW 0 36 33 Left 2 WINDOW 3 24 -6 Left 2 SYMATTR InstName R6 SYMATTR Value 2.2K SYMBOL res 464 240 R0 SYMATTR InstName R8 SYMATTR Value 600 SYMBOL res -640 80 R0 SYMATTR InstName R9 SYMATTR Value 10K SYMBOL res -576 480 R90 WINDOW 0 -16 14 VBottom 2 WINDOW 3 25 7 VTop 2 SYMATTR InstName R7 SYMATTR Value 120K SYMBOL cap -480 464 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C4 SYMATTR Value 6.8µ SYMBOL cap -528 560 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C5 SYMATTR Value 1µ SYMBOL diode -528 656 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D1 SYMATTR Value 1N4148 SYMBOL res -720 16 R90 WINDOW 0 -20 14 VBottom 2 WINDOW 3 21 9 VTop 2 SYMATTR InstName R10 SYMATTR Value 15K SYMBOL res -848 -176 R90 WINDOW 0 -15 14 VBottom 2 WINDOW 3 -46 -41 VTop 2 SYMATTR InstName R11 SYMATTR Value 15K SYMBOL diode -944 -96 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D3 SYMATTR Value 1N4148 SYMBOL diode -832 -112 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D4 SYMATTR Value 1N4148 SYMBOL res -1056 304 R90 WINDOW 0 -13 7 VBottom 2 WINDOW 3 14 0 VTop 2 SYMATTR InstName R12 SYMATTR Value 820 SYMBOL diode -1152 256 M180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D2 SYMATTR Value 1N4148 SYMBOL res -1248 208 R0 SYMATTR InstName R13 SYMATTR Value 390K SYMBOL cap -1152 320 R0 SYMATTR InstName C6 SYMATTR Value 1µ SYMBOL res -800 224 R0 SYMATTR InstName R14 SYMATTR Value 8.2K SYMBOL cap -896 288 R0 SYMATTR InstName C7 SYMATTR Value 1µ SYMBOL res -800 336 R0 SYMATTR InstName R15 SYMATTR Value 120K SYMBOL res -704 432 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R17 SYMATTR Value 680 SYMBOL res -720 672 R90 WINDOW 0 -20 9 VBottom 2 WINDOW 3 19 11 VTop 2 SYMATTR InstName R16 SYMATTR Value 1Meg SYMBOL cap -784 688 M0 SYMATTR InstName C8 SYMATTR Value 1µ SYMBOL res -864 672 R90 WINDOW 0 -13 10 VBottom 2 WINDOW 3 18 17 VTop 2 SYMATTR InstName R18 SYMATTR Value 56K SYMBOL res -1248 352 R0 SYMATTR InstName R21 SYMATTR Value 180K SYMBOL pnp -1024 352 M180 WINDOW 0 18 -8 Left 2 WINDOW 3 28 48 Left 2 SYMATTR InstName Q1 SYMATTR Value BC857C SYMBOL res -944 720 M0 SYMATTR InstName R19 SYMATTR Value 6.2K SYMBOL res -944 608 M0 SYMATTR InstName R20 SYMATTR Value 5k SYMBOL OpAmps\\opamp2 -576 432 M180 SYMATTR InstName U4 SYMATTR Value TL072 SYMBOL OpAmps\\opamp2 -864 -32 M0 SYMATTR InstName U5 SYMATTR Value TL072 TEXT -1128 864 Left 2 !.MODEL MMBF4391 NJF VTO=-4.6 BETA=0.02779 LAMBDA=0.00595 RD=1 RS=1 IS=1e-14 CGD=14p CGS=10.5p PB=1 B=1 KF=1e-18 AF=1 FC=0.5 mfg=Motorola TEXT -1248 600 Right 2 !.tran 0 5 4.9 1e-6 startup TEXT -1464 656 Left 2 !.lib LME49710.lib TEXT -1464 696 Left 2 !.lib TL072.lib
I had to move all the resistors to get them where they were clearly intended to be, and if Edward Rawde's experience is any guide you will have to move them back. I haven't included the two .lib files from your zipped folder. Why you needed to include a library for the TL072 escapes me - it's a jelly-bean part.
Maybe one of the connections got messed up in the process - you did say that one of them was misplaced.
I am running LTSpice 17 (XVII) and it was updated recently.
My FFT on V(out) had the third harmonic -78dB below the fundamental, not
-118dB.
Checking again over the last one 1 second and the last 10 seconds, it's only -46dB, which is very odd.
Viktor Mickevic's design does look pretty good, so I suspect that LTSpice 17 might not be performing as well as it should.
J
JM
Yes, the resistors have an offset - one of us must have a non standard symbol. The Q1 emitter/r14 node should connect to the D3 cathode (which is the schematic error I mentioned) so that may account for the different result (I can't see any other changes that needs to be made). I used ltspice 17.1.15 - as is usual with oscillators the integration method should be trapezoidal rather than gear.
B
Bill Sloman
My resistor symbol is the normal rectangular block. I don't recall doing anything to select it,
Moving the connection did make a big difference. I'm now seeing both odd and even harmonics, but 80dB below the fundamental. I collected data from 1 second rather than 4sec, and the amplitude takes most of the extra time to settle to a stable value. I'll have more of a dig tomorrow
- it's 1:20am here, and I should be in bed.
I'm using LTSpice XVII (x64) (17.0.37.0) running under Windows 7.
J
JM
You are probably using modified trapezoidal (which is the default) rather than trapezpoidal. To get anything vaguely sensible out of ltspice you have to turn off all of Engelhardt's "improvements". Better yet use any other spice.
Check the origin in your res.asy and EuropeanResistor.asy (if by box type you mean the IEC standard). It should be one grid diagonal from pin A. (Press control while right clicking on a placed resistor to locate and open the symbol). If the origin is not correct resistors on any schematic sent to (or received from) you will be drawn with an offset.
B
Bill Sloman
I was. Switching to trapezoidal made another big difference.
I'm still seeing both odd an even harmonics, but they are about 97dB below the fundamental.
Mike Engelhardt wasn't trying to make a more perfect Spice - he was making a version of Spice that Linear Technology could distribute free as an advertising gimmick. It was a pretty a good version of Spice despite this, and made a good deal of difference to what we could share on sci.electronics.design.
It turned out that Mike and I had been working on opposite sides of the electron-beam tester conflict at the end of the 1980's. Mike's side won
- my machine was more ambitious, but quite a bit more expensive, and while we got it working, it wasn't worth spending the money to put it into even low-volume production.
formatting link
puts my project in context
formatting link
talks about voltage contrast, and mentions Mike Engelhardt.
formatting link
is more specific.
I'll have a look sometime soon.
The point you made about the LTSpice op amp models echoes what the late Jim Thompson used to say here. The op amp models that get distributed aren't transistor level models but behavioral models, that do more or less the right thing. depending on how carefully and expertly they had been written. Jim Thompson touted himself - fairly convincingly - as an expert on writing them.
J
JM
Are you doing an FFT only over an interval where the output has settled down?
Since you have an interest in oscillators I'll email you a version of the circuit next week (if I remember!) where all harmonics in the audio band are below -150dB wrt the fundamental.
I won't post to the group since the design is proprietary.
B
Bill Sloman
I changed the simulation command to start it saving data at 0.1 sec and to simulate for 10 seconds. The settling behavior is interesting. It hasn't quite settled at 5 sec, and I ran the FFT from 6sec to 10 sec.
I look forward to it.
That makes sense. This is a public forum.
B
Bill Sloman
I've got the circuit and it was impressive - the LTSpice simulation gave a third harmonic that was 140dB below the fundamental, even though the circuit had been modified into a form that would simulate in a finite time.
I'm not all that happy with the amplitude control feedback loop - it clearly works but seems to have quite a few more components than it ought to need - but once you have a circuit that works that well it's tempting to stick with it.
W
Waldek Hebisch
I was thinking about using passive filter with zero at the fundamental frequency of the oscillator. Fundamental would go down, distortion would be changed, but not too much and in predictable way. Then one could measure distortion of signal that got trough the filter. It would be weak signal but since it would have much higher distortion it would be easier to measure. I assume that passive filter is sufficiently linear and that frequency is stable enough.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.