How to extract PID parameters from a controller in zpk form?

373 Views Asked by At

I have a plant of 3th order, e.g.: $$ G(s)=\frac{5}{(s+2)(s^2+2s+4)} $$ that I want to control by tracking the reference. Now I need to have a fast response, zero steady-state error and low overshoot. Which seems like I need to have a pure integrator $\frac{1}{s}$, high bandwidth (0 dB-crossover freq.), hence a high proportional gain, and a high enough phase margin around the bandwidth area. Since the plant rolls off to a phase of $-270^{\circ}$ on its own, and to $-360^{\circ}$ by adding the integrator, I will need three D-actions to place my bandwidth at a high frequency.

The standard form for this controller will be : $$ C(s)=K_p \frac{\prod\limits_{i=1}^3\left(1+\dfrac{s}{z_i}\right)}{s} $$

However, I have to take into account that the controller should be proper! This means I need to add two extra poles elsewhere: $$ C(s)=K_p \frac{\prod\limits_{i=1}^3\left(1+\dfrac{s}{z_i}\right)}{s\prod\limits_{i=1}^3\left(1+\dfrac{s}{p_i}\right)} $$

Now my question is as follows: Since the controller needs to be composed of PID elements, how can I rewrite the controller in terms of PID parameters: $$ K_p+K_i\frac{1}{s}+K_d\frac{s}{T_fs+1} $$ , or the other way around? I need, after all, to have a proper controller that's composed of existing PID parameters. Of course, the controller can be a PIDD, PII etc.. as long as it contains the correct PID terms.


Edit: I've already found the following relationship. If a controller is of the following form: \begin{equation} X(s)=K \frac{(1+z_1 s)(1+z_2 s)}{s(1+p_1 s)} \end{equation}, then we can rewrite this to the following PID simplification:

\begin{equation} X(s)=K(z_1+z_2-p_1)+K\frac{1}{s}+K(p_1^2-p_1(z_1+z_2)+z_1z_2)\frac{s}{1+p_1 s} \end{equation}

Now, this is probably useful information to go from here to the indicated form above.

1

There are 1 best solutions below

7
On

In general you would want an asymptote of minus one near your bandwidth and minus "many" before and after it. This would already guarantee stability if $G(s)$ is stable and you do not use unstable poles for $C(s)$.

If you want a proper transfer function for the controller, then you can always add addition poles to the controller after the bandwidth frequency.

You are right that you need at least one integrator, because otherwise the steady state error will not go to zero (this also comes down to the minus "many" before the bandwidth).