• WARNING: Tube/Valve amplifiers use potentially LETHAL HIGH VOLTAGES.
    Building, troubleshooting and testing of these amplifiers should only be
    performed by someone who is thoroughly familiar with
    the safety precautions around high voltages.

Vacuum Tube SPICE Models

I got 10 pieces of JJ EL509S. Before use I would like to do a couple of simulations in LTspice. I wonder if this tube is 100% equivalent to the older EL / PL509?
if not, I would ask for an updated model.

1655397908472.png
 
Disabled Account
Joined 2013
New EL509-JJ model to correct a problem with screen current in previous model:

Code:
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: el509_jj.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT EL509_JJ P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT EL509_JJ P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=4.266 KG1=4425.22 KP=14.31 KVB=9613.26 VCT=-1.422 EX=2.087 KG2=8125.11 KNEE=2.478 KVC=1.575
+ KLAM=2.57E-13 KLAMG=7.341E-4 KNEE2=24.19 KNEX=0.6496  KNK=0.07622 KNG=4.882E-5 KNPL=1.365E-4 KNSL=0.04093 KNPR=0.02184 KNSR=68.07
+ CCG=25P CGP=2.5P CCP=18.5P VGOFF=-1 IGA=0.001 IGB=0.3 IGC=8 IGEX=1.54
* Vp_MAX=400 Ip_MAX=1600 Vg_step=10 Vg_start=0 Vg_count=15
* X_MIN=82 Y_MIN=42 X_SIZE=696 Y_SIZE=523 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=35 Vg_qui=-70 Vp_qui=300
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y
* showIg1=y isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n
* UL=0.43 EG2=160 gridLevel2=y addKink=y isTanhKnee=y advSigmoid=n
*----------------------------------------------------------------------------------
RE1  7 0  1G    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(G2,K)/KP*LOG(1+EXP((1/MU+(VCT+V(G,K))/SQRT(KVB+V(G2,K)*V(G2,K)))*KP))}
RE2  6 0  1G    ; DUMMY SO NODE 6 HAS 2 CONNECTIONS
E2  6 0  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))} ; Kg1 times KIT current
RE21 21 0 1
E21  21 0 VALUE={V(6)/KG1*ATAN((V(P,K)+KNEX)/KNEE)*TANH(V(P,K)/KNEE2)} ; Ip with knee but no slope and no kink
RE22 22 0 1 ; E22: kink curr deviation for plate
E22  22 0 VALUE={V(21)*LIMIT(KNK-V(G,K)*KNG,0,0.3)*(-ATAN((V(P,K)-KNPL)/KNSL)+ATAN((V(P,K)-KNPR)/KNSR))}
G1   P  K  VALUE={V(21)*(1+KLAMG*V(P,K))+KLAM*V(P,K) + V(22)}
* Alexander Gurskii screen current, see audioXpress 2/2011, with slope and kink added
RE43 43 K 1G ; Dummy
E43  43 G2 VALUE={0} ; Dummy
G2   43 K  VALUE={V(6)/KG2*(KVC-ATAN((V(P,K)+KNEX)/KNEE)*TANH(V(P,K)/KNEE2))/(1+KLAMG*V(P,K))-V(22)}
RCP  P K  1G     ; FOR CONVERGENCE
C1   K G  {CCG}  ; CATHODE-GRID 1
C2   G P  {CGP}  ; GRID 1-PLATE
C3   K P  {CCP}  ; CATHODE-PLATE
RE23 G 0 1G
GG G K VALUE={(IGA+IGB/(IGC+V(P,K)))*(MU/KG1)*
+(PWR(V(G,K)-VGOFF,IGEX)+PWRS(V(G,K)-VGOFF,IGEX))}
.ENDS
*$
 

Attachments

  • el509 transfer curve.png
    el509 transfer curve.png
    18.6 KB · Views: 92
  • el509 JJ transfer curve plot.png
    el509 JJ transfer curve plot.png
    55.1 KB · Views: 94
  • el509 JJ transfer curve Ig2 plot.png
    el509 JJ transfer curve Ig2 plot.png
    22.1 KB · Views: 86
