필터 지우기
필터 지우기

Simulink PID autotuning problem

조회 수: 14 (최근 30일)
Pedja
Pedja 2014년 4월 13일
답변: Mudit Verma 2020년 8월 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