Forums

Colpitts kick-start in LT Spice

Started by Unknown November 11, 2019
jlarkin@highlandsniptechnology.com wrote:

> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> > wrote: > >>John Larkin <jlarkin@highland_atwork_technology.com> wrote: >> >>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>> <klauskvik@hotmail.com> wrote: >> >>>>Wow, 1 Henry and multiply farad caps, why are you not using real >>>>values? >> >>> It's normalized. Why not? >> >>>>AFAIR you need to have conditions for oscillation covered, >>>>specifically the gain setting of C1 and C2 >> >>> It's a perfectly fine oscillator with lots of gain. It just never >>> starts. >> >>Your model is broken. Use the PSPICE model. It self-starts.
> If any oscillator of this kind starts in simulation, something is > indeed broken.
> 0 multiplied exponentially is still 0.
Wrong math. If your thinking were true, there would be no oscillators on the planet. See Barkhausen. Loop gain is greater than 1. Phase shift is zero. The tank feeds the signal to the base or gate. The circuit is an emitter follower so it appears at the cathode. The split capacitors feed it back into the tank. The capacitance ratio gives gain to the loop. The signal amplitude increases. You have an oscillator. This works on the bench and in SPICE.
On Tue, 12 Nov 2019 03:54:07 -0000 (UTC), Steve Wilson <no@spam.com>
wrote:

>jlarkin@highlandsniptechnology.com wrote: > >> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >> wrote: >> >>>John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>> >>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>> <klauskvik@hotmail.com> wrote: >>> >>>>>Wow, 1 Henry and multiply farad caps, why are you not using real >>>>>values? >>> >>>> It's normalized. Why not? >>> >>>>>AFAIR you need to have conditions for oscillation covered, >>>>>specifically the gain setting of C1 and C2 >>> >>>> It's a perfectly fine oscillator with lots of gain. It just never >>>> starts. >>> >>>Your model is broken. Use the PSPICE model. It self-starts. > >> If any oscillator of this kind starts in simulation, something is >> indeed broken. > >> 0 multiplied exponentially is still 0. > >Wrong math. If your thinking were true, there would be no oscillators on >the planet. > >See Barkhausen. Loop gain is greater than 1. Phase shift is zero.
Initial condition is zero.
> >The tank feeds the signal to the base or gate. The circuit is an emitter >follower so it appears at the cathode. The split capacitors feed it back >into the tank. > >The capacitance ratio gives gain to the loop. The signal amplitude >increases.
Increases from what? In which direction? -- John Larkin Highland Technology, Inc lunatic fringe electronics
jlarkin@highlandsniptechnology.com wrote:

