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

Need ECF80 / 6BL8 tube spice 3f4 model

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi all,
I deseperatly search an ECF80 / 6BL8 tube generic spice 3f4 model.
This means without the "PARAM" parameter wich is specific to PSpice.
All allready made the triode model with curve captor but I'm stuck with the pentode section. (at least any similar pentode will do the trick).

Thx
 
ECF80, 6BL8 pentode models

Here are 2 you can try. The ECF80 model is based on the Philips data sheet, the 6BL8 model is based on measurements from an actual tube. They are not quite the same, pick the one you like best.

The models work on LTspice, I dont remember all the differences between 3F4 and Pspice, but if you find they dont work let me know, they are easy to change.

****
*
* R McLean 9 May 2006
*
* 6BL8 pentode section
* parameter extraction, from tube sn2, 7 February 2006
*
* parameter extraction revised 31 Oct 2006
* PARAMS line removed 31 Oct 2006
****
*
.SUBCKT 6BL8_p A S G K
Eat at 0 Value={limit(0.636*ATAN(limit(V(A,K),0,2000)/6.30314611972791),0,1)}
Eme me 0 VALUE={PWR(LIMIT(V(A,K),0,2000),0.86389906179757)/1189.01514771632}
Egs gs 0 VALUE= {V(S,K)/139.118130547141*LOG(1+EXP((1/92.2653951348968+V(G,K)/V(S,K))*139.118130547141))}
Egs2 gs2 0 VALUE={(PWR(V(gs),1.1)+PWRS(V(gs),1.1))/(312.832839529122*0.636)}
G1 A K VALUE={LIMIT(V(gs2)*V(at),0,V(me))}
Escrn sc 0 VALUE={1.28184375484059*V(gs2)*(1.1-V(at))}
G2 S K VALUE={Limit(V(sc),0,10)*LIMIT(V(S,K),0,10)/10}
G3 G K VALUE={PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(at))*0.00107311015053013}
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS 6BL8_p



****
*
* R McLean 31 Oct 2006
*
* ECF80 pentode section
* parameter extraction, 31 Oct 2006
* from Philips data sheet
* PARAMS line removed 31 Oct 2006
****
*
.SUBCKT ECF80_p A S G K
Eat at 0 Value={limit(0.636*ATAN(limit(V(A,K),0,2000)/10.4439800304351),0,1)}
Eme me 0 VALUE={PWR(LIMIT(V(A,K),0,2000),1.26589505373102)/278.379338336633}
Egs gs 0 VALUE= {V(S,K)/227.067762349055*LOG(1+EXP((1/47.666200213679+V(G,K)/V(S,K))*227.067762349055))}
Egs2 gs2 0 VALUE={(PWR(V(gs),1.14549873309371)+PWRS(V(gs),1.14549873309371))/(522.453328273137 *0.636)}
G1 A K VALUE={LIMIT(V(gs2)*V(at),0,V(me))}
Escrn sc 0 VALUE={2.06921142601449*V(gs2)*(1.1-V(at))}
G2 S K VALUE={Limit(V(sc),0,10)*LIMIT(V(S,K),0,10)/10}
G3 G K VALUE={PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(at))*0.00189539610643784}
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS ECF80_p
 
Thx a lot Robert,
I finish the simulated circuit whit it and tell you the answer within a few days.
Where did you get the model ? Did you made it ?
the PSpice tube models often got the "PARAM" variable that is proprietary to PSpice (not compatible with standard spice 3F4).

PS: I forgot ... here is my ECF80 triode model (home made - curve captor)

* ecf80t macro model
.subckt ecf80t P G K
koren8(0.08514807115,0.02125688214,2.432606355,18.12988992,-515.1539346,47.41376622,32.41199296,1.230822006)
.ends ecf80t


* ecf80t CircuitMaker model
.subckt ecf80t P G K
Bp P K I=(0.08514807115/1.0e3)*uramp(V(P,K)*ln(1.0+(0.02125688214)+exp((2.432606355)+(2.432606355)*((18.12988992)+(-515.1539346/1.0e3)*V(G,K))*V(G,K)/sqrt((47.41376622)^2+(V(P,K)-(32.41199296))^2)))/(2.432606355))^(1.230822006)
.ends ecf80t
 
