Lead compensator for double integrator

  • Thread starter Thread starter zoom1
  • Start date Start date
  • Tags Tags
    Compensator Lead
Click For Summary
SUMMARY

The discussion focuses on designing a lead compensator for a double integrator plant represented by the transfer function tf([1],[1 0 0]). The desired pole location is identified as 4.4 ± 4.4j, and the initial calculations for the compensator's zero and pole are detailed. The lead compensator is derived as lead = tf([1 5],[1 23.75]), but the user encounters issues with achieving the desired pole location when closing the loop with unity feedback. The discussion concludes that the zero needs to be positioned such that it subtracts more than 90° from the angle sum to meet the angle condition for stability.

PREREQUISITES
  • Understanding of control theory concepts, specifically lead compensators.
  • Familiarity with transfer functions and their representation in MATLAB.
  • Knowledge of root locus techniques and angle conditions in control systems.
  • Proficiency in using MATLAB's sisotool for analyzing control systems.
NEXT STEPS
  • Research the design of lead compensators using MATLAB's Control System Toolbox.
  • Learn about the implications of pole-zero placement on system stability and performance.
  • Study the root locus method to understand how to manipulate pole and zero locations effectively.
  • Explore advanced compensator design techniques, such as PID tuning and frequency response methods.
USEFUL FOR

Control engineers, systems analysts, and students studying control systems who are involved in designing and analyzing compensators for dynamic systems.

zoom1
Messages
63
Reaction score
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 ?
 
Engineering news on Phys.org
zoom1 said:
I started with the angle condition. So, poles contribute (+) angle and zeros contribute (-) angle and that sums to 180
It sums to ##r180^\circ,r = \pm1,\pm3,\pm5,\dots## if the test point is on the root locus.

zoom1 said:
Desired pole location is 4.4 +- 4.4j
Should be ##s = -4.4 \pm j4.4##?

zoom1 said:
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.
##\arg(s) = \pm135^\circ##, and ##\arg(s - z) \approx \pm82.2^\circ,z = -5##.

If ##s = -4.4 + j4.4##, then the angle sum is ##135^\circ + 135^\circ - 82.2^\circ = 187.8^\circ##. You want to remove those ##7.8^\circ##, but that's not possible with a single pole (it adds to the angle sum).

The problem is your zero. You want it to subtract more than ##90^\circ##, so the angle sum dips below ##180^\circ##, and the pole makes up the difference, i.e. you should have ##z > -4.4##.
 
milesyoung said:
It sums to ##r180^\circ,r = \pm1,\pm3,\pm5,\dots## if the test point is on the root locus.Should be ##s = -4.4 \pm j4.4##?##\arg(s) = \pm135^\circ##, and ##\arg(s - z) \approx \pm82.2^\circ,z = -5##.

If ##s = -4.4 + j4.4##, then the angle sum is ##135^\circ + 135^\circ - 82.2^\circ = 187.8^\circ##. You want to remove those ##7.8^\circ##, but that's not possible with a single pole (it adds to the angle sum).

The problem is your zero. You want it to subtract more than ##90^\circ##, so the angle sum dips below ##180^\circ##, and the pole makes up the difference, i.e. you should have ##z > -4.4##.

Thank you so much. I was sure that I was missing something.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
5K