> On Tue, 12 Nov 2019 03:54:07 -0000 (UTC), Steve Wilson <no@spam.com> > wrote: > >>jlarkin@highlandsniptechnology.com wrote: >> >>> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >>> wrote: >>> >>>>John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>>> >>>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>>> <klauskvik@hotmail.com> wrote: >>>> >>>>>>Wow, 1 Henry and multiply farad caps, why are you not using real >>>>>>values? >>>> >>>>> It's normalized. Why not? >>>> >>>>>>AFAIR you need to have conditions for oscillation covered, >>>>>>specifically the gain setting of C1 and C2 >>>> >>>>> It's a perfectly fine oscillator with lots of gain. It just never >>>>> starts. >>>> >>>>Your model is broken. Use the PSPICE model. It self-starts. >> >>> If any oscillator of this kind starts in simulation, something is >>> indeed broken. >> >>> 0 multiplied exponentially is still 0. >> >>Wrong math. If your thinking were true, there would be no oscillators on >>the planet. >> >>See Barkhausen. Loop gain is greater than 1. Phase shift is zero. > > Initial condition is zero.
In a hardware oscillator, thermal noise provides the start signal. In LTspice, the turnon transient generates the start signal.
>>The tank feeds the signal to the base or gate. The circuit is an emitter >>follower so it appears at the cathode. The split capacitors feed it back >>into the tank.
>>The capacitance ratio gives gain to the loop. The signal amplitude >>increases.
> Increases from what? In which direction?
In a hardware oscillator, the start signal is random noise. In LTspice, it depends on the initial conditions. In either case, it doesn't matter. Even a small loop gain is sufficient to start the oscillation. The oscillation amplitude increases until it hits some limit. For example, 1.01^10000 = 1.63582871119e+43
On 2019-11-11 20:30, Steve Wilson wrote:
> jlarkin@highlandsniptechnology.com wrote: > > >> The 100-second interval, before the kick-start, does all sorts if fun >> stuff, but doesn't seem to want to oscillate. It's super sensitive to >> time step and Spice params. > >> https://www.dropbox.com/s/03mhw5qrkg66v88/CPKS_1.jpg?dl=0 > >> https://www.dropbox.com/s/h6nm3g6rro8ioj7/CPKS_2.jpg?dl=0 > >> https://www.dropbox.com/s/wqnh5de42kpqv38/CPKS_3.jpg?dl=0 > >> https://www.dropbox.com/s/xo6elrlhzvu6mh5/Colpitts_Kick_Start_1.asc?dl=0 > > Thanks very much for looking it up. > > I am running LTspice IV Version 4.23, modified trap. > > I get completely different results. Not even similar. I suspect there is a > problem with the 2N7002 models. In both cases, the 2N7002 is carrying > plenty of current and should be able to self-start. It should not need a > start pulse.
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. Jeroen Belleman
On 11/11/2019 9:28 PM, jlarkin@highlandsniptechnology.com wrote:
> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> > wrote: > >> John Larkin <jlarkin@highland_atwork_technology.com> wrote: >> >>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>> <klauskvik@hotmail.com> wrote: >> >>>> Wow, 1 Henry and multiply farad caps, why are you not using real values? >> >>> It's normalized. Why not? >> >>>> AFAIR you need to have conditions for oscillation covered, specifically >>>> the gain setting of C1 and C2 >> >>> It's a perfectly fine oscillator with lots of gain. It just never >>> starts. >> >> Your model is broken. Use the PSPICE model. It self-starts. > > If any oscillator of this kind starts in simulation, something is > indeed broken. > > 0 multiplied exponentially is still 0. >
In your sim, Remove the kickstart. Then set .tran 0 15000 0. It begins self-start at about 5k and reached full amplitude at about 8k. You need more patience. It takes a while for an oscillator to start.
On Tue, 12 Nov 2019 09:46:27 -0000 (UTC), Steve Wilson <no@spam.com>
wrote:

>jlarkin@highlandsniptechnology.com wrote: > >> On Tue, 12 Nov 2019 03:54:07 -0000 (UTC), Steve Wilson <no@spam.com> >> wrote: >> >>>jlarkin@highlandsniptechnology.com wrote: >>> >>>> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >>>> wrote: >>>> >>>>>John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>>>> >>>>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>>>> <klauskvik@hotmail.com> wrote: >>>>> >>>>>>>Wow, 1 Henry and multiply farad caps, why are you not using real >>>>>>>values? >>>>> >>>>>> It's normalized. Why not? >>>>> >>>>>>>AFAIR you need to have conditions for oscillation covered, >>>>>>>specifically the gain setting of C1 and C2 >>>>> >>>>>> It's a perfectly fine oscillator with lots of gain. It just never >>>>>> starts. >>>>> >>>>>Your model is broken. Use the PSPICE model. It self-starts. >>> >>>> If any oscillator of this kind starts in simulation, something is >>>> indeed broken. >>> >>>> 0 multiplied exponentially is still 0. >>> >>>Wrong math. If your thinking were true, there would be no oscillators on >>>the planet. >>> >>>See Barkhausen. Loop gain is greater than 1. Phase shift is zero. >> >> Initial condition is zero. > >In a hardware oscillator, thermal noise provides the start signal. In >LTspice, the turnon transient generates the start signal.
But sometimes it doesn't. I posted pics.
> >>>The tank feeds the signal to the base or gate. The circuit is an emitter >>>follower so it appears at the cathode. The split capacitors feed it back >>>into the tank. > >>>The capacitance ratio gives gain to the loop. The signal amplitude >>>increases. > >> Increases from what? In which direction? > >In a hardware oscillator, the start signal is random noise. In LTspice, it >depends on the initial conditions. > >In either case, it doesn't matter. Even a small loop gain is sufficient to >start the oscillation. The oscillation amplitude increases until it hits >some limit. For example, 1.01^10000 = 1.63582871119e+43 >
LT Spice is wonderfully numerically quirky. Sometimes it just won't find the initial start conditions. Sometimes it sims super slow. Sometimes it sims fine for a while and then stalls. Usually some tiny change in a part value or the time step or something changes all that. I sometimes have to play with things until I can get it to do what looks reasonable. Is that reality, or did I force it to do what I want to see? Don't get me started on device models. -- John Larkin Highland Technology, Inc lunatic fringe electronics
On Tue, 12 Nov 2019 07:43:06 -0600, John S <Sophi.2@invalid.org>
wrote:

