• 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 finished up the Excel pentode version -- but with 14 variables and 8 conditional statements it will be a challenge for MS Solver. Once again, the curves (Ayumi modeled via LTSpice compared to Excel) line up almost perfectly!
 

Attachments

  • 6V6PentodeHack.png
    6V6PentodeHack.png
    22.9 KB · Views: 255
Disabled Account
Joined 2013
The following KT150 LTSpice model used reference to this some data refered to in this article "Extract Koren Parameters for KT150". Pentode curve looks close but there is no other triode mode curve to compare with, so you see how it turns out with this one.


Code:
**** KT150 ******************************************
* Created on 04/26/2020 12:51 using paint_kip.jar
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]www.dmitrynizh.com/tubeparams_image.htm[/URL]
* Plate Curves image file: kt150.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT KT150 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT KT150 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=10.77 KG1=475.4 KP=28.6 KVB=14.23 VCT=0 EX=1.35 KG2=886.91 KNEE=11.86 KVC=1.66
+ KLAMG=5.513E-4 KNEE2=20 KNEX=30  KNK=-0.044 KNG=0.006 KNPL=50 KNSL=11 KNPR=120 KNSR=29
+ CCG=14P CGP=0.85P CCP=12P RGI=2000.0
* Vp_MAX=500 Ip_MAX=360 Vg_step=5 Vg_start=5 Vg_count=15
* X_MIN=51 Y_MIN=87 X_SIZE=619 Y_SIZE=570 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=70 Vg_qui=-30 Vp_qui=300 
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y 
* showIg1=n isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n 
* UL=0.43 EG2=225 gridLevel2=n 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)) + 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
R1   G 5  {RGI}  ; FOR GRID CURRENT   
D3   5 K  DX     ; FOR GRID CURRENT } 
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
*$

 
* The following triode model is derived from pentode model, see above.
* In the triode model, all spice parameters come directly from the pentode model, except for Kg1,
* which for triode-strapped pentodes is derived from pentode's Kg1, Kg2 and Kvc as
*
*    4Kg1Kg2 / ((2Kvc-Pi)(2Kg1+PiKg2))

**** KT150 ******************************************
* Created on 04/26/2020 12:51 using paint_kit.jar 4.7 
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]www.dmitrynizh.com/tubeparams_image.htm[/URL]
* Plate Curves image file: kt150.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT TRIODE_KT150 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=14P  CGP=0.85P CCP=12P RGI=2000
+ MU=10.77 KG1=2528.27 KP=28.6 KVB=14.23 VCT=0 EX=1.35 
* Vp_MAX=500 Ip_MAX=360 Vg_step=5 Vg_start=5 Vg_count=15
* Rp=1400 Vg_ac=20 P_max=70 Vg_qui=-30 Vp_qui=300
* X_MIN=51 Y_MIN=87 X_SIZE=619 Y_SIZE=570 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y 
* showIg1=n gridLevel2=n isInputSnapped=y  
* XYProjections=n harmonicPlot=y 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 
D3 5 3 DX ; POSITIVE GRID CURRENT 
R1 2 5 {RGI} ; POSITIVE GRID CURRENT 
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N) 
.ENDS 
*$
I have adjusted the above model using a traced triode curve: KT150 curves by Sofia - diyAudio, new code:


Code:
**** KT150 ******************************************
* Created on 09/06/2020 15:59 using paint_kip.jar
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/URL]
* Plate Curves image file: kt150.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT KT150 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT KT150 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=8.831 KG1=684.58 KP=44.04 KVB=150.27 VCT=-1 EX=1.35 KG2=886.91 KNEE=12.57 KVC=1.66
+ KLAMG=4.41E-4 KNEE2=14.49 KNEX=21.55  KNK=-0.06737 KNG=0.008037 KNPL=0.455 KNSL=5.465 KNPR=102 KNSR=26.97
+ CCG=14P CGP=0.85P CCP=12P VGOFF=-1.5 IGA=0.002788 IGB=0.156 IGC=6.16 IGEX=1.86
* Vp_MAX=500 Ip_MAX=360 Vg_step=5 Vg_start=10 Vg_count=17
* X_MIN=38 Y_MIN=34 X_SIZE=642 Y_SIZE=593 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=70 Vg_qui=-30 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=225 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)) + 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

  • KT150 paint-ADJ.jpg
    KT150 paint-ADJ.jpg
    297.5 KB · Views: 292
  • KT150 triode connected ADJ.png
    KT150 triode connected ADJ.png
    123.3 KB · Views: 280
