Time and Frequency-Domain Analysis and Design of Phase-Lead and Phase-Lag controllers (Compensators) In the previous lectures we looked at PID controllers. PID controllers are the simplest form of controllers that make use of the derivative and integration operations in control systems compensation. Root locations and root locus are typically used in the design of controllers, it would make a perfect sense to describe a compensator in terms of the pole and zero locations. A simple passive realizable controller is of the form: Gc ( s) sz s p This controller is easily realized by passive elements (resistors and a capacitor) The controller if of the high-pass filter type (phase –lead) if p > z and is of the lowpass filter type (phase –lag) if p<z Think about this – make sure it makes sense ! Phase-Lead Controller The network realization of a phase-lead controller is shown below The compensator’s transfer function is: Eout ( s ) R2 Gc ( s ) Ein ( s ) R1 R2 1 R1Cs R R 1 1 2 Cs R1 R2 Let a R1 R2 R2 a 1 And T R1R2 C R` R2 Then, the transfer function of the compensator becomes: Gc ( s) Gc ( s ) 1 1 aTs a 1 Ts s 1 aT s 1 T a 1 a 1 (1) (2) Note: The transfer function of the phase – lead controller network has a real zero at s 1 aT s-plane is: and a real pole at s 1 T and the representation in the S-Plane pole zero 0 1 T 1 aT The zero is always to the right of the pole. This is why the phase –lead controller can improve the relative and absolute stability of a closed loop control system. Phase – Lead: Stabilize the system Increase the PM – thus reduce the overshoot Increase the gain crossover frequency – reduce the rise time. Note: we will work with equation (1) – ignore the 1/a term – it is simply gain and that is taken care of when calculating K for the system to be compensated. - For the compensator in (1): o The gain at high frequencies is approximately = 20log(a) o The gain at low frequencies is = 0dB o The upper cut-off frequency = 1/aT o The lower cut-off frequency = 1/T o The maximum phase shift of the phase lead is: a 1 a 1 max sin 1 The corresponding frequency is: max 1 T a The gain at this frequency is: 1 Gain adB 10 log a 2 The above realities are used in the design. o The Bode plot of a typical Phase –lead controller is: Let the phase lead controller be: Gc ( s) 1 5s 1 s Bode Diagram 15 Magnitude (dB) (discuss the result) 10 5 Phase (deg) 0 60 30 0 -2 10 10 -1 0 10 Frequency (rad/sec) 10 1 10 2 Let us calculate some of the values discussed above: 5 1 o 42 11 max sin 1 max 1 0.45 rad / sec 1 5 Design Steps: 1 – Choose the gain, K, to satisfy the steady state error requirement 2- Draw the Bode diagram of KG(s) 3- Determine the new crossover frequency (wg) – the frequency at which the system has the desired phase margin. 4- Construct a table of phase, a, and Gain (for the compensator). In some cases, you may find out that one lead compensator may not be enough. 5- calculate T from the chose a and the new crossover frequency. 6- implement the compensator design and test the final result. 7- if o.k – done, otherwise, repeat the process. Example: For the sun seeker control system . The seeker is typically mounted on space vehicles. The purpose of the controller is that the seeker tracks the sum with high accuracy. The input is the reference angle of the solar ray r and the output is the angle of the vehicle’s axis o After some block diagram manipulations, the simplified block diagram is shown below: The design specifications are: - the steady state value of e(t) due to a unit ramp input for r (t) should be less than or equal to 0.01 rad /(rad/sec.) of the final steady state output velocity. [ The steady state error due to a unit ramp input should be less than or equal to 1% ess 0.01 due to a unit ramp input] - The peak overshoot should be less than 10% Solution: o G r 1 G E= R – Y = E RR G R 1 1 2 1 G 1 G s 1 2500 K s ( s 25) s ( s 25) s 2 s ( s 25) 2500 K Applying the final value theorem: lim ess (t ) lim sE ( s) t s 0 25 0.01 2500 K K Therefore, for a steady state error to be less than or equal to 1%, K must be greater thank or equal to 1. For the worst case, when K =1, The characteristic polynomial is: s 2 25s 2500 0 Which yields the following information: n 2500, 50 rad / sec. 25 0.25 100 Thus the predicted % overshoot is: Max overshoot = e 1 2 100 Let us simulate using Matlab – to verify: = 44.43 % Step Response 1.5 System: Gcl Peak amplitude: 1.44 Overshoot (%): 44.4 At time (sec): 0.0642 Amplitude 1 System: Gcl Rise Time (sec): 0.0254 0.5 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.3 0.35 0.4 0.45 Time (sec) Step Response 1.5 Amplitude 1 0.5 0 0 0.05 0.1 0.15 0.2 0.25 Time (sec) Let us plot the %overshoot vs. zeta. clear all;clc Z=[]; OS=[]; for z=0:.01:0.9999 os=100*exp((-z*pi)/(sqrt(1-z^2))); Z=[Z z]; OS=[OS os]; end plot(Z,OS) grid xlabel('zeta') ylabel('% overshoot') title('') 100 90 80 % overshoot 70 60 50 40 30 20 10 0 P.M = 0 0.1 0.2 0.3 0.4 0.5 zeta 0.6 1 2 1 tan 1 2 1 4 2 2 4 1 2 0.7 0.8 0.9 1 Let us plot this relationship of Phase margin vs. damping ratio: clear all Z=[]; PM=[]; for z=0:.01:1 pm=atand(2*z*(1/((4*z^4+1)^0.5-2*z^2))^0.5); Z=[Z z]; PM=[PM pm]; end plot(Z,PM) grid xlabel('zeta') ylabel('PM - degrees') title('Phase lead design') Phase lead design 80 70 PM - degrees 60 50 40 30 20 10 0 0 0.1 0.2 0.3 0.4 0.5 zeta 0.6 0.7 Now. Let us plot the phase margin vs. % overshoot clear all;clc Z=[]; OS=[]; PM=[]; for z=0:.01:0.9999 os=100*exp((-z*pi)/(sqrt(1-z^2))); pm=atand(2*z*(1/((4*z^4+1)^0.5-2*z^2))^0.5); Z=[Z z]; 0.8 0.9 1 OS=[OS os]; PM=[PM pm]; end plot(OS,PM) grid xlabel('%overshoot') ylabel('% Phase Margin') title('') 80 70 % Phase Margin 60 50 40 30 20 10 0 0 10 20 30 40 60 50 %overshoot 70 80 90 100 From the plot, a 10% overshoot corresponds to a phase margin of 58o Let us draw the Bode diagram of the uncompensated system. clear all;close;clc K=1; num=K*[2500]; den=[1 25 0]; G=tf(num,den); bode(G) Bode Diagram 60 Magnitude (dB) 40 20 0 -20 -40 Phase (deg) -60 -90 System: Gcom Phase Margin (deg): 28 Delay Margin (sec): 0.0104 At frequency (rad/sec): 47 Closed Loop Stable? Yes -120 -150 System: Gcom Frequency (rad/sec): 48.7 Phase (deg): -153 -180 0 10 10 1 10 2 10 3 Frequency (rad/sec) As can be seen, the phase margin for the open loop system is 28 degrees at the wp = 47 rad/sec.. (Check the plot of % OS vs. phase margin – it agrees with our predictions. ) We want the phase margin to be at 60 degrees (according to %os vs. PM). (Add a phase lead) Thus the phase lead controller should add : 60-28 = 32 degrees of phase in the vicinity of the gain –crossover frequency. But, when adding the phase lead controller, the magnitude response will be affected in such a way that the gain crossover frequency will shift higher. Thus, when designing the phase lead, allow for some marginal error to account for the inevitable phase drop off. a 1 a 1 max sin 1 a 1 sin 32 3.25 1 sin 32 Since 20log(a) = 10.25dB (the phase lead will cause a 10.25 shift in the magnitude) Thus the new gain crossover frequency will shift. The problem is now, we want the amount of phase shift correction to occur at the new gain crossover frequency. Choose the geometric mean to locate the new crossover frequency. At the attenuation of -10.25/2 = -5.125dB, the corresponding frequency is: Bode Diagram 60 40 Magnitude (dB) 20 System: Gcom Frequency (rad/sec): 65 Magnitude (dB): -5.17 0 -20 -40 -60 -90 Phase (deg) -120 -150 -180 0 1 10 2 10 10 Frequency (rad/sec) 65 rad/sec. Now, we can calculate T T= 1 wm a 0.0085 Substituting, we get: Gc ( s) 1 1 aTs a 1 Ts 3 10 The open loop transfer function of the compensated system is: G( s) 1 2500(1 aTs ) a s( s 25)(1 Ts ) = 1 2500(1 0.0277 s) 3.25 s( s 25)(1 0.0085s) The Frequency response of the compensated system is: Bode Diagram 40 Magnitude (dB) 20 0 -20 -40 -60 -80 Phase (deg) -100 -90 -120 -150 -180 0 10 System: Gcom Phase Margin (deg): 67.3 Delay Margin (sec): 0.0457 At frequency (rad/sec): 25.7 Closed Loop Stable? Yes 10 1 2 10 Frequency (rad/sec) Plots of uncompensated and compensated are: 10 3 10 4 Bode Diagram Magnitude (dB) 50 0 -50 Phase (deg) -100 -90 -120 -150 -180 0 10 System: Gcom Phase Margin (deg): 67.3 Delay Margin (sec): 0.0457 At frequency (rad/sec): 25.7 Closed Loop Stable? Yes 10 1 System: Gunc Phase Margin (deg): 28 Delay Margin (sec): 0.0104 At frequency (rad/sec): 47 Closed Loop Stable? Yes 2 10 Frequency (rad/sec) a=3.25; T=0.0085; K=1; den1=[1 0]; den2=[1 25]; den3=[T 1]; num1=[K*2500]; num2=(1/a)*[T*a 1]; NUM=conv(num1,num2); DEN=conv(den1,conv(den2,den3)); Gcom=tf(NUM,DEN) bode(Gcom) % GCL=feedback(Gcom,1); % step(GCL) hold DENunc=conv(den1,den2); Gunc=tf(num1,DENunc) bode(Gunc) Let us look at the transient response: 10 3 10 4 Step Response 1.5 System: GCLunc Peak amplitude: 1.44 Overshoot (%): 44.4 At time (sec): 0.0642 System: GCL Peak amplitude: 1.05 Overshoot (%): 4.81 At time (sec): 0.122 System: 1GCLunc Rise Time (sec): 0.0254 Amplitude System: GCL Rise Time (sec): 0.0561 0.5 0 0 0.05 0.1 0.15 0.2 0.25 Time (sec) clear all;clf;close; a=3.25; T=0.0085; K=1; den1=[1 0]; den2=[1 25]; den3=[T 1]; num1=[K*2500]; num2=(1/a)*[T*a 1]; NUM=conv(num1,num2); DEN=conv(den1,conv(den2,den3)); Gcom=tf(NUM,DEN) % bode(Gcom) GCL=feedback(Gcom,1); step(GCL) hold DENunc=conv(den1,den2); Gunc=tf(num1,DENunc) % bode(Gunc) GCLunc=feedback(Gunc,1); step(GCLunc) 0.3 0.35 0.4 0.45