I want to design a PID controller for a shaker. But I don't have the system's differential equation or transfer function. I find the system identification algorithms complicated. Can I design a controller based only on the input and output data and without the plant model?
-
\$\begingroup\$ A little too less info for an good answer. If you can't calculate the PID, you may have to try different P- and I- values and do trial and error engineering until it runs ok. Not an highly technical solution, but it does the trick sometimes. Of course only if it is safe to try it out without killing your hardware. \$\endgroup\$– jwscCommented May 19, 2015 at 6:28
-
1\$\begingroup\$ The Ziegler-Nicholls method was developed for just such situations. You could start here: en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method \$\endgroup\$– ChuCommented May 19, 2015 at 7:01
1 Answer
Yes! There are several methods for PID tuning based on the output of the system for specific input. These methods will require you to choose input that is close to the operation conditions of the system and will determine the PID parameters based on the output from the system for the inputs you chose.
Keep in mind that each of these methods tune the PID controller optimally for some performance indicators (depends on the method), and that the tuning is optimal only for input close to the one you chose, so none of these methods will actually work very well for very non linear systems that have to work with a large variation of input.
Some methods that may help you:
- Ziegler-Nichols Continuous Cycling Method
- Ziegler-Nichols Reaction Curve Method
- Aström-Hägglund Relay Method
- Tyreus-Luyben Method
- Chien, Hrones and Reswick (CHR) Method
- Cohen-Coon Method
- 3C Method
- Lambda Tuning Method
Some of these methods are in the book Advanced PID Control, by Karl J. Astrom and Tore Hagglund, which in my opinion is a very good book in this subject.
Hope I could help!