Controller design - transfer function producing different response from numerical model
Mostra commenti meno recenti
I'm producing different results when I use built-in Simulink blocks such as Transfer Function and PID Controller as compared to explicitly describing the system using Derivative, Integrator, Sum blocks etc. I believe it has something to do with the way MATLAB linearises the models in Simulink and other tools like SISOTool.
As an example, I have a simple linear model of the form
x'' = u/1.54
with u as the input and x as the state. Applying a PD controller to this:
u = (2 + 5*s)*e
gives the closed loop TF
x(s)/r(s) = (5*s + 2) / (1.54*s^2 + 5*s + 2)
Comparing the response of this TF to a step input to the explicitly stated model produces different outputs, as seen in the images. Does anyone know the cause of this? They should be identical, but MATLAB seems to be solving one model incorrectly. To reiterate, I get the first response when using PID Control or Transfer Functions blocks or the MATLAB functions "Step" and SISOTool. The second response is obtained from the model with the double integrator.
Cheers,
Murray
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Classical Control Design in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!