0
\$\begingroup\$

I recently ask a question relating this topic because I was having problems with the spice models supplied by the manufacturers wich consists of a logarithmic power law:

enter image description here

The problem was of the type "Time step too small".

Since then @Tim Williams suggested me to use a table expresion to attemt to solve the problem but the same problem arised:

.SUBCKT SIOV 1 2 PARAMS: T=1 C=1pF L=1nH B1=1 B2=1 B3=0 B4=0
R_SERIES  1 3 100u
L_SERIES  3 4 {L}
V_I_SENSE 4 5 0V
H_I_SENSE 6 0 V_I_SENSE 10k
R_I_SENSE 6 0 1G
B_VAR     5 2 table = (1e-6,799.968) (1e-5,927.732) (1e-4,1019.74) (1e-3,1099.143) (1e-2,1176.691) (1e-1,1257.9) (1,1347.942) (1e1,1457.19) (1e2,1614.786) (1e3,1914.646) (1e4,2728.713) 
C_PAR    4 2 {C}
B_SW 7 0 VALUE={PWR(10,(B1+B2*(-7)+B3*EXP(+7)+B4*EXP(-7)))}
R_SW 7 0 1G 
.ENDS

After that I wanted to find a better analytical function to substitute the logarithmic model and found this:

enter image description here enter image description here

The yellow curve is the TDK varistor model with the following parameters:

B1=2.9094171 B2=0.0246895 B3=-0.0001545 B4=0.0052839

The blue curve is my custom function, whose parameters are the following:

K1=840 K2=1 K3=-0.5  a1=0.03 a2=0.735 a3=-0.344

The subcircuit netlis is the following:

.SUBCKT MOV_model 1 2 PARAMS: C=1pF L=1nH K1=840 K2=1 K3=-0.5  a1=0.03 a2=0.735 a3=-0.344
R_SERIES  1 3 100u
L_SERIES  3 4 20n
V_I_SENSE 4 5 0V
H_I_SENSE 6 0 V_I_SENSE 10k
R_I_SENSE 6 0 1G
B_VAR     5 2  V={ K1*LIMIT(V(6),1m,100G)**a1 + K2*LIMIT(V(6),1m,100G)**a2 + K3*LIMIT(V(6),1m,100G)**a3}
.ENDS

The problem that I have now is that its no behaving as expected. For example, when connecting the varistor to an RLC circuit (used to produce impulse currents as 8/20 waveform) usually the internal resistance, inductance and capacitance of the varistor are negligible to the RLC values of the RLC circuit and it should look like this:

enter image description here

enter image description here

But instead, the presence of the varistor with this model does change the circuit dynamics significantly:

enter image description here

Basically, I suspect there is something wrong with the way I'm writing the subcircuit expresion. But I havent find the issue yet and maybe there is something else that I am missing. Any idea?

Edit1: Some of you suggested a better description of the circuit that I'm using. Here is a more detailed screnshoot :

enter image description here

Following @tobalt suggestion I tried using the following formula for the variable resistance:

formula

This variable resistance aproach actually works better although it still not producing the expected results since the short circtuit current still difers from the current across the varistor

enter image description here

The blue curve is the varistor modeled as a variable resistance, the red curve is with my MOV model based on a behavioral voltage source. What changes should I make to model the negative part of the impulse?

Edit 2: After fidgeting around I noticed that in my subcircuit model (and also de TDK model) the "H_SENSE" line has a transconductance of 10k which I dont understand why they chose this value instead of just 1 since "H_SENSE" is transforming the measured current from "V_SENSE" to a voltage in order to use it in the formula as @SteKulov mentioned in a coment.

For now, it seems that with these changes my model is working a little bit better

\$\endgroup\$
16
  • \$\begingroup\$ I've edited your question to make it clearer. Of course, if you don't like those edits you can roll-back to your version. \$\endgroup\$
    – Andy aka
    Jun 27, 2023 at 11:23
  • \$\begingroup\$ Thank you very much Andy! \$\endgroup\$ Jun 27, 2023 at 11:26
  • \$\begingroup\$ could you post a spice schematic of you varistor model? are you sure that the component names work as they should with the underscore? \$\endgroup\$
    – tobalt
    Jun 27, 2023 at 12:16
  • \$\begingroup\$ it looks like you have a voltage source BV there? I guess it is better to simply use a resistor that directly depends on the voltage between nodes 1 and 2. and then some Cpar and Lser \$\endgroup\$
    – tobalt
    Jun 27, 2023 at 12:18
  • \$\begingroup\$ Do you mean the underscore in the "MOV_model" name? If yes, I'm pretty positive its this syntax is okay since I have already used it for other models before. :) \$\endgroup\$ Jun 27, 2023 at 12:18

1 Answer 1

1
\$\begingroup\$

Instead of using a voltage source in your model, you should use a variable resistor.

You have derived the \$I(V)\$ relationship. So the corresponding resistance description \$R(V) = \frac{V}{I(V)}\$.

\$\endgroup\$
4
  • \$\begingroup\$ A behavioral resistor in LTspice converts into a behavioral current source with the I= set to the voltage across it divided by what R= is set to. Regardless, the reason why TDK uses that goofy H-source off to the side is because of the blurb explained in the LTspice help that says: "..the circuit element current is varying quasi-statically, that is, there is no instantaneous feedback between the current through the referenced device and the behavioral source output". The additional H-source converts the current to a voltage which is then used in the behavioral expression without a problem. \$\endgroup\$
    – Ste Kulov
    Jun 27, 2023 at 15:59
  • \$\begingroup\$ @SteKulov Thanks for the insight 👍 Does that mean, that the subckt is actually correct, but some other problem is likely present, albeit undisclosed? In that case, I could delete this answer \$\endgroup\$
    – tobalt
    Jun 27, 2023 at 16:40
  • \$\begingroup\$ No problem. Hmmm...I'm not sure. The questioner has not posted enough information for anyone else to duplicate their issue exactly and therefore test out a solution. They did the same thing with the previous question they referenced. I asked for clarification. So let's just wait it out for now??? \$\endgroup\$
    – Ste Kulov
    Jun 27, 2023 at 19:47
  • \$\begingroup\$ Why is it more convenient to use a variable resistor instead of a variable voltage source? \$\endgroup\$ Jul 7, 2023 at 8:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.