for now I stuck on:

SIMULATION LOG
==============
Design: C:\Program Files\BIN\tube curve tracer v1.0.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author: <NONE>
Created: 31/10/06
Modified: 01/11/06

Compiling source files...
Build completed OK.
Compiling netlist...
Linking netlist...
Partition analysis...

Simulating partition 1 [329F7637]...
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Reading SPICE models...
Linked SPICE file '6al5.inc'
Loaded SPICE model '12AU7' from library 'VALVES'
Loaded SPICE model '6BQ5' from library 'VALVES'
Linked SPICE file 'ecf80_p.inc'
Linked SPICE file 'ecf80t.inc'
Translated: GP A K VALUE={18E-4*(PWR(V(A,K)+0.2,1.5)+PWRS(V(A,K)+0.2,1.5))/2}
to BGP A K I= 18E-4*(PWR(V(A,K)+0.2,1.5)+PWRS(V(A,K)+0.2,1.5))/2
Translated: E1 2 0 VALUE={V(P,K)+18.28*V(G,K)}
to BE1 2 0 V= V(P,K)+18.28*V(G,K)
Translated: GP P K VALUE={10.88E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2}
to BGP P K I= 10.88E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2
Translated: EAT AT 0 VALUE={LIMIT(0.636*ATAN(LIMIT(V(A,K),0,2000)/10.4439800304351),0,1)}
to BEAT AT 0 V= LIMIT(0.636*ATAN(LIMIT(V(A,K),0,2000)/10.4439800304351),0,1)
Translated: EME ME 0 VALUE={PWR(LIMIT(V(A,K),0,2000),1.26589505373102)/278.379338336633}
to BEME ME 0 V= PWR(LIMIT(V(A,K),0,2000),1.26589505373102)/278.379338336633
Translated: EGS GS 0 VALUE= {V(S,K)/227.067762349055*LOG(1+EXP((1/47.666200213679+V(G,K)/V(S,K))*227.067762349055))}
to BEGS GS 0 V= V(S,K)/227.067762349055*LN(1+EXP((1/47.666200213679+V(G,K)/V(S,K))*227.067762349055))
Translated: EGS2 GS2 0 VALUE={(PWR(V(GS),1.14549873309371)+PWRS(V(GS),1.14549873309371))/(522.453328273137 *0.636)}
to BEGS2 GS2 0 V= (PWR(V(GS),1.14549873309371)+PWRS(V(GS),1.14549873309371))/(522.453328273137 *0.636)
Translated: G1 A K VALUE={LIMIT(V(GS2)*V(AT),0,V(ME))}
to BG1 A K I= LIMIT(V(GS2)*V(AT),0,V(ME))
Translated: ESCRN SC 0 VALUE={2.06921142601449*V(GS2)*(1.1-V(AT))}
to BESCRN SC 0 V= 2.06921142601449*V(GS2)*(1.1-V(AT))
Translated: G2 S K VALUE={LIMIT(V(SC),0,10)*LIMIT(V(S,K),0,10)/10}
to BG2 S K I= LIMIT(V(SC),0,10)*LIMIT(V(S,K),0,10)/10
Translated: G3 G K VALUE={PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(AT))*0.00189539610643784}
to BG3 G K I= PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25-V(AT))*0.00189539610643784
Building circuit...
Instantiating SPICE models...
[SPICE] Starting Gmin stepping: 10 steps
Error: argument out of range for exp(765.206)
Warning: [SPICE] Gmin step [3] failed: GMIN=0.00199526
Error: argument out of range for exp(765.206)
Warning: [SPICE] Gmin stepping failed
[SPICE] starting source stepping
Error: argument out of range for exp(765.206)
Warning: [SPICE] Source step [0] failed: source factor = 0
[SPICE] Error 7 - Too many iterations without convergence.
Real Time Simulation failed to start
Totaliters=0, Totalsteps=0, Goodsteps=0, Badsteps=0

Real Time Simulation FAILED.

---------------------------------------------------------------------
THIS WAS FOR ECL80 NOW IS THE RESULT FOR 6BL8
--------------------------------------------------------------------
Building circuit...
Instantiating SPICE models...
Error: argument(s) out of range for pwr(0, -0.136101)
[SPICE] Error 7 - No such parameter on this device.
Real Time Simulation failed to start
Totaliters=0, Totalsteps=0, Goodsteps=0, Badsteps=0

