What are the Closed Loop Transfer Function Parameters for a PI Controller?

AI Thread Summary
The discussion centers on determining the closed loop transfer function parameters for a PI controller, specifically focusing on the controller's transfer function and its stability criteria. The participants debate the correct form of the PI controller and the implications of the parameters k_c and τ_I on system stability. They emphasize the importance of applying the Routh-Hurwitz stability criterion to find suitable values for these parameters, while also discussing the challenges of obtaining a range for k_c. Ultimately, the conversation highlights the complexity of stability analysis in control systems and the necessity of careful mathematical manipulation to derive meaningful results.
gfd43tg
Gold Member
Messages
947
Reaction score
48

Homework Statement


upload_2015-10-20_18-1-44.png


Homework Equations

The Attempt at a Solution


I don't think you need to see the problem to figure this one out, if needed I will post it (takes up a lot of space in the thread).

I know for a PI controller, the controller transfer function is given

$$ g_{c} = k_{c} \frac {\tau_{I}s+1}{\tau_{I}s} $$

and the closed loop transfer function is given

$$ g_{CL} = \frac {g_{p} {g_{c}}}{1+g_{p}g_{c}} $$

So I multiply,

$$ g_{CL} = \frac { (\frac {-0.2735}{s^{2}+6.035s+4.146}) (k_{c} \frac {\tau_{I}s+1}{\tau_{I}s}) }{1 + (\frac {-0.2735}{s^{2}+6.035s+4.146}) (k_{c} \frac {\tau_{I}s+1}{\tau_{I}s})} $$

However, I don't know what ##k_{c}## or ##\tau_{I}## are, so I am wondering if there is some what I should know these? Then I can have a numerical answer for part (a).
 
Physics news on Phys.org
Your expression as for gc is not a PI-controller but an ID-controller.

Generally you could write the transfer function for a PID-controller:

H(s) = k * ( s + a ) / ( s + b ) , where

k*a/b = the proportional amplification.
a = 1 / τd.
b = 1 / τi.

So if b=0 you cannot speak of a "proportional amplification".

But the rewriting of H(s) doesn't solve the problem, because: What are k, a, b ?

Well, you are the one to choose the values, so that the closed loop will become stable: Calculate the characteristic equation with k, a, b algebraically included, plot a root locus varying k, a, b and determine the ranges wherein the system will be stable.

Remember that if no steady state error is accepted, b must be zero. ( "Clean" integration of an error ).
 
Maylis said:
I don't think you need to see the problem to figure this one out, if needed I will post it (takes up a lot of space in the thread).
Please post the full problem so we know the feedback configuration.

Maylis said:
However, I don't know what ##k_{c}## or ##\tau_{I}## are, so I am wondering if there is some what I should know these? Then I can have a numerical answer for part (a).
The task in (b) is to find suitable values for those controller parameters using the Routh–Hurwitz stability criterion.

Just leave them as variables for now and reduce the closed-loop transfer function down to a form where the numerator and denominator polynomials have simple coefficients.
 
upload_2015-10-21_8-56-27.png
 
Hesch said:
Your expression as for gc is not a PI-controller but an ID-controller.

Generally you could write the transfer function for a PID-controller:

H(s) = k * ( s + a ) / ( s + b ) , where

k*a/b = the proportional amplification.
a = 1 / τd.
b = 1 / τi.

So if b=0 you cannot speak of a "proportional amplification".

But the rewriting of H(s) doesn't solve the problem, because: What are k, a, b ?

Well, you are the one to choose the values, so that the closed loop will become stable: Calculate the characteristic equation with k, a, b algebraically included, plot a root locus varying k, a, b and determine the ranges wherein the system will be stable.

Remember that if no steady state error is accepted, b must be zero. ( "Clean" integration of an error ).
That is the expression for a PI controller as given in the textbook.
 
Hesch said:
Your expression as for gc is not a PI-controller but an ID-controller.
It's a common form of a PI, i.e:
$$
k_c\frac{\tau_I s + 1}{\tau_I s} = k_c + \frac{k_c}{\tau_I s}
$$
 
