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 r
+
e
Fuzzy Logic, PID,
u
umax
uc
or Anti-Windup PID Control
yP Motor
umax
(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 ADC
DAC
Amplifier Circuitry
Attenuator
DC motor
Tachometer
Fuzzy Logic Control Scheme Fuzzy IF-THEN Rules & Membership Functions Ne N∆e Crisp inputs e(k), ∆e(k)
Nu Fuzzification
Inferencing
Defizzification
Crisp output uc(k)
Membership Functions µ NB
NS 1 ZE PS
NM
-1 -0.8
-0.4
-0.15
0 0.15
PM
0.4
PB
0.8
1
e(k), ∆e(k)
µ NB
NM
-1
-0.66
NS
-0.33
ZE
1
0
uc(k)
PS
PM
PB
0.33
0.66
1
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
NB
ZE
PS
NB
NB
PM
PB
NM
NB
NB
NB
NS
NB
NM
NM
NM
PM
ZE
NB
NS
ZE
PS
PM
PB
PS
NM
PS
PS
PM
PM
PB
PM
PB
NM
PM PB
PM
PB
PID Control Continuous-time:
u (t ) = K p e(t ) + K i ∫ e(τ ) dτ + K d
de(t ) 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
r
+
e
Kp
u
umax
uc umax
K i T (1 + z −1 ) 2(1 − z −1 )
yP Motor
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 Kp
umax
u
+
uc -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 AntiWindup Control
Fuzzy Logic Control
rpm
Speed response without load
PID Control
PID AntiWindup Control
Fuzzy Logic Control
rpm
Speed response with load
PID Control
PID AntiWindup Control
Fuzzy Logic Control