Simulink PID autotuning problem

12 次查看(过去 30 天)
Hi, I have tried simple PID auto tuning function, but I'm getting rather strange result. I have attached mdl file, so You can maybe point to me where I'm doing wrong.
Pete
P.S. Sorry if question sounds stupid, I'm a newbie in Matlab/Simulink world

采纳的回答

Arkadiy Turevskiy
Arkadiy Turevskiy 2014-4-16
There is nothing wrong or strange with your model. You did not provide op_trim1 operating point that your model uses, so I just initialized the integrator in PID block at 6.37 (I can explain how I did this if you want) - basically to get rid of a large initial transient.
Once I did that, and ran the simulation with your PID gains, I got a reasonable response:
Another note: as gravity is somethign that does not change much, you can just add a constant feedforward term to your controller to compensate for it. Then, even if gravity changes a bit as you change locations, PID will do a good job compensating for that:

更多回答(3 个)

Arkadiy Turevskiy
Arkadiy Turevskiy 2014-4-16
编辑:Arkadiy Turevskiy 2014-4-16
Ok, here is how I got that integrator initial condition.
First I added Trim Output Constraint on the "height" signal. To do that, right click on the signal, and specify Trim Output Constraint, as shown below.
Next, launch Linear Analysis Tool:
Now, we want to trim the model:
Click to specify the trim conditions:
All states should be in steady state:
The output (height) should be at 0:
Click "trim". Tool computes the operating condition op_trim1. Examine it to see the value for Integrator in the PID Controller:
All of this can also be done with a few lines of code:
model = 'Proba_3';
opspec = operspec(model);
opspec.Outputs(1).Known = true;
findop(model,opspec)

jashandeep kaur
jashandeep kaur 2017-3-11
may i know how does auto tunning take place?how does controller calculate the desired values of P and I?is there any method or algo?

Mudit Verma
Mudit Verma 2020-8-30
Autotuner not working in my model there is no PId gains showing they are showning 0 and only frequencies are showing in display block
i have attached my model plzz see and give me solution to my prob.

Community Treasure Hunt

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

Start Hunting!

Translated by