Maylis said:
That is the expression for a PI controller as given in the textbook.
I'm not the one, that has written your textbook. :smile:

Divide numerator a denominator by τI, then at least the zero of the numerator will become: s = -1 / τd

P = k*a / b = k*a / 0 doesn't make sense ( when b= 0 ).
 
milesyoung said:
It's a common form of a PI, i.e:
I really don't know how to comment that form ( a sum of elements ).

I don't "feel" that it is "fit" for calculations.

Writing a PID-controller in the form: H(s) = k * ( s + a ) / ( s + b ), I can immediate plot a zero and a pole in my root locus. How will I plot kc + . . . ?
 
Hesch said:
P = k*a / b = k*a / 0 doesn't make sense ( when b= 0 ).
I don't know what you're on about. This transfer function:
$$
g_{c} = k_{c} \frac {\tau_{I}s+1}{\tau_{I}s}
$$
represents the transfer function of a PI and it's perfectly fine.

And this:
Hesch said:
Well, you are the one to choose the values, so that the closed loop will become stable: Calculate the characteristic equation with k, a, b algebraically included, plot a root locus varying k, a, b and determine the ranges wherein the system will be stable.
doesn't make any sense. You can plot the root locus for a single parameter, and the set of root loci produced by varying one parameter and holding the others constant have no meaningful relationship to the necessary and sufficient condition for the stability of the OP's system.

Also, the problem statement specifically asks to apply the Routh–Hurwitz stability criterion, and not root-locus analysis.
 
  • #10
Hesch said:
I really don't know how to comment that form ( a sum of elements ).

I don't "feel" that it is "fit" for calculations.
I wrote it in that form to make it easy for you to recognize the proportional and integral terms, i.e, if you have:
$$
C(s) = H(s)E(s) = \left(k_c + \frac{k_c}{\tau_I s}\right) E(s) = k_c E(s) + \frac{k_c}{\tau_I s} E(s)
$$
where ##C(s)## and ##E(s)## is the controller output and system error, respectively.

So you have a term which is proportional to the error ##k_c E(s)##, and you have a term which is proportional to the integral of the error ##\frac{k_c}{\tau_I s} E(s)##. That's a PI controller.

It is, however, also a valid transfer function.
 
  • #11
milesyoung said:
I don't know what you're on about.
Can't help you.

The expression: H(s) = ( k * ( s + 1/τd ) / s ) suggests a zero at ( -1/τd ; 0 ) and a pole at ( 0 ; 0 ).
That's what I'm "on about".

milesyoung said:
You can plot the root locus for a single parameter, and the set of root loci produced by varying one parameter and holding the others constant have no meaningful relationship to the necessary and sufficient condition for the stability of the OP's system.
I can plot a lot of root loci, varying k and τd, not simultanious but in steps as for the latter ( maybe changing plot-color as for the latter).
I can do it in 5 minutes ( I have a computer ), and that's how I do it.

It's absolutely meaningful.
 
  • #12
Hesch said:
The expression: H(s) = k * ( s + 1/τd / s ) ...
Is this:
$$
H(s) = k\left(s + \frac{1}{\tau_d s}\right)
$$
is what you mean, then this:
Hesch said:
suggests a zero at ( -1/τd ; 0 ) and a pole at ( 0 ; 0 ).
isn't right.

Hesch said:
I can plot a lot of root loci, varying k and τd, not simultanious but in steps as for the latter ( maybe changing plot-color as for the latter).
I can do it in 5 minutes ( I have a computer ), and that's how I do it.
Maybe you'll show me what you have in mind when the OP has solved the assignment using the Routh–Hurwitz stability criterion.
 
  • #13
milesyoung said:
Maybe you'll show me what you have in mind when the OP has solved the assignment using the Routh–Hurwitz stability criterion.
I learned about Routh-Hurwitz many years ago (1976?), but when a PC became available, I forgot everything about it. So now I use root-locus.

