DC Motor Speed Controller Design

13
Designing a digital speed controller for a DC motor By: Thu Nguyen van Dept. of Automatic Control Hanoi University of Technology Vietnam Abstract: Controlling the speed of a DC motor is a classical problem in both electrical field and in automatic control. There have been many types of controllers from simple to complex, from analog to digital; This paper only introduces an approach to the solution. To monitor the speed and get high quality, we must control the torque of the motor by means of manipulating its armature current. Thus we have a cascade controller in which the inner loop controls the motor armature current and the outer one handles the speed. The both loops are analyzed and designed in the z-plane using the most advantage method which the z-plane provides. Modeling of the DC motor: We have a DC motor with the parameters from [1]: Moment of inertia: J= 0.012 kg.m 2 Electric resistance: Ra= 250 mΩ Electric inductance: La= 4 mH

Transcript of DC Motor Speed Controller Design

Page 1: DC Motor Speed Controller Design

Designing a digital speed controller for a DC motor

By:

Thu Nguyen van

Dept. of Automatic Control

Hanoi University of Technology

Vietnam

Abstract:

Controlling the speed of a DC motor is a classical problem in both electrical field

and in automatic control. There have been many types of controllers from simple

to complex, from analog to digital;

This paper only introduces an approach to the solution. To monitor the speed

and get high quality, we must control the torque of the motor by means of

manipulating its armature current. Thus we have a cascade controller in which the

inner loop controls the motor armature current and the outer one handles the

speed.

The both loops are analyzed and designed in the z-plane using the most

advantage method which the z-plane provides.

Modeling of the DC motor:

We have a DC motor with the parameters from [1]:

Moment of inertia: J= 0.012 kg.m2

Electric resistance: Ra= 250 mΩ

Electric inductance: La= 4 mH

Page 2: DC Motor Speed Controller Design

Back EMF constant: ke= 236.8

Mechanical constant: kM= 38.2

Flux ψ= 0.04 V.s

The equations describing the motor are shown as follow:

Armature voltage:

Back e.m.f:

The Speed:

Torque of the motor:

Designing the current control loop

When designing the current loop, which is much faster than the speed one, the

variation of the back emf eA, therefore, can be neglected.

Then the current loop has the block diagram as:

Page 3: DC Motor Speed Controller Design

With the smallest time constant in the loop is Treg= 5 mS, I choose the sample time

of the loop to be Treg/10= 0.5 mS.

Then we can derive the transfer function of the open loop in S-plane as:

Using Matlab to get the transfer function of the loop in Z-plane assuming that we

use the ZOH and the sample time is Tsample= 0.5 mS we obtain:

Now we are designing-finding the transfer function-of the controller.

As mentioned above, the current loop must be very fast compared to the speed

loop. To obtain this small time constant, I choose Deadbeat method to meet the

requirement.

In the Deadbeat method, the objective of the design is to have the error between

the desired value, the reference, become zero after a number of cycles. Because

Block diagram of the current control loop

Zero-Order

Hold

1/Ra

Ta.s+1

Transfer Fcn1

Vtb

Ttb.s+1

Transfer Fcn

numGrz(z)

denGrz(z)

Discrete Filter

Page 4: DC Motor Speed Controller Design

Then this can only achieved when GW(z) is a finite polynomial with coefficients

having sum equals 1.

We have

GW(z) is a finite polynomial only when GU(z) can cancel A(z-1), this means

GU(z)= L(z-1)A(z-1) where L(z-1) is a finite polynomial

Then we will have

With this assume, we can find the controller from Gu(z)

So the work now is to design L(z-1). We now list what we must consider when

designing L(z-1):

o The order of GR equals to the order of L times the order of A, for the

processing speed and the size of memory of the controller, the order of L

must be as low as possible

o The closed loop transfer function , as mentioned

above, must have its coefficients sum equals unity, this also means

or where bj is the jth coefficient of B(z-1)

o We also care about the control variable, u in this case; it must not be too

large so that the cost for the regulator can be reduced and its life will be as

long as possible.

Page 5: DC Motor Speed Controller Design

With all these considerations, a first order of L(z-1) should be the bes, because

a zero order L(z-1)= l0 has no effect on the control variable and a order of two

may be too high. So we have:

Where

The control variable:

Thus

Where are the two coefficients of the denominator A(z-1).

In case we will choose and so that in the first two cycles, the

values of the control variable, u, are the same so that it is milder.

We obtain:

