DC Motor Resistance Measurement

Thread Starter

viju

Joined Sep 28, 2008
120
One method of measuring resistance of the dc motor is by applying constant current while the motor shaft is locked so that it cannot rotate.Measurement can be taken at different shaft positions and compute the average of the measured values.

I request members to suggest whether the below idea can be used for measuring the resistance of dc motor:

Can it be possible to measure resistance of the dc motor by measuring the back emf and compute the resistance as per the formula below:
R =(V-Vb)/ I ( Where V is the supply voltage, Vb is back emf and I is armature current).
 

Thread Starter

viju

Joined Sep 28, 2008
120
I run the motor with PWM.For a brief period pulse is withdrawn and back emf is measured.This is what I intent to do.Will it yield result?
 

t_n_k

Joined Mar 6, 2009
5,455
One problem will be the armature inductance which will influence the armature current transient response. If the inductive voltage transient swamps the resistive component then it may be difficult to discern the armature resistance from the results.

Also, with the PWM control one has to ensure the armature current has dropped to zero during the off state to enable the armature back EMF to be measured correctly. Do you have or envisage a free wheeling diode placed across the motor terminals to quench the off state transient peak?
 

Thread Starter

viju

Joined Sep 28, 2008
120
Yes. Transient or effect due to inductance will affect the measurement.But while conducting trials I paid extra attention to avoid taking measurement in that period.
Still I did not get the result as it was only in the range of original value but the repeatability of measurement is not good.

Can somebody suggest me.
 

MrAl

Joined Jun 17, 2014
11,480
Hi,

If he is not (he probably is) i am still interested in this.

It's been a while since i had to do this myself, so i remember a few things but not everything. The period where the inductance discharges has to be avoided, so that means turning off the PWM for a while. I've never done it this way myself however.

There is also a variable DC drive method which eliminates parameters, but i'd have to dig deep to remember how to do this. This involves taking measurements during the steady state operation of the motor (more like how it really operates) rather than PWM.
In the mean time if you'd like to offer your method i think it would be interesting.
 

t_n_k

Joined Mar 6, 2009
5,455
Hi Mr Al,

I'll write a more detailed note shortly in which I hope to include some simulation data based on an idealized machine model. This may turn out to be a folly.

I've not tried this in any practical sense - so it may not be useful. I'm initially thinking of an ideal separately excited DC motor.

In essence the idea involves running low frequency PWM and taking measurements during motor start-up. The PWM frequency has to be low enough such that the PWM cycle on time is at least five armature electrical time constants - perhaps a significant practical limitation. I would "look for" the current peaks during (at least two) PWM on cycles, at which point the di/dt value is zero - thus presuming zero armature inductive voltage. At each current peak there should be a corresponding armature voltage minimum. I anticipate successive current peaks would diminish during initial speed build-up. Suppose at a particular PWM on cycle, the peak current is Ia1 and corresponding armature voltage minimum is Va1. At another later on cycle the peak current might be Ia2 and the corresponding voltage minimum is Va2.

I (perhaps naively) suggest Ra=|Va2-Va1|/|Ia1-Ia2|.

I also surmise the measurements don't necessarily have to be made during immediately adjacent PWM on cycles.

Hope this makes sense.
 

MrAl

Joined Jun 17, 2014
11,480
Hi,

Yes it makes sense. Do you have any ideas about why this would work better than an average as in:
Ra=(V1+V2)/(I1+I2)

or maybe:
Ra=(V1/I1+V2/I2+V3/I3+...+Vn/In)/n


You also reminded me of the idea i had for measuring Ra. It's little more complicated but should provide a very reasonable Ra value, even taking into consideration the dynamic resistance of the brush contacts, because the motor will always be running in 'near' steady state, and it is even possible to get the value when it is running at or near the speed(s) it will be running at in the actual end application.

The idea is super simple, but a little harder to set up. The main idea is to set up a speed regulator circuit based on the back emf of the motor and the back emf measurement is based on the armature resistance Ra.
The obvious question here is, how do we do that if we are trying to measure Ra in the first place. The answer to that is when we design the speed controller, we base it on the armature resistance, allowing this resistance Rx to be unknown, but adjustable within the range of interest (and probably scales quite easily to more comfortable values like 1k, 2k, etc.).
In the motor + control equation, when we obtain perfect speed regulation the friction is canceled out, so when we apply more friction the motor still runs at the preset speed.
Well the only way this can happen is if we adjust Rx to be equal to Ra (or scaled accordingly). That gives us Ra, and it must be very close to the dynamic Ra.

Speed regulators like this were used a lot in the past, these days it is probably more common to find digitally based circuits.

So in short:
1. Build a LINEAR speed regulator based on back emf Ia*Rx.
2. That requires measurement of Ia and variable resistance Rx (or scaled Rx).
3. Va-Ia*Rx is the error signal that controls the speed, and the speed can only be constant with friction when Rx=Ra (ie Rx is adjusted properly to keep the speed constant while changing the friction).
 
Last edited:

THE_RB

Joined Feb 11, 2008
5,438
...
Still I did not get the result as it was only in the range of original value but the repeatability of measurement is not good.

Can somebody suggest me.
What is the REASON you need to "measure the resistance" of the motor when it is running? What does your project actually do?

If it is the resistance of the running motor that you need then just measure current when running and voltage across the motor when running, and use Ohm's law.

But if you are trying to control the nmotor speed or something then please say WHAT you are trying to do.
:)
 

Thread Starter

viju

Joined Sep 28, 2008
120
Great that ideas pour and much interested in exploring the sugesstions.

