Colpitts kick-start in LT Spice

Guest
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



Version 4
SHEET 1 1348 680
WIRE 896 -144 672 -144
WIRE 672 -80 672 -144
WIRE 896 -32 896 -144
WIRE 240 0 112 0
WIRE 304 0 240 0
WIRE 464 0 304 0
WIRE 624 0 464 0
WIRE 464 80 464 0
WIRE 112 96 112 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 112 400 112 176
WIRE 304 400 304 192
WIRE 304 400 112 400
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 240 0 OSC
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 current 112 176 R180
WINDOW 0 63 41 Left 2
WINDOW 3 48 -4 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName I1
SYMATTR Value PULSE(0 10 100 1m 1m 50m)
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 1000 0 200u
TEXT -192 272 Left 2 ;Colpitts Kick-Start
TEXT -168 312 Left 2 ;JL Nov 9 2019



--

John Larkin Highland Technology, Inc

lunatic fringe electronics
 
On 11.11.19 17:16, 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

--- original clipped ---

Here is a simplified version with some scaling:

Version 4
SHEET 1 1348 680
WIRE 896 -144 672 -144
WIRE 672 -80 672 -144
WIRE 896 -32 896 -144
WIRE 304 0 240 0
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 240 0 OSC
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 2Âľ
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 10
SYMBOL voltage 896 240 R0
WINDOW 0 53 37 Left 2
WINDOW 3 57 72 Left 2
SYMATTR InstName V2
SYMATTR Value 10
TEXT 104 312 Left 2 !.tran 20m
TEXT -192 272 Left 2 ;Colpitts Kick-Start
TEXT -168 312 Left 2 ;JL Nov 9 2019\nTV Nov 11 2019
TEXT 104 280 Left 2 !.ic V(SRC)=0

----

-TV
 
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.

I switched to the 2N7000, using the OrCAD model in the PWRMOS.LIB file in
the swcadiii\lib\cmp folder. This is for PSPICE and their work is generally
reliable.

The 2N7000 version self-starts. Here is the ASC file. Watch the wrap at the
model statement.

Version 4
SHEET 1 1904 680
WIRE 976 -144 816 -144
WIRE 816 -80 816 -144
WIRE 976 -32 976 -144
WIRE 368 0 320 0
WIRE 640 0 480 0
WIRE 688 0 640 0
WIRE 768 0 688 0
WIRE 368 80 368 0
WIRE 640 80 640 0
WIRE 320 96 320 0
WIRE 480 112 480 0
WIRE 976 128 976 48
WIRE 976 128 896 128
WIRE 896 160 896 128
WIRE 640 192 640 144
WIRE 688 192 640 192
WIRE 816 192 816 16
WIRE 816 192 688 192
WIRE 640 240 640 192
WIRE 816 256 816 192
WIRE 976 256 976 128
WIRE 320 400 320 176
WIRE 480 400 480 192
WIRE 480 400 320 400
WIRE 640 400 640 304
WIRE 640 400 480 400
WIRE 816 400 816 336
WIRE 976 400 976 336
WIRE 976 400 816 400
WIRE 640 432 640 400
FLAG 688 0 OSC
FLAG 640 432 0
FLAG 896 160 0
FLAG 688 192 SRC
FLAG 368 80 0
SYMBOL ind 464 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 624 80 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C1
SYMATTR Value 1
SYMBOL current 320 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 624 240 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C2
SYMATTR Value 5
SYMBOL nmos 768 -80 R0
WINDOW 0 90 24 Left 2
WINDOW 3 70 58 Left 2
SYMATTR InstName M1
SYMATTR Value 2N7000
SYMBOL res 800 240 R0
WINDOW 0 61 43 Left 2
WINDOW 3 60 78 Left 2
SYMATTR InstName R1
SYMATTR Value 500
SYMBOL voltage 976 -48 R0
WINDOW 0 49 45 Left 2
WINDOW 3 48 80 Left 2
SYMATTR InstName V1
SYMATTR Value 20
SYMBOL voltage 976 240 R0
WINDOW 0 53 37 Left 2
WINDOW 3 57 72 Left 2
SYMATTR InstName V2
SYMATTR Value 20
TEXT 456 -136 Left 2 !.tran 0 2000 0 1m
TEXT 456 -168 Left 2 ;'2N7000 Colpitts Self-Start
TEXT 328 464 Left 2 !* 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\n+ Tox=2u Uo=600 Phi=.6 Kp=
1.073u W=.12 L=2u Rs=20m Vto=1.73\n+ Rd=.5489 Rds=48MEG Cgso=
73.61p Cgdo=6.487p Cbd=74.46p Mj=.5\n+ Pb=.8 Fc=.5 Rg=546.2
Is=10f N=1 Rb=1m)

Here is the PLT file:

