MATLAB Answers

Shaping PID to achieve load disturbance performance

1 view (last 30 days)
Daniel Gelman
Daniel Gelman on 3 Aug 2017
Answered: Meeshawn Marathe on 21 Aug 2017
I am using the PID Tuner for the PID Controller Block in Simulink. I am particularly interested in the output disturbance BODE plot. I am trying to achieve an acceptable output disturbance with the follow requirements:
1. Attenuation of at least 10 dB with frequencies less than 0.5 Hz
2. Flat response (0 dB) at higher frequencies with no overshoot.
By raising the bandwidth of the controller, I am able to achieve the appropriate attenuation at < 0.5 Hz, but I am getting a nasty overshoot at 4 Hz, which is unacceptable. Lowering the bandwidth removes the overshoot but then I have poor attenuation.
I used the System Identification toolbox to model the plant using input/output data from a frequency response. The input was a chirp signal (0.1 - 3 Hz over 10 seconds) and the output was sampled at 20 Hz (fastest possible sampling rate).
The plant: G = (4.1s + 59.5)/(s^2 + 34.1s + 385.7) * exp(-0.5s)
Other than adjusting bandwidth and phase margin, is there anything else I can try to achieve both of these requirements?

Answers (1)

Meeshawn Marathe
Meeshawn Marathe on 21 Aug 2017
Hi,
A control design is always a compromise between several design requirements. A lead/lag compensator or a PID design may or may not satisfy all the design requirements. In such situations, you can treat the current design as an uncompensated system and undergo another design cycle to meet the design requirements. In your case, you can design another PID for a new plant derived by cascading the original plant and PID design.
I hope this helps.

Community Treasure Hunt

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

Start Hunting!