# PSpice/LTSpice model for 6AU6/EF94?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.

#### ray_moth

I haven't seen a model for this tube (or for any small signal pentodes, apart from the EF86). Anybody know of one, please?

#### Robert McLean

ray_moth :

Try this one. Note that I have derived it from spec sheet data, rather than my own measurements. I have no grid current data, so the model is only valid for 0 or negative grid voltage, but that is usually OK. I have a pile of 6AU6 here, so perhaps later in the week I will take measurement and do a better model, including grid current.

****
*
* R McLean 31 Mar 2005
* combine best features of Duncan Amps and Korens version
* 6AU6 pentode
* parameter extraction, from GE data sheet, 31 Mar 2005
****
*
.SUBCKT 6AU6 A S G K
+ PARAMS: Ex=1.18612815517596 Kg1=518.391934858335 Kp=116.885228954804 Kvb=7.47567180363042 Mu=67.6663816946734
+ Exd=0.627830798302905 Kd=624.644769500988 Ks=2.15703063540048 Kg=0.0005
+ CCG=5.5P CPG1=.0035P CCP=5.0P
Eat at 0 Value={limit(0.636*ATAN(V(A,K)/KVB),0,1)} ; arctangent shaping
Eme me 0 VALUE={PWR(LIMIT(V(A,K),0,2000),EXD)/KD} ; diode line
Egs gs 0 VALUE= {V(S,K)/KP*LOG(1+EXP((1/MU+V(G,K)/V(S,K))*KP))} ; effective voltage
Egs2 gs2 0 VALUE={(PWR(V(gs),EX)+PWRS(V(gs),EX))/(KG1*0.636)} ; total space current
G1 A K VALUE={LIMIT(V(gs2)*V(at),0,V(me))} ; plate current
Escrn sc 0 VALUE={KS*V(gs2)*(1.1-V(at))} ; reverse arctan shaping for screen current
G2 S K VALUE={V(sc)*LIMIT(V(S,K),0,10)/10} ; screen current
* no grid current data available so comment out the grid current line
*G3 G K VALUE={PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(at))*KG} ; grid current
C1 G K {CCG} ; CATHODE-GRID 1
C2 A G {CPG1} ; GRID 1-PLATE
C3 A K {CCP} ; CATHODE-PLATE
.ENDS 6AU6

#### docali

Hi Robert,

I am really impressed that you provide all these valueable informations Can you provide also a PSpice/LTSpice model for 12BH7?

#### ray_moth

Robert,

I am also impressed and most grateful! I'll try the model you provided - I don't need grid current as it happens. Thanks!

docali, the following is provided on Duncan Monroe's (sp?) web site for the 12BH7A:

* 12BH7A Triode PSpice Model 9/96, Rev. 1.0 (fp)
*
* -------------------------------------------------------------------
* This model is provided "as is", with no warranty of any kind,
* either expressed or implied, about the suitability or fitness
* of this model for any particular purpose. Use of this model
* shall be entirely at the user's own risk.
*
* W. Marshall Leach, jr: "SPICE Models for Vacuum-Tube Amplifiers";
* J. Audio Eng. Soc., Vol 43, No 3, March 1995.
* -------------------------------------------------------------------
*
* This model is valid for the following tubes:
* 12BH7A;
* at the following conditions:
* Plate voltage : 0..600V
* Grid voltage : 0..-35V
* Cathode current: 0..50mA
*
*
* Connections: Plate
* | Grid
* | | Cathode
* | | |
.SUBCKT 12BH7A P G K
E1 2 0 VALUE={V(P,K)+16.64*V(G,K)}
R1 2 0 1.0K
Gp P K VALUE={22.34E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2}
Cgk G K 3.2P
Cgp G P 2.6P
Cpk P K 0.5P
.ENDS 12BH7A

If you like to try the generic triode file he provides, it also contains a model for the 12BH7A, among many others, which might be a bit better. See: Dunca Amps triode models

#### docali

Thank you Ray!

This will help but on the other way I could not find an entry for the generic triode model.

#### ray_moth

You're right, the 12BH7 is not in the generic triode file - I was confused, sorry! Anyway, I hope the model I posted will be useful.

#### Robert McLean

revised 6AU6 and 12BH7 models

Here are revised models for these, that are derived from actual tube measurements rather than spec sheets, and which model grid current for postive grid voltages. The static plate curves are not much different than my previous model, but I think the dynamic characteristics (mu, gm, rp ) may be more realistic.

