diyAudio

diyAudio (http://www.diyaudio.com/forums/)
-   Tubes / Valves (http://www.diyaudio.com/forums/tubes-valves/)
-   -   Need ECF80 / 6BL8 tube spice 3f4 model (http://www.diyaudio.com/forums/tubes-valves/89375-need-ecf80-6bl8-tube-spice-3f4-model.html)

bembel 31st October 2006 11:07 AM

Need ECF80 / 6BL8 tube spice 3f4 model
 
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

Robert McLean 31st October 2006 07:44 PM

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.1 4549873309371))/(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

bembel 31st October 2006 10:40 PM

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

bembel 31st October 2006 11:48 PM

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.1 4549873309371))/(522.453328273137 *0.636)}
to BEGS2 GS2 0 V= (PWR(V(GS),1.14549873309371)+PWRS(V(GS),1.14549873 309371))/(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 1st November 2006 11:21 AM

I forget to say that circuit is simulating OK with an EL84 in place of the ECF80 pentode model (no problems, whit my ECF80 triode model)

Still looking for a 3f4 model for the pentode section !

Robert McLean 1st November 2006 01:55 PM

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.

bembel 1st November 2006 02:07 PM

Robert I'm actually using ProteusVSM and found that curvecaptor's circuitmaker output works just fine. Maybe it can help you to translate.
Thx a lot.

Robert McLean 1st November 2006 07:22 PM

Quote:

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.

bembel 1st November 2006 09:24 PM

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:

Robert McLean 2nd November 2006 03:06 PM

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.14549873 309371))/(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


All times are GMT. The time now is 05:36 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio


Content Relevant URLs by vBSEO 3.3.2