Real Time Simulation FAILED.




Did you just remove the PARAM line as stated ???
 
bembel:
To answer your questions :

I make the models myself using excel spreadsheets I have developed over the years.

When I extract data from spec sheets I use curve captor. Obviously it does not do the pentode models for me, but it is still very useful for digitizing the data.

To convert the models to 3f4 I deleted the PARAMS line, and substituted the actual numerical value for each parameter in the spice code.

I have tried bothe models it LTspice and in MicroCap 6, and they work OK there, but they are not 3f4.

I dont know why 6BL8 gives more trouble than ECF80.

I will have to dig out my old notes, and come up with a proper translation.
 
curvecaptor's circuitmaker output works just fine. Maybe it can help you to translate.

OK, based on the commands used in your triode model that works, I have made some further changes.


****
*
* R McLean 9 May 2006
*
* 6BL8 pentode section
* parameter extraction, from tube sn2, 7 February 2006
*
* parameter extraction revised 31 Oct 2006
* PARAMS line removed 31 Oct 2006
* further translations 1 Nov 2006
****
*
.SUBCKT 6BL8_p A S G K
Bat at 0 V = uramp(0.636*ATAN(uramp(V(A,K))/6.30314611972791))
Bme me 0 V = (uramp(V(A,K))^0.86389906179757)/1189.01514771632
Bgs gs 0 V = uramp(V(S,K)/139.118130547141*LOG(1+EXP((1/92.2653951348968+V(G,K)/V(S,K))*139.118130547141)))
Bgs2 gs2 0 V = 2*(V(gs)^1.1)/(312.832839529122 *0.636)
B1 A K I = (abs(V(gs2)*V(at)-V(me))-(V(gs2)*V(at)+V(me)))/(-2)
Bscrn sc 0 V = 1.28184375484059*V(gs2)*(1.1-V(at))
B2 S K I = (abs(V(sc)-10) - ( V(sc)+10))/(-2)*(Abs(V(S,K)-10) - (V(S,K)+10))/(-2)
B3 G K I = (Uramp(V(G,K)+1)^1.5)*(1.25-V(at))*0.00107311015053013
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS 6BL8_p



****
*
* R McLean 31 Oct 2006
*
* ECF80 pentode section
* parameter extraction, 31 Oct 2006
* from Philips data sheet
* PARAMS line removed 31 Oct 2006
* further translations 1 Nov 2006
****
*
.SUBCKT ECF80_p A S G K
Bat at 0 V = uramp(0.636*ATAN(uramp(V(A,K))/10.4439800304351))
Bme me 0 V = (uramp(V(A,K))^1.26589505373102)/278.379338336633
Bgs gs 0 V = uramp(V(S,K)/227.067762349055*LOG(1+EXP((1/47.666200213679+V(G,K)/V(S,K))*227.067762349055)))
Bgs2 gs2 0 V = 2*(V(gs)^1.14549873309371)/(522.453328273137 *0.636)
B1 A K I = (abs(V(gs2)*V(at)-V(me))-(V(gs2)*V(at)+V(me)))/(-2)
Bscrn sc 0 V = 2.06921142601449*V(gs2)*(1.1-V(at))
B2 S K I = (abs(V(sc)-10) - ( V(sc)+10))/(-2)*(Abs(V(S,K)-10) - (V(S,K)+10))/(-2)
B3 G K I = (Uramp(V(G,K)+1)^1.5)*(1.25-V(at))*0.00189539610643784
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS ECF80_p

Hopefully they will work for you. If they do not work, then someone more familiar with ProteusVSM or other spice versions will need to make more corrections.
 
Thx Robert, here are the results:

SIMULATION LOG for 6BL8
==============

Reading netlist...
Reading SPICE models...
Linked SPICE file '6al5.inc'
Loaded SPICE model '12AX7' from library 'VALVES'
Loaded SPICE model '12AU7' from library 'VALVES'
Loaded SPICE model '6BQ5' from library 'VALVES'
Linked SPICE file 'ecf80_p.inc'
Linked SPICE file 'ecf80t.inc'
Translated: GP A K
Building circuit...
Instantiating SPICE models...
Error: 0, -0.136101 out of range for ^
[SPICE] Error 7 - No such parameter on this device.
Real Time Simulation failed to start
Totaliters=0, Totalsteps=0, Goodsteps=0, Badsteps=0

