library format: PSpice
*$
**** C3m Vg2=60V ******************************************
.SUBCKT C3m 1 2 3 4 ; P G K G2
+ PARAMS: CCG=8.5P CGP=0.014P CCP=6P RGI=2000
+ MU=20.8 KG1=585.8 KP=108.2 KVB=6.84 KVC=1.85 VCT=0.00594 EX=1.12 KG2=750
RE1 7 0 1G ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1 7 0 VALUE= ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(4,3)/KP*LOG(1+EXP((1/MU+(VCT+V(2,3))/V(4,3))*KP))}
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1*ATAN(V(1,3)/KVB)}
RE2 8 3 1G ; Dummy
G2 8 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG2*(KVC-ATAN(V(1,3)/KVB))}
E2 8 4 VALUE={0} ; Dummy
RCP 1 3 1G ; FOR CONVERGENCE
C1 2 3 {CCG} ; CATHODE-GRID 1
C2 1 2 {CGP} ; GRID 1-PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
R1 2 5 {RGI} ; FOR GRID CURRENT
D3 5 3 DX ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
*$
**** C3m Vg2=60V ******************************************
.SUBCKT C3m 1 2 3 4 ; P G K G2
+ PARAMS: CCG=8.5P CGP=0.014P CCP=6P RGI=2000
+ MU=20.8 KG1=585.8 KP=108.2 KVB=6.84 KVC=1.85 VCT=0.00594 EX=1.12 KG2=750
RE1 7 0 1G ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1 7 0 VALUE= ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(4,3)/KP*LOG(1+EXP((1/MU+(VCT+V(2,3))/V(4,3))*KP))}
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1*ATAN(V(1,3)/KVB)}
RE2 8 3 1G ; Dummy
G2 8 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG2*(KVC-ATAN(V(1,3)/KVB))}
E2 8 4 VALUE={0} ; Dummy
RCP 1 3 1G ; FOR CONVERGENCE
C1 2 3 {CCG} ; CATHODE-GRID 1
C2 1 2 {CGP} ; GRID 1-PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
R1 2 5 {RGI} ; FOR GRID CURRENT
D3 5 3 DX ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
Last edited:
C3m SPICE Models
The C3m model above works in LTSpice as is, here are also some other models for you to try:
Triode-Connected
Pentode
The C3m model above works in LTSpice as is, here are also some other models for you to try:
Triode-Connected
Code:
*
* Generic triode model: C3m_T_AN
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Thu Jan 18 09:00:10 2018
* Anode
* | Grid
* | | Cathode
* | | |
.SUBCKT C3m_T_AN A G K
BGG GG 0 V=V(G,K)+0.44546036
BM1 M1 0 V=(0.022762224*(URAMP(V(A,K))+1e-10))**-0.7502195
BM2 M2 0 V=(0.66660164*(URAMP(V(GG)+URAMP(V(A,K))/14.647003)+1e-10))**2.2502195
BP P 0 V=0.0036996286*(URAMP(V(GG)+URAMP(V(A,K))/21.972648)+1e-10)**1.5
BIK IK 0 V=U(V(GG))*V(P)+(1-U(V(GG)))*0.0021999606*V(M1)*V(M2)
BIG IG 0 V=0.0018498143*URAMP(V(G,K))**1.5*(URAMP(V(G,K))/(URAMP(V(A,K))+URAMP(V(G,K)))*1.2+0.4)
BIAK A K I=URAMP(V(IK,IG)-URAMP(V(IK,IG)-(0.0021052279*URAMP(V(A,K))**1.5)))+1e-10*V(A,K)
BIGK G K I=V(IG)
* CAPS
CGA G A 0.018p
CGK G K 8.5p
CAK A K 6p
.ENDS
Pentode
Code:
*
* Generic pentode model: C3m_AN
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Thu Jan 18 08:59:08 2018
* Anode
* | Screen Grid
* | | Control Grid
* | | | Cathode
* | | | |
.SUBCKT C3m_AN A G2 G1 K
BGG GG 0 V=V(G1,K)+0.44546036
BM1 M1 0 V=(0.022762224*(URAMP(V(G2,K))+1e-10))**-0.7502195
BM2 M2 0 V=(0.66660164*(URAMP(V(GG)+URAMP(V(G2,K))/14.647003)))**2.2502195
BP P 0 V=0.0036996286*(URAMP(V(GG)+URAMP(V(G2,K))/21.972648))**1.5
BIK IK 0 V=U(V(GG))*V(P)+(1-U(V(GG)))*0.0021999606*V(M1)*V(M2)
BIG IG 0 V=0.0018498143*URAMP(V(G1,K))**1.5*(URAMP(V(G1,K))/(URAMP(V(A,K))+URAMP(V(G1,K)))*1.2+0.4)
BIK2 IK2 0 V=V(IK,IG)*(1-0.4*(EXP(-URAMP(V(A,K))/URAMP(V(G2,K))*15)-EXP(-15)))
BIG2T IG2T 0 V=V(IK2)*(0.82774838*(1-URAMP(V(A,K))/(URAMP(V(A,K))+10))**1.5+0.17225162)
BIK3 IK3 0 V=V(IK2)*(URAMP(V(A,K))+20475)/(URAMP(V(G2,K))+20475)
BIK4 IK4 0 V=V(IK3)-URAMP(V(IK3)-(0.0021052279*(URAMP(V(A,K))+URAMP(URAMP(V(G2,K))-URAMP(V(A,K))))**1.5))
BIP IP 0 V=URAMP(V(IK4,IG2T)-URAMP(V(IK4,IG2T)-(0.0021052279*URAMP(V(A,K))**1.5)))
BIAK A K I=V(IP)+1e-10*V(A,K)
BIG2 G2 K I=URAMP(V(IK4,IP))
BIGK G1 K I=V(IG)
* CAPS
CGA G1 A 0.018p
CGK G1 K 5.1p
C12 G1 G2 3.4p
CAK A K 6p
.ENDS
The function "uramp" is the integral of the unit step: for an input x, the value is zero if x is less than zero, or if x is greater than zero the value is x. So for V(G,K)<0, usually* Ig = 0.
*it obviously depends on the tube type.
TNX!
...and the function "U" returns 0 if x<0, 1 if x>0, and 0.5 if x=0...was on page 11 of the Multisim Spice Guide.
after managing all the nested parentheses I created a whopping Excel spreadsheet to see how the variables influence the curves..in the triode case. Neat stuff!
after managing all the nested parentheses I created a whopping Excel spreadsheet to see how the variables influence the curves..in the triode case. Neat stuff!
6JK8
Section 1 is similar to a 6AQ8/ECC85, Section 2 a 6GK5. Notice that I said "similar".
Here's the models I made in Curve Captor using the grid-plate transfer curves from the Sylvania datasheet. They do match the grid-plate curves fairly close. Until we find a set of plate curves, these will have to do.Hi can anyone help me with a model for 6JK8 valve please?
Section 1 is similar to a 6AQ8/ECC85, Section 2 a 6GK5. Notice that I said "similar".
Code:
* ==============================================================
* 6JK8_1 LTSpice model (Section 1)
* Koren model (5 parameters): mean fit error 0.204778mA
* Traced by Wayne Clay on 3/27/2015 using Engauge Digitizer and
* Curve Captor v0.9.1 from Sylvania grid-plate transfer curves.
.subckt 6JK8_1 P G K
Bp P K I=
+ (0.04198923226m)*uramp(V(P,K)*ln(1.0+exp((1.259154912)+
+ (1.259154912)*(99.53653899)*V(G,K)/sqrt((0.7480597436k)+
+ (V(P,K))**2)))/(1.259154912))**(1.216231708)
Cgp G P 2.1p ; 0.7p added (1.4p)
Cgk G K 3.7p ; 0.7p added (3.0p)
Cpk P K 1.2p ; 0.2p added (1.0p)
Rpk P K 1.0G ; to avoid floating nodes
d3 G K dx1
.model dx1 d(is=1n rs=2k cjo=1pf N=1.5 tt=1n)
.ends 6JK8_1
* ==============================================================
* 6JK8_2 LTSpice model (Section 2)
* Koren model (5 parameters): mean fit error 0.217076mA
* Traced by Wayne Clay on 3/27/2015 using Engauge Digitizer and
* Curve Captor v0.9.1 from Sylvania grid-plate transfer curves.
.subckt 6JK8_2 P G K
Bp P K I=
+ (0.0002194908049m)*uramp(V(P,K)*ln(1.0+exp((0.02483490254)+
+ (0.02483490254)*(6525.34021)*V(G,K)/sqrt((6.657231964k)+
+ (V(P,K))**2)))/(0.02483490254))**(1.476313883)
Cgp G P 1.3p ; 0.7p added (0.6p)
Cgk G K 5.7p ; 0.7p added (5.0p)
Cpk P K 4.2p ; 0.2p added (4.0p)
Rpk P K 1.0G ; to avoid floating nodes
d3 G K dx1
.model dx1 d(is=1n rs=2k cjo=1pf N=1.5 tt=1n)
.ends 6JK8_2
Last edited:
6N13S model
Here are the 6N13S models I traced today.
Here are the 6N13S models I traced today.
Code:
* 6N13S LTSpice model (6H13C)
* Modifed Koren model (8 parameters): mean fit error 1.99253mA
* Traced by Wayne Clay on 1/22/2018 using Engauge Digitizer and
* Curve Captor v0.9.1 from Russian datasheet
.subckt 6N13S P G K
Bp P K I=
+ (0.1993674646m)*uramp(V(P,K)*ln(1.0+(-0.06903720488)+exp((0.4804127937)+
+ (0.4804127937)*((8.882207749)+(1.86873673m)*V(G,K))*V(G,K)/sqrt((34.11913733)**2+
+ (V(P,K)-(2.640348403))**2)))/(0.4804127937))**(1.490633617)
Cgk G K 8.5p ; 0.5p added (8.0p)
Cgp G P 10.7p ; 0.7p added (10.0p)
Cpk P K 3.7p ; 0.7p added (3.0p)
Rpk P K 1G ; to avoid floating nodes
D3 G K DX1
.model DX1 D(IS=1N RS=2K CJO=1PF N=1.5 TT=1N)
.ends 6N13S
Code:
*
* Generic triode model: 6N13S (6H13C)
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Mon Jan 22 15:09:14 2018
* Plate
* | Grid
* | | Cathode
* | | |
.SUBCKT 6N13S_AN A G K
BGG GG 0 V=V(G,K)+0.99999987
BM1 M1 0 V=(0.54684303*(URAMP(V(A,K))+1e-10))**-2.2499943
BM2 M2 0 V=(0.4000006*(URAMP(V(GG)+URAMP(V(A,K))/1.0972059)+1e-10))**3.7499943
BP P 0 V=0.0021520445*(URAMP(V(GG)+URAMP(V(A,K))/2.7430106)+1e-10)**1.5
BIK IK 0 V=U(V(GG))*V(P)+(1-U(V(GG)))*0.005358622*V(M1)*V(M2)
BIG IG 0 V=0.0010760223*URAMP(V(G,K))**1.5*(URAMP(V(G,K))/(URAMP(V(A,K))+URAMP(V(G,K)))*1.2+0.4)
BIAK A K I=URAMP(V(IK,IG)-URAMP(V(IK,IG)-(0.0023543528*URAMP(V(A,K))**1.5)))+1e-10*V(A,K)
BIGK G K I=V(IG)
* CAPS
CGA G A 10.7p
CGK G K 8.5p
CAK A K 3.7p
.ENDS
- Home
- Amplifiers
- Tubes / Valves
- Vacuum Tube SPICE Models