****
*
* R McLean 24 June 2005
* combine best features of Duncan Amps and Korens version
* 6AU6 pentode
* parameter extraction, from GE tube sn001, 24 June 2005
****
*
.SUBCKT 6AU6 A S G K
+ PARAMS: Ex=1.29250482718994 Kg1=1066.05313830636 Kp=233.038097126617 Kvb=6.26797667003452 Mu=39.2114621352395
+ Exd=0.927382241593347 Kd=1427.5732907893 Ks=2.80629495414095 Kg=0.00189539610643784
+ CCG=5.5P CPG1=.0035P CCP=5.0P
Eat at 0 Value={limit(0.636*ATAN(V(A,K)/KVB),0,1)} ; arctangent shaping
Eme me 0 VALUE={PWR(LIMIT(V(A,K),0,2000),EXD)/KD} ; diode line
Egs gs 0 VALUE= {V(S,K)/KP*LOG(1+EXP((1/MU+V(G,K)/V(S,K))*KP))} ; effective voltage
Egs2 gs2 0 VALUE={(PWR(V(gs),EX)+PWRS(V(gs),EX))/(KG1*0.636)} ; total space current
G1 A K VALUE={LIMIT(V(gs2)*V(at),0,V(me))} ; plate current
Escrn sc 0 VALUE={KS*V(gs2)*(1.1-V(at))} ; reverse arctan shaping for screen current
G2 S K VALUE={V(sc)*LIMIT(V(S,K),0,10)/10} ; screen current
G3 G K VALUE={PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(at))*KG} ; grid current
C1 G K {CCG} ; CATHODE-GRID 1
C2 A G {CPG1} ; GRID 1-PLATE
C3 A K {CCP} ; CATHODE-PLATE
.ENDS 6AU6

* model triode 12BH7 *
* heater not included
* parameters based on values from actual tube sn001, measured 25 June 2005
.SUBCKT 12BH7 A G K
+ PARAMS: EX=1.48223054785181 MU=22.522567847687 KG1=995.714361188371 KP=77.5229158440023 KVB=104.666637159648
+ Go=-0.836752888547946 KG=2.24862182207334E-07 AG=6505.28230714881 BG=638.003346507087
+ CCG=3.2P CGP=2.6P CCP=4.5P
E1 4 0 VALUE={V(A,K)/KP*LN(1+EXP(KP*(1/MU+(V(G,K)-Go)/SQRT(KVB+V(A,K)*V(A,K)))))}
G1 A K VALUE={ (PWR(V(4),EX)+PWRS(V(4), EX))/(KG1) }
RCP A K 1G
G2 G K VALUE = {IF(V(G,K)>0,{Kg}*((({Ag}+V(A,K))/({Bg}+V(A,K)))**4)*V(G,K)**1.5,0)}
C1 G K {CCG} ; CATHODE GRID
C2 G A {CGP} ; GRID-PLATE
C3 A K {CCP} ; CATHODE-PLATE
.ENDS 12BH7

#### ray_moth

Thanks for that, Robert. Actually, your previous 6AU6 model was pretty good. I included it in the model of my 6SL7-6SN7-EL34 (triode) PP amp, which uses a 6AU6 in the tail of the 6SL7 LTP splitter and I got exactly the same results as in practice.

#### teodorom

Grid current

Hi Robert,
nice to see what you have done ! Me, I have done some work on the same subject, but I had problems in determining pentode parameters.
How did you get your parameters ?
How positive grid parameters are determined ? is there any general theory/approach ?
Thanks
Teodoro Marinucci

#### cogsncogs

Hi Robert!

Thanks for the excellent (butter) 6AU6 & 12BH7 models! I've tinkered with Koren's models to get a close approximation of a 5965, 12AV7 & 6BQ7 etc., but close is not good enough! Hint!

Wayne ;D

Maybe we need a smiley spreading some butter on a slice of bread!

#### Robert McLean

5965, 12AV7 and 6BQ7A models

cogsncogs:
Thanks for the "buttering up"

I've tinkered with Koren's models to get a close approximation of a 5965, 12AV7 & 6BQ7 etc., but close is not good enough!

Here are 3 models based on Koren's equations and derived using Andrei's CurveCaptor program, which you can find a link to on this forum. The grid currents are based on Rydels equation. If you want to do your own triode models then I recommend you get CurveCaptor.