Real Time Simulation FAILED.


SIMULATION LOG for ECF80
==============

Reading netlist...
Reading SPICE models...
Linked SPICE file '6al5.inc'
Loaded SPICE model '12AX7' from library 'VALVES'
Loaded SPICE model '12AU7' from library 'VALVES'
Loaded SPICE model '6BQ5' from library 'VALVES'
Linked SPICE file 'ecf80_p.inc'
Linked SPICE file 'ecf80t.inc'
Building circuit...
Instantiating SPICE models...
Error: argument out of range for exp(1.06309e+06)
[SPICE] Error 7 - No such parameter on this device.
Real Time Simulation failed to start
Totaliters=0, Totalsteps=0, Goodsteps=0, Badsteps=0

Real Time Simulation FAILED.




:bawling:
 
one more try ....

I thought I would give this one more try.

So I downloaded the demo version of ProteusVSM to see what is going on.

I got a circuit to work using their models of EL34, EF86 and EL84 but the other pentode models will not work. There may be something wrong with pin assignments.

So I think you will have to use the EL34 schematic symbol, but change the specified spice model from 6CA7 to Ecf80_p or 6BL8_p.

I looked at the spice code they are using and I noticed that they use PWR and PWRS, so I put those commands back into my code. Everything else looks OK.

I was not able to test the models, since I have not been able to figure out how to link in my models. How do you tell Proteus to do that ?

Anyway here are the models that I think should work, if you can get Proteus to use them using the EL34 type


****
*
* R McLean 9 May 2006
*
* 6BL8 pentode section
* parameter extraction, from tube sn2, 7 February 2006
*
* parameter extraction revised 31 Oct 2006
* PARAMS line removed 31 Oct 2006
* further translations 1 Nov 2006
****
*
.SUBCKT 6BL8_p A S G K
Bat at 0 V = uramp(0.636*ATAN(uramp(V(A,K))/6.30314611972791))
Bme me 0 V = (uramp(V(A,K))^0.86389906179757)/1189.01514771632
Bgs gs 0 V = uramp(V(S,K)/139.118130547141*LOG(1+EXP((1/92.2653951348968+V(G,K)/V(S,K))*139.118130547141)))
Bgs2 gs2 0 V = (PWR(V(gs),1.1)+PWRS(V(gs),1.1))/(312.832839529122 *0.636)
B1 A K I = (abs(V(gs2)*V(at)-V(me))-(V(gs2)*V(at)+V(me)))/(-2)
Bscrn sc 0 V = 1.28184375484059*V(gs2)*(1.1-V(at))
B2 S K I = (abs(V(sc)-10) - ( V(sc)+10))/(-2)*(Abs(V(S,K)-10) - (V(S,K)+10))/(-2)
B3 G K I = (Uramp(V(G,K)+1)^1.5)*(1.25-V(at))*0.00107311015053013
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS 6BL8_p



****
*
* R McLean 31 Oct 2006
*
* ECF80 pentode section
* parameter extraction, 31 Oct 2006
* from Philips data sheet
* PARAMS line removed 31 Oct 2006
* further translations 1 Nov 2006
****
*
.SUBCKT ECF80_p A S G K
Bat at 0 V = uramp(0.636*ATAN(uramp(V(A,K))/10.4439800304351))
Bme me 0 V = (uramp(V(A,K))^1.26589505373102)/278.379338336633
Bgs gs 0 V = uramp(V(S,K)/227.067762349055*LOG(1+EXP((1/47.666200213679+V(G,K)/V(S,K))*227.067762349055)))
Bgs2 gs2 0 V = (Pwr(V(gs),1.14549873309371)+PWRS(V(gs),1.14549873309371))/(522.453328273137 *0.636)
B1 A K I = (abs(V(gs2)*V(at)-V(me))-(V(gs2)*V(at)+V(me)))/(-2)
Bscrn sc 0 V = 2.06921142601449*V(gs2)*(1.1-V(at))
B2 S K I = (abs(V(sc)-10) - ( V(sc)+10))/(-2)*(Abs(V(S,K)-10) - (V(S,K)+10))/(-2)
B3 G K I = (Uramp(V(G,K)+1)^1.5)*(1.25-V(at))*0.00189539610643784
C1 G K 2.5P ; CATHODE-GRID 1
C2 A G 1.5P ; GRID 1-PLATE
C3 A K 1.8P ; CATHODE-PLATE
.ENDS ECF80_p
 