>On 11/11/2019 9:28 PM, jlarkin@highlandsniptechnology.com wrote: >> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >> wrote: >> >>> John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>> >>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>> <klauskvik@hotmail.com> wrote: >>> >>>>> Wow, 1 Henry and multiply farad caps, why are you not using real values? >>> >>>> It's normalized. Why not? >>> >>>>> AFAIR you need to have conditions for oscillation covered, specifically >>>>> the gain setting of C1 and C2 >>> >>>> It's a perfectly fine oscillator with lots of gain. It just never >>>> starts. >>> >>> Your model is broken. Use the PSPICE model. It self-starts. >> >> If any oscillator of this kind starts in simulation, something is >> indeed broken. >> >> 0 multiplied exponentially is still 0. >> > > >In your sim, Remove the kickstart. Then set .tran 0 15000 0. >It begins self-start at about 5k and reached full amplitude at about 8k. > >You need more patience. It takes a while for an oscillator to start.
With one set of values, the voltage at the top of the tank is -4 fV and is absolutely flat. -- John Larkin Highland Technology, Inc lunatic fringe electronics
On 11/12/2019 9:11 AM, jlarkin@highlandsniptechnology.com wrote:
> On Tue, 12 Nov 2019 07:43:06 -0600, John S <Sophi.2@invalid.org> > wrote: > >> On 11/11/2019 9:28 PM, jlarkin@highlandsniptechnology.com wrote: >>> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >>> wrote: >>> >>>> John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>>> >>>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>>> <klauskvik@hotmail.com> wrote: >>>> >>>>>> Wow, 1 Henry and multiply farad caps, why are you not using real values? >>>> >>>>> It's normalized. Why not? >>>> >>>>>> AFAIR you need to have conditions for oscillation covered, specifically >>>>>> the gain setting of C1 and C2 >>>> >>>>> It's a perfectly fine oscillator with lots of gain. It just never >>>>> starts. >>>> >>>> Your model is broken. Use the PSPICE model. It self-starts. >>> >>> If any oscillator of this kind starts in simulation, something is >>> indeed broken. >>> >>> 0 multiplied exponentially is still 0. >>> >> >> >> In your sim, Remove the kickstart. Then set .tran 0 15000 0. >> It begins self-start at about 5k and reached full amplitude at about 8k. >> >> You need more patience. It takes a while for an oscillator to start. > > With one set of values, the voltage at the top of the tank is -4 fV > and is absolutely flat. >
You're doing something wrong. Try this... Version 4 SHEET 1 1348 680 WIRE 896 -144 672 -144 WIRE 672 -80 672 -144 WIRE 896 -32 896 -144 WIRE 464 0 304 0 WIRE 624 0 464 0 WIRE 464 80 464 0 WIRE 304 112 304 0 WIRE 896 128 896 48 WIRE 896 128 816 128 WIRE 816 160 816 128 WIRE 464 192 464 144 WIRE 576 192 464 192 WIRE 672 192 672 16 WIRE 672 192 576 192 WIRE 464 240 464 192 WIRE 672 256 672 192 WIRE 896 256 896 128 WIRE 304 400 304 192 WIRE 464 400 464 304 WIRE 464 400 304 400 WIRE 672 400 672 336 WIRE 896 400 896 336 WIRE 896 400 672 400 WIRE 464 432 464 400 FLAG 464 432 0 FLAG 816 160 0 FLAG 576 192 SRC SYMBOL ind 288 96 R0 WINDOW 0 54 39 Left 2 WINDOW 3 60 70 Left 2 SYMATTR InstName L1 SYMATTR Value 1 SYMBOL cap 448 80 R0 WINDOW 0 51 20 Left 2 WINDOW 3 59 54 Left 2 SYMATTR InstName C1 SYMATTR Value 1 SYMBOL cap 448 240 R0 WINDOW 0 51 20 Left 2 WINDOW 3 59 54 Left 2 SYMATTR InstName C2 SYMATTR Value 5 SYMBOL nmos 624 -80 R0 WINDOW 0 90 24 Left 2 WINDOW 3 70 58 Left 2 SYMATTR InstName M1 SYMATTR Value 2N7002 SYMBOL res 656 240 R0 WINDOW 0 61 43 Left 2 WINDOW 3 60 78 Left 2 SYMATTR InstName R1 SYMATTR Value 500 SYMBOL voltage 896 -48 R0 WINDOW 0 49 45 Left 2 WINDOW 3 48 80 Left 2 SYMATTR InstName V1 SYMATTR Value 20 SYMBOL voltage 896 240 R0 WINDOW 0 53 37 Left 2 WINDOW 3 57 72 Left 2 SYMATTR InstName V2 SYMATTR Value 20 TEXT -192 376 Left 2 !.tran 0 15000 0 TEXT -192 272 Left 2 ;Colpitts Kick-Start TEXT -168 312 Left 2 ;JL Nov 9 2019
Jeroen Belleman <jeroen@nospam.please> wrote:

