Direct synthesis of a controller (plus simulink modeling)

Click For Summary

Discussion Overview

The discussion revolves around the direct synthesis of a controller and its implementation in Simulink, focusing on the formulation of the controller transfer function and issues encountered during simulation. Participants explore the theoretical aspects of PID controllers, the implications of numerator and denominator orders, and the conversion of systems to first-order processes.

Discussion Character

  • Homework-related
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • One participant presents a formula for the controller transfer function and derives its form, suggesting it resembles a PID controller.
  • Another participant notes an issue with the simulation due to a second-order numerator and first-order denominator, indicating this leads to a non-causal system.
  • Some participants suggest adding a pole at a high frequency to resolve the non-causality issue, referencing the functionality of the PID controller block in Simulink.
  • A participant acknowledges a mistake in the input parameters for the PID controller and expresses gratitude for the correction regarding the transfer function's parentheses.
  • There is confusion among participants about what it means to successfully convert the system to a first-order process, with questions about the implications for the controller's effectiveness.
  • Another participant proposes that if the controller gains are correct, the closed-loop system response should match that of a specific first-order system, prompting further exploration of the step response characteristics.

Areas of Agreement / Disagreement

Participants express some agreement on the need to adjust the controller parameters and the implications of system order, but there remains uncertainty regarding the interpretation of successfully converting the system to a first-order process and the specifics of the step response.

Contextual Notes

Participants discuss limitations related to the order of the numerator and denominator in transfer functions, as well as the potential need for additional poles to ensure causality. There is also mention of the importance of correctly interpreting the step response of the system.

Who May Find This Useful

This discussion may be useful for students and practitioners working on control systems, particularly those interested in PID controller design and simulation in environments like Simulink.

gfd43tg
Gold Member
Messages
949
Reaction score
48

Homework Statement


upload_2015-10-25_18-29-54.png

upload_2015-10-25_18-30-6.png


Homework Equations

The Attempt at a Solution


Part (a)
Starting with the formula

$$ g_{c} = \frac {g_{CL}}{g_{p}(1-g_{CL})} $$

The controller transfer function is determined,

$$ g_{c} = \frac { \frac {1}{\lambda s + 1}}{\frac {k_{p}}{(\tau_{p1}s+1)(\tau_{p2}s+1)}
- \frac {k_{p}}{(\tau_{p1}s_1)(\tau_{p2}s+1)(\lambda s+1)}} $$

$$ = \frac {1}{\lambda s + 1} \times \frac
{(\tau_{p1}s+1)(\tau_{p2}s+1)(\lambda s+1)}{K_{p} \lambda s} $$

$$ = \frac {1}{K_{p} \lambda} \times \frac {\tau_{p1} \tau_{p2} s^{2} +
(\tau_{p1}+\tau_{p2})s + 1}{s} $$

$$ = \frac {\tau_{p1} \tau_{p2}}{K_{p} \lambda}s + \frac
{\tau_{p1}+\tau_{p2}}{K_{p} \lambda} + \frac {1}{K_{p} \lambda s} $$

$$ = \frac {\tau_{p1}+\tau_{p2}}{K_{p} \lambda} \bigg [ 1 + \frac
{\tau_{p1} \tau_{p2}}{\tau_{p1}+\tau_{p2}} s + \frac
{1}{\tau_{p1}+\tau_{p2}} \frac {1}{s} \bigg ] $$

Which is of the form of a PID Controller,

$$ g_{c,PID} = k_{c} \bigg ( 1 + \frac {1}{\tau_{I}s}+ \tau_{D}s \bigg )
$$

Where ##k_{c}= \frac {\tau_{p1} + \tau_{p2}}{K_{p} \lambda}##, ##\tau_{I} =
\tau_{p1} + \tau_{p2}##, and ##\tau_{D} = \frac {\tau_{p1}
\tau_{p2}}{\tau_{p1}+\tau_{p2}}##

Part (b)
Here is my simulink model
upload_2015-10-25_18-30-34.png

However, because the numerator coefficient is second order, and the denominator is first order, I cannot run the simulation due to an error. I know that it is a big no-no to have higher order numerators, but how should I go about solving the problem?
 
Physics news on Phys.org
A second thought came to mind, I just used a PID block

upload_2015-10-25_18-39-50.png


And here is my input to the PID controller block
upload_2015-10-25_18-40-17.png

And here is my output
upload_2015-10-25_18-41-13.png


So obviously this controller is not working, or I am inputting the P, I, and D incorrectly into the controller
 
Maylis said:
However, because the numerator coefficient is second order, and the denominator is first order, I cannot run the simulation due to an error. I know that it is a big no-no to have higher order numerators, but how should I go about solving the problem?
If the numerator order of the controller is larger than that of the denominator, then it represents a non-causal system, which is what the solver is complaining about.

To put in another way: it has infinite gain as ω → ∞. You can fix this by adding a pole at some high frequency that has no real influence on the behavior of your system. This what the PID controller block does in Simulink, which is controlled by the 'Filter coefficient (N)'.

The ##g_cg_p## system is causal, however, so you could enter that instead.

Maylis said:
So obviously this controller is not working, or I am inputting the P, I, and D incorrectly into the controller
You did everything right, but you just mixed up the I and D parameters in the PID block. I think you also forgot parenthesis around the (tau1 + tau2) coefficient in your plant transfer function (edit: I'm not sure this bit is actually necessary, it just looks off. Simulink might interpret it correctly).
 
Last edited:
  • Like
Likes   Reactions: gfd43tg
Great, I see that I made the mistake about switching them. Also, I changed the transfer function to have the parenthesis, thanks for catching that! Also, I am a little confused when it asks if I successfully converted the system to a first order process. Does that just mean if the controller works, then yes? But I want to know a little deeper what exactly they mean by that.
 
Maylis said:
Also, I am a little confused when it asks if I successfully converted the system to a first order process. Does that just mean if the controller works, then yes? But I want to know a little deeper what exactly they mean by that.
If your controller gains really do solve the assignment, then the closed-loop system response should be that of this system:
$$
g_{CL} = \frac{1}{s + 1}
$$
Your expressions for the controller gains were found as to guarantee this. What does the step response of this system look like, i.e. if you simulate the system (open loop): step input → gCL → scope ?

Does this response match that of the closed-loop system with the PID controller? If so, then you've solved the assignment.

Before you simulate anything, try to characterize how the step response of ##g_{CL} = \frac{1}{s + 1}## should look. Tips:
- If it's a first-order system, will it have any overshoot?
- How can you tell what the time constant of a first-order system is by inspecting its step response?

And so on.
 

Similar threads

Replies
26
Views
4K
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 13 ·
Replies
13
Views
2K