Disabled Account
Joined 2013
6211 model, try it:

Code:
**** 6211 ** Advanced Grid Current **********************************
* Created on 06/24/2022 11:45 using paint_kit.jar 3.1
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 6211.png
* Data source link:
*----------------------------------------------------------------------------------
.SUBCKT 6211 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=2.9P  CGP=2.22P CCP=0.84P
+ MU=36.63 KG1=418.67 KP=121.56 KVB=147.19 VCT=0.15 EX=1.276
+ VGOFF=-0.6 IGA=0.005911 IGB=0.1181 IGC=12 IGEX=1.62
* Vp_MAX=400 Ip_MAX=40 Vg_step=2 Vg_start=4 Vg_count=11
* Rp=4000 Vg_ac=55 P_max=1 Vg_qui=-48 Vp_qui=300
* X_MIN=60 Y_MIN=34 X_SIZE=788 Y_SIZE=636 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=y gridLevel2=y isInputSnapped=n 
* XYProjections=n harmonicPlot=n dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
RE2 2 0 1G
EGC 8 0 VALUE={V(2,3)-VGOFF} ; POSITIVE GRID THRESHOLD
GG 2 3 VALUE={(IGA+IGB/(IGC+V(1,3)))*(MU/KG1)*(PWR(V(8),IGEX)+PWRS(V(8),IGEX))}
.ENDS
*$
 

Attachments

  • 6211 paint.png
    6211 paint.png
    347.4 KB · Views: 75
6211 model, try it:

Code:
**** 6211 ** Advanced Grid Current **********************************
* Created on 06/24/2022 11:45 using paint_kit.jar 3.1
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 6211.png
* Data source link:
*----------------------------------------------------------------------------------
.SUBCKT 6211 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=2.9P  CGP=2.22P CCP=0.84P
+ MU=36.63 KG1=418.67 KP=121.56 KVB=147.19 VCT=0.15 EX=1.276
+ VGOFF=-0.6 IGA=0.005911 IGB=0.1181 IGC=12 IGEX=1.62
* Vp_MAX=400 Ip_MAX=40 Vg_step=2 Vg_start=4 Vg_count=11
* Rp=4000 Vg_ac=55 P_max=1 Vg_qui=-48 Vp_qui=300
* X_MIN=60 Y_MIN=34 X_SIZE=788 Y_SIZE=636 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=y gridLevel2=y isInputSnapped=n
* XYProjections=n harmonicPlot=n dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
RE2 2 0 1G
EGC 8 0 VALUE={V(2,3)-VGOFF} ; POSITIVE GRID THRESHOLD
GG 2 3 VALUE={(IGA+IGB/(IGC+V(1,3)))*(MU/KG1)*(PWR(V(8),IGEX)+PWRS(V(8),IGEX))}
.ENDS
*$
Works well. Thanks.
 
Hi,
I download LTspiceIV but i cant open these files
Which program should i use?
My problem too. Half way through download comes up with "error consider deleting and reload". Done it twice with same result. On this download I´ve bypassed firewall and any other stuff. What´s next to to this running or are there known issues with the Win10 64 bit version ?
 
Disabled Account
Joined 2013
http://www.r-type.org/pdfs/ef91-1.pdf
This curve has screen current data.
The curve is based on Vg2=250V, so it must be set correctly. Mu=ug1-g2=70 (more or less), you're far off. Try to merge screen current curve so you can plot without much guessing. Check on Triode Strapped Current, if you have triode curve, merge it too. Pull "KP", "KLAM" for best fit pentode and triode curve. Pull Kg1, for fine alignment of distances between Vg1 and shape so on, use param "Kink", best fit use "Advance Knee,Slope". Try basic model first.
With triode curve one should be able to determine VCT, usually -Vg1, with KVB aligned the curve bottom to the left and on +Vg1.
 
