Finding Transfer Function from Step Response

82 Ansichten (letzte 30 Tage)
Max Mai Tobon
Max Mai Tobon am 23 Okt. 2020
Bearbeitet: Arkadiy Turevskiy am 19 Jun. 2024
A bit of context:
I'm in a stundent project at my universtiy. We're desingning and building an Mechanical ventilator for Corona-Patients. I'm having some trouble with the control loop of the system.
The ouput of the control loop is controlling a proportional valve. The purpose of this is to reach the desired pressure (Setpoint) in less than 3 seconds. I'm using a PID control, yet it's not tuned correctly. That's why I decided to go to basics, and get the transfer function from a step response, to then simulate the different constants in MATLAB.
The following step response was achieved by opening the proportional valve fully, and waited till the Setpoint was achieved. There's a 1 bar relative pressure in the system. Any pressure above 25mbar flows out, through a PEEP valve. The proplem with the system is that we can't overshot, because we cannot get rid of this pressure as the patient is inhaling.
If someone could help me, calculate the transfer function of the following step response, I would be really gratefull.
Thanks in advance.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 23 Okt. 2020
Bearbeitet: Arkadiy Turevskiy am 19 Jun. 2024
You can do it using the system identification app: https://www.mathworks.com/help/ident/ref/systemidentification-app.html. For this, you also need the toolbox: https://www.mathworks.com/help/ident/index.html
Update by Kishen Mahadevan at MathWorks on 6/19/2024
Considering that the end goal here is to identify plant model (transfer function) for PID tuning, you can also directly use the PID Tuner app from Controls System Toolbox that lets you automatically tune the gains of PID controller for your plant model, including identifying new plant model from response data all within the same app. Identifying new plant model step requires System Identification Toolbox to obtain a plant from measured or simulated system response data.
Please refer to this page for more information on PID tuner - Tune PID controllers - MATLAB (mathworks.com)
Please refer to this example to see how to Interactively Estimate Plant Parameters from Response Data and tune PID controller gains - Interactively Estimate Plant Parameters from Response Data - MATLAB & Simulink (mathworks.com)
  3 Kommentare
Ameer Hamza
Ameer Hamza am 23 Okt. 2020
I am glad to be of help! You can find many examples in the documentation.
Max Mai Tobon
Max Mai Tobon am 25 Okt. 2020
The transfer function I got was. H (s) = 847.4 / ( s + 757.2)
I'm now trying different constants for my PID control. Tomorrow I'll test the results.
Thanks again

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Ameer Hamza
Ameer Hamza am 23 Okt. 2020
Bearbeitet: Ameer Hamza am 23 Okt. 2020
Another approach can be something like this. Consider the transfer function of the system is
and the transfer function of input step function is
The transfer function of output will be
which in time-domain become
Here you have y(t). You can use fmincon() to estimate a and b.
  7 Kommentare
Max Mai Tobon
Max Mai Tobon am 29 Okt. 2020
Oh, that was the problem! I didn't know I had to download an extra Toolbox.
It's working now.
Thanks a lot for your help! Very appreciated.
Ameer Hamza
Ameer Hamza am 30 Okt. 2020
I am glad to be of help!

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by