*
* model for one half of 5965
*
* heater not included
* parameters captured by curvecaptor curvetracer mode from spec sheet
* 23 April 2005
*
* 5965 LTSpice model
.subckt 5965 P G K
Bp P K I=(0.112190782m)*uramp(V(P,K)*ln(1.0+(-0.0147271391)+exp((3.081793012)+(3.081793012)*((68.25893816)+
+ (284.3355247m)*V(G,K))*V(G,K)/sqrt((48.87711112)**2+(V(P,K)-(-7.174689247))**2)))/(3.081793012))**(1.111993649)
G2 G K VALUE = {IF(V(G,K)>0, 0.00168884141319536 * ((( 33.4072196011231 +V(P,K))/( 25.8590022131631 +V(P,K)))**4)
+ *V(G,K)**1.5,0)}
Ccg K G 4p
Cgp P G 3p
Ccp K P .5p
.ends 5965

*
* model for one half of 6BQ7A
*
* heater not included
* parameters captured by curvecaptor curvetracer mode from spec sheet
* 23 April 2005
*
* 6BQ7A LTSpice model
.subckt 6BQ7A P G K
Bp P K I=(0.02394315169m)*uramp(V(P,K)*ln(1.0+(-0.03717325334)+exp((3.394790097)+(3.394790097)*((43.16466529)+
+ (-237.6116265m)*V(G,K))*V(G,K)/sqrt((34.2053511)**2+(V(P,K)-(8.721051942))**2)))/(3.394790097))**(1.400664452)
G2 G K VALUE = {IF(V(G,K)>0, 0.000918214796820349 * ((( 27.9774118982126 +V(P,K))/( 21.3125760081481 +V(P,K)))**4)
+ *V(G,K)**1.5,0)}
Ccg K G 2.6p
Cgp P G 1.2p
Ccp K P 1.2p
.ends 6BQ7A

*
* model for one half of 12AV7
*
* heater not included
* grid current not modelled
* parameters captured by curvecaptor curvetracer mode from spec sheet
*
* 23 April 2005
*
* 12AV7 LTSpice model
.subckt 12AV7 P G K
Bp P K I=(0.04651445549m)*uramp(V(P,K)*ln(1.0+(-0.01793283738)+exp((1.883281017)+(1.883281017)*((56.61960516)+
+ (-351.3467706m)*V(G,K))*V(G,K)/sqrt((52.94646884)**2+(V(P,K)-(6.855571171))**2)))/(1.883281017))**(1.25758913)
Ccg K G 3.1p
Cgp P G 1.9p
Ccp K P 0.4p
.ends 12AV7

Robert #### Robert McLean

I had problems in determining pentode parameters.

I agree, Pentodes seem to be much more difficult than triodes. I followed the link to your website, and read the page, but I was not able to download your excel files. From what I was able to read though, it sounds like you are doing similar to what I am doing. I have a spreadsheet that calculates current for values of Vp, Vg, and Vs, based on a formula, and uses the Solver function to adjust parameters until the difference between the calculated current and the real current is minimized. The formula I use is a combination of korens and Duncan Munros. I have tried many other approaches, but this formula seems to work best in most situations. Some pentodes, especially variable mu pentodes, are hard to model over a wide range of screen voltages.

How positive grid parameters are determined ?

For screen current and for positive voltage grid current I use formulas that pick off a certain portion of the total cathode current.

I was going to upload my spreadsheet so you can see what I am really talking about, but it is too big, since it contains a lot of other features such a graphs. So I am going to leave now, make the file smaller, and come back.

#### Robert McLean

spreadsheet for pentode spice model parameter extraction

teodorom :

attached is a stripped down version of the spreadsheet I currently use for pentode parameter extraction. The data included is a partial set of data for an EL509 model I did in February of this year. The output of the spreadsheet is in cell A13, ie the Params statement, which I then paste into a text file of Spice code. Note that the fit of this example is not very good, it is just to show how the spreadsheet works

#### Attachments

• pentodemodels.zip
33 KB · Views: 224

#### cogsncogs

Thanks Robert!

Now to give it a whirl!

Tanks again
Wayne #### cogsncogs

Yeah I know I'm being a PITA, but I use MicroCap so I need pSpice.
Could you post again in pspice or how to change it manually?

Thanks
Wayne

#### Robert McLean

PSpice version

I use MicroCap so I need pSpice.

No problem

