PID controller tuning for time-varying input

3 次查看(过去 30 天)
Hi all, I am trying to tune a PID controller using the Control System Tuner. In particular, the main aim of this controller would be to follow a time-varying signal (a ramp, for example) with zero steady-state error. I would like to know if, using the Control System Tuner Requirements, is possible to accomplish this task. If not, which are the alternative solutions? Thank you!
  1 个评论
Paul
Paul 2024-5-21
Hi AleF,
@doc:controlSystemTuner should be applicable for a PID controller. You might also be interested in pidtune or pidTuner or systune.
But I don't think a PID controller can give you zero steady-state error to a ramp input, unless the plant contains a free integrator.

请先登录,再进行评论。

回答(1 个)

Sam Chak
Sam Chak 2024-5-22
Without more context about the specific system you are trying to control, it is difficult for us to provide targeted recommendations.
When dealing with an unbounded reference input, such as a Ramp signal, the control scheme may need to be manually modified to achieve zero steady-state error. This is because some standard feedback controllers in Control System Tuner may not be able to adequately compensate for the continuous change in the reference input.
To demonstrate a potential approach, I have prepared a simple example in Simulink involving the tracking of a Ramp signal in a Double Integrator System (free integrator mentioned by @Paul). This example could serve as a starting point for your investigation and may provide insights that you can apply to your specific control problem.
  2 个评论
AleF
AleF 2024-5-22
Dear @Sam Chak and @Paul,
first of all, thanks for your answers!
Selecting a PI architecture, if tuned using the PID Tuner App to test the Step response then manually adding some integral action, the closed-loop system can successfully follow a ramp with unit slope (as in the example of @Sam Chak).
In your opinion, could this process be automated (using the Control System Tuner/pidTune/systune)? In other words, referring to the Tuning Goals, does exist (or can be artificially created) something like "Tracking of ramp command" (instead of the Step one)?
Thank you!
Sam Chak
Sam Chak 2024-5-22
I appreciate you providing more context about your use case. While I typically prefer to apply direct formulas for homework problems, I am aware of the 'TuningGoal.StepTracking()' command in MATLAB, but unsure if it can be useful for addressing unbounded reference inputs.
In the case of a Ramp signal as the reference input, where the input grows continuously over time, the control system design may require special consideration to ensure zero steady-state error. With a clearer understanding of the context, we can probably better assist you in addressing the concern regarding the unbounded Ramp input signal and its implications on the control scheme.
Do you wish the real-world physical system's output to grow continuously unbounded over time as well?

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by