I am building a Motor Test bench where I measure the performance of the motor. One of the parameters is terminal resistance of the PMDC motor.

In other test benches which I built earlier, I measure the terminal resistance of the motor by locking the shaft and turn with a stepper motor in predefined angles for a complete revolution and make average of the measurement along with maximum and minimum values.During measurement I apply constant current and measure the voltage drop.

To save time I wish to measure the terminal resistance while motor is running ( during testing of no load parameters).
 

MrAl

Joined Jun 17, 2014
11,480
What is the REASON you need to "measure the resistance" of the motor when it is running? What does your project actually do?

If it is the resistance of the running motor that you need then just measure current when running and voltage across the motor when running, and use Ohm's law.

But if you are trying to control the nmotor speed or something then please say WHAT you are trying to do.
:)
Hi there,

I dont think that method will render the right value for the armature resistance, at least not theoretically. To get Ra the friction has to be canceled, and also Va is not the voltage that acts on Ra, so Va/Ia is not equal to Ra. The true equation is Ra=(Va-Vb)/Ia (once all the exponentials are allowed to die down). That's why we have to go through a lot more trouble to measure this.

In theory the motor friction acts as an energy absorber, so the energy lost because of the friction looks electrically like a resistance, which of course gets reflected in the current measurement. If the measurement is made in such a way as to cancel the friction, then we end up with the resistance alone.
But at the same time we have to cancel the effect of Vb, so it's a bit more difficult, since we dont know Kb.

The method that i suggested with the linear speed control creates a measuring instrument that is capable of measuring Ra and works almost like a resistance bridge.
It cancels out the friction and also makes it unnecessary to know Kb, but if we wanted to we could also measure Kb using the same circuit.

Quick note: I had to edit post #9 because i forgot to type "Va" in a couple places.
 
Last edited:

THE_RB

Joined Feb 11, 2008
5,438
Good point MrAl. :)

I simplified it to the max and ignored friction and windage losses.

To Viju; Basically we still don't know WHY you need to measure the "resistance" of the motor. If this is to compare hundreds of motors coming off a motor manufacturing line then my method will work fine. Any motor showing abnormal voltage/current can be easily identified.

Or if you wanted to go with a similar method to your old method of measuring the locked rotor at multiple radial positions, just connect the motor to a very slow fixed speed load like another gearmotor acting as a load, or a geared air brake. Instead of rotating to different positions with a stepper and taking lots of measurements it just rotates at a very slow speed and you measure the average.

Or if you want to "measure the performance of the motor" well, make a dyno bench using another DC motor as the variable load so you can run the target motor up through a speed ramp and measure the current at the different loads. Your "load" DC motor can be current controlled which should give repeatable loads.
 

MrAl

Joined Jun 17, 2014
11,480
Hi there Roman,

One reason for measuring the resistance is it allows the electrical measurement of motor speed without any additional sensor or detector. The speed is measured by measuring the back emf, and the back emf is measured by:
Vb=Kb*w

which electrically is:
Vb=Ia*Ra

Ia is an electrical quantity, not too hard to measure, and Ra found as described, and Kb a physical quantity measured by measuring the speed. Once Ra and Kb are known, the speed is:
w=Ia*Ra/Kb

Since Ra and Kb are constants all that needs to be measured in the application is Ia. This makes a convenient way to measure speed.
This is also what analog speed control regulators are based on, with the addition of the measurement of Va.

I'd like to stress that the difference between Va-Vb is much different than just Va alone.

Your idea of using two motors is pretty cool too :)
I think if they are identical the second motor might produce a voltage equal to the back emf of the first motor maybe? Have not tried it yet though.
 
Last edited:

t_n_k

Joined Mar 6, 2009
5,455
Turns out my thoughts were fuzzy and wrong on the matter.

I have modified the approach which is probably too complex to justify if one wishes to somehow automate the process such that a value for Ra "spits" out for the observer. The exercise has proved interesting none the less.

I managed to get a "working system" using the simulation software PSIM. The only parameters used to extract the value of Ra are the motor current and motor terminal voltage.

I've attached a couple of images showing both the system and a set of time based results. I'm happy to provide more information if it is of interest.

It seems to me the old fashioned simple direct resistance method by current injection at standstill is still the best option.

Notwithstanding my opinion, I imagine with powerful tools like Labview and the right data capture equipment a reliable automated method could be developed.
 

Attachments

MrAl

Joined Jun 17, 2014
11,480
Hi,

So you are saying that you thought about automating the process? That's interesting too. I'd have to think about this for the analog method, maybe an op amp and current source, and a variable viscous damper.

The stalled current injection method fails to take into account the dynamic resistance of the brushes and associated contacts. That would probably provide a starting value for Ra though, and depending on the motor size the estimate might be better on the smaller motors.
 

Thread Starter

viju

Joined Sep 28, 2008
120
Quite interesting which depicts the same idea what I tried.
I didn't try with labview.

I tried with the PLC which has got very high speed scan time of 25 micro seconds I captured the data and plotted them.I didn't get fair results.

Also I overlooked the concept of measuring terminal voltage. I need to try measuring the terminal voltage.Thanks for the suggestion.
 

t_n_k

Joined Mar 6, 2009
5,455
Quite interesting which depicts the same idea what I tried.
I didn't try with labview.
I tried with the PLC which has got very high speed scan time of 25 micro seconds I captured the data and plotted them.I didn't get fair results.

Also I overlooked the concept of measuring terminal voltage. I need to try measuring the terminal voltage.Thanks for the suggestion.
So what data signals/parameters did you capture? Can you post your graphs or actual data files? That may provide further insights for us.
 
Top