Designing Lag or Lead Compensators with 3rd order systems

Click For Summary

Discussion Overview

The discussion revolves around the design of Lead or Lag compensators for a 3rd order system, specifically considering the use of a 2nd order approximation when the dominant pole is significantly distanced from the third pole. Participants explore the implications of this approximation on system performance and response.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Experimental/applied

Main Points Raised

  • One participant questions whether a 2nd order approximation can be used for a 3rd order system, suggesting that if the dominant pole is approximately 5 time constants away from the third pole, it may be valid.
  • Another participant asserts that the smallest pole is the most dominant and suggests disregarding the pole at 1 for the calculation of the Lead/Lag network, emphasizing the importance of the proximity of poles and zeros to the dominant pole.
  • A participant provides MATLAB code to simulate and compare the system responses with and without the additional pole, indicating that the effects of the additional pole can be analyzed through simulation.
  • There is a discussion about which pole can be ignored, with one participant initially misidentifying the smallest pole and later correcting themselves, indicating uncertainty about the impact of the pole at -10.
  • Another participant mentions that while the approximation may be close, the addition of the pole at 10 does affect the system, suggesting that the overshoot changes by 5% and recommending testing the system with the pole included.

Areas of Agreement / Disagreement

Participants express differing views on which poles can be disregarded in the approximation, and there is no consensus on the accuracy of the approximation itself. The discussion remains unresolved regarding the exact impact of the additional pole on system performance.

Contextual Notes

Participants note that the accuracy of the approximation may depend on the specific performance specifications required, and the effects of poles and zeros on system response are highlighted as complex and dependent on their relative positions.

koochiee
Messages
16
Reaction score
0
For a 3rd order system, can I use 2nd order approximation (granted dominant pole is ≈5 Tau away from third pole), when designing a Lead or Lag compensator?



Can this OLTF = K/{s(0.1s+1)(s+1)} be approximated to 10K/{s(s+1) which ultimately gives CLTF=10K/{s(s+1)+ K} ? and then design Lead or lag network based on the performance specifications (which are given)

OLTF - Open Loop Transfer Function
CLTF - Closed Loop Transfer Function
 
Physics news on Phys.org
1.) The smallest pole is the most dominant. If you were to get rid of a pole it would be the pole at 1.

2.) do you have access to matlab? If the answer is yes, I would sim both systems and compare the differences.
typically to completely disregard a pole pd/px << 1 where px is the pole in question and pd is the dominant pole. When you are near that range things can get fuzzy.

in your case I would disregard the pole for your calculation of your lead/lag network. Then resim the system with the original network. If you need to tweek your lead/lag filter to achive the desired phase margin or step response then do so. Keep in mind that the closer a pole/zero is to the dominant pole, the more effect it will have on the system response

keep in mind that a pole that occurs after the zero crossover has much less of an effect than a pole that occurs before the zero crossover. Keep that in mind when setting your dc gain
 
clc,clear
close all
format short engk=0.01;
%p=extra pole
p=1

sys_1=zpk([],[0 -0.1],k);
sys_2=zpk([],[0 -p -0.1],k*p);

sys_1_cl=feedback(sys_1,1);
sys_2_cl=feedback(sys_2,1);

figure()
step(sys_1_cl,sys_2_cl)
legend('sys 1','sys 2')
title('closed loop step response')

figure()
bode(sys_1,sys_2)
legend('sys 1','sys 2')
title('open loop freq response')

figure()
bode(sys_1_cl,sys_2_cl)
legend('sys 1','sys 2')
title('closed loop freq response')

sys_1_info=stepinfo(sys_1_cl)
sys_2_info=stepinfo(sys_2_cl)

sys_1_cl_pole=pole(sys_1_cl)
sys_2_cl_pole=pole(sys_2_cl)

here is some MATLAB code you can use to experiment. change p to change the value of the added pole
 
Don, I was thinking that the smallest pole is s=-10 is the one that can be ignored, sorry if I'm wrong. But isn't that's the one farthest from imaginary axis so has little effect on the system response?

And thank you for the answer & the MATLAB code. I'll check it soon as I get MATLAB.
 
ya you're right. I was an idiot and thought the pole was at 0.1...
it was a blond moment
 
:) no worries. So do you think the approximation is right?
 
As I said above, the approximation is on the border of being right. The addition of that pole at 10 does effect the system. It really depends on how accurate you need to be. with the pole at 10, the overshoot changes by 5%. All other effects are negligible.

I would recommend you make the approximation, but then test the system with a pole at 10, and make adjustments if needed. Does that make sense?clc,clear
close all
format short engk=1;
%p=extra pole
p=10

sys_1=zpk([],[0 -1],k);
sys_2=zpk([],[0 -p -1],k*p);

sys_1_cl=feedback(sys_1,1);
sys_2_cl=feedback(sys_2,1);

figure()
step(sys_1_cl,sys_2_cl)
legend('sys 1','sys 2')
title('closed loop step response')

figure()
bode(sys_1,sys_2)
legend('sys 1','sys 2')
title('open loop freq response')

figure()
bode(sys_1_cl,sys_2_cl)
legend('sys 1','sys 2')
title('closed loop freq response')

sys_1_info=stepinfo(sys_1_cl)
sys_2_info=stepinfo(sys_2_cl)

sys_1_cl_pole=pole(sys_1_cl)
sys_2_cl_pole=pole(sys_2_cl)
 
Yes I do, thank you! Thank you again for the codes.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
1
Views
3K
Replies
4
Views
6K
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K