Robert, thanks again & again

Robert McLean said:
I thought I would give this one more try.

So I downloaded the demo version of ProteusVSM to see what is going on.

I got a circuit to work using their models of EL34, EF86 and EL84 but the other pentode models will not work. There may be something wrong with pin assignments.

So I think you will have to use the EL34 schematic symbol, but change the specified spice model from 6CA7 to Ecf80_p or 6BL8_p.

I looked at the spice code they are using and I noticed that they use PWR and PWRS, so I put those commands back into my code. Everything else looks OK.

I was not able to test the models, since I have not been able to figure out how to link in my models. How do you tell Proteus to do that ?

Anyway here are the models that I think should work, if you can get Proteus to use them using the EL34 type

Robert, as I said, thanks again and again.
I think that you're right about a pin assignment bug in proteus, actually, I was using their generic pentode symbol. they are a few other problematic bugs also (with grid current notably).

I'm not enough skilled into code to tell you about models parameters (I just know PARAM is proprietary to Pspice, don't know about PWR)

To link the models, simply select the symbol (Rclick), then go into its parameters (Lclick), then check "edit properties as text", then edit something like:
{PRIMITIVE=ANALOGUE,SUBCKT}
{SPICEMODEL=ecf80t,ecf80t.inc}
{SPICEPINS=A,G,K}

where SPICEMODEL=X,Y is:
X being the model name inside the model file (ie: XECF80_P)
Y being the file model name (ie: ECF80.inc)

NB: don't forget to add to "models PATH" your folder where your ECF80.inc or ECF80.txt is. (you can find paths preferences in the system menu)
 
success !!

OK, here are two models that work in proteusVSM



.SUBCKT 6BL8_p2 A S G K
*
* CALCULATE CONTRIBUTION TO CATHODE CURRENT
*
BAT AT 0 V=0.636*ATAN(V(A,K)/9.973379205)
BGS GS 0 V=URAMP(V(S,K)/2.32E+01 + V(G,K)*1.903769916)
BGS2 GS2 0 V=V(GS)^1.5
BCATH CC 0 V=V(GS2)*V(AT)
*
* CALCULATE ANODE CURRENT
*
BA A K I=1.25E-03*V(CC)
*
* CALCULATE SCREEN CURRENT
*
BSCRN SC 0 V=V(GS2)*(1.1-V(AT))
BS S K I=1.22E-03*V(SC)
*
* GRID CURRENT (APPROXIMATION - DOES NOT MODEL LOW VA/VS)
*
BG G K I=(URAMP(V(G,K)+1)^1.5)*1.49E-04
*
* CAPACITANCES
*
CG1 G K 2.5P
CAK A K 1.8P
CG1A G A 1.5P
.ENDS



.SUBCKT ECF80_p2 A S G K
*
* CALCULATE CONTRIBUTION TO CATHODE CURRENT
*
BAT AT 0 V=0.636*ATAN(V(A,K)/10.3933476)
BGS GS 0 V=URAMP(V(S,K)/2.17E+01 + V(G,K)*1.720663004)
BGS2 GS2 0 V=V(GS)^1.5
BCATH CC 0 V=V(GS2)*V(AT)
*
* CALCULATE ANODE CURRENT
*
BA A K I=1.23E-03*V(CC)
*
* CALCULATE SCREEN CURRENT
*
BSCRN SC 0 V=V(GS2)*(1.1-V(AT))
BS S K I=2.28E-03*V(SC)
*
* GRID CURRENT (APPROXIMATION - DOES NOT MODEL LOW VA/VS)
*
BG G K I=(URAMP(V(G,K)+1)^1.5)*1.49E-04
*
* CAPACITANCES
*
CG1 G K 2.5P
CAK A K 1.8P
CG1A G A 1.5P
.ENDS


