0
$\begingroup$

For a typical control loop (no delay, measurement transfer function is 1) the closed-loop transfer function is

$$ H(s) = \frac{G_{comp}G_{process}}{1+G_{comp}G_{process}} $$

With an actuator delay of T, the transfer function is this

$$ H(s) = \frac{G_{comp}G_{process}e^{-Ts} }{1+G_{comp}G_{process}e^{-Ts} }$$

However, suppose the delay is for the measurement, i.e. in the feedback loop, the transfer function would be this

$$ H(s) = \frac{G_{comp}G_{process}}{1+G_{comp}G_{process}e^{-Ts}} $$

Basically I've got 2 questions

1 - How do I analyze the stability of the last case? AFAIK, I cannot use the margin and allmargin Matlab functions as the delay is not in the open loop transfer function ($G_{comp}G_{process}$).

2 - Now assume I'm stuck with a total delay of 100 µs. Say I can split the delay, 50 µs in the measurement delay and 50 µs and the actuator delay. Could I improve somewhat the performance of my controller compared to having an actuator delay of 100 µs?

Thanks

Edit : Corrected the 2nd transfer function, with the actuator delay only. Thanks to Tim Wescott for finding my mistake

$\endgroup$
  • $\begingroup$ With actuator delay the closed-loop transfer function is $H(s) = (G_c G_p e^{-Ts})/(1 + G_c G_p e^{-Ts})$. Does that make sense? Do you mind editing your question to reflect that? $\endgroup$ – TimWescott Feb 18 at 22:28
  • $\begingroup$ Ok, I will try to edit the question tonight. Thanks for the feedback Tim $\endgroup$ – Ben Feb 18 at 22:33
1
$\begingroup$

1 - How do I analyze the stability of the last case? AFAIK, I cannot use the margin and allmargin Matlab functions as the delay is not in the open loop transfer function ($G_{comp}G_{process}$).

In both cases the open-loop transfer function is $1+G_{comp}G_{process}e^{-Ts}$

The open-loop transfer function is the transfer function from the output of the summing junction, back to the input of the summing junction. It includes the effect of all of the blocks -- controller, actuator, plant, and measurement.

You're being mislead by the fact that the closed loop transfer function doesn't include the delay in the numerator -- but it still does.

As to how to make that work with the Matlab functions -- I dunno. Can they take fixed delays, or must they be presented with rational transfer functions? If they can only be given rational transfer functions, then you need to calculate the frequency response of the open-loop transfer function and make a Bode or a Nyquist plot and assess stability margins yourself.

2 - Now assume I'm stuck with a total delay of 100 µs. Say I can split the delay, 50 µs in the measurement delay and 50 µs and the actuator delay. Could I improve somewhat the performance of my controller compared to having an actuator delay of 100 µs?

In this regard, having less actuator delay is fundamentally better, because you have less delay from command to output. Actually designing a controller that can take advantage of that may be a challenge, however. Certainly the response to a disturbance cannot be made better -- only the response to a command. In general pure delays like that just make life hard, no matter what.

|improve this answer|||||
$\endgroup$
  • $\begingroup$ You can use the padé approximant at least to approximate the delay. $\endgroup$ – Ben Feb 19 at 1:13
  • $\begingroup$ I checked it, and the load sensitivity transfer function is indeed the same in both case, i.e distributed delay and actuator delay only. $\endgroup$ – Ben Feb 19 at 1:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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