Is it possible to design a controller in simulink using experimental data only?
이전 댓글 표시
Hi, Please I am new to Simulink, I need to design a controller from experimental data(input is Speed and output is differential pressure). I have a model designed using simulink blocks, now I need a controller to tune this model. Each time I try to linearize I get this error In "linearize(modelname,io)" using block substitution the block Control_plant_input_output/PID Controller cannot be substituted due to an error in the MATLAB function Speed. The error is: Undefined function 'Speed' for input arguments of type 'struct'.. Any pointer on what to do next. please help.
채택된 답변
추가 답변 (2개)
Arkadiy Turevskiy
2014년 6월 26일
1 개 추천
The model as provided does not quite make sense, as it uses positive feedback.
Here is what I did to get some sort of controller design (without really understanding physics of the system):
- I commented though the lookup table block for now

- I changed sum block to use negative feedback

- Changed step block parameters

- Changed PID to PI and set integrator initial condition to 0.

I then pressed "tune" button in the PID Controller block and accepted default tuning the too, came up with:

I then unchecked the limit on the number of data points shown in the display block

and ran the simulation getting this result:

The overshoot is a bit high, so I went to the PID Tuner and reduced the bandwidth by an order of magnitude:

I updated block parameters with tuned value, and ran the simulation for 5 secs (as it seems nothing is really happening after 5 secs):

As this image shows, we got rid of the overshoot but disturbance rejection is now worse than with the original design. The disturbance is coming from here:

To check that I set the ramp slope to 0 and reran the simulation. response looks pretty good.
Hope this helps you get started.
Magdi Nabi
2017년 10월 3일
0 개 추천
Hi, i need to design model like yours but the input is flow ( 2 inputs) and 1 out put i need to control the flow by vary the speed of both pumps so could you please guide me how to do that using simulink?
i know how to design the controller, my problem is to design simulation model by experimental data?
thank you very much
카테고리
도움말 센터 및 File Exchange에서 Loop-Shaping Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!