*
* model for one half of 5965
*
* heater not included
* parameters captured by curvecaptor curvetracer mode from spec sheet
* 25 April 2006
*
* 5965 PSpice model
.subckt 5965_P P G K
Bp P K I=(0.112190782m)*limit(V(P,K)*ln(1.0+(-0.0147271391)+exp((3.081793012)+(3.081793012)*((68.25893816)+
+ (284.3355247m)*V(G,K))*V(G,K)/sqrt((48.87711112)**2+(V(P,K)-(-7.174689247))**2)))/(3.081793012),0,1e6)**(1.111993649)
G2 G K VALUE = {IF(V(G,K)>0, 0.00168884141319536 * ((( 33.4072196011231 +V(P,K))/( 25.8590022131631 +V(P,K)))**4)
+ *V(G,K)**1.5,0)}
Ccg K G 4p
Cgp P G 3p
Ccp K P .5p
.ends 5965_P

*
* model for one half of 6BQ7A
*
* heater not included
* parameters captured by curvecaptor curvetracer mode from spec sheet
* 25 April 2006
*
* 6BQ7A_P PSpice model
.subckt 6BQ7A_P P G K
Bp P K I=(0.02394315169m)*Limit(V(P,K)*ln(1.0+(-0.03717325334)+exp((3.394790097)+(3.394790097)*((43.16466529)+
+ (-237.6116265m)*V(G,K))*V(G,K)/sqrt((34.2053511)**2+(V(P,K)-(8.721051942))**2)))/(3.394790097),0,1e6)**(1.400664452)
G2 G K VALUE = {IF(V(G,K)>0, 0.000918214796820349 * ((( 27.9774118982126 +V(P,K))/( 21.3125760081481 +V(P,K)))**4)
+ *V(G,K)**1.5,0)}
Ccg K G 2.6p
Cgp P G 1.2p
Ccp K P 1.2p
.ends 6BQ7A_P

*
* model for one half of 12AV7
*
* heater not included
* grid current not modelled
* parameters captured by curvecaptor curvetracer mode from spec sheet
*
* 25 April 2006
*
* 12AV7 PSpice model
.subckt 12AV7_P P G K
Bp P K I=(0.04651445549m)*limit(V(P,K)*ln(1.0+(-0.01793283738)+exp((1.883281017)+(1.883281017)*((56.61960516)+
+ (-351.3467706m)*V(G,K))*V(G,K)/sqrt((52.94646884)**2+(V(P,K)-(6.855571171))**2)))/(1.883281017),0,1e6)**(1.25758913)
Ccg K G 3.1p
Cgp P G 1.9p
Ccp K P 0.4p
.ends 12AV7_P

or how to change it manually?

I also have MicroCap, so I was able to check what it didnt like. The only problem is with the URamp function.
URamp(X) in 3f4 is equivalent to limit(X,0,1e6) in PSpice, where 1e6 is just some arbitrarily large number. So if you want to make the change yourself in future just change "uramp" to "limit", and put ",0,1e6" where you see it in the examples above.

#### cogsncogs

Thanks again! I knew about the uramp=limit, but the arbitrary BIG number: ,0,1e6 I kept missing! Dooh!
Ran a few sims and the 12AV7 model seems to line up with my real world measurements. So thanks again!

Wayne

#### noel0768

tube problems

Hey All,
I'm new to the forum and I need some help constructing a spice model. I'm trying to model the AO-28 preamp from hammond organs. It contains 6AU6, 12BH7, 6C4, 12AU7, 12AX7. I've begun running simulations but nothing seems to work correctly. The AO-28 is split into several pieces. One is very small and I feel this would be a great place for members to help... if you could help me understand this part I'm sure I could do the rest. The vibrato section contains only two tubes and some caps and resistors. If anyone would be willing to offer any help at all please contact me at scho0768@umn.edu
thanks very much,
Ryan

#### noel0768

Thanks for the reply. Its not that I can't find the models exactly. I'm more having a problem with making them behave properly. I don't know if I'm connecting things wrong or really what the problem is. I'm posting a link to a site with a breakdown of the AO-28 just so everyone is on the same page: www.bentonelectronics.com/AO28.html
In the vibrato section for example could someone tell me what the right command would be to hookup 6Au6 and the 12bh7. *I'm doing this just as text files and then simulating based on that* Since we probably won't have assigned the node name convention the same can you describe what the node is (ie pin 4 of the 6AU6 tube).
thanks very much,
Ryan

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.