03-22-2013 05:30 AM
dear all
I want to model a nonlinear resistor behavior whose V-I relation is as V = R1*I+R2*I^3 = (R1+R2*I^2)*I = R'*I in Multisim. R' is the nonlinear resistor dependent on the current I. That is, when the transient simulation runs, the R' will update its value adaptively according to the current.
Any idea on how to implement it?
Thanks in advance.
Best,
03-22-2013 06:16 AM
I do not have time to work through all the details now, but I have seen similar things done.
The basic concept is a subcircuit with the desired V-I relation. It usually involves a non-linear dependent source B. The output voltage can be defined in terms of the input current.
I do not have Multisim, so I am not sure of the implementation details in that program.
Lynn
03-22-2013 09:54 PM
thanks Lynn
I will try.
03-26-2013 09:28 PM
Hi,
Now the problem is changed to the model an arbitaty voltage source in Multisim with a relationship as V = -0.0202 I+0.1502*I^3, V is the voltage of the source and I is the current through it. the whole system is as follows:
This model is implemented in Simetrix\Simplis, the current response is shown below:
Simetrix is easy to build such kind of current dependent voltage source but it has its own problem with other electronic component such as transformer. So I am trying to implement similar thing in Multisim.
Any suggestion and comment are greatly appreciated!
Thanks,
03-27-2013 10:53 AM - edited 03-27-2013 10:55 AM
There are a number of ways to model this in Multisim.
The recommended way is to use a component specifically designed for this: NON_IDEAL_RESISTOR
It is located under Basic group>>NON_IDEAL_RLC family in the database.
You can paramterize the I/V behavior in one of 4 ways:
Resistance= f(voltage)
Resistance = f(current)
Current=f(voltage)
Voltage=f(current)
To model what you are showing in SImetrix, use the Voltage=f(current) option. The function should be entered as: -0.0212*%I+0.1502*%I^3.
We support a wide range of common mathematical functions and operators, which could be used in the function. You can even use the table() function, which allows you to parameterize the input/output relationship using X,Y pairs with linear interpolation used in between them.
Another method is to use the ABM_VOLTAGE component (under Sources>>CONTROLLED_VOLTAGE_SOURCES). You would simply specify the output voltage as a function of the current through the device. However since this component isn't encapsulated, the referenced current can change as you rename your components, so you must be more careful when using this method.
I hope that works out for you.