-1
\$\begingroup\$

I have a close loop transfer function, consisting of a system and a controller (PID). For some reason does it create 2 zeroes which creates an undershoot which should not appear at all.

I don't understand how zeroes placed at the LHP should cause an overshoot. the poles are placed on the line thereby create a critical damped system.

the system is

$$G(s) =\frac{10.95 s + 0.9574}{s^2 + 0.09149 s + 6.263*10^{-6}}$$

With P = 0.1, I= 0.617746, d = 0.0147173 I get a close loop system which is $$G_cl(s) = \frac{0.1612 s^4 + 1.109 s^3 + 6.86 s^2 + 0.5914 s}{ 0.1612 s^4 + 2.109 s^3 + 6.952 s^2 + 0.5914s}$$

poles =

         0,
   -7.0000,
   -6.0000,
   -0.0874,


zeroes =

   0.0000 + 0.0000i
  -3.3974 + 5.5165i
  -3.3974 - 5.5165i
  -0.0874 + 0.0000i

I don't know how, but it seems like it 2 zeroes which causes the overshoot. Could someone explain to me why it causes overshoot, and how i can get rid of it using a PID controller.

Calculation:

x1 := -7
x2 := -6

Solve[x1 (x1^2 + 0.09149 x1 + 6.263*10^-6) + 
    kp*x1 (10.95 x1^2 + 0.9574 x1) + ki (10.95 x1^2 + 0.9574 x1) + 
    kd*x1^2 (10.95 x1^2 + 0.9574 x1) == 0 && 
  x2 (x2^2 + 0.09149 x2 + 6.263*10^-6) + 
    kp*x2 (10.95 x2^2 + 0.9574 x2) + ki (10.95 x2^2 + 0.9574 x2) + 
    kd*x2^2 (10.95 x2^2 + 0.9574 x2) == 0, {kp, ki, kd}]
{{ki -> 0.294669 + 3.23077 kp, kd -> 0.007025 + 0.0769231 kp}}

I am pratically solving the denum for kp,kd,ki as if x1 and x2 where roots.

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

In fact, the closed loop transfer function is not a case of "non minimum-phase", since all zeros lie on LHP, as you said, and initial reversion on step response (below) no depart from zero. Also, its order is 3 (after factoring out a "s"). I believe the coefficients of this biproper transfer function are very similar. Try a redesign, specially varying the D term.

Bi-proper TF

\$\endgroup\$
3
  • \$\begingroup\$ I am quite sure... what do mean by my zeroes lies on right half plane??? I've calculated the values "look at edit" \$\endgroup\$ Commented May 18, 2014 at 21:55
  • \$\begingroup\$ Just a typo error. I've corrected to LHP. \$\endgroup\$ Commented May 18, 2014 at 22:21
  • \$\begingroup\$ But how come isn't my way of calculating it correct?? It just seem random that i have to play with the values. \$\endgroup\$ Commented May 18, 2014 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.