[Transient Analysis]
{
Npanes: 3
{
traces: 1 {524292,0,"V(src)"}
X: ('K',1,0,200,2000)
Y[0]: (' ',6,-2.765508,6e-006,-2.765442)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: (' ',0,0,6,-2.765508,6e-006,-2.765442)
Log: 0 0 0
GridStyle: 1
},
{
traces: 1 {524291,0,"V(osc)"}
X: ('K',1,0,200,2000)
Y[0]: ('u',0,-1.8e-005,3e-006,1.8e-005)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: ('u',0,0,0,-1.8e-005,3e-006,1.8e-005)
Log: 0 0 0
GridStyle: 1
},
{
traces: 1 {34603010,0,"Is(M1)"}
X: ('K',1,0,200,2000)
Y[0]: ('m',4,-0.0344702,2e-007,-0.034468)
Y[1]: ('_',0,1e+308,0,-1e+308)
Amps: ('m',0,0,5,-0.0344702,2e-007,-0.034468)
Log: 0 0 0
GridStyle: 1
}
}
 
Steve Wilson <no@spam.com> 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.

I switched to the 2N7000, using the OrCAD model in the PWRMOS.LIB file
in the swcadiii\lib\cmp folder. This is for PSPICE and their work is
generally reliable.

The 2N7000 version self-starts. Here is the ASC file. Watch the wrap at
the model statement.

It's definitely a model problem. The 2N7000 is a T0-92 thu-hole. The
2N7002 is SOT-23 SMD. Electrically they are identical. Just different
packages.

https://www.mouser.com/datasheet/2/149/2N7002-8405.pdf
 
Wow, 1 Henry and multiply farad caps, why are you not using real values?

AFAIR you need to have conditions for oscillation covered, specifically the gain setting of C1 and C2

I am running a colpitts in Pspice, and have no startup problems

Cheers

Klaus
 
Klaus Kragelund <klauskvik@hotmail.com> wrote:

Wow, 1 Henry and multiply farad caps, why are you not using real values?

AFAIR you need to have conditions for oscillation covered, specifically
the gain setting of C1 and C2

I am running a colpitts in Pspice, and have no startup problems

Cheers

Klaus

It also works in LTspice if you use the PSPICE model.

1H and 1C are convenient values that also avoid any issues with
intelectrode values in the transistor. Recall the 2N7000/2N7002 MOSFET have
significant capacitances.

I tried making C1=C2. It made little difference to the startup.

I often use different capacitor ratios in bipolar Colpitts to get a more
sinusoidal output signal. I assume it would also affect the phase noise,
but there is no way to measure that in Lspice, and I can't afford the seat
cost of the super-expensive sims that do measure phase noise.

Anyway, I believe that is one measurement that is best done on the bench.
 
On Monday, November 11, 2019 at 2:31:02 PM UTC-5, 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.

I switched to the 2N7000, using the OrCAD model in the PWRMOS.LIB file in
the swcadiii\lib\cmp folder. This is for PSPICE and their work is generally
reliable.

The 2N7000 version self-starts. Here is the ASC file.

This is an attempt to get around the wrap problem in long lines.

Version 4
SHEET 1 2804 680
WIRE 976 -144 816 -144
WIRE 816 -80 816 -144
WIRE 976 -32 976 -144
WIRE 368 0 320 0
WIRE 640 0 480 0
WIRE 688 0 640 0
WIRE 768 0 688 0
WIRE 368 80 368 0
WIRE 640 80 640 0
WIRE 320 96 320 0
WIRE 480 112 480 0
WIRE 976 128 976 48
WIRE 976 128 896 128
WIRE 896 160 896 128
WIRE 640 192 640 144
WIRE 688 192 640 192
WIRE 816 192 816 16
WIRE 816 192 688 192
WIRE 640 240 640 192
WIRE 816 256 816 192
WIRE 976 256 976 128
WIRE 320 400 320 176
WIRE 480 400 480 192
WIRE 480 400 320 400
WIRE 640 400 640 304
WIRE 640 400 480 400
WIRE 816 400 816 336
WIRE 976 400 976 336
WIRE 976 400 816 400
WIRE 640 432 640 400
FLAG 688 0 OSC
FLAG 640 432 0
FLAG 896 160 0
FLAG 688 192 SRC
FLAG 368 80 0
SYMBOL ind 464 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 624 80 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C1
SYMATTR Value 1
SYMBOL current 320 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 624 240 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C2
SYMATTR Value 5
SYMBOL nmos 768 -80 R0
WINDOW 0 90 24 Left 2
WINDOW 3 70 58 Left 2
SYMATTR InstName M1
SYMATTR Value 2N7000
SYMBOL res 800 240 R0
WINDOW 0 61 43 Left 2
WINDOW 3 60 78 Left 2
SYMATTR InstName R1
SYMATTR Value 500
SYMBOL voltage 976 -48 R0
WINDOW 0 49 45 Left 2
WINDOW 3 48 80 Left 2
SYMATTR InstName V1
SYMATTR Value 20
SYMBOL voltage 976 240 R0
WINDOW 0 53 37 Left 2
WINDOW 3 57 72 Left 2
SYMATTR InstName V2
SYMATTR Value 20
TEXT 456 -136 Left 2 !.tran 0 2000 0 1m
TEXT 456 -168 Left 2 ;'2N7000 Colpitts Self-Start
TEXT 328 464 Left 2 !* 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)

