carter_la_hw_03_AEM468

advertisement
Cascade Compensator Design of Closed-Loop System
AEM 468, Fall 2014
Lucas Carter
Department of Aerospace Engineering and Mechanics
University of Alabama, Tuscaloosa
Problem Statement
A cascade compensator (zeros, poles, gains of one or more cascade compensators) is to be
designed to achieve the results for one of several classes of widgets, each having different natural
poles.
Parameters: a rise time less than 0.5 seconds, avoid "excessive" oscillation, settle to within 10%
of the desired position in 1 second, and settle to within 1% of the desired position in 5 seconds.
Solution
Given the natural poles for this specific widget model, the plant transfer function G(s) is
𝐺(𝑠) =
1
𝑠(𝑠 + (−0.9456 + 0.2893𝑖))(𝑠 + (−0.9456 − 0.2893𝑖))
𝐺(𝑠) =
𝑠3
1
+ 1.891𝑠 2 + 0.9779𝑠
When plotting the step input, as seen in Figure 1, the uncompensated plant is nowhere near the
settling criteria.
Figure 1. Uncompensated Closed Loop Response to Step Input
To meet the desired specifications for the jigamacrank, a cascade compensator must be added to
the closed-loop system. The addition of the compensator in a closed-loop system is shown in
Figure 2.
Figure 2. Block Diagram of Closed-Loop System
The response of the plant transfer function can be improved by adding a compensator that adds
gain or poles and zeros through lead and/or lag compensation. The simplest solution would be to
add a gain to the plant transfer function to decrease the rise and settling time. This is not always
the solution, however, as too high of a gain can cause also cause a high overshoot or cause the
system to become unstable. Examining the root locus diagram in Figure 3 shows that the gain
can only be increased slightly before the system becomes unstable. In order to improve the
response, the root locus will have to move more into the left-half plane, which corresponds to
adding damping to the system.
Figure 3. Plant Root Locus
Compensator Design
A lead compensator can be used to draw the root locus into the left-half plane. In the case of this
design, one compensator did not provide enough damping, so two lead compensators were
chosen. Both placed zeros close to the existing pole at the origin, while the poles were placed far
away from the poles of the plant transfer function. This increased the point at which the root loci
crossed the imaginary axis. The two lead compensators were chosen as
𝐻1 (𝑠) =
𝐻2 (𝑠) =
25(𝑠 + 1)
(𝑠 + 25)
12(𝑠 + 1.5)
(𝑠 + 18)
The root locus after the addition of these compensators in Figure 4 shows the added stability of
the system. The improved stability can also be seen in the improved phase and gain margins
shown in the bode plot of the plant and compensated transfer functions, shown in Figure 5.
Figure 4. Root Locus with the Addition of Lead Compensators
Figure 5. Bode Plot Comparing Plant to Compensated Transfer Functions
With the improved stability shown in the root loci and bode diagrams, a simple gain K can be
added to meet the specific requirements. The gain for this design was chosen as
𝐾=5
After combining the lead compensators and the gain, the final cascade compensator, H(s), was
simplified to
𝐻(𝑠) =
1500(𝑠 + 1)(𝑠 + 1.5)
(𝑠 + 25)(𝑠 + 18)
With the addition of this compensator, the system was well within the specified requirements.
The step input of the closed-loop system was plotted in MATLAB with exponential decay
envelopes to show the required settling criteria, as shown in Figure 6.
Figure 6. Closed-Loop Response to Step Input
The exact specifications of the compensated system were calculated using the function
“stepinfo().” They are shown in Table 1.
Rise Time
0.3568 seconds
Settling Time
1.7352 seconds
Overshoot
8.8530 %
Table 1. Specifications of Closed-Loop Step Input Response
The system not only rises and settles within the required time, but has an overshoot of less than
10%. A potential flaw in the compensator design could be the extremely high gain, but without
any physical limitations given for the jigamacrank, it is considered feasible.
Appendix A
s = tf('s');
G = tf([1],[1 1.891 0.9779 0]);
K = 5;
%LeadComp = (1+0.67*s)/(1+0.055*s);
%LeadComp2 = (1+s)/(1+0.04*s);
LeadComp = 25*(1+s)/(s+25);
LeadComp2 = 12*(1.5+s)/(s+18);
OLTF = K*LeadComp*LeadComp2*G;
CLTF = feedback(G,1);
CLTF1 = feedback(OLTF,1);
stepinfo(CLTF1)
ans =
RiseTime:
SettlingTime:
SettlingMin:
SettlingMax:
Overshoot:
Undershoot:
Peak:
PeakTime:
0.3568
1.7352
0.9135
1.0885
8.8530
0
1.0885
0.8795
Exponential Envelopes
time = 0:0.1:10;
funct = 1 - exp(-0.921*time);
funct2 = 1 + exp(-0.921*time);
funct3 = 1 - exp(-2.3*time);
funct4 = 1 + exp(-2.3*time);
Uncompensated Figures
figure(1) %G step input
step(CLTF)
title('Uncompensated Closed Loop Step Input','FontSize',12)
figure(2) %G root locus
rlocus(G)
title('Plant Root Locus','FontSize',12)
figure(3)
nyquist(G)
title('Plant Nyquist Plot','FontSize',12)
Compensated Figures
figure(4) %CLTF step input
hold on
step(CLTF1)
plot(time,funct,':k',time,funct2,':k');
plot(time,funct3,'-.k',time,funct4,'-.k');
xlim([0,7]);
ylim([0,2]);
title('Compensated Closed Loop Step Input','FontSize',12)
legend('Compensated Closed Loop Step Input','1% Settling Criteria','1% Settling Criteria','10%
Settling Criteria','10% Settling Criteria')
figure(5) %Lead comps * G root locus
rlocus(LeadComp*LeadComp2*G)
title('Compensated Plant Root Locus','FontSize',12)
figure(6)
nyquist(K*LeadComp*LeadComp2*G)
title('Compensated Plant Nyquist Plot','FontSize',12)
Bode Plot Information
figure(7)
bode(G,K*LeadComp*LeadComp2*G)
grid on
legend('Uncompensated Plant Bode Plot','Compensated Plant Bode Plot')
title('Compensated vs Uncompensated Bode Diagram Comparison','FontSize',12)
figure(8)
margin(G)
figure(9)
margin(K*LeadComp*LeadComp2*G)
Published with MATLAB® R2014a
Download