> On 2019-11-11 20:30, Steve Wilson wrote: >> jlarkin@highlandsniptechnology.com wrote: >> >> >>> The 100-second interval, before the kick-start, does all sorts if fun >>> stuff, but doesn't seem to want to oscillate. It's super sensitive to >>> time step and Spice params. >> >>> https://www.dropbox.com/s/03mhw5qrkg66v88/CPKS_1.jpg?dl=0 >> >>> https://www.dropbox.com/s/h6nm3g6rro8ioj7/CPKS_2.jpg?dl=0 >> >>> https://www.dropbox.com/s/wqnh5de42kpqv38/CPKS_3.jpg?dl=0 >> >>> https://www.dropbox.com/s/xo6elrlhzvu6mh5/Colpitts_Kick_Start_1.asc?dl= >>> 0 >> >> Thanks very much for looking it up. >> >> I am running LTspice IV Version 4.23, modified trap. >> >> I get completely different results. Not even similar. I suspect there >> is a problem with the 2N7002 models. In both cases, the 2N7002 is >> carrying plenty of current and should be able to self-start. It should >> not need a start pulse. > > 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.
> Jeroen Belleman
False. Version 4 SHEET 1 2804 680 WIRE 1296 -144 1136 -144 WIRE 1136 -80 1136 -144 WIRE 1296 -32 1296 -144 WIRE 688 0 640 0 WIRE 960 0 800 0 WIRE 1008 0 960 0 WIRE 1088 0 1008 0 WIRE 688 80 688 0 WIRE 960 80 960 0 WIRE 640 96 640 0 WIRE 800 112 800 0 WIRE 1296 128 1296 48 WIRE 1296 128 1216 128 WIRE 1216 160 1216 128 WIRE 960 192 960 144 WIRE 1008 192 960 192 WIRE 1136 192 1136 16 WIRE 1136 192 1008 192 WIRE 960 240 960 192 WIRE 1136 256 1136 192 WIRE 1296 256 1296 128 WIRE 640 400 640 176 WIRE 800 400 800 192 WIRE 800 400 640 400 WIRE 960 400 960 304 WIRE 960 400 800 400 WIRE 1136 400 1136 336 WIRE 1296 400 1296 336 WIRE 1296 400 1136 400 WIRE 960 432 960 400 FLAG 1008 0 OSC FLAG 960 432 0 FLAG 1216 160 0 FLAG 1008 192 SRC FLAG 688 80 0 SYMBOL ind 784 96 R0 WINDOW 0 54 39 Left 2 WINDOW 3 60 70 Left 2 SYMATTR InstName L1 SYMATTR Value 1 SYMATTR SpiceLine Rser=1m SYMBOL cap 944 80 R0 WINDOW 0 51 20 Left 2 WINDOW 3 59 54 Left 2 SYMATTR InstName C1 SYMATTR Value 1 SYMBOL current 640 176 R180 WINDOW 0 63 41 Left 2 WINDOW 3 -214 220 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName I1 SYMATTR Value PULSE(0 1 100 1m 1m 50m) SYMBOL cap 944 240 R0 WINDOW 0 51 20 Left 2 WINDOW 3 59 54 Left 2 SYMATTR InstName C2 SYMATTR Value 5 SYMBOL nmos 1088 -80 R0 WINDOW 0 90 24 Left 2 WINDOW 3 70 58 Left 2 SYMATTR InstName M1 SYMATTR Value 2N7000 SYMBOL res 1120 240 R0 WINDOW 0 61 43 Left 2 WINDOW 3 60 78 Left 2 SYMATTR InstName R1 SYMATTR Value 500 SYMBOL voltage 1296 -48 R0 WINDOW 0 49 45 Left 2 WINDOW 3 48 80 Left 2 SYMATTR InstName V1 SYMATTR Value 20 SYMBOL voltage 1296 240 R0 WINDOW 0 53 37 Left 2 WINDOW 3 57 72 Left 2 SYMATTR InstName V2 SYMATTR Value 20 TEXT 776 -136 Left 2 !.tran 0 20 0 1m TEXT 776 -168 Left 2 ;'2N7000 Colpitts Self-Start TEXT 328 464 Left 1 !* PWRMOS.LIB \n* NOT SPICE 2G.6 Compatible. FOR USE WITH MICROSIM PSPICE\n.model 2n7000 NMOS(Level=3 Gamma=0 Delta=0 Eta=0 Theta=0 Kappa=0.2 Vmax=0 Xj=0 Phi=.6 Kp=1.073u W=.12 L=2u Rs=20m Vto=1.73 Rd=.5489 Rds=48MEG Cgso=73.61p Cgdo=6.487p Cbd=74.46p Mj=.5 Pb=.8 Fc=.5 Rg=546.2 Is=10f N=1 Rb=1m) [Transient Analysis] { Npanes: 1 { traces: 1 {524290,0,"V(osc)"} X: (' ',0,0,2,20) Y[0]: ('p',0,-1e-009,2e-010,1e-009) Y[1]: ('_',0,1e+308,0,-1e+308) Volts: ('p',0,0,1,-1e-009,2e-010,1e-009) Log: 0 0 0 GridStyle: 1 } }
jlarkin@highlandsniptechnology.com wrote:

