- #1
zoom1
- 65
- 0
I'm trying to design a lead compensator for a double integrator plant, which is plant = tf([1],[1 0 0])
I started with the angle condition. So, poles contribute (+) angle and zeros contribute (-) angle and that sums to 180
Desired pole location is 4.4 +- 4.4j
So, 45 + 45 = 90 degrees comes from the poles at the origin, assume that zero of the lead compensator is placed at -5, then atand(4.4/1) = 77.19 contribution from zero of the lead compensator.
45 + 45 - 77.19 + Lp = 180
Where Lp is the pole of the lead compensator. Lp should contribute +167.19 degrees, so tand(167.19) = -0.2274
At this point I wouldn't expect to get a negative number. Anyways, I proceeded and found the location of the Lp as 4.4/0.2274 = 19.3492, so Lp should be located at -19.3492 - 4.4 = 23.75
So the resulting Lead compensator is lead = tf([1 5],[1 23.75])
When I close the loop with unity feedback closedLoop = feedback(plant*lead,1) and check the gain with sisotool(closedLoop), I see that my desired pole location is not reached. at -4.4 I got -+6.84i
What am I doing wrong ?
I started with the angle condition. So, poles contribute (+) angle and zeros contribute (-) angle and that sums to 180
Desired pole location is 4.4 +- 4.4j
So, 45 + 45 = 90 degrees comes from the poles at the origin, assume that zero of the lead compensator is placed at -5, then atand(4.4/1) = 77.19 contribution from zero of the lead compensator.
45 + 45 - 77.19 + Lp = 180
Where Lp is the pole of the lead compensator. Lp should contribute +167.19 degrees, so tand(167.19) = -0.2274
At this point I wouldn't expect to get a negative number. Anyways, I proceeded and found the location of the Lp as 4.4/0.2274 = 19.3492, so Lp should be located at -19.3492 - 4.4 = 23.75
So the resulting Lead compensator is lead = tf([1 5],[1 23.75])
When I close the loop with unity feedback closedLoop = feedback(plant*lead,1) and check the gain with sisotool(closedLoop), I see that my desired pole location is not reached. at -4.4 I got -+6.84i
What am I doing wrong ?