# speed of DC motor

V

#### Vikas Meshram

Hi Everybody.

I heard that the speed of the DC motor can be controlled by sensing the back EMF of the motor. I read one article in EDN about it. The author sensed current through armature and used it
as a feedback for speed control.

But I know that current through the armature represents the torque not speed. And from 0 to rated motor speed torque supplied by the motor is same.

Can somebody help me clear confusion.

Thanks.

Vikas.

**********************************************************************
**** Vikas W. Meshram Scientific Officer, Laser Instrumentation,
Center For Advanced Technology, Indore- 452 013, MP,INDIA.
Email:[email protected]

S

#### Santiago Vargas R

The efm of armature the motor is defined for

efm:k*w*q

Where
efm is the voltage in the armature
K is a constant depending of motor construction
w is the angular speed and
q is the armature flux
Then
w: efm/k*q
If K and q are constants you can measure the speed measuring the efm and feedback at the control to regulate the speed.

OK?

Thanks
Then. When you measure the efm

w: efm

R

#### ron savage

E=Kfn
where E=armature EMF
K=winding constant
f= field flux
n=speed (rpm)

assume a constant shaft load therefore
K is a constant. Vary field flux to vary speed
of motor. Then E=V-IR (input voltage minus)
armature current (measured) times armature
resistance. Thus n can be calculated.

ron

D

#### Doug Havenhill

To derive the back emf it is necessary to know the voltage at the motor terminals and the voltage drop across the winding resistance. Vb = Vt - iaRa, where, Vb is the back emf, Vt is
the terminal voltage, ia is the armature current, and Ra is the armature resistance.

Once you know the back emf and the motor constant you can then calculate motor speed.

Doug Havenhill

G

#### Guy H. Looney

I didn't read the article, but it sounds like a situation where the writer might have monitored the PWM frequency. The current "injected" in a motor is constantly being switched from one winding to another. This process is called commutation & can be accomplished many different ways (brushes, hall-effects, encoder). A stepper motor is very similar in the fact that current is
constantly being "switched". The stepper is a easy example to think of because distance is determined by the number of "steps" sent out by the controller and velocity is determined by the
frequency/rate of those steps.

I could be wrong, but my guess is the author was monitoring the frequency of the commutation rather than the magnitude of the current. I've never seen it done, but theoretically I don't see why it wouldn't work. Further, there's no real way to know how accurate the feedback would be. Technically you'd be monitoring commanded velocity, not actually velocity.

Guy

Guy H. Looney
Sales Engineer

Regan Controls, Inc.
475 Metroplex Dr.
Suite 212
Nashville, TN 37211
phone: (615) 333-1940
fax: (615) 333-1941
web: www.regancontrols.com

V

#### Vikas Meshram

Hi Doug Havenhill

But my question is how back EMF is sensed. Which can used as a feed back.

Terminal voltage is always known because that the voltage we apply to control the speed of the motor.

Vikas

J

#### Johan Bengtsson

Well, it is quite simple actually:
The motor voltage is aproximately proportional to the speed The aproximate part is because resistance and this error can be reduced to almost zero by measuring the current as well.

Background: The back EMF is proportinal to speed, exactly.
Consider this:

----- I
+ -----------| R |------>------- +
Motor -----
Voltage EMF
- ------------------------------ -

The resistance is the sum of the resistance in the windings, cables, etc. Motor voltage and EMF will differ by R*I, by measuring I and having a quite good knowlege of R you can get the EMF as
a signal (some OP-amps and resistors is enough)
What you have to do is simply apply R*I higher voltage than you actually want to have speed (I know, bad matching of units, but you probably understand what I mean).

Underestimating R will make the motor slow down when load is applied, overestimating R will make it speed up instead. Just measuring (and controlling) the voltage without adjusting for current is the same as asuming R=0.

By the way, you are absolutely right, the current is proportional to the torque.

/Johan Bengtsson

----------------------------------------
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------

M

#### Michael Griffin

At 15:42 31/05/00 -0400, Guy H. Looney wrote:
<clip>
>I could be wrong, but my guess is the author was monitoring the
>frequency of the commutation rather than the magnitude of the
>current. I've never seen it done, but theoretically I don't see why
>it wouldn't work. Further, there's no real way to know how accurate
>the feedback would be. Technically you'd be monitoring
>commanded velocity, not actually velocity.
<clip>
You can measure the speed of a brush DC motor very accurately by using the current ripple caused by commutation. You get one ripple peak per
commutator bar. I have done this to measure speed, and I have heard of it being done to measure position. These were special applications - I am not recommending dispensing with encoders under normal circumstances.
I believe you can also measure the speed of a DC motor with something as simple as a multimeter. I have seen it done by measuring the
applied voltage with the meter set to frequency count. The frequency was a reading of the number of commutations per second (i.e. speed), with only the occasional glitch. I don't recall if it was necessary to use a coupling capacitor to take the DC offset out of the reading.
Some motors may be more suited to this method than others. I suppose it depends upon the relative magnitude of the commutation ripple for the particular type or class of motor. The examples I am referring to were all driven by DC power supplies (HP, Xantrex, etc.) which didn't impose any noise of their own on the system.
This may also be possible with brushless DC motors, but I have never tried it with one. If it does work, you should see the ripple with the phase PWM frequency superimposed on it.

**********************
Michael Griffin
[email protected]
**********************

V

#### Vikas Meshram

Hi Santiago

Thanks for the explanation. Now my question is how to measure the back emf. Which is I think not separate entity which can be measured separately.

Vikas

V

#### Vikas Meshram

Hi Guy

What the EDN author is doing controlling the terminal voltage of the DC motor. The brushes are not visible to him. Yes brushes does the comutation because you can not rotate the motor with DC voltage.

Author is not monitoring the frequency of the PWM because it is always fixed around 20KHz. He is surely sensing current through the armature.

Vikas

T

#### Tony Firth

Santiago,

DC Motor will increase speed until 'Back" emf = applied emf, (minus volts drops along the way), at which time equilibrium is achieved and speed is established. Can't think of a way to separate the two emfs so that this back-emf can be
measured independently. It would be possible by adding a separate winding to measure the generated emf, (An AC tacho!), and this would then read the speed. Can't think of a way to derive the speed from reading the Armature Current which is indeed proportional to the Torque.

Regards,

Tony Firth, EE,
Quester Technology Inc., Fremont, CA

G

#### Gerald White

To measure the current in the armature and use it for feedback, you can use a shunt to measure a voltage and use this for your feedback. The size of the shunt depends on FLA. Most DC drives are already equipped with an armature feedback mode.

J

#### Jacek Dobrowolski

Hi,
Back EMF don't need to be sensed (in fact it can't be). Look at this:
Ia = (Vt - Vb)/Ra

Because Vb = k*w (w is 2*pi*f) we get:
Ia = Vt/Ra - (k/Ra)*w
It's linear correlation when you know Vt - in theory of course ;-) but it should be enough. So when you measure Ia it's enough to find out
what is motor speed. And you can use Ia sensing to control motor speed. And you are wrong about torque of this kind of motors.
When the speed increases the torque decreases, because Ia decreases as well (of course when Vt = const) !

Regards,
Jacek Dobrowolski

M

#### Michael Griffin

At 14:02 01/06/00 -0400, Vikas Meshram wrote:
<clip>
>Thanks for the explanation. Now my question is how to measure
>the back emf. Which is I think not separate entity which can be
>measured separately.
<clip>
I'll leave the lengthy equations out of this message, they've been flogged to death in previous ones. The short answer to your question is that they are not suggesting you actually measure back emf (generated voltage). Rather, you can measure current and extrapolate speed from that.
To put it simply, let us assume you have a permanent magnet DC motor which has linear characteristics from stall to no load speed. You need to know four things about the motor - no load speed, no load current, stall torque, and stall current (stall speed is of course zero). If you don't have the data for these characteristics, you need to measure them somehow.
The stall torque you need is not the torque you would actually measure with a locked armature, it is the torque which is extrapolated from the normal load area (before the armature saturates with flux). The stall current can be calculated directly from the nominal armature resistance if you know that.

Now take a sheet of paper and mark the 'X' axis as load (in whatever units you prefer), and the 'Y' axis with both speed and current units.
Next mark the known speed and current for no load (vs. torque of zero), and speed (zero) and current for stall (vs. torque determined by some means) on the graph as points. Draw a straight line from no load current to stall current, and from no load speed to stall speed (zero). The speed curve should be a straight line sloping downwards to the right, and the current
curve should be a straight line sloping upwards to the right.
Now given these two curves, for any given current (which you *can* measure) you can estimate the applied torque (from the current-torque curve). From the applied torque, you can estimate the speed (from the speed-torque curve). This means there is a direct inverse relationship
between speed and current. If you know the current, you can calculate the speed and visa versa.

This model of a DC motor is a simplified one that leaves out a lot of minor factors. Also, any manufacturer's data for a design of motor will
be subject to manufacturing tolerances. Furthermore, operating conditions will cause motor parameters to change (e.g. winding temperature and therefore resistance). However, the approximation so derived may be good enough for some purposes.

**********************
Michael Griffin
[email protected]
**********************

V

#### Vikas Meshram

Hi Gerald

I am also doing same.But problem is that as the troque load is increased the speed of the motor is reduced and it takes more current so if I put this feedback in negative feedback mode the error becomes negative as speed is reduced.
Can you throw some light on feedback confusion.

Vikas

V

#### Vikas Meshram

Hi Dobrowolski

Let me explain my problem. at certain speed and getting certain torque but when load increased the speed of the motor will drop at
this moment. As speed is reduced the back EMF will be reduced which in turn increase the armature current. So my problem is when the speed is reduced my feedback loop error becomes
negative.

Vikas

V

#### Vikas Meshram

Hi Michael

Your explanation is perfect. I understand that I can sense the current and estimate the torque which is inversaly proportional to the speed. Now I will trouble with one more question. I feeding back this current to the feedback loop which I generally use in case of the tacho. But it does not work because When speed is reduced the current increased and error goes negative.

Any help.

Vikas

M

#### Michael Griffin

Aha! Now we get a little closer to the heart of the problem. It sounds like you are trying to do what I believe is called "IR compensation" (or something like that). It is a feature which can be found in many even
relatively inexpensive DC drives. This adds a small amount to the command signal as the current increases to help maintain the speed. The amount of compensation is generally calibrated by adjusting a trim pot on the drive board.
You mention that you are trying to feed the current signal into the tach input. You then mention that "When speed is reduced the current
increased and error goes negative".
Lets see - with a tach, as the speed decreases (due to increased load), the output also decreases. With current as feed back, the signal will *increase*. It sounds as if your signal conditioner needs to be reverse acting, and it needs to be calibrated so as to give the same output the tach would at each speed. I am assuming that your drive is comparing the "tach"
signal to an analogue command signal.
Without having a complete picture of your application, all I can suggest is to see if a reverse acting signal conditioner would solve your
problem. "Reverse acting" means the output operates in the reverse direction from the input, much as a tach output operates in the reverse direction of the current signal. Some signal conditioners offer this feature as an option.

**********************
Michael Griffin
[email protected]

D

#### Dobrowolski, Jacek

Hi,
Feedback should be positive, but you need the current setpoint to be recalculated as the output voltage changes. For more info find some books about drives or contact me directly.

Regards,
Jacek Dobrowolski

J

#### Johan Bengtsson

This will not simply work by feeding back only the current itself: The drive is trying to keep the tacho signal EQUAL to the desired speed, feeding this with the current and reverse the action of the controller will effectively give you a constant torque controller (ie the motor speed is ignored and the motor current and thereby torque is held constant) If you get the motor voltage + I*R (could easily be managed by some OP-amps + some resistors if you want to do it
yourself) you can as well make the signal work "the right way" immediately

(By the way, a controller reading a tacho will probably have reverse acting already (higher speed -> lower output) and reversing the action will give you direct action instead (higher current -> higher output), but as I said this will give you a constant torque controller