Disabled Account
Joined 2013
EF91 model:

Code:
**** EF91_P ******************************************
* Created on 06/30/2022 00:09 using paint_kip.jar
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: ef91-p.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT EF91_P P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT EF91_P P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=72.1 KG1=769.36 KP=377 KVB=168.96 VCT=0.3176 EX=1.47 KG2=1028.26 KNEE=2.069 KVC=2.063
+ KLAM=1.469E-9 KLAMG=9.992E-5  KD=8424.21 KC=0.29 KR1=0.984 KR2=0.01441 KVBG=0.01839 KB1=0.919 KB2=1.006 KB3=0.3998 KB4=0.4541 KVBGI=2.475E-6 KNK=0.3613 KNG=6.875E-4 KNPL=3.801E-9 KNSL=0.0991 KNPR=10.66 KNSR=21.63
+ CCG=7P CGP=0.008P CCP=2P VGOFF=-0.6 IGA=3.25E-4 IGB=0.123 IGC=6.08 IGEX=1.6
* Vp_MAX=400 Ip_MAX=30 Vg_step=0.5 Vg_start=0 Vg_count=9
* X_MIN=79 Y_MIN=101 X_SIZE=740 Y_SIZE=551 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=2.5 Vg_qui=-2 Vp_qui=300
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y
* showIg1=y isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n
* UL=0.43 EG2=250 gridLevel2=y addKink=y isTanhKnee=n advSigmoid=y
*----------------------------------------------------------------------------------
RE1  7 0  1G    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(G2,K)/KP*LOG(1+EXP((1/MU+(VCT+V(G,K))/SQRT(KVB+V(G2,K)*V(G2,K)))*KP))}
RE2  6 0  1G    ; DUMMY SO NODE 6 HAS 2 CONNECTIONS
E2  6 0  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))} ; Kg1 times KIT current
E4   8 0  VALUE={V(P,K)/KNEE/(KVBGI+V(6)*KVBG)}
E5  81 0  VALUE={PWR(V(8),KB1)}
E6  82 0  VALUE={PWR(V(8),KB2)}
E7  83 0  VALUE={PWR(V(8),KB3)}
E8   9 0  VALUE={PWR(1-EXP(-V(81)*(KC+KR1*V(82))/(KD+KR2*V(83))),KB4)*1.5708}
RE4  8 0  1
RE5 81 0  1
RE6 82 0  1
RE7 83 0  1
RE8  9 0  1
RE21 21 0 1
E21  21 0 VALUE={V(6)/KG1*V(9)} ; Ip with knee but no slope and no kink
RE22 22 0 1 ; E22: kink curr deviation for plate
E22  22 0 VALUE={V(21)*LIMIT(KNK-V(G,K)*KNG,0,0.3)*(-ATAN((V(P,K)-KNPL)/KNSL)+ATAN((V(P,K)-KNPR)/KNSR))}
G1   P K  VALUE={V(21)*(1+KLAMG*V(P,K))+KLAM*V(P,K) + V(22)}
G2   G2 K  VALUE={V(6)/KG2*(KVC-V(9))/(1+KLAMG*V(P,K)) - V(22)}
RCP  P K  1G     ; FOR CONVERGENCE
C1   K G  {CCG}  ; CATHODE-GRID 1
C2   G P  {CGP}  ; GRID 1-PLATE
C3   K P  {CCP}  ; CATHODE-PLATE
RE23 G 0 1G
GG G K VALUE={(IGA+IGB/(IGC+V(P,K)))*(MU/KG1)*
+(PWR(V(G,K)-VGOFF,IGEX)+PWRS(V(G,K)-VGOFF,IGEX))}
.ENDS
*$
 

Attachments

  • EF91 paint-1.png
    EF91 paint-1.png
    1.7 MB · Views: 75
Disabled Account
Joined 2013
E80CF SQ model:

