DC Motor current monitoring


Thread Starter

Pat Levinson

A system I'm working on calls for measuring and registering, among many other variables, the steady-state speed of a 50 hp drive-equipped DC motor with a PLC system. Right now, the speed is monitored through an indicator that measures and scales the armature voltage accordingly. The plant's technician tells me that speed is proportional to armature voltage, and that I only need a signal conditioner to scale down the 180 VDC maximum armature voltage to a level suitable for the PLC analog modules.

I don't have experience in DC motors (and don't remember anything about them from my days at school), but assuming that it is a shunt motor and/or the voltage across the armature is being correctly measured, is it correct to assume speed as being proportional to armature voltage? If true, if I measure the voltage with a conditioner, should I use a special one that takes into account any possible peaks or ripples from the DC drive's output, or are they negligible and a simple 0-200 VDC to 0-10 VDC or 4-20 ma isolator/converter will do?

Thanks a lot for any comments.

The DC motor armature voltage is :
1. backEMF voltage(which is proportional to speed)
2. + volt. drop in armature resistance;
3. + volt. drop in arm.inductance;
The best of all for you to use any tachometer
which only gives you voltage absolutely proportional to speed.
You can also use encoder, than you have to program your PLC to convert the encoder's pulses per time to speed.
Good luck.

Alan Rimmington

You could derive the speed of the DC motor from the voltage however I would prefer to use a tacho generator. The advantages of this are, no interfacing circuitry, direction of rotation can be derived from polarity of output, motor failure can be detected (eg brush fails, motor doesn't turn or turns slower, tacho detects this - voltage monitoring doesn't). May also be worth checking the drive control card (if you have one), this will often have a 0-10v output that gives the motor speed.


Scott Whitlock

In a DC motor, armature current is directly proportional to torque, but armature voltage is the sum of three things: brush voltage, resistive voltage drop, and back EMF.

Usually the brush voltage is ignored (especially in large motors). The voltage drop due to armature resistance is simply V=I*R. The armature resistance, R, should be a parameter of the motor.

The back EMF *is* proportional to the speed of the motor. This is what you want to measure.

Imagine for a moment that the motor is spinning but under zero load (i.e. not even frictional losses)... there is no torque, so there is next to no current. Therefore I*R is zero, so the armature voltage is simply the back EMF.

Now think about the motor running at a constant speed under a constant load. A constant load means that the armature current is constant, so I*R is constant. Therefore, if you take the armature voltage, and subtract this constant, you have a voltage that is proportional to the motor speed. If you can figure out what normal load is, in amps, then you should be able to figure out this constant, and then use the armature voltage to display your speed. This will only be valid under steady state (not during acceleration and deceleration) but it might be good enough for your application.

If you really want to use the armature voltage to measure speed, you need to measure armature current as well, and then you can calculate and subtract the I*R component from the armature voltage, and scale to get the motor speed. This will work, but requires that you measure both the current and voltage at the same time.

I hope this doesn't confuse you too much... ;)



Hoffeldt, Herman (JH)

Hi Pat

The speed of the motor is approximately proportional to the voltage applied to the armature and inversely proportional to the flux.

N is approximately equal to V / (k * Q )
N - rev/min
V - Voltage applied to armature
k - constant
Q - flux ( weber ).


The armature voltage will provide a very coarse measure of motor speed, maybe +- 2-3 %, maybe less. A more accurate way is to add a DC tachometer or a rotary encoder to the motor shaft. You can then read voltage or frequency in the PLC. You can use a frequency to voltage convertor, such as Red Lion or Dynapar sells. A standard tachometer will still have too high of a voltage for the PLC input. You need a signal conditioner for this also. The encoder with a high speed counter in the PLC would probably be the most cost effective.

Bill Sturm
Armature voltage feedback can be used for measuring speed if the load on the motor is not varying. it is used in roll tables or in applications where load variations are negligible. A simple signal converter [DCPT] can be used for the same to convert to 0-10V. Siemens is one of the suppliers for such DCPT. Speed measurement by armature voltage feedback is not very accurate but can be used in applications as mentioned above. Digital tacho is best for higher accuracy with frequency to voltage/current converter or having pulse counter card in the system/plc