Outline
Outline Outline 1 What is 2
Outline What is Why use? Sketching a 1 What is Why use? Sketching a 2 Gain Controller Lead Compensation Lag Compensation
What is Properties of a General System Why use? Sketching a + D(s) G(s) Transfer Functions Open loop: D(s)G(s) Closed loop: D(s)G(s) 1+D(s)G(s) Sensitivity: 1 1+D(s)G(s)
What is The Goal of Why use? Sketching a What do we want? Show how changes in a systems feedback characteristics and other parameters influence the pole locations Study the effects of additional poles and zeros when designing dynamic compensation
What is Why use? Sketching a Effects of Additional Poles and Zeros
What is S-plane Design in MATLAB Why use? Sketching a sgrid(linspace(0,1,11),linspace(0,9,10), new ) 10 8 6 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 9 8 7 6 5 4 0.9 4 3 2 2 1 0 1 2 2 3 4 0.9 4 5 6 0.8 0.7 6 0.6 7 8 0.5 0.4 8 0.3 0.2 0.1 9 10 10 9 8 7 6 5 4 3 2 1 0 1
What is Why use? Sketching a is the set of values for s for which the following equation holds for some real value of K 1 + KL(s) = 0 which is the characteristic equation for the closed loop system D(s)G(s) 1 + D(s)G(s) = KL(s) 1 + KL(s) The roots of the characteristic equation is thus the poles of the closed loop system
What is Why use? Sketching a Generally the root locus can be formulated as: 1 + KL(s) = 0 1 + K b(s) a(s) = 0 a(s) + Kb(s) = 0 L(s) = 1 K
What is Why use? Sketching a : Example 1 (FC pp. 234) System G(s) = 1 s(s + 1) D(s) = K 1 1 + D(s)G(s) = 1 + K s(s + 1) = 1 + KL(s) 1 L(s) = s(s + 1) MATLAB sys=tf(1,[1 1 0]); rlocus(sys) axis([-1.05 0.05-0.8 0.8])
What is : Example 1 Why use? Sketching a 0.8 0.76 0.64 0.5 0.36 0.24 0.12 Imaginary Axis 0.6 0.4 0.2 0 0.2 0.88 0.97 1 0.97 0.8 System: sys Gain: 0.0661 Pole: 0.929 Damping: 1 Overshoot (%): 0 Frequency (rad/sec): 0.929 0.6 System: sys Gain: 0.574 Pole: 0.5 + 0.569i Damping: 0.66 Overshoot (%): 6.32 Frequency (rad/sec): 0.757 0.4 0.2 0.4 0.6 0.88 System: sys Gain: 0.639 Pole: 0.5 0.624i Damping: 0.626 Overshoot (%): 8.05 Frequency (rad/sec): 0.799 0.8 0.76 0.64 0.5 0.36 0.24 0.12 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Real Axis
What is Why use? Sketching a : Example 2 (FC pp. 235) Plant G(s) = D(s) = 1 1 + D(s)G(s) = 1 + 1 s(s + c) L(s) = b(s) a(s) = 1 s(s + c) = 0 = s2 + cs + 1 = a(s) + cb(s) s s 2 + 1 MATLAB sys=tf([1 0],[1 0 1]); rlocus(sys) axis([-2 0.05-1.05 1.05])
What is : Example 2 Why use? Sketching a 1 0.86 0.76 0.64 0.48 0.32 0.16 0.8 0.6 0.94 Imaginary Axis 0.4 0.985 0.2 2 1.75 0 0.2 System: sys Gain: 2.31 Pole: 1.73 Damping: 1 Overshoot (%): 0 Frequency (rad/sec): 1.73 1.5 1.25 1 0.75 System: sys Gain: 2.09 Pole: 0.739 Damping: 1 Overshoot (%): 0 Frequency (rad/sec): 0.739 0.5 0.25 0.4 0.6 0.8 0.985 0.94 System: sys Gain: 1.19 Pole: 0.593 0.802i Damping: 0.595 Overshoot (%): 9.8 Frequency (rad/sec): 0.997 1 0.86 0.76 0.64 0.48 0.32 0.16 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 Real Axis
What is Why use? Sketching a Sketching a (FC 3rd ed. pp. 260)
What is : Example 3 Why use? Sketching a Plant (D(s) = K) G(s) = s + 1 s 2 (s + 4) = L(s) a(s) = s 3 + 4s 2 b(s) = s + 1 b da ds adb = 0 ds s = 0, 1.75 ± 0.9682j MATLAB sys=tf([1 1],[1 4 0 0]); rlocus(sys) axis([-4.2 0.2-6 6])
What is : Example 3 Why use? Sketching a 6 0.54 0.4 0.29 0.2 0.13 0.06 5 4 0.7 4 3 2 0.9 2 Imaginary Axis 0 1 1 2 0.9 2 4 0.7 3 4 6 5 0.54 0.4 0.29 0.2 0.13 0.06 4 3.5 3 2.5 2 1.5 1 0.5 0 Real Axis
What is : Example 4 Why use? Sketching a Plant (D(s) = K) G(s) = s + 1 s 2 (s + 9) = L(s) a(s) = s 3 + 9s 2 b(s) = s + 1 b da ds adb ds = 0 MATLAB sys=tf([1 1],[1 9 0 0]); rlocus(sys) axis([-9.2 0.2-6 6]) s = 0, 3, 3
What is : Example 4 Why use? Sketching a 6 0.8 0.68 0.54 0.4 0.28 0.14 4 0.9 2 0.975 Imaginary Axis 0 8 6 4 2 2 0.975 4 0.9 0.8 0.68 0.54 0.4 0.28 0.14 6 9 8 7 6 5 4 3 2 1 0 Real Axis
What is : Example 5 Why use? Sketching a Plant (D(s) = K) G(s) = s + 1 s 2 (s + 12) = L(s) a(s) = s 3 + 12s 2 b(s) = s + 1 b da ds adb = 0 ds s = 0, 2.3, 5.2 MATLAB sys=tf([1 1],[1 12 0 0]); rlocus(sys) axis([-12.2 0.2-6 6])
What is : Example 5 Why use? Sketching a 6 0.87 0.78 0.66 0.5 0.34 0.18 4 0.94 2 0.985 Imaginary Axis 12 0 10 8 6 4 2 2 0.985 4 0.94 0.87 0.78 0.66 0.5 0.34 0.18 6 12 10 8 6 4 2 0 Real Axis
What is : Example 6 Why use? Sketching a Plant (D(s) = K) G(s) = 1 s(s + 2)[(s + 1) 2 + 4] = L(s) a(s) = s 4 + 4s 3 + 9s 2 + 10s b(s) = 1 b da ds adb = 0 ds s = 1, 1 ± 1.2j MATLAB sys=tf(1,[1 4 9 10 0]); rlocus(sys) axis([-7 5-6 6])
What is : Example 6 Why use? Sketching a 6 0.76 0.64 0.5 0.34 0.16 4 0.86 2 0.94 Imaginary Axis 0.985 7 6 0 5 4 3 2 1 0.985 2 0.94 4 0.86 6 0.64 0.5 0.34 0.16 0.76 6 4 2 0 2 4 Real Axis
Outline What is Gain Controller Lead Compensation Lag Compensation 1 What is Why use? Sketching a 2 Gain Controller Lead Compensation Lag Compensation
What is Gain Controller Lead Compensation Lag Compensation Objective: Select a particular value of K that will meet the specifications for static and dynamic response Magnitude Condition: 1 + KG(s) = 0 K = 1 G(s)
What is Gain Controller Lead Compensation Lag Compensation
Gain Controller? What is Gain Controller Lead Compensation Lag Compensation + K G(s) MATLAB sys=tf(1,[10 1 0]); rlocus(sys) axis([-0.15 0.005-0.06 0.06]) grid
Gain Controller? What is Gain Controller Lead Compensation Lag Compensation 0.06 0.91 0.83 0.74 0.6 0.42 0.22 0.04 0.96 0.02 0.99 Imaginary Axis 0 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0.02 0.99 0.04 0.96 0.06 0.91 0.83 0.74 0.6 0.42 0.22 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 Real Axis
What is Dynamic Compensation Gain Controller Lead Compensation Lag Compensation Objective: If satisfactory process dynamics cannot be obtained by a gain adjustment alone then some modification or compensation of the dynamics is needed 1 + KD(s)G(s) = 0 Lead and Lag Compensation: Lead Compensation acts mainly to lower rise time and decrease the transient overshoot: D(s) = s+z s+p,z < p Lag Compensation acts mainly to improve the steady-state accuracy: D(s) = s+z s+p,z > p + KD(s) G(s)
Lead Compensation What is Gain Controller Lead Compensation Lag Compensation Approximates PD control Moves the locus to the left and typically improves the system damping Zero and pole selection: The zero is placed in the neighborhood of the closed-loop ω n as determined by rise-time or settling-time requirements The pole is located at a distance 3 to 20 times the value of the zero location
What is Lead Compensation: Example Gain Controller Lead Compensation Lag Compensation System K G(s) = s(s + 1) D 1 (s) = s + 2 D 2 (s) = s + 2 s + 20 D 3 (s) = s + 2 s + 10 MATLAB sys=tf(1,[1 1 0]); D1=tf([1 2],[1]); D2=tf([1 2],[1 20]); D3=tf([1 2],[1 10]); rlocus(sys,d1*sys,d2*sys,d3*sys) axis([-21 1-15 15])
What is Lead Compensation: Example Gain Controller Lead Compensation Lag Compensation 15 10 0.89 0.78 0.66 0.52 0.38 0.26 0.12 System: untitled3 Gain: 84.8 Pole: 4.36 + 7.48i Damping: 0.503 Overshoot (%): 16 Frequency (rad/sec): 8.66 5 0.97 Imaginary Axis 0 20 17.5 15 12.5 10 7.5 5 2.5 5 0.97 10 0.89 15 0.78 0.66 0.52 0.38 0.26 0.12 20 18 16 14 12 10 8 6 4 2 0 Real Axis
What is Gain Controller Lead Compensation Lag Compensation Lead Compensation: Design Example Design the closed loop response for the following system to have a damping ratio ζ > 0.5 and a natural frequency ω n > 7 rad sec. System K G(s) = s(s + 1) D 1 (s) = s + 2 s + 10 MATLAB sys=tf(1,[1 1 0]); D1=tf([1 2],[1 10]); D2=tf([1 6],[1 30]); rlocus(d1*sys,d2*sys) axis([-31 1-70 70]) D 2 (s) = s + 6 s + 30
What is Gain Controller Lead Compensation Lag Compensation Lead Compensation: Design Example 60 0.36 0.26 0.19 0.13 0.08 0.04 60 0.52 50 Imaginary Axis 40 20 0 0.8 System: untitled2 Gain: 682 40 Pole: 11.6 + 19.9i Damping: 0.504 30 Overshoot (%): 16 System: untitled1 Frequency (rad/sec): 23.1 Gain: 60.2 Pole: 4.27 20 + 5.57i Damping: 0.609 Overshoot (%): 8.98 Frequency 10 (rad/sec): 7.02 10 20 0.8 20 30 40 40 0.52 50 60 0.36 0.26 0.19 0.13 0.08 0.04 60 30 25 20 15 10 5 0 Real Axis
What is Lead Compensation: Antenna Gain Controller Lead Compensation Lag Compensation Step 1 Select the lead compensator as D(s) = s+0.9 s+10 sysdg=tf(1,[10 1 0])*tf([1 0.9],[1 10]); Step 2 Draw the root locus to determine K rlocus(sysdg)
What is Lead Compensation: Antenna Gain Controller Lead Compensation Lag Compensation Step 3 Construct the closed-loop system and check whether the requirements are satisfied or not step(feedback(k*sysdg,1)) Step 4 If the requirements are not satisfied, iterate the design procedure
Lag Compensation What is Gain Controller Lead Compensation Lag Compensation Approximates PI control Creates a zero and a pole: Effect of the zeros are to move the locus to the left Effect of the poles are to press the locus towards the right Zero and pole selection: Select a pole near s = 0 Select the zero nearby such that the dipole does not significantly interfere with the response The lag compensation usually degrades stability
What is Lag Compensation: Example Gain Controller Lead Compensation Lag Compensation System K G(s) = s(s + 1) D 1 (s) = s + 2 s + 20 D 2 (s) = s + 0.1 s + 0.01 MATLAB sys=tf(1,[1 1 0]); D1=tf([1 2],[1 20]); D2=tf([1 0.1],[1 0.01]); rlocus(d1*d2*sys) axis([-21 1-15 15])
What is Lag Compensation: Example Gain Controller Lead Compensation Lag Compensation 15 0.78 0.66 0.52 0.38 0.26 0.12 10 0.89 5 0.97 Imaginary Axis 0 20 17.5 15 12.5 10 7.5 5 2.5 5 0.97 10 0.89 15 0.78 0.66 0.52 0.38 0.26 0.12 20 18 16 14 12 10 8 6 4 2 0 Real Axis
What is Lag Compensation: Example Gain Controller Lead Compensation Lag Compensation axis([-2 0.1-0.5 0.5]) 0.5 0.965 0.925 0.87 0.76 0.6 0.35 0.4 0.3 0.984 0.2 0.996 Imaginary Axis 0.1 2 0 1.75 1.5 1.25 1 0.75 0.5 0.25 0.1 0.2 0.996 0.3 0.4 0.984 0.965 0.925 0.87 0.76 0.6 0.35 0.5 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 Real Axis
What is Book: Feedback Control 1 Exercise 5.2 in FC pp 296 2 Consider a DC motor control using a PI controller, Where the motor and PI controller are modeled as G(s) = K (τs + 1), D(s) = K p(t i s + 1) T i s with parameters K = 30, τ = 0.35, T i = 0.041. Use the root locus method to determine the largest vaule of K p such that ζ = 0.45. 3 Try to use the root locus method to design a lead compensator for the examplified antenna system.