Colpitts kick-start in LT Spice

Steve Wilson <no@spam.com> wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Wed, 13 Nov 2019 01:13:53 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Wed, 13 Nov 2019 08:23:41 +1100, Clifford Heath
no.spam@please.net> wrote:

On 12/11/19 10:51 pm, Jeroen Belleman wrote:
A real oscillator will start up just fine, but a simulation may or
may not. Either way, it would be wrong to take this as a model of
reality. You *must* kick-start an oscillator simulation.

I prove this wrong in a separate post. But you have to be sure to use
the correct model.

I have both simulated and built quite a few oscillators using
LTSpice, allowing them to start by amplifying the noise in the
models. Anything reasonable seems to start in LTSpice and in real
life, once you get the gain and phase right. I've never used a
kick-start in any case.

High-Q oscillators, especially crystal oscillators, can take
thousands or millions of cycles to settle. And need a small time step
to model accurately. That can make a run take hours.

I like to force initial conditions close to what the steady-state
values will be. It starts instantly. Then I can zoom up on what it's
doing and see if the amplitude is increasing or decreasing.

I take that to mean letting it run for many cycles then looking at the
envelope to see if it is constant. Then adjust the initial conditions
as appropriate.

Each setting of initial conditions can be run for just a few cycles to
see if the amplitude is increasing or decreasing. Zoom the heck up on
the peaks. Then tweak the conditions and try again. It converges fast.

That's trial and error and guesswork. You can spend a lot of time trying
to get close.

Got to be careful about bias, which can involve long time constants.

LTspice settles the bias conditions for you.

You don't have to do that. There's a better way.

I show how to do this in oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

You start the oscillator and let it run for an appropriate length of
time,

That's the problem. The appropriate screen time may be hours. Maybe
days with a good time step.

I have never seen more than a few minutes. Your time step is way too
small.

then measure the peak voltage across the crystal ESR. Convert that to
the voltage required to produce that current, and set the initial
conditions to produce that voltage across the inductor and ESR
resistor. This produces a current in the inductor that matches the
value measured after many cycles.

Why not just measure the voltage and current of all the crystal
elements? It has shunt and series paths, so the current through the
series resistance is only part of the story.

The ESR is the one you are interested in. It gives the exact value
needed to start the oscillator and settle in a few cycles, maybe one or
two.

The result is the oscillator starts and settles within a few cycles, at
exactly the correct amplitude.

It only settles at its normal rate, which might be a million cycles.

I don't think you are paying attention. I stated a few cycles. If your
trial and error technique works, why do you reject mine?

Even complex stabilization methods, such as suggested by Bruce
Griffiths, settle extremely quickly. I also show this in
Oscillators.zip

It's a technique I have used for decades, and often posted to SED.

An extension of this technique is suggested by Kevin Aylward of
Superspice:

http://www.kevinaylward.co.uk/

He starts by looking at the formula Q = XL / R

He reasons you can make a high Q oscillator run faster by lowering the
Q. Then you have to increase C by the same amount to maintain the same
frequency. He cautions to not try to go beyond a factor of 100.

His suggestion does indeed work. But it changes the frequency slightly,
which may be important in some applications.

An XO must be analyzed in time domain to estimate the voltages and
currents. It's basically impossible to do PPM or PPB frequency
analysis in time domain. Best switch to frequency domain for that.

Nonsense. Let the oscillator run for 1,000 or 10,000 cycles, then
measure the frequency and divide by the number of cycles.

I have uploaded an illustration of how to measure 8 parts-per-billion in
LTspice. You can download it at

https://drive.google.com/file/d/1jPoXyNQmRrb5r3hu_6LjNyFHajpsOjp8/view

This turned out to be one of the most difficult articles I have uploaded to
google drive. Please let me know if you have trouble following it.
 
On 11/12/2019 2:58 PM, John Larkin wrote:
On Tue, 12 Nov 2019 14:04:56 -0600, John S <Sophi.2@invalid.org
wrote:

On 11/12/2019 10:48 AM, jlarkin@highlandsniptechnology.com wrote:

You removed my time step. Set it to 1 ms and wait, very patiently, to
see a beautiful bizarre startup that doesn't oscillate.

Why?

With an unspecified time step, LT Spice LC tank frequencies are not
very accurate.

What kind of not accurate? Frequency, voltage, etc? Please specify.

Frequency.

And how do you know about very accurate? Have you built them to verify?

Built? I compare the LT spice frequency to the calculated value. Even
bare LCs are a bit wrong at the default settings.


I showed you that your own model self-starts in LTSpice without a
kickstart. You said it never would, but it does. You never mentioned
accuracy. Build one and bench test it. Report back here with your
results. Be honest and don't change the stream in the middle of a horse.

The issue isn't bench testing, it is the hazards of LT Spice, and the
general weirdness of numerical simulation of physical systems.

It used to be that LT Spice wouldn't allow you to run if one end of a
capacitor was open, or if you have two caps in series. Now it does.

If you are unhappy with LTSpice, don't use it or make your own
simulator. LTSpice is free. What's wrong with you?
 
On Thu, 14 Nov 2019 15:46:32 -0600, John S <Sophi.2@invalid.org>
wrote:

On 11/12/2019 2:58 PM, John Larkin wrote:
On Tue, 12 Nov 2019 14:04:56 -0600, John S <Sophi.2@invalid.org
wrote:

On 11/12/2019 10:48 AM, jlarkin@highlandsniptechnology.com wrote:

You removed my time step. Set it to 1 ms and wait, very patiently, to
see a beautiful bizarre startup that doesn't oscillate.

Why?

With an unspecified time step, LT Spice LC tank frequencies are not
very accurate.

What kind of not accurate? Frequency, voltage, etc? Please specify.

Frequency.

And how do you know about very accurate? Have you built them to verify?

Built? I compare the LT spice frequency to the calculated value. Even
bare LCs are a bit wrong at the default settings.


I showed you that your own model self-starts in LTSpice without a
kickstart. You said it never would, but it does. You never mentioned
accuracy. Build one and bench test it. Report back here with your
results. Be honest and don't change the stream in the middle of a horse.

The issue isn't bench testing, it is the hazards of LT Spice, and the
general weirdness of numerical simulation of physical systems.

It used to be that LT Spice wouldn't allow you to run if one end of a
capacitor was open, or if you have two caps in series. Now it does.


If you are unhappy with LTSpice, don't use it or make your own
simulator. LTSpice is free. What's wrong with you?

I'm not unhapy with LT. I love it. But any numerical simulation of a
complex physical system will have weirdnesses and numerical
instabilities and has to be driven carefully.

I have written my own circuit and control system simulators. But LT
Spice is better. Well, one PLL could probably only be simulated with
custom code.

You are more interested in being obnoxious than in designing
electronics. What's wrong with you?

--

John Larkin Highland Technology, Inc
picosecond timing precision measurement

jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
 

Welcome to EDABoard.com

Sponsor

Back
Top