Finding Transfer Function from Step Response
이전 댓글 표시
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.

채택된 답변
추가 답변 (1개)
Ameer Hamza
2020년 10월 23일
편집: Ameer Hamza
2020년 10월 23일
0 개 추천
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
Max Mai Tobon
2020년 10월 23일
Max Mai Tobon
2020년 10월 25일
Ameer Hamza
2020년 10월 25일
Something like this
t; % time values
y; % measured signal values
fun = @(p) 25*p(1)/p(2)*(1-p(1)*exp(-p(2)*t));
objFun = @(p) norm(fun(p)-y);
sol = fmincon(objFun, rand(2,1));
a = sol(1);
b = sol(2);
Max Mai Tobon
2020년 10월 28일
Ameer Hamza
2020년 10월 29일
Do you have the optimization toolbox installed? Can you show the output of
ver optim
Max Mai Tobon
2020년 10월 29일
Ameer Hamza
2020년 10월 30일
I am glad to be of help!
카테고리
도움말 센터 및 File Exchange에서 PID Controller Tuning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
