
Home  Forums  Rules  Articles  The diyAudio Store  Gallery  Blogs  Register  Donations  FAQ  Calendar  Search  Today's Posts  Mark Forums Read  Search 
Tubes / Valves All about our sweet vacuum tubes :) Threads about Musical Instrument Amps of all kinds should be in the Instruments & Amps forum 

Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving 

Thread Tools  Search this Thread 
31st October 2006, 12:07 PM  #1 
diyAudio Member

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
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
31st October 2006, 08:44 PM  #2 
diyAudio Member
Join Date: May 2005
Location: Stittsville, Ontario, Canada

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.1V(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.25V(at))*0.00107311015053013} C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .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.1V(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.25V(at))*0.00189539610643784} C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .ENDS ECF80_p
__________________
Robert McLean 
31st October 2006, 11:40 PM  #3 
diyAudio Member

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
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
1st November 2006, 12:48 AM  #4 
diyAudio Member

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={18E4*(PWR(V(A,K)+0.2,1.5)+PWRS(V(A,K)+0.2,1.5))/2} to BGP A K I= 18E4*(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.88E6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} to BGP P K I= 10.88E6*(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.1V(AT))} to BESCRN SC 0 V= 2.06921142601449*V(GS2)*(1.1V(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.25V(AT))*0.00189539610643784} to BG3 G K I= PWR(LIMIT(V(G,K)+1,0,1E6),1.5)*(1.25V(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 ???
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
1st November 2006, 12:21 PM  #5 
diyAudio Member

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 !
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
1st November 2006, 02:55 PM  #6 
diyAudio Member
Join Date: May 2005
Location: Stittsville, Ontario, Canada

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.
__________________
Robert McLean 
1st November 2006, 03:07 PM  #7 
diyAudio Member

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.
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
1st November 2006, 08:22 PM  #8  
diyAudio Member
Join Date: May 2005
Location: Stittsville, Ontario, Canada

Quote:
**** * * 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.1V(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.25V(at))*0.00107311015053013 C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .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.1V(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.25V(at))*0.00189539610643784 C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .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.
__________________
Robert McLean 

1st November 2006, 10:24 PM  #9 
diyAudio Member

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.
__________________
Plus je pédale moins vite, moins j'avance plus vite ! 
2nd November 2006, 04:06 PM  #10 
diyAudio Member
Join Date: May 2005
Location: Stittsville, Ontario, Canada

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.1V(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.25V(at))*0.00107311015053013 C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .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.1V(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.25V(at))*0.00189539610643784 C1 G K 2.5P ; CATHODEGRID 1 C2 A G 1.5P ; GRID 1PLATE C3 A K 1.8P ; CATHODEPLATE .ENDS ECF80_p
__________________
Robert McLean 
Thread Tools  Search this Thread 


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
WTB: ECF80/6BL8 Tubes  sun850  Swap Meet  0  15th January 2009 12:22 PM 
Help with ECF80 spice model  00940  Tubes / Valves  0  1st November 2007 04:32 PM 
ECF80/6BL8  Tobruk  Tubes / Valves  4  1st May 2007 11:16 PM 
Tube Spice Model Problem  valveitude  Tubes / Valves  5  5th July 2005 02:56 AM 
SPICE model  Prune  Parts  6  16th October 2004 04:22 PM 
New To Site?  Need Help? 