It seems to me, that Routh-Hurwitz is a stable/not stable test, but when using root locus you can see how stable it is, what is the minimum damping ratio at which frequency, and so on, you can add a zero-pole pair near some location, preventing a local problem. That's why I suggest root locus to be used.
 
  • #14
Hesch said:
I learned about Routh-Hurwitz many years ago (1976?), but when a PC became available, I forgot everything about it. So now I use root-locus.
I still find a lot of uses for the Routh-Hurwitz stability criterion for high-order systems. A modern computer algebra system is a great help in producing Routh arrays.

Hesch said:
It seems to me, that Routh-Hurwitz is a stable/not stable test, but when using root locus you can see how stable it is
I agree, for one parameter.

If you have some transfer function with parameters A and B, then you can iterate over values of A, and for each value:
1. Plot the root locus.
2. From the root locus, record the set of values of B for which the system is stable.

From that table, you might be able to guess a necessary and sufficient condition for the stability of the system. I'd wager, though, that it's more complicated than you make it out to be.

Then you can try it with three parameters and feel the swift hand of dimensionality!
 
  • #15
I'm glad everyone is learning from my homework problem. So I simplified my expression in my OP to

$$ g_{CL} = \frac {-0.2735k_{c}(\tau_{I}s+1)}{\tau_{I}s^{3}+6.035 \tau_{I}s^{2} + (4.146 \tau_{I} - 0.2735k_{c} \tau_{I})s - 0.2735 k_{c}} $$

So my characteristic equation is

$$ \tau_{I}s^{3}+6.035 \tau_{I}s^{2} + (4.146 \tau_{I} - 0.2735k_{c} \tau_{I})s - 0.2735 k_{c} $$
The first necessary criteria is that all coefficients are positive, therefore ##\tau_{I} > 0##, and ##4.146 \tau_{I} - 0.2735k_{c}\tau_{I} > 0##, and ##-0.2735k_{c} > 0##.

This is weird, so it means ##k_{c} < 0##, and from the second coefficient, ##k_{c} > 15.159##, so it doesn't give a proper range of values for ##k_{c}##, I was expecting something like ## a < k_{c} < b##
 
Last edited:
  • #16
Maylis said:
The first necessary criteria is that all coefficients are positive ...
The first rule of the test is that all coefficients must be non-zero. The second rule is that they must all be positive or they must all be negative.

Maylis said:
... and from the second coefficient, ##k_{c} > 15.159##, ...
I think you forgot to flip the inequality sign (divide by a negative number).
 
  • #17
Yes, I see, so ##k_{c} < 15.159##. Well I just thought of something weird.

##-0.2735k_{c} > 0 ## and divide through, ## k_{c} < 0 ##

However, I start with the same and add to the other side, ##0 > 0.2735k_{c}##, then divide through, ##0 > k_{c}##. This is strange
 
  • #18
Maylis said:
This is strange
Why? In both cases you have ##k_c < 0##.
 
  • #19
Woops, my mind is in other places right now :rolleyes:

So ##k_{c} < 0##, and ##k_{c} < 15.159##, so once again I don't have a range like ##a < k_{c} < b##
 
  • #20
You have:
$$
a - b k_c > 0 \Leftrightarrow -b k_c > -a \Leftrightarrow k_c < \frac{a}{b},\quad a >0, b > 0
$$
Maylis said:
So ##k_{c} < 0##, and ##k_{c} < 15.159##, so once again I don't have a range like ##a < k_{c} < b##
If ##k_c < 0## then ##k_{c} < 15.159## is also satisfied.
 
  • #21
I get that, but I don't have a range for ##k_{c}##, so some regime where it is stable
 
  • #22
Maylis said:
I get that, but I don't have a range for ##k_{c}##, so some regime where it is stable
You're not done yet. You still need to compute the Routh array and apply the third rule of the test.

Edit:
To clarify:
Rule 1 and 2 are necessary conditions that you can check first before you go to the trouble of calculating the Routh array.