Last edited:
Disabled Account
Joined 2013

Attachments

  • KT150 Pentode UL plot-1.png
    KT150 Pentode UL plot-1.png
    101.9 KB · Views: 230
  • KT150 Pentode UL plot-2.png
    KT150 Pentode UL plot-2.png
    45.1 KB · Views: 223
  • KT150 Pentode UL compared plot-3.png
    KT150 Pentode UL compared plot-3.png
    347.2 KB · Views: 146
  • 6p3p Pentode UL plot-1.png
    6p3p Pentode UL plot-1.png
    105.9 KB · Views: 108
  • PENTODE CHARACTERISTIC CURVES kt150-2.asc
    8.6 KB · Views: 81
Last edited:
Disabled Account
Joined 2013
qb3.5-750 model:
Code:
* [url=http://www.dmitrynizh.com/tubeparams_image.htm]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/url]
* Plate Curves image file: qb3.5-750_P.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT QB3 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT QB3 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=5.1 KG1=510.97 KP=52.53 KVB=3671.05 VCT=-19.65 EX=1.08 KG2=549.77 KNEE=26.74 KVC=1.571
+ KLAM=2E-6 KLAMG=6.061E-5  KD=8.967E-5 KC=0.04329 KR1=6.5E-5 KR2=0.1216 KVBG=0.02385 KB1=0.92 KB2=2.1 KB3=0.02125 KB4=0.3025 KVBGI=0.00102 KNK=-1.5 KNG=0.006 KNPL=50 KNSL=11 KNPR=118.8 KNSR=26.72
+ CCG=0.12P CGP=12.7P CCP=4.5P VGOFF=-5 IGA=3.65E-4 IGB=0.027 IGC=8 IGEX=2
* Vp_MAX=4000 Ip_MAX=3500 Vg_step=50 Vg_start=250 Vg_count=20
* X_MIN=46 Y_MIN=14 X_SIZE=695 Y_SIZE=603 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=1250 Vg_qui=-225 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=300 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

  • qb3.5-750 paint-1.jpg
    qb3.5-750 paint-1.jpg
    400.2 KB · Views: 79
Disabled Account
Joined 2013
I have posted Pentode/UL mode before, now attached is Pentode/Tiode and UL/Triode curves, welcome any comment. Attached simulation asc will enable one to plot one or all of the pentode, UL and triode curves in one sheet.
 

Attachments

  • KT150 Pentode Triode plot-1.png
    KT150 Pentode Triode plot-1.png
    107.7 KB · Views: 366
  • KT150 UL Triode plot-1.png
    KT150 UL Triode plot-1.png
    128.3 KB · Views: 373
  • PENTODE CHARACTERISTIC CURVES diy2.asc
    9.1 KB · Views: 79
Disabled Account
Joined 2013
Here is another use of mode switch to determine overall THD and which UL% is least THD distortion.
 

Attachments

  • PENTODE CHARACTERISTIC CURVES output stages plot-1.png
    PENTODE CHARACTERISTIC CURVES output stages plot-1.png
    81.6 KB · Views: 355
  • PENTODE CHARACTERISTIC CURVES output stages plot-2.png
    PENTODE CHARACTERISTIC CURVES output stages plot-2.png
    91 KB · Views: 348
  • PENTODE CHARACTERISTIC CURVES output stages.asc
    10.1 KB · Views: 100
  • PENTODE CHARACTERISTIC CURVES output stages-2.txt
    12 KB · Views: 75
  • PENTODE CHARACTERISTIC CURVES output stages-1.txt
    2.7 KB · Views: 64
Disabled Account
Joined 2013
805 Amperex model:

Code:
**** 805 ** Advanced Grid Current **********************************
* Created on 09/10/2020 14:49 using paint_kit.jar 3.1
* [url=http://www.dmitrynizh.com/tubeparams_image.htm]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/url]
* Plate Curves image file: 805.png
* Data source link: 
*----------------------------------------------------------------------------------
.SUBCKT TRIODE_805 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=6.5P  CGP=6.5P CCP=1.5P 
+ MU=48.14 KG1=4306.46 KP=324 KVB=2230.08 VCT=3.44 EX=1.527 
+ VGOFF=-5.88 IGA=1.755E-4 IGB=0.5242 IGC=0.94 IGEX=1.62 
* Vp_MAX=3000 Ip_MAX=900 Vg_step=20 Vg_start=120 Vg_count=11
* Rp=4000 Vg_ac=55 P_max=125 Vg_qui=-48 Vp_qui=300
* X_MIN=94 Y_MIN=67 X_SIZE=424 Y_SIZE=514 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

  • 805 paint-1.jpg
    805 paint-1.jpg
    341.1 KB · Views: 299
  • 805 plot-1.png
    805 plot-1.png
    104.8 KB · Views: 119
Disabled Account
Joined 2013
805 Chinese model:

Code:
**** 805 ** Advanced Grid Current **********************************
* Created on 09/10/2020 16:15 using paint_kit.jar 3.1
* [url=http://www.dmitrynizh.com/tubeparams_image.htm]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/url]
* Plate Curves image file: 805-ch.png
* Data source link: 
*----------------------------------------------------------------------------------
.SUBCKT 805_CH 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=8.5P  CGP=6.5P CCP=10.5P 
+ MU=45.82 KG1=2125.1 KP=9347.79 KVB=5494.91 VCT=-11.52 EX=1.406 
+ VGOFF=-5.116 IGA=2.028E-4 IGB=0.1561 IGC=84.97 IGEX=1.768 
* Vp_MAX=1500 Ip_MAX=1000 Vg_step=20 Vg_start=140 Vg_count=11
* Rp=4000 Vg_ac=55 P_max=125 Vg_qui=-48 Vp_qui=300
* X_MIN=62 Y_MIN=5 X_SIZE=622 Y_SIZE=586 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

  • 805-ch paint.jpg
    805-ch paint.jpg
    243.9 KB · Views: 105
Disabled Account
Joined 2013
805 Chinese model does not plot properly I'll look into it. Here is Ayumi model, it's close to Amperex:

HIFIDIY??-???FU81???NI MULTISIM?????14? - Powered by Discuz!


Code:
*
* Generic triode model: 805
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Sat Aug 01 11:40:19 2009
*           Plate
*           | Grid
*           | | Cathode
*           | | |
.SUBCKT 2 A G K
.PARAM X1=-1 X2=0.19254103 X3=-16.929908
.PARAM X4=0.081389445 X5=4.7709859 X6=18.429908
.PARAM X7=0.00078806053 X8=58.619221 X9=5.2042766e+14
.PARAM Y1=0.00039403026 Y2=0.00041428161
BK IK 0 V=U(V(G,K)+X1)*X7*URAMP(V(G,K)+X1+URAMP(V(A,K))/X8)**1.5+(1-U(V(G,K)+X1))*X9*(X2*URAMP(V(A,K)))**X3*(X4*URAMP(V(G,K)+X1+URAMP(V(A,K))/X5))**X6
BA A K I=URAMP((Y2*URAMP(V(A,K))**1.5)-URAMP((Y2*URAMP(V(A,K))**1.5)-V(IK)+Y1*URAMP(V(G,K))**1.5*(URAMP(V(G,K))/(URAMP(V(A,K))+URAMP(V(G,K)))*1.2+.4)))+1E-10*V(A,K)
BG G K I=Y1*URAMP(V(G,K))**1.5*(URAMP(V(G,K))/(URAMP(V(A,K))+URAMP(V(G,K)))*1.2+.4)
* CAPS
CGA G A 8p
CGK G K 6.5p
CAK A K 5p
.ENDS
 
Disabled Account
Joined 2013
805_CH fixed:


Code:
**** 805_CH ** Advanced Grid Current **********************************
* Created on 09/10/2020 19:28 using paint_kit.jar 3.1
* [url=http://www.dmitrynizh.com/tubeparams_image.htm]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/url]
* Plate Curves image file: 805-ch.png
* Data source link: 
*----------------------------------------------------------------------------------
.SUBCKT 805_CH 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=6.5P  CGP=6.5P CCP=1.5P 
+ MU=45.25 KG1=3617.43 KP=356.4 KVB=6511.83 VCT=-9.04 EX=1.527 
+ VGOFF=-5.88 IGA=5.265E-5 IGB=0.0498 IGC=80.01 IGEX=2.122 
* Vp_MAX=1800 Ip_MAX=900 Vg_step=20 Vg_start=140 Vg_count=11
* Rp=4000 Vg_ac=55 P_max=125 Vg_qui=-48 Vp_qui=300
* X_MIN=61 Y_MIN=67 X_SIZE=749 Y_SIZE=523 FSZ_X=1296 FSZ_Y=736 XYGrid=true
* 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

  • 805-ch paint.jpg
    805-ch paint.jpg
    270.8 KB · Views: 130
  • 805 Ayumi Shuaguan plot compared.png
    805 Ayumi Shuaguan plot compared.png
    68.9 KB · Views: 90
Disabled Account
Joined 2013
Here are generic push pull loadline of pentode, UL and triode mode for sharing.
 

Attachments

  • load_generic_pp step mod-pentode.asc
    7.6 KB · Views: 81
  • load_generic_pp step mod-1.asc
    4.8 KB · Views: 62
  • load_generic_pp step mod-ul.asc
    7.8 KB · Views: 79
  • composite KT150 triode PP LL5.png
    composite KT150 triode PP LL5.png
    126 KB · Views: 98
  • composite KT150 Pentode PP LL7.png
    composite KT150 Pentode PP LL7.png
    102.1 KB · Views: 150
  • composite KT150 UL PP LL8.png
    composite KT150 UL PP LL8.png
    107.3 KB · Views: 140
  • composite UL PP LL9.png
    composite UL PP LL9.png
    126.4 KB · Views: 109
  • composite 6C33CB PP LL4.png
    composite 6C33CB PP LL4.png
    119.5 KB · Views: 93
Last edited:
Disabled Account
Joined 2013
qb3.5-750 model:
Code:
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/URL]
* Plate Curves image file: qb3.5-750_P.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT QB3 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT QB3 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=5.1 KG1=510.97 KP=52.53 KVB=3671.05 VCT=-19.65 EX=1.08 KG2=549.77 KNEE=26.74 KVC=1.571
+ KLAM=2E-6 KLAMG=6.061E-5  KD=8.967E-5 KC=0.04329 KR1=6.5E-5 KR2=0.1216 KVBG=0.02385 KB1=0.92 KB2=2.1 KB3=0.02125 KB4=0.3025 KVBGI=0.00102 KNK=-1.5 KNG=0.006 KNPL=50 KNSL=11 KNPR=118.8 KNSR=26.72
+ CCG=0.12P CGP=12.7P CCP=4.5P VGOFF=-5 IGA=3.65E-4 IGB=0.027 IGC=8 IGEX=2
* Vp_MAX=4000 Ip_MAX=3500 Vg_step=50 Vg_start=250 Vg_count=20
* X_MIN=46 Y_MIN=14 X_SIZE=695 Y_SIZE=603 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=1250 Vg_qui=-225 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=300 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
*$


Have some problems with simulation at some point it does not converge and stop, here is the update:


Code:
**** QB3 ******************************************
* Created on 09/13/2020 11:25 using paint_kip.jar
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]www.dmitrynizh.com/tubeparams_image.htm[/URL]
* Plate Curves image file: qb3.5-750_P.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT QB3 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT QB3 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=5.1 KG1=510.97 KP=17.37 KVB=4588.81 VCT=-19.65 EX=1.08 KG2=549.77 KNEE=26.74 KVC=1.571
+ KLAM=2E-6 KLAMG=6.061E-5  KD=8.967E-5 KC=0.04329 KR1=6.5E-5 KR2=0.1216 KVBG=0.02385 KB1=0.92 KB2=2.1 KB3=0.02125 KB4=0.3025 KVBGI=0.00102 KNK=-1.5 KNG=0.006 KNPL=50 KNSL=11 KNPR=118.8 KNSR=26.72
+ CCG=0.12P CGP=12.7P CCP=4.5P VGOFF=-5 IGA=3.65E-4 IGB=0.027 IGC=8 IGEX=2
* Vp_MAX=4000 Ip_MAX=3500 Vg_step=25 Vg_start=250 Vg_count=20
* X_MIN=46 Y_MIN=14 X_SIZE=695 Y_SIZE=603 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=1250 Vg_qui=12.5 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=300 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
*$
 
Last edited:
Disabled Account
Joined 2013
I have adjusted the above model using a traced triode curve: KT150 curves by Sofia - diyAudio, new code:


Code:
**** KT150 ******************************************
* Created on 09/06/2020 15:59 using paint_kip.jar
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]Model Paint Tools: Trace Tube Parameters over Plate Curves, Interactively[/URL]
* Plate Curves image file: kt150.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT KT150 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT KT150 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=8.831 KG1=684.58 KP=44.04 KVB=150.27 VCT=-1 EX=1.35 KG2=886.91 KNEE=12.57 KVC=1.66
+ KLAMG=4.41E-4 KNEE2=14.49 KNEX=21.55  KNK=-0.06737 KNG=0.008037 KNPL=0.455 KNSL=5.465 KNPR=102 KNSR=26.97
+ CCG=14P CGP=0.85P CCP=12P VGOFF=-1.5 IGA=0.002788 IGB=0.156 IGC=6.16 IGEX=1.86
* Vp_MAX=500 Ip_MAX=360 Vg_step=5 Vg_start=10 Vg_count=17
* X_MIN=38 Y_MIN=34 X_SIZE=642 Y_SIZE=593 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=70 Vg_qui=-30 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=225 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)) + 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
 *$


I have adjusted the screen grid2 current down from previous model:
Code:
**** KT150 ******************************************
* Created on 09/18/2020 16:03 using paint_kip.jar
* [URL="http://www.dmitrynizh.com/tubeparams_image.htm"]www.dmitrynizh.com/tubeparams_image.htm[/URL]
* Plate Curves image file: kt150.png
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT KT150 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT KT150 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=8.831 KG1=684.58 KP=44.04 KVB=150.27 VCT=-1 EX=1.35 KG2=3157.4 KNEE=12.57 KVC=1.594
+ KLAMG=4.41E-4 KNEE2=14.49 KNEX=21.55  KNK=-0.06737 KNG=0.008037 KNPL=0.455 KNSL=5.465 KNPR=102 KNSR=26.97
+ CCG=14P CGP=0.85P CCP=12P VGOFF=-1.5 IGA=0.002788 IGB=0.156 IGC=6.16 IGEX=1.86
* Vp_MAX=500 Ip_MAX=360 Vg_step=5 Vg_start=10 Vg_count=17
* X_MIN=73 Y_MIN=52 X_SIZE=586 Y_SIZE=544 FSZ_X=1296 FSZ_Y=736 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=70 Vg_qui=-30 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=225 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)) + 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
*$