How to model PID with "derivative on process value"
15 views (last 30 days)
Show older comments
Hello,
First started using Matlab in college around 1991, LOL. Nothing like aging yourself...
Casual user really, have not kept up on Simulink at all.
Question is regarding Simulink's PID Ideal model. If I have tested things out correctly so far, it appears it (according to the equation) calculates the derivative based on the error. Fair enough.
Is there a way to have it calculate the derivative based on PV, or measurement instead? Sure, I could make my own custom PID model, but I was hoping to use Matlab's standard PID model which already includes windup, saturation, etc.
Thanks for the response!
2 Comments
Sam Chak
on 30 Apr 2024
Hi @Kurt
Are you referring to placing the PID Controller block in the feedback path? For 2nd-order systems, if the Derivative filter coefficient is appropriately selected, then the PD Controller should function as a state-feedback controller, resulting in an Hurwitz system. In the provided example, the closed-loop system demonstrates a critically-damped response, as if a feedback gain matrix were employed for the Double Integrator process plant.
Accepted Answer
Sam Chak
on 30 Apr 2024
Hi @Kurt
If you wish to utilize the Simulink PID Controller block while avoiding derivative kick, you can consider the following PID configuration. It should yield the same PID equation (Reverse mode) as depicted in the image. I recommend giving it a try.
2 Comments
Sam Chak
on 30 Apr 2024
Hi @Kurt
The PD control scheme I mentioned is designed to mitigate the problem of derivative kick resulting from sudden Setpoint (SP) changes. If you need to incorporate integral action, you can place a PID controller in the Feedback path and a PI controller after the Step block (SP signal). This suggested control configuration aligns with the approach outlined in an article by APMonitor.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!