> On Tue, 12 Nov 2019 09:46:27 -0000 (UTC), Steve Wilson <no@spam.com> > wrote: > >>jlarkin@highlandsniptechnology.com wrote: >> >>> On Tue, 12 Nov 2019 03:54:07 -0000 (UTC), Steve Wilson <no@spam.com> >>> wrote: >>> >>>>jlarkin@highlandsniptechnology.com wrote: >>>> >>>>> On Tue, 12 Nov 2019 01:36:13 -0000 (UTC), Steve Wilson <no@spam.com> >>>>> wrote: >>>>> >>>>>>John Larkin <jlarkin@highland_atwork_technology.com> wrote: >>>>>> >>>>>>> On Mon, 11 Nov 2019 12:19:12 -0800 (PST), Klaus Kragelund >>>>>>> <klauskvik@hotmail.com> wrote: >>>>>> >>>>>>>>Wow, 1 Henry and multiply farad caps, why are you not using real >>>>>>>>values? >>>>>> >>>>>>> It's normalized. Why not? >>>>>> >>>>>>>>AFAIR you need to have conditions for oscillation covered, >>>>>>>>specifically the gain setting of C1 and C2 >>>>>> >>>>>>> It's a perfectly fine oscillator with lots of gain. It just never >>>>>>> starts. >>>>>> >>>>>>Your model is broken. Use the PSPICE model. It self-starts. >>>> >>>>> If any oscillator of this kind starts in simulation, something is >>>>> indeed broken. >>>> >>>>> 0 multiplied exponentially is still 0. >>>> >>>>Wrong math. If your thinking were true, there would be no oscillators >>>>on the planet. >>>> >>>>See Barkhausen. Loop gain is greater than 1. Phase shift is zero. >>> >>> Initial condition is zero. >> >>In a hardware oscillator, thermal noise provides the start signal. In >>LTspice, the turnon transient generates the start signal. > > But sometimes it doesn't. I posted pics.
And I showed you the device model for the 2N7002 was broken. The model for the 2N7000 fixes the problem. The 2N7000 is identical electrically to the 2N7002. I posted this information. Am I just wasting my time replying to your posts?
>>>>The tank feeds the signal to the base or gate. The circuit is an >>>>emitter follower so it appears at the cathode. The split capacitors >>>>feed it back into the tank. >> >>>>The capacitance ratio gives gain to the loop. The signal amplitude >>>>increases. >> >>> Increases from what? In which direction? >> >>In a hardware oscillator, the start signal is random noise. In LTspice, >>it depends on the initial conditions. >> >>In either case, it doesn't matter. Even a small loop gain is sufficient >>to start the oscillation. The oscillation amplitude increases until it >>hits some limit. For example, 1.01^10000 = 1.63582871119e+43
> LT Spice is wonderfully numerically quirky. Sometimes it just won't > find the initial start conditions. Sometimes it sims super slow. > Sometimes it sims fine for a while and then stalls. Usually some tiny > change in a part value or the time step or something changes all that.
I found that happens a lot in version XVII. I went back to IV and rarely see it. Make sure you are on modified trap. Some sims can change it without telling you.
> I sometimes have to play with things until I can get it to do what > looks reasonable. Is that reality, or did I force it to do what I want > to see?
Your judgement from experience.
> Don't get me started on device models.
Many are wrong, including 2N7002.