Sie sind auf Seite 1von 14

Performance Evaluation of

Digital Control Algorithms for


A DC Motor System

Heng-Ming Tai
Department of Electrical Engineering
University of Tulsa
DC Motor Control Objectives
• Achieve fast and smooth speed response
• Robustness to load variations

• However, due to saturation nonlinearity in the speed control loop,


windup effect degrades the performance of the PID controller.
• Input command to the motor is saturated because of the magnetic
saturation and motor overheating protection.

• Both anti-windup PID and fuzzy logic controllers


achieve similar control performance.
• Improved performance includes small overshoot, short
settling time, and robustness.
Control Block Diagram
+ Fuzzy Logic, PID, umax yP
r e u uc
or Anti-Windup Motor
umax
PID Control

(Speed)

e(k) = r(k) - yp(k)


∆e(k) = e(k) - e(k-1)
uc(k) = Nu F[Ne e(k), N∆e ∆e(k)]

• Ne, N∆e, and Nu are scaling factors


• e(k) and ∆e(k): the error and change of error of dc motor speed
• F represents the FLC operation
◆ Scaling factors are tuned according to hardware specification
and system response
Experimental Setup

IBM 486
Brake
TMS320C30
EVM

Amplifier DC motor
ADC
Circuitry

DAC Tachometer
Attenuator
Fuzzy Logic Control Scheme

Fuzzy IF-THEN Rules


&
Membership Functions

Ne
N∆e Nu
Crisp Crisp output
Fuzzification Inferencing Defizzification
inputs uc(k)
e(k), ∆e(k)
Membership Functions
µ
NB NM NS 1 ZE PS PM PB

-1 -0.8 -0.4 -0.15 0 0.15 0.4 0.8 1


e(k), ∆e(k)

µ
NB NM NS ZE PS PM PB
1

-1 -0.66 -0.33 0 0.33 0.66 1


uc(k)
Fuzzy Logic Rules
Fuzzy IF-THEN rules are derived from heuristics and knowledge
of the system response.
IF e(k) is L1 AND ∆e(k) is L2 , THEN u is U1

e(k)
∆e(k) NB NM NS ZE PS PM PB

NB NB NB
NM NB NB NB
NS NB NM NM NM PM
ZE NB NM NS ZE PS PM PB
PS NM PS PS PM
PM PM PB PB
PB PM PM PB
PID Control
Continuous-time:
de(t )
u (t ) = K p e(t ) + K i ∫ e(τ ) dτ + K d
dt

Discrete-time:

u ( k ) =+u((0k.5−K1)i T+ −( KKpp +−02.5KKd i/TT+)eK(kd −/ T1))e+((kK) d / T )e(k − 2)

K p = 50, K i = 0.2, and K d = 0.05


Discrete-Time PID Control

Kd
(1 − z −1 )
T

+
umax yP
r e u uc
Kp Motor
umax
K i T (1 + z −1 )
2(1 − z −1 )
Discrete-Time Anti-Windup Control
Ka was chosen large enough so that the anti-windup compensation
is capable of following e to keep the output from saturating

Kd
(1 − z − 1 )
T
+
e u umax uc
+
Kp
-umax
e1 −1
+
KiT (1 + z )
2(1 − z −1 )

2 z −1 +
K i T (1 + z −1 )
rpm

Step response
with load

PID Control

PID Anti-
Windup Control

Fuzzy Logic
Control
rpm

Speed response
without load

PID Control

PID Anti-
Windup Control

Fuzzy Logic
Control
rpm

Speed response
with load

PID Control

PID Anti-
Windup Control

Fuzzy Logic
Control