How can I tune my PID controller using Ziegler Nichols?
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am modeling a linearized inverted pendulum using a transfer function, and using a PID controller to control it. I am adding a pulse disturbance after 1 second. As I am new to control theory, I am struggling with how to choose PID gains (I am trying to find good gains myself, rather than using the auto tune functionality).
I read that the Ziegler-Nichols method suggests keeping integral and derivative action at 0, and increasing the proportional gain until constant oscillations occur. For me, that is at a gain of 5. However, the scope shows a pendulum angle of above 60 (radians?) - which is not possible because it no longer works with the small angle approximation. And, if I use P = 5, I = 0, D = 0 on a simscape model that I created, the pendulum goes wild. For the simscape, a P-gain of 23 first results in stable oscillations. Using the autotune gives gains of approx. P = 105, I = 472, D = 5.7. How am I supposed to find the right gains?
0 comentarios
Respuestas (1)
Delprat Sebastien
el 24 de Sept. de 2020
Editada: Delprat Sebastien
el 22 de Abr. de 2022
Please stop using ziegler nichols. This method has been created a whole ago when computers were not available. It is only intended for process that are integrator with a delay. IT WILL NOT WORK ON OTHER SYSTEMS, except if your lucky. Generally, the closed loop will have overshoots, etc. So how to tune pid. Either by hand, purely by trial and errors. Alternatively if you have a linear model, use linear control system theory for the controler synthesis (compute gain to have a given phase margin for instance or to get the closed loop poles at a specified location).
4 comentarios
Sam Chak
el 19 de Feb. de 2024
Considering that the mathematical model or transfer function of the system is currently unavailable, I would like to inquire whether the system is open-loop stable or unstable. Additionally, I would like to know if you have modeled the system in Simulink to gain further insights.
Delprat Sebastien
el 12 de Abr. de 2024
Automatic control is in the middle of maths and physics... I really advise you against designing a controler for a completely unknown system. Any unstable system in practice requires some safety measures to recorvers problems..
Inverted pendulum are unstable. You can easily make a nonlinear model of the system based on the physics of equations. Then identifying the nonlinear system when in the down position is easy and can be done with very few experiments (like droping the arm with no control an measuring oscillations allows to identify the arm inertia, damping). Then having the coefficient, you can easily compute a linearized system around the unstable equilibrium
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!