Here is the PLT file:

[Transient Analysis]
{
Npanes: 3
{
traces: 1 {524292,0,"V(src)"}
X: ('K',1,0,200,2000)
Y[0]: (' ',6,-2.765508,6e-006,-2.765442)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: (' ',0,0,6,-2.765508,6e-006,-2.765442)
Log: 0 0 0
GridStyle: 1
},
{
traces: 1 {524291,0,"V(osc)"}
X: ('K',1,0,200,2000)
Y[0]: ('u',0,-1.8e-005,3e-006,1.8e-005)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: ('u',0,0,0,-1.8e-005,3e-006,1.8e-005)
Log: 0 0 0
GridStyle: 1
},
{
traces: 1 {34603010,0,"Is(M1)"}
X: ('K',1,0,200,2000)
Y[0]: ('m',4,-0.0344702,2e-007,-0.034468)
Y[1]: ('_',0,1e+308,0,-1e+308)
Amps: ('m',0,0,5,-0.0344702,2e-007,-0.034468)
Log: 0 0 0
GridStyle: 1
}
}
 
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.

I am running a colpitts in Pspice, and have no startup problems

It shouldn't start at all. There's no reason why it would prefer to
swing positive or negative to get going.


Cheers

Klaus
--

John Larkin Highland Technology, Inc
picosecond timing precision measurement

jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
 
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.

I am running a colpitts in Pspice, and have no startup problems

It shouldn't start at all.

Sure it should. It meets Barkhausen.

Here is the first 20 seconds showing the self-start.

Version 4
SHEET 1 2804 680
WIRE 976 -144 816 -144
WIRE 816 -80 816 -144
WIRE 976 -32 976 -144
WIRE 368 0 320 0
WIRE 640 0 480 0
WIRE 688 0 640 0
WIRE 768 0 688 0
WIRE 368 80 368 0
WIRE 640 80 640 0
WIRE 320 96 320 0
WIRE 480 112 480 0
WIRE 976 128 976 48
WIRE 976 128 896 128
WIRE 896 160 896 128
WIRE 640 192 640 144
WIRE 688 192 640 192
WIRE 816 192 816 16
WIRE 816 192 688 192
WIRE 640 240 640 192
WIRE 816 256 816 192
WIRE 976 256 976 128
WIRE 320 400 320 176
WIRE 480 400 480 192
WIRE 480 400 320 400
WIRE 640 400 640 304
WIRE 640 400 480 400
WIRE 816 400 816 336
WIRE 976 400 976 336
WIRE 976 400 816 400
WIRE 640 432 640 400
FLAG 688 0 OSC
FLAG 640 432 0
FLAG 896 160 0
FLAG 688 192 SRC
FLAG 368 80 0
SYMBOL ind 464 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 624 80 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C1
SYMATTR Value 1
SYMBOL current 320 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 624 240 R0
WINDOW 0 51 20 Left 2
WINDOW 3 59 54 Left 2
SYMATTR InstName C2
SYMATTR Value 5
SYMBOL nmos 768 -80 R0
WINDOW 0 90 24 Left 2
WINDOW 3 70 58 Left 2
SYMATTR InstName M1
SYMATTR Value 2N7000
SYMBOL res 800 240 R0
WINDOW 0 61 43 Left 2
WINDOW 3 60 78 Left 2
SYMATTR InstName R1
SYMATTR Value 500
SYMBOL voltage 976 -48 R0
WINDOW 0 49 45 Left 2
WINDOW 3 48 80 Left 2
SYMATTR InstName V1
SYMATTR Value 20
SYMBOL voltage 976 240 R0
WINDOW 0 53 37 Left 2
WINDOW 3 57 72 Left 2
SYMATTR InstName V2
SYMATTR Value 20
TEXT 456 -136 Left 2 !.tran 0 20 0 1m
TEXT 456 -168 Left 2 ;'2N7000 Colpitts Self-Start
TEXT 328 464 Left 2 !* 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)

Here is the PLT file

[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
}
}
 
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.



--

John Larkin Highland Technology, Inc

lunatic fringe electronics
 
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 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
 
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 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
 
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.

The 2N7002 model can be different for each user. It is broken. Use the
2N7000 model from PSPICE.
 
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
}
}
 

Welcome to EDABoard.com

Sponsor

Back
Top