I used the same style of model as the 6CA7 supplied with Proteus, so that way I knew it must work. I recalculated the parameters to fit my ECF80 and 6BL8 data.

To use them I used the EL34 symbol, and then edited the SPICEMODEL to say {SPICEMODEL=ECF80_p,MyPentodes.inc}

I only tested them in a dc circuit, ie dc voltages on grid, screen and plate, and then read the currents, which were correct per my LTSpice simulations, but they should be OK.

The 6BL8_p model wont work at all, and the ECF80_p model works, but gives incorrect values. I do not know why, but I am not going to worry about it, the latest _p2 models should be close enough.

I tried using the good models with the 6L6GC symbol, and I get the same error about the cathode connection.

So my suggestion is just use the EL34 symbol
 
Your last model works well Robert

A took sometime to reinstall proteus, doing some cleaning to my folders, models, libraries, etc.
Your last models, works well, I am using the EL34 Symbol with it, and everything is fine.
I have a big tube symbol library (more than 100 diifferent one, made for proteus, Have to try them, It was made by someone, to get around pin assignement problem.

Thx again
 
Need ECF80 triode spice 3f4 model

Hello,

I´m very sorry for digging out this quite historical thread....
But you are my last hope; I spend hours on searching the Net for a running ECF80 spice model.
The Pentode model you discussed is running very well for b2spice after change the line:
** s k i=2.28e-03*v(sc) --> ** s k i=2.28e-03*v(sc)

But I need also the triode model :eek: ! I try the 12au7 but this is too different....

Please be so kind and provide me the missing triode model for the ECF80.:D

By the way:
Any good tool-chain to create a spice model from datasheed for a non mathematical genie???

Thanks a lot
Karsten
 
Last edited:
ECF80 Triode model

Karsten
try this one. It is for LT Spice, it may be compatible. If not, let me know.


****
* R McLean 19 Oct 2008
* ECF80t
* Koren6 model generated using Koren&RydelTriodeModels.xls
* LTSpice compatible
* RMS mA err 0.277551005104373
*
*
*
*
****
.Subckt ECF80t_k6 P G K
Bp P K I=(0.0765426120591168m)*uramp(V(P,K)*ln(1.0+(-0.0345984809165187)+
+ exp((3.0207469570032)+(3.0207469570032)*
+ ((20.6508712664427)+(-146.65206568867m)*V(G,K))*V(G,K)/V(P,K)))/(3.0207469570032))
+ **(1.26916507120526)
*** Grid current not modeled

C1 G K 2.5p
C2 P K 1.8p
C3 G P 1.5p
.ENDS ECF80t_k6



A model building tool for non-mathematical people is Curve Captor. It does diodes and triodes, but not pentodes. You can find it by searching this forum. It does models for several types of Spice ie 3F4, Pspice, LTSpice etc.
It will extract data graphically from the curves on data sheets, or you can enter a table of measured data points. It is a very good tool

For pentodes, I dont know of any easy to use software tool. I use various spreadsheets of my own design, but they are not really user friendly. I have been working on Access, C++ and VB versions that could result in a useable program, but it is a long way off, it is not my day job etc.

Others may know of pentode modelling tools.
 
Last edited:
error in devision ...

Robert,

Thanks a lot for your answer! I worked yesterday night several hours on this model

I try your model using b2spice V5, but unfortunately the simulation exited with an error:
>ERROR: external error: Error in division: -10651.6, 0 out of range for /
....multible times ....
>WARNING: SINGULAR MATRIX: CHECK NODES B:XX1:GS2#BRANCH AND 3
>WARNING: SOURCE STEPPING FAILED
>ERROR: doAnalyses: Matrix is singular
>ERROR: RUN SIMULATION(S) ABORTED

Any idea??


Well, this is realy frustrating:confused: At least I would like to USE the simulator....
I found a very nice tool named "motega_1.0" which using Matlab for calculating a Pspice model. For my delight a ECF80 is shipped as an example. But I´m not able to convert it to spice 3f4. So I searched for an "converter" and found a small perl script ps2sp.pl which does this job. I shrinked the output file to a single subcircuit. But.. a similar error:
>ERROR: external error: Error in division: -6.75751e+307, 0 out of range for /
>WARNING: SINGULAR MATRIX: CHECK NODES B:XX1:GS2#BRANCH AND 3

It´s O.K. to work hard on an challange; but I´m a newcomer on simulations and it´s hard to just jump in a black hole...

I attached all what I found and worked on. May be you have an idea??

Thanks a lot!
Karsten
 

Attachments

  • ecc80_C.txt
    967 bytes · Views: 112
  • ECF80_T.txt
    2.6 KB · Views: 104
  • ecf80_ps2sp.txt
    886 bytes · Views: 92
model problems

Karsten
try this model. It is produced using CurveCaptor, and is in the 3F4 dialect.

* ECF80Triode Spice 3F4 model
.subckt ECF80_T P G K
Bp P K I=(0.07734143302m)*uramp(V(P,K)*ln(1.0+(-0.0324027279)+
+ exp((2.294384439)+(2.294384439)*((20.44231973)+(-346.3036329m)
+ *V(G,K))*V(G,K)/sqrt((31.45090171)^2+(V(P,K)-(15.9248421))^2)))
+ /(2.294384439))^(1.259575933)
.ends ECF80_T

Be careful with the continuation lines, the lines starting with + .
The model is actually one line starting at Bp, but it is too long so has to be broken up. Make sure whn you import this text that is doesnt get broken up, sometimes that causes strange problems.

The error messages seem to indicate a problem with the overall circuit, or how the tube subcircuit is connected into it. Singular matrices sometimes come up when there are components not connected etc. Is component XX1 the ECF80 ? I dont see a node GS2 in any of the models.

The model terminals are P G K. ( plate, grid, kathode ) Make sure this corresponds to the terminal names in your final spice net list. I notice in your files you are using a gr1 k ( anode, grid, and kathode ). You may have to change these to be consistent, depending on how your schematic capture program translates circuit symbols into the final spice net list.


Try the following ultra simple models to check this theory.

* ECF80Triode Spice 3F4 model
.subckt ECF80test1 P G K
Bp P K I=10m
.ends ECF80test1

* ECF80Triode Spice 3F4 model
.subckt ECF80test2 a gr1 k
Bp a k I=10m
.ends ECF80test2

these just pull 10 millamps no matter what voltages are present, obviously not a real tube model, but there is nothing in it to cause errors.

If neither of them work, then your overall circuit is wrong, ie missing a connection or something like that.

Have you tried any other triode spice models in this same circuit ?
Is this the only tube in the circuit you are testing ?

Can you post the spice netlist for your circuit ? This may give some clue as to what the error message is refering to as B:XX1:GS2
 
Works! But unexpected results...

Dear Robert,

Thanks a lot! The last model run now without any error. I checked also the dummy models ( very good idea! ) to ensure I created the part correctly.
I downloaded the "Curve Capture" and create an own ECF_80 triode model. For that I used the PCF80 datasheed; It´s a amazing programm but without any dokumentation. So It took me a while to understand how to load a image ( In fact I read the source to find it.. :) )

The model works for DC-sweep as expected. I draw the plate cure with b2spice program using the model. The compare between datasheed, "Curve captor" and b2spice simulation is very good. So I should assume, that the AC or static DC "in circuit" simulation will work.

Well, try to evaluate a Cathode follower using the triode and datasheed to define working point the simulation return an unexpected value.
The grid is 129V ( from a plate of a pentode DC coupled ), HT 250V. I chouse a 18K value for the Rk to get an center based WP at Ug=129V.

Using your and my model URk and IRk are 0! Using a 12au7a model with same values it works; URk = 131V and IRk=7,295mA.

I assume that there is something wrong with b2spice; May be I exceed some values... Now it´s time to build the hardware, see if theory and reality match.

So again: Thank you verry much for your help, your patience with an spice newcomer and.. with my bad english

Best regards
Karsten
 

Attachments

  • pcf80_b2spice.GIF
    pcf80_b2spice.GIF
    49.2 KB · Views: 290
  • pcf80_CurveCaptor.GIF
    pcf80_CurveCaptor.GIF
    37.1 KB · Views: 296
  • PCF80_datasheed.GIF
    PCF80_datasheed.GIF
    58.9 KB · Views: 286
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.