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\$
    – jwsc
    Commented 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\$
    – Chu
    Commented May 19, 2015 at 7:01

1 Answer 1


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!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.