Code:
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: e80cf-p.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT E80CF_P  P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT E80CF_P P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=40 KG1=1002.76 KP=325.99 KVB=743.58 VCT=0.05712 EX=1.442 KG2=1236.48 KNEE=11.96 KVC=2.031
+ KLAM=5.75E-9 KLAMG=4.921E-8 KNEE2=15.5 KNEX=34.54  KNK=6.836E-4 KNG=0.00449 KNPL=25.92 KNSL=1.925 KNPR=1168.37 KNSR=140.28
+ CCG=5.6P CGP=0.025P CCP=3.4P VGOFF=-0.6 IGA=0.00139 IGB=0.417 IGC=5.2 IGEX=1.86
* Vp_MAX=350 Ip_MAX=25 Vg_step=1 Vg_start=0 Vg_count=15
* X_MIN=51 Y_MIN=13 X_SIZE=746 Y_SIZE=537 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=2.15 Vg_qui=-7 Vp_qui=300
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y
* showIg1=y isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n
* UL=0.43 EG2=170 gridLevel2=y addKink=y isTanhKnee=y advSigmoid=n
*----------------------------------------------------------------------------------
RE1  7 0  1G    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(G2,K)/KP*LOG(1+EXP((1/MU+(VCT+V(G,K))/SQRT(KVB+V(G2,K)*V(G2,K)))*KP))}
RE2  6 0  1G    ; DUMMY SO NODE 6 HAS 2 CONNECTIONS
E2  6 0  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))} ; Kg1 times KIT current
RE21 21 0 1
E21  21 0 VALUE={V(6)/KG1*ATAN((V(P,K)+KNEX)/KNEE)*TANH(V(P,K)/KNEE2)} ; Ip with knee but no slope and no kink
RE22 22 0 1 ; E22: kink curr deviation for plate
E22  22 0 VALUE={V(21)*LIMIT(KNK-V(G,K)*KNG,0,0.3)*(-ATAN((V(P,K)-KNPL)/KNSL)+ATAN((V(P,K)-KNPR)/KNSR))}
G1   P  K  VALUE={V(21)*(1+KLAMG*V(P,K))+KLAM*V(P,K) + V(22)}
* Alexander Gurskii screen current, see audioXpress 2/2011, with slope and kink added
RE43 43 K 1G ; Dummy
E43  43 G2 VALUE={0} ; Dummy
G2   43 K  VALUE={V(6)/KG2*(KVC-ATAN((V(P,K)+KNEX)/KNEE)*TANH(V(P,K)/KNEE2))/(1+KLAMG*V(P,K))-V(22)}
RCP  P K  1G     ; FOR CONVERGENCE
C1   K G  {CCG}  ; CATHODE-GRID 1
C2   G P  {CGP}  ; GRID 1-PLATE
C3   K P  {CCP}  ; CATHODE-PLATE
RE23 G 0 1G
GG G K VALUE={(IGA+IGB/(IGC+V(P,K)))*(MU/KG1)*
+(PWR(V(G,K)-VGOFF,IGEX)+PWRS(V(G,K)-VGOFF,IGEX))}
.ENDS
*$
 

Attachments

  • E80CF-P paint.png
    E80CF-P paint.png
    1.2 MB · Views: 62
http://www.r-type.org/pdfs/ef91-1.pdf
This curve has screen current data.
The curve is based on Vg2=250V, so it must be set correctly. Mu=ug1-g2=70 (more or less), you're far off. Try to merge screen current curve so you can plot without much guessing. Check on Triode Strapped Current, if you have triode curve, merge it too. Pull "KP", "KLAM" for best fit pentode and triode curve. Pull Kg1, for fine alignment of distances between Vg1 and shape so on, use param "Kink", best fit use "Advance Knee,Slope". Try basic model first.
With triode curve one should be able to determine VCT, usually -Vg1, with KVB aligned the curve bottom to the left and on +Vg1.
Thank you very much.