If you're, for instance, calculating the coefficients of the characteristic polynomial by hand, and find one that's zero, then you can stop there - the system is unstable.

When you have all the coefficients, then you can apply Rule 2 to see if you're able to stop there.

If not, then procede to Rule 3 of the test. The rules are ordered according to the effort it takes to apply them.
 
Last edited:
  • #23
Okay, here is my routh array

$$ \begin{bmatrix} \tau_{I} & 4.146\tau_{I}-0.2735k_{c} \tau_{I} & 0 \\ 6.035 \tau_{I} & -0.2735 k_{c} & 0 \\ 4.146 \tau_{I} + (0.045 - 0.274 \tau_{I})k_{c} & 0 \\ -0.2735k_{c} \end{bmatrix} $$

since I know ##k_{c}## is negative, then ##0.274\tau_{I}-0.045 < 0##, therefore ##\tau_{I} < 0.164##

So I know the range for the time constant is ##0 < \tau_{I} < 0.164##

I suppose ##0.274 \tau_{I} - 0.045## is negative, so I divide and get

##k_{c} > \frac {4.146 \tau_{I}}{0.274 \tau_{I} - 0.045} ##
so my gain range is ##\frac {4.146 \tau_{I}}{0.274 \tau_{I} - 0.045} < k_{c} < 0##
 
Last edited:
  • #24
milesyoung said:
I agree, for one parameter.

If you have some transfer function with parameters A and B, then you can iterate over values of A, and for each value:
1. Plot the root locus.
2. From the root locus, record the set of values of B for which the system is stable.From that table, you might be able to guess a necessary and sufficient condition for the stability of the system. I'd wager, though, that it's more complicated than you make it out to be.

Then you can try it with three parameters and feel the swift hand of dimensionality!
That's not how you do it, using root locus:

1. Plot the root locus.
Now, look at the curve. If there are problems problems, you can move/add poles and zeroes that twist the path of the curve. A pole will repel the path, a zero will attrack the path. It's like planning a slalom track by placing red and blue marks:
upload_2015-10-22_12-45-18.jpeg

Having moved/added poles/zeroes, just redraw the plot: Is it satisfactory? Maybe this zero should be moved a little more to the left ( e.g. dragging it graphically with your mouse )?
With a little training, you can systematically drag 8 poles and 8 zeroes in turns and redraw/inspect the result.
As I said: You can do it in 5 minutes ( well, maybe in 10 minutes as for 8 poles/zeroes ).

2. I don't have to record tables. It's more convenient just to look at the root locus plot.
The stable area is to the left of the imaginary axis as for the s-plane.
 

Attachments

  • upload_2015-10-22_13-5-22.jpeg
    upload_2015-10-22_13-5-22.jpeg
    10 KB · Views: 542
Last edited:
  • #25
Maylis said:
since I know ##k_{c}## is negative, then ##0.274\tau_{I}-0.045 < 0##, therefore ##\tau_{I} < 0.164##
That's not necessarily true for ##\tau_I##.

You have the condition for stability (there's another for ##k_c > 0, \tau_I < 0##):
$$
k_c < 0, \tau_I > 0, 4.15\tau_I + (0.0453 - 0.274 \tau_I) k_c > 0
$$
You could pick a very large value for ##\tau_I## that makes ##0.0453 - 0.274 \tau_I## negative, so ##k_c## must be less than some positive number, but you already know that ##k_c < 0##.

So for a value of ##\tau_I## that makes ##0.0453 - 0.274 \tau_I## negative, the requirement for stability is just that ##k_c < 0##.

Your result looks good for the case when ##0.0453 - 0.274 \tau_I## is positive.
 
  • #26
Hesch said:
That's not how you do it ...
I'm aware if how to do root-locus analysis and design.

Maybe this will make it easier to show you my point:
Try, from your root-locus analysis, to arrive at the same result as the OP.
 
  • #27
It's interesting to look at root locus plots for the cases where τ < .164 and τ > .164, varying kc from -100 to +100:
RL1.png


RL2.png
 
Back
Top