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

Koren's spice models

This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
koren's spice models

Hi all,
for those of you interested in spice simulation of tube amp.

I am slowly building a library of triode models.

Actually, I use Koren's model since I found it to better adhere to
real plate curve data.

At the moment only a few tube are present in the library but I hope to develope a good and useful thing.

I wait for comments and suggestions.

thanks in advance

Federico Scarpa
hi ray_moth
maybe the .param statement is typical of MicroCap

clear that line and put the following

E6 6 0 VALUE={KP*( (1/MU)+((V(G,K)-vg0)/sqrt(V(A,K)**2+KVB**2)) )}

and in the next change V_6 with V(6) as follows

E8 8 0 VALUE={(V(A,K))/KP*LN(1+EXP(V(6)))}

let me know

Joined 2004
EL34 model is strange

The EL34 triode model in class AB1, e.g. with quiescent current of 40mA, doesn't cutoff at 0 mA but at about 20mA. Any idea why that is? I think this is wrong and I've stopped using it.

I've gone back to using a 6CA7 model I got from Duncanamps. With g2 strapped to plate, this cuts off cleanly at 0mA, as I would expect.
Joined 2004
Hello Frederico,

I haven't tried to plot the plate curves for the EL34 model. I still have the model on my disk but, as I said before, I don't use it any more. The conditions under which I tried it were in AB1 push-pull, with plate-to-plate load of 7k, 400v B+, 220k grid resistor, 1k grid stopper and fixed negative grid bias to get a quiescent current in each tube of 40mA. It was driven by a 6SN7 differential stage with 3mA plate current, 47k plate loads and 0.1uF coupling capacitors.

I am using LTSpice, which can be temperamental at times. For instance, it "sulks" if the input signal amplitude is accidentally set too large so as to constitute an overload. It stalls, complaining that the timestep is too small (so what am I supposed to do about that?); or it says there are floating nodes when there aren't any. This might be due to the failure of negative feedback at clipping, I don't know. Since it refuses to simulate, I can't really tell what it's trying to do or why it can't do it. The error log is mostly gibberish except, perhaps, to the programmers who wrote it.

Another problem is that some simulations seem to take forever, whereas others of apparfently similar complexity can be very quick. I have never found a logical explanation for this variability in run-times. The "help" file is not very helpful at all and I would never credit LTSpice with being user-friendly! Still, I got it free, so who am I to complain? When it works, which is most of the time, it seems to be excellent.
Joined 2004
Paid Member
I have used both micro-cap and LTspice. I like both, however I will say that LT spice will run circuits with unlimited numbers of nodes and mcap limits you to 50 nodes maximum which can be a problem.

Mcap is much friendlier, but LTspice is far more powerful. (I have successfully run circuits with 400 - 500 nodes and had very good correlation to real world circuits they were modeling.) Configuring spice imperatives to iterate until it converges can be a nuisance, but I have also had to do this in mcap as well.

LTspice doesn't have usable transformer models, but does support K the spice coupling coefficient, and I have had some limited success in getting Norman Koren's transformer models to run in LTspice.

I am going to try some of these tube models in LTspice with the required format changes when I have a moment. I have a large tube library, however I am missing some of the devices you have presented..:D

Great work!

fwiw, I have been trying to get this triode model to work in MultiSim -- it's Koren's with the changes needed by EWB's version and Perugini's parameters :

.subckt 6DJ8 1 2 3
+Params: MU=35 KP=320 KVB=300 EX=1.3 KG1=330
E1 7 0 Value = {(V(1,3)/KP)*LN((1+ EXP((KP/MU) + ((KP*V(2,3))/(SQRT(KVB+V(1,3)*V(1,3)))))))}
RE1 7 0 1e12
G1 1 3 VALUE = {{(((V(7))^EX)/KG1)*(1+SGN(V7))}
RCP 1 3 1e12
C1 2 3 2.3e-12
C2 1 2 2.1e-12
C3 1 3 0.7e-12
R1 2 5 2000
D3 5 3 dx
.model dx d(is=1e-09 rs=1 cjo=10e-12 ttn=1e-9)

it isn't really happy, although it doesn't blow up...
there are some typing mistakes (G1)
try these lines instead

E1 7 0 Value = {(V(1,3)/KP)*LN((1+ EXP((KP/MU) + ((KP*(V(2,3)+.5))/(SQRT(KVB+V(1,3)*V(1,3)))))))}
G1 1 3 VALUE = {(((V(7))^EX)/KG1)*(1+SGN(V(7)))}
.model dx d(is=1e-09 rs=1 cjo=10e-12)

and put EX=1.5

you'll end with a working model
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.