How to tune a PIV controller using MATLAB?

How should I go about tuning this controller in MATLAB? I am trying to get the system to have a settling time of < 1 second, P.O < 15% and zero steady state error.
MATLAB's SISO tool doesn't have an architecture for a PIV controller with feed forward. I tried using the SISO tool with the fourth control architecture (PIV without a feed forward). But automatic tuning "Could not find a solution that satisfies all constraints" even though my constraints were very "relaxed" (P.O < 50% and settling time < 20 seconds).
Also this method: Specify Control Architecture in Control System Tuner doesn't show you how to add a feed forward or a differentiator (required for C2).

 채택된 답변

Arkadiy Turevskiy
Arkadiy Turevskiy 2015년 3월 23일
편집: Arkadiy Turevskiy 2015년 3월 23일

2 개 추천

Control System Tuner app works well for this custom controller architecture. The easiest way (at least for me) to create a block diagram specifying this architecture is in Simulink. So:
1. I created a Simulink model shown below:
Instead of using a pure derivative (never a good idea), I used s*N/(s+N) circuit shown in the region highlighted in blue. It basically differentiates the input signal at the lower frequencies, but at the higher frequencies (where you will have a lot of noise in your sensor reading), it adds a first order filter.
I set the gains for PI and Kv to 1,1,1 - default values. The system is unstable with these gains.
2. Now I started Control System Tuner, set PI and KV as blocks to tune, and added a step tracking requirement as shown below:
3. Now press "Tune", and the tool very quickly creates the design meeting requirements. Update block parameters to write the tuned values back to Simulink. Simulate and look at the results:
The model with tuned gains and Control System Tuner session are attached.
HTH. Arkadiy

댓글 수: 2

Faris
Faris 2015년 3월 24일
Can you elaborate on why is it never a good idea to use a pure derivative?
Because any measurement is always noisy. Think about the bode plot of pure derivative, s, - it amplifies frequency content at high frequencies. So you would be taking the noise from your measurement and amplifying it.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

질문:

2015년 3월 18일

댓글:

2015년 3월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by