Direct synthesis of a controller (plus simulink modeling)

In summary, the conversation discusses the use of a PID controller in a simulink model. The transfer function for the controller is derived and it is found to have a second order numerator and a first order denominator, which can cause issues with the simulation. The solution to this is to add a pole at a high frequency or use the causal system transfer function. The conversation also addresses a mistake in the input of the P, I, and D parameters in the PID block and discusses the concept of converting the system to a first order process. It is suggested to consider the step response of the closed-loop system and the characteristics of a first-order system to determine if the assignment has been successfully solved.
  • #1
gfd43tg
Gold Member
950
50

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
  • #2
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
 
  • #3
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 gfd43tg
  • #4
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.
 
  • #5
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.
 

FAQ: Direct synthesis of a controller (plus simulink modeling)

What is the purpose of direct synthesis of a controller?

The purpose of direct synthesis of a controller is to design a control system that can accurately regulate and manage the behavior of a dynamic system. This involves analyzing the system's inputs and outputs, and using mathematical models to determine the appropriate controller parameters that will achieve the desired system response.

Why is simulink modeling used in direct synthesis of a controller?

Simulink modeling is a powerful tool that allows for the simulation and visualization of dynamic systems. It is often used in direct synthesis of a controller to test and validate the performance of the control system before implementing it in the actual system. This helps to identify any potential issues and make necessary adjustments before deployment.

What are the steps involved in direct synthesis of a controller?

The steps involved in direct synthesis of a controller typically include system identification, controller design, controller implementation, and controller tuning. System identification involves gathering data and creating a mathematical model of the system. Controller design involves selecting an appropriate control strategy and determining the controller parameters. Controller implementation involves building the controller and integrating it with the system. Controller tuning involves adjusting the controller parameters to optimize the system's performance.

What are the advantages of direct synthesis of a controller?

Direct synthesis of a controller offers several advantages, including improved system performance, increased stability and robustness, and reduced complexity. By directly designing the controller to meet the specific needs of the system, it can effectively regulate the system's behavior and handle disturbances and uncertainties. Additionally, this method can often result in a simpler and more efficient control system compared to traditional trial-and-error methods.

What are some real-world applications of direct synthesis of a controller?

Direct synthesis of a controller is commonly used in a variety of industries and applications, including aerospace, automotive, robotics, and process control. It can be used to control the flight of an aircraft, regulate the speed and handling of a car, or manage the operation of a manufacturing plant. It is also used in consumer electronics, such as automatic temperature control in air conditioners or cruise control in cars.

Back
Top