This yields:

Page 6: DC Motor Speed Controller Design

Apply to this case we have:

Then the transfer function of the controller is:

The figure below is the simulation of the current control loop in Simulink

We found that in the simulation condition, the performance of the loop meets the

requirement that the time constant must be as small as possible. The output

keeps up with the input-set point-after three cycles.

Page 7: DC Motor Speed Controller Design

Simulation of the current control loop

Zero-Order

Hold

24

5*10^-3s+1

Transfer Fcn1

4

16*10^-3s+1

Transfer FcnStep Scope

num(z)

den(z)

Discrete

Transfer Fcn

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

x 10-3

0

0.2

0.4

0.6

0.8

1

1.2

1.4

Time

Outp

ut

Mom

ent

Transient response of the moment loop

Page 8: DC Motor Speed Controller Design

Designing speed control loop

Being satisfied with the performance of the current we now approach the

designing of the controller for the motor speed, which is the ultimate objective of

the work.

Block diagram:

The sample time in this loop is chosen to be ten times the sample time of the

current loop; Tw=10Ti= 5 ms. Since ten cycle in the current loop equals to one in

speed loop whereas the settling time of the current loop is only three cycle, the

current loop can be neglected when designing speed controller, in other word, we

can consider its transfer function to be unit.

The transfers function of the speed open loop in S-plane and in Z-plane:

T=Tw

Gri

T=Ti

Block Diagram for the DC motor speed controller

speedW*

W

Vtb

Ttb.s+1

rectifier

-K-

-K-

kM*PsiZero-Order

Hold1

Zero-Order

Hold

J.s

1Vr(z)

1

Grw

numGrz(z)

denGrz(z)

1/Ra

Ta.s+1

Page 9: DC Motor Speed Controller Design

Now there are two options for designing the controller: to meet the set point

requirements, or to meet the noise cancelation requirements.

First, I design a controller for best response to the set point signal-the input

speed-trying two approaches and then I try designing for noise cancelation.

The first approach to designing the controller is using a PI controller with its

optimized parameters. The transfer function of the PI controller has the form:

My professor gave me a optimal value as:

and

Where VS and a1 are from the open loop transfer function we are designing

That is VS= 0, 6366 and a1= -1

Therefore we have

Thus

Page 10: DC Motor Speed Controller Design

This method yields a result that the controller is a gain and the integration is

omitted, this happens because the plant itself has a integral part in it, therefore,

only a proportional term is need from the controller.

Apply the speed controller, which is actually a proportional with a gain of 1,5708,

to the loop and simulate in Simulink, I have the curves:

T=Tw

Gri

T=Ti

Block Diagram for the DC motor speed controller

Armature CurrentArmature Voltage

speedVtb

Ttb.s+1

rectifier

-K-

-K-

kM*Psi

i

Zero-Order

Hold1

Zero-Order

HoldW

J.s

1

Step

Vr(z)

1

Grw

numGrz(z)

denGrz(z)

1/Ra

Ta.s+1

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.2

0.4

0.6

0.8

1

Time (s)

Speed (

rad/s

)

Speed response for step input

Page 11: DC Motor Speed Controller Design

From the curves we can see that the speed response is quite good though it

has a bit not very “perfect” in the early. There is no steady state error and the

time the output reaches and stays with the reference is around 0.09 s, a quite

good result. And in the second figure, we see that the armature voltage is less

than 9V, while the nominal voltage of the motor and the rectifier is 24V. That is

also a good result.

Summary:

o I have introduced an approach to designing a speed controller for DC motor

with two control loop, the inner loop for moment and the outer one for

speed.

o The moment loop must be very fast and was designed using Deadbeat

method; The speed controller was simply a gain with the optimal value

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2-6

-4

-2

0

2

4

6

8

10

Time (s)

Arm

atu

re V

olta

ge

(V

)

Armature voltage with step of speed

Page 12: DC Motor Speed Controller Design

o The moment closed loop and the whole controller were modeled and

simulated in Matlab/Simulink and a good result was accomplished.

o It can be inferred that in the simulated condition, the controller do the

work well; and the design principle can be trusted.

Page 13: DC Motor Speed Controller Design

Reference:

[1]. Quang, NP: Matlab va Simulink cho Ky su Dieu Khien Tu Dong. Khoa Hoc Ky

Thuat, Ha Noi, 2008.

[2]. Ibrahim, D: Microcontroller Based Digital Control. John Wiley & Sons, 2006.