When using simulations(SPICE), I need to model a DC motor or an electromagnet, relay ect. as an RL in series.

I can measure the R resistance by an ohmmeter. But I couldn't find an easy way to find out L value. Should I use a sinusoidal AC signal and measure the impedance from the phasor equations for that? But then I would need other equipment.

Any ideas?

  • \$\begingroup\$ What equipment do you have? \$\endgroup\$
    – user55924
    Commented Jul 28, 2015 at 9:50
  • \$\begingroup\$ There are multimeters that measure inductance \$\endgroup\$ Commented Jul 28, 2015 at 9:54
  • \$\begingroup\$ I have a multi-meter and a scope. I can also generate adjusted freq. pulses but not sinusoids. \$\endgroup\$
    – user16307
    Commented Jul 28, 2015 at 9:58
  • \$\begingroup\$ plus my multimeter doesnt have inductance measuring option. \$\endgroup\$
    – user16307
    Commented Jul 28, 2015 at 10:01
  • \$\begingroup\$ Easiest? An L(CR) meter. Easiest for you? Without knowing what tools you have available, I would say slay a chicken and read in its bones... \$\endgroup\$
    – PlasmaHH
    Commented Jul 28, 2015 at 10:04

3 Answers 3


If you have a square wave generator and an oscilloscope then you can use the L/R time constant method. Hook the generator up to the coil in series with a resistor, and put the scope across the resistor. Adjust the resistor value and square wave frequency to get an exponential waveform like this:-

enter image description here

Now measure the time it takes for the voltage to drop to 37% of its peak value. This is the L/R time constant, T = L/R. R is the total resistance in the circuit (resistance of the coil + your resistor). You know T and R, so put those values into the formula and rearrange it to get L = T*R.


Inductance is measured by applying a sinusoidal signal and then measuring the phase difference between the voltage wave form and current wave form. Connect the motor to a function generator or the such. Place a resistor in series between the motor and the function generator on the negative side. Connect one oscilloscope channel across the function generator. Connect the second channel across the resistor with the common grounding point on the negative side of the function generator. This will display the voltage wave form and the current wave form. By measuring the phase difference between them the inductance can be calculated.

  • \$\begingroup\$ i know in theory it is like that but i dont have that sinusoidal signal gen. did you read what i wrote above? \$\endgroup\$
    – user16307
    Commented Jul 28, 2015 at 10:26
  • \$\begingroup\$ If not using an LCR meter, without using "something" that generates a sine wave the inductance measurement won't be accurate or mean something useful. \$\endgroup\$
    – vini_i
    Commented Jul 28, 2015 at 10:43

You have a scope, you can make pulses.

If you have the DC resistance you can work out a scheme where the resistance will probably not make more than 10%-ish difference. Then you can estimate the inductance by just bluntly assuming the inductance is all you are measuring with a fixed voltage pulse. Of course the internal resistance will always make a difference and the line will never be perfectly straight and if you know all those modelling paradigms and understand the maths with all the e-power stuff, then you can use the resulting curved line to get a much more accurate prediction. But if you don't if you see a very strongly curved line, you need to adjust the the pulse time downward to limit the current built up, so that you stay in the mostly-linear region. (Or you can crank up the voltage, but be careful to check that the motor doesn't move).

If you use a fixed voltage the current through a perfect inductance is determined just by the voltage across it and the time that voltage has been across it, taken over the value of the inductor, like so:

I = (V*t)/L

To reiterate: This only counts for a fixed voltage, this is the result of an integration over constant voltage over a perfect inductance. Thus you need to make sure the internal DC resistance can be neglected (the line should be reasonably flat).

So you connect it like so:


simulate this circuit – Schematic created using CircuitLab

By letting the scope plot (and record if possible) the signal of (Probe 2 - Probe 1) you see the voltage across the current measurement resistor. You then apply a voltage that will not make the motor spin (else you get back-EMF and all kinds of contact noise screwing up your results in more ways than one).

Select a MOSFET with a nice low R-on that is specifically made for switching on/off loads. Preferably inductive ones and even more preferably ones that are larger than yours (the less time and energy the MOSFET wastes, the better your measurement).

Then, if you turn on the MOSFET with a pulse signal after the motor has completely relaxed, you can see that current (voltage over the resistor) ramp up. When the pulse is 1s and you see a current of 1A at the end of it, after applying 1V, knowing the resistor is 0.1Ohm or less, you ignore the resistor and get:

L = (V*t)/I = (1*1)/1 = 1H Which would of course be ridiculous, but in example-land ridiculous is allowed.

Of course, if you are assuming the Rdc is negligible, you should make your current sense resistor just as small or smaller, else you will be adding more parasitic resistance.

The trick, usually, is to select a voltage high enough to let you get a good response with a reasonable pulse length, but that does only just not make anything actually move.

One last Caveat:

This will only give you the static inductance. To fully model a motor you need many more parameters and need to know the static and/or dynamic load, but those models are too advanced to explain as a response to this particular problem.

It's possible just having the static inductance will let you model the most important parts of the motor correctly and then in the real world you'll need to make a couple of additional adjustments to account for the effects of the motor spinning up or being loaded while powered or being stalled while powered. In